404 - Fehlerseite wird bei nicht vorhandenem Link angezeigt

Wenn ich den aktuellen Demo-Webshop mit einem nicht existierenden Link aufrufe, wird nicht zur Shop Startseite gelinkt, sondern zur 404 Fehlerseite. Z.B.: http://www.shopwaredemo.de/blabla.php … beim Aufruf kommt nur eine weisse Seite “file not found”, statt der Startseite von shopware. Genauso verhält es sich bei meiner Startseite. Es wird bei einem nicht exisiterenden Link einfach zur 404-Seite geleitet, statt zur Startseite, obwohl bei den SEO Einstellungen mit “JA” markiert. Auch beim Demoshop steht die Umleitung zur Startseite auf “JA”. Nun frage ich mich, ob ich etwas falsch verstanden habe, bzw. wie ich das ändern kann, da eine weisse Fehlerseite immer ganz schlecht für die Kundenbeziehung ist… :slight_smile:

Ich habe das nun bei mehreren anderen shopware-Shops im Internet ausprobiert. Sobald man einen nicht existerenden Link in der Broswerzeile eingibt, kommt eine 404-Fehlerseite. Vielleich kann das ja der eine oder andere für seine Seite ausprobieren, z.B. http://www.eigene-webseite.de/testttt.php sollte nicht auf die Startseite verlinken, sondern auf die 404-Fehlerseite. Das ganze passiert dann auch, wenn man einen Artikel in den Shop lädt, den Direktlink dahin in den Zwischenspeicher lädt, den Artikel löscht. Gleiches Problem. Über Rückmeldungen würde ich mich freuen, würde gerne wissen, ob ich ganz falsch liege, oder meine Befürchtung, daß der Kunde beim Aufruf von z.B. gelöschten Links nur noch eine Fehlerseite bekommt, stimmt.

hi, das kannst du mit diesem Plugin umgehen. http://testshop.maxout.de/testdsfsdfsd.php viele Grüße,

Das wäre aber irgendwie keine Lösung, sondern ein Workaround. Warum ist das so und warum gibt es unter den SEO-Einstellungen die Möglichkeit, bei nicht existierenden Links auf die Startseite umzuleiten, wenn es dann doch nicht geht?

normalerweise geht das auch mit der Umleiten auf die Startseite. wenn du die Dateiendung .php weg lässt oder durch eine andere ersetzt, funktioniert die Umleitung. normalerweise haben die Link von Shopware ja keine Dateiendung. Warum es mit .php nicht geht weiß ich gerade auch nicht… http://www.shopwaredemo.de/blabla.html

Komisch, in meinem Shopware funktioniert die Umleitung weder mit anderen Dateiendungen, noch ganz ohne. Mein host ist ohne www. Wenn ich die Seiten mit www. davor aufrufe, funktioniert die vom Hoster eingerichtete Weiterleitung auf die Startseite. Ohne www führt jeder tote Link zur Fehlerseite. Ich finde, daß ist ein großes Problem, denn Kunden, die nicht sofort kaufen möchten, legen sich meist den Direktlink zum Produkt in die Favoriten. Wenn nun in der Zwischenzeit der Artikellink sich ändert, oder wegfällt und der Kunde irgendwann über den Direktlink zugreifen möchte, sieht er nur noch eine weisse Fehlerseite. Ergebnis: Kunde weg und Umsatz weg! Da ist es doch besser, der Kunde rutscht auf die Startseite und kann da etwas ähnliches aussuchen. Dies gilt natürlich nur für Themenshops, für Vertreiber vieler verschiedener Waren macht das nicht ganz soviel Sinn, aber Sinn. Die Umeitung ist auch gerade wichtig, wenn man seinen Shop von einem anderen Shopsystem auf Shopware umstellt. Wenn dann alle google-links in einer weissen Fehlerseite enden ist das faktisch erstmal der SuperGAU, da damit für den Kunden klar ist, daß der Shop nicht mehr existiert und in wenigen Zehntelsekunden ist der Kunde beim Mitbewerber :wink: Eine Umleitung auf eine selbstgenerierte 404-Seite gefällt mir auch nicht so, denn dann weiss der Kunde auch sofort, daß der Artikel nicht mehr vorhanden ist und wechselt zu einem andern Shop, in der Hoffnung, den Artikel dort zu finden. Kommt der Kunde auf die Startseite, wird er erst versuchen, “seinen” Artikel zu finden und findet dabei eventuell den einen oder anderen ähnlichen Artikel. Somit behalte ich den Kunden vielleicht doch. Dies gilt natürlich auch nur eingeschränkt, je nach Produkt-Portfolio. just my 2 cents… :slight_smile:

Habe nun mal eben das 404-Plugin gekauft, aber das funktioniert bei mir nicht. Ungültige Links werden weiterhin mit einer Fehlerseite angezeigt :frowning:

Hallo, das Plugin kann natürlich nur das Standardverhalten von Shop abfangen und statt der Weiterleitung auf die Startseite auf die definierte Shopseite leiten. Eine Serverseitige Fehlerseite deutet ja auf ein anderes Problem.

Also hat shopware eine eigene 404-Fehlerseite, die es dann anspringt?

Hallo, normalerweise springt Shopware die Startseite an und gibt als Response-header den 404 Errocode aus. Damit sieht der Shopbesucher die Startseite, Suchmaschinen “wissen” aber, dass der alte Link ungültig ist. Von diesem Vorgehen gibt es nur selten Abweichungen, je nach Shopware-Version. Dafür biette es sich dann an die Fehlerseite seines Webservers anzupassen und auf die Startseite des Shops umzuleiten.

sollte das ganze beispielsweise auf einem nginx server laufen, gibt dieser m.E. bei einem Fehler die Standard-Fehlerseiten aus und nicht den tatsächlichen response der Applikation.

[quote=“hbee”]sollte das ganze beispielsweise auf einem nginx server laufen, gibt dieser m.E. bei einem Fehler die Standard-Fehlerseiten aus und nicht den tatsächlichen response der Applikation.[/quote] Genau das ist bei mir der Fall, der Shop läuft aus Performancegründen auf einem nginx-Server. Die Seitenzugriffe sind rasend schnell, das einzige Problem sind die 404-Seiten. Wenn ich einen nicht existierenden Link eingebe, lande ich auf der Fehlerseite. Mein Provider hat nun extra eine eigene 404.php erstellt, in der wieder die Startseite aufgerufen wird. Wie sich diese “Verwurstelung” bei google&co auswirkt, weiss ich allerdings nicht. Deshalb wird dann wahrscheinlich auch das Plugin bei mir nicht funktionieren, richtig?

das kommt ganz darauf an, wie von der 404-Seite des Servers auf die Startseite geleitet wird. Ich denke am saubersten wäre es, wenn man das in der Serverkonfiguration regelt und nicht von hinten durch die Brust wieder auf die Startseite leitet. Ich kenn mich mit nginx-Serve nicht aus. Man kann aber wohl in der Konfiguration den Parameter „fastcgi_intercept_errors“ auf off stellen. Ansonsten werden alle Error-Codes höher 400 abgefangen und auf die konfigurierte Errorpage geleitet.

Ich auch nicht, ich werde Deine Antwort aber mal an meinen Hoster weiterleiten. Vielleicht gibt ihm das einen Tipp, weil er an dem Thema auch nicht weiter kam. Ich hoffe, er geht noch ans Telefon, ich nerve ihn ja schon seit Wochen damit :slight_smile:

dann lass uns wissen was dabei raus kommt :wink:

[quote=“hbee”]dann lass uns wissen was dabei raus kommt ;-)[/quote] Bevor ich hier nun mit meinem Nullwissen als Informationsvermittler weiterschreibe: Ich habe diesen Thread an meinen Hoster www.timmehosting.de - Falko Timme, weitergeleitet. Er hat mir auch schon zurück geschrieben, daß Deine Idee erstmal keine Änderung zu dem Problem gebracht hat. Für mich ist diese Verwurstelungs-Taktik mit der 404.php soweit erstmal gut, da dies suchmaschinentechnisch keine Nachteile bringen soll. Wenn es für den Falko Timme als nginx-Hoster oder Dich als Add-on Programmierer wichtig sein sollte, daß sowohl Add-On als auch shopware mit nginx funktioniert, könnt Ihr Euch ja mal direkt kontaktieren, daß macht vermutlich mehr Sinn, als über mich hier in dem Thread :slight_smile:

Hallo zusammen, vor einiger Zeit hatte ich schonmal einen ähnlichen Fehler gehabt, hab dann falsche verlinkungen die standartmässig vorgegeben waren gelöscht. nun tritt wieder ein Fehler auf. Was kann ich tun das die Kunden nicht gestört werden?? besten Dank und Gruß 2013-11-11T08:36:49+01:00 ERR (3): exception 'Zend\_Db\_Adapter\_Exception' with message 'LIMIT argument count=0 is not valid' in .../Shop/engine/Library/Zend/Db/Adapter/Pdo/Mysql.php:252 Stack trace: #0 .../Shop/engine/core/class/sCms.php(156): Zend\_Db\_Adapter\_Pdo\_Mysql-\>limit('????SELECT id, ...', 0, 0) #1 .../Shop/engine/Shopware/Controllers/Frontend/Content.php(70): sCms-\>sGetDynamicContentByGroup('1', NULL) #2 .../Shop/engine/Library/Enlight/Controller/Action.php(148): Shopware\_Controllers\_Frontend\_Content-\>indexAction() #3 .../Shop/engine/Library/Enlight/Controller/Dispatcher/Default.php(521): Enlight\_Controller\_Action-\>dispatch('indexAction') #4 .../Shop/engine/Library/Enlight/Controller/Front.php(214): Enlight\_Controller\_Dispatcher\_Default-\>dispatch(Object(Enlight\_Controller\_Request\_RequestHttp), Object(Enlight\_Controller\_Response\_ResponseHttp)) #5 .../Shop/engine/Shopware/Components/HttpCache/HttpKernel.php(79): Enlight\_Controller\_Front-\>dispatch() #6 .../Shop/engine/Library/Symfony/Component/HttpKernel/HttpCache/HttpCache.php(434): Shopware\Components\HttpCache\HttpKernel-\>handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #7 .../Shop/engine/Shopware/Components/HttpCache/AppCache.php(234): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL) #8 .../Shop/engine/Library/Symfony/Component/HttpKernel/HttpCache/HttpCache.php(403): Shopware\Components\HttpCache\AppCache-\>forward(Object(Symfony\Component\HttpFoundation\Request), true) #9 .../Shop/engine/Library/Symfony/Component/HttpKernel/HttpCache/HttpCache.php(303): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>fetch(Object(Symfony\Component\HttpFoundation\Request), true) #10 .../Shop/engine/Shopware/Components/HttpCache/AppCache.php(158): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>lookup(Object(Symfony\Component\HttpFoundation\Request), true) #11 .../Shop/engine/Library/Symfony/Component/HttpKernel/HttpCache/HttpCache.php(192): Shopware\Components\HttpCache\AppCache-\>lookup(Object(Symfony\Component\HttpFoundation\Request), true) #12 .../Shop/engine/Shopware/Components/HttpCache/AppCache.php(110): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #13 .../Shop/engine/Shopware/Bootstrap.php(70): Shopware\Components\HttpCache\AppCache-\>handle(Object(Symfony\Component\HttpFoundation\Request)) #14 .../Shop/engine/Library/Enlight/Application.php(192): Shopware\_Bootstrap-\>run() #15 .../Shop/shopware.php(83): Enlight\_Application-\>run() #16 {main}