Google beschwerte sich, das meine Seite bei nicht gefundenen Seiten nicht einen 404 Header, sondern einen 200 OK Header ausgibt.
Das soll so ja nicht sein.
Da hier so einige rumgeistern, denen es ähnlich geht, hier meine Lösung:
class user_pageNotFound {
function pageNotFound($param, $ref) {
...
header('Status: 404 Not Found');
header('HTTP/1.0 404 Not Found');
header('Location: http://www.deinedomain.org/error-404.html',false,404);
}
}
Und für die Seite, die das Fehlerdokument enthält, habe ich ein Extension-Template erstellt, und folgendes ins Setup geschrieben:
Setup
config.additionalHeaders = HTTP/1.0 404 Not Found
Dann klappt's auch mit dem Nachbarn.
Das Firefox-Webdeveloper-plugin zeigts danach korrekt an, und
http://www.404checker.com/full-header-checker auch.
Wenn das jemand mal gegenchecken möchte ...
Das geht auch einfacher 😃
Im Install-Tool "[pageNotFound_handling]" auf 1 setzen
Norman
moin,
404 ist ungünstig, besser ist 301. Hier findest du ein paar Info um Fehler auszuwerten und entsprechend zu reagieren. http://typo3.intervation.de/extensionen/realurl/error-meldung-umleiten.html
Armin
Für Google ist 404 besser. Dann werden die alten Seiten schneller aus den Suchresultaten gelöscht...
Norman2k schrieb
Das geht auch einfacher 😃
Im Install-Tool "[pageNotFound_handling]" auf 1 setzen
Norman, das ist so an sich ja schon korrekt, aber vielleicht mag ich ja Fehlerseiten mit Layout lieber.
habe grad festegestellt, das mein Code oben nicht ganz korrekt funktioniert und unter Umständen zu einer komplett leeren Seite führt.
Das kommt von den beiden Parametern beim letzten header-Aufruf.
class user_pageNotFound {
function pageNotFound($param, $ref) {
$domain = $_SERVER["HTTP_HOST"];
$target = "index.php"; // oder wo es auch immer hingehen soll
header('Status: 404 Not Found');
header('HTTP/1.0 404 Not Found');
header(sprintf('Location: http://%s/%s',$domain,$target));
}
}
So geht's auf jeden Fall besser. Habe jetzt aber noch nicht des Googles Reaktion geprüft.