Google-Überprüfung (Fehler 404/200)

Vorgeplänkel

Wenn man seine Webseite bei Google anmelden und sich als Eigentümer überprüfen lassen will, hat man zwei Möglichkeiten für die Überprüfungsmethode:

  • Meta-Tag hinzufügen
  • HTML-Datei hochladen

Wenn man aber mehrere Domains auf einem TYPO3 liegen hat, verlangt Google trotzdem verschiedene Meta-Tags (aber die gleiche HTML-Datei).

Nun kommt es aber vor, dass Google mit der HTML-Datei nicht zufrieden ist, die man hochgeladen hat:

Überprüfungsstatus: NICHT ÜBERPRÜFT
Letzter Versuch am TT.MM.JJJJ: Wir haben festgestellt, dass Ihre Fehlerseite 404 (Datei nicht gefunden) im Header den Statuscode "200 (Erfolgreich)" zurückgibt.

Dieses Tutorial soll, angelehnt an eine englische Anleitung von R. van Twisk, dem Abhilfe schaffen. Beschrieben wurde es von van Twisk für TYPO3 3.8, aber von mir auch für TYPO3 4.1 getestet und für gut befunden :-)

Fehlerdatei definieren

In fileadmin/scripts/ die Datei pagenotfound.php anlegen, die den richtigen Fehlercode im Header zurückgibt:

  1. <?php
  2. define('REDIRECTPAGE', '/');
  3. class user_pagenotfound {
  4. function pagenotfound($param, $conf) {
  5. $server_name = $_SERVER['SERVER_NAME'];
  6. header("HTTP/1.0 404 Not Found");
  7. print '<!DOCTYPE html
  8. PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  9. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  10. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  11. <head>
  12. <title>Page not Found!</title>
  13. <SCRIPT LANGUAGE="JavaScript">
  14. <!--
  15. function doRedirect() {
  16. window.location="http://'.$server_name.REDIRECTPAGE.'";
  17. }
  18.  
  19. doRedirect();
  20. // -->
  21. </script>
  22. </head>
  23. <body style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;text-align:center;";>
  24. <div style="font-size:20px;text-align:center">The page you have requested cannot be found</div>
  25. <div>If you are not automaticly redirected in 3 seconds please click here: <br />
  26. <br /><a href='.$server_name.'>'.$server_name.'</a></div>
  27. </body>
  28. </html>';
  29. }
  30. }
  31. ?>

Statt

  1. define('REDIRECTPAGE', '/');

kann man auch

  1. define('REDIRECTPAGE', '/404.html');

einfügen und es wird auf die selbst erstellte Datei domain.de/404.html weitergeleitet statt auf die Startseite.

In TYPO3 einbinden

Jetzt muss man TYPO3 nur noch verklickern, was es zu tun hat, wenn eine Seite aufgerufen wird, die nicht existiert. Dazu fügt man in die Datei typo3conf/localconf.php folgende Zeile ein:

  1. $TYPO3_CONF_VARS["FE"]["pageNotFound_handling"] = 'USER_FUNCTION:fileadmin/scripts/pagenotfound.php:user_pagenotfound->pagenotfound';

error_404_handling

Bei den von mir betreuten Seiten war auch die Extension 404 Error Page Handling (error_404_handling) installiert, aber der Fehler mit Google trat dennoch auf. Also entweder bringt diese Extension in dieser Hinsicht nichts oder sie war nicht richtig konfiguriert für solche Fälle.

 

Kategorien
TYPO3-Tutorials
Suche