Logo Joomla

Joomla 3 – eigene 404 Seite erstellen

 Diese Anleitung wurde in Joomla von Version 3.2.4 – 3.4.8 – 3.5.1 – 3.9.13 getestet.

Ziel soll es sein eine eigene 404 Seite zu erstellen, sodass Besucher auf diese umgeleitet werden, wenn z.B. der Content nicht gefunden wird, zudem wird ein korrekter 404 Statuscode erzeugt. Die Schritte sind recht einfach und in wenigen Minuten erledigt.

1. einen neuen Beitrag / Artikel erstellen – Titel z.B. 404 – entsprechend einen aussagekräftigen Text schreiben, empfehlenswert wären noch ein Link zur Hauptseite, evtl. Sitemap und ein Suchfeld

1.1 die ID des Beitrages “404”, die rechts unter Inhalt: Beiträge zu finden ist, merken

3. error.php aus eigenem Templateverzeichnis sichern / Backup erstellen

4. error.php aus dem Verzeichnis /templates/system in dein eigenes Template kopieren

5. die kopierte error.php öffnen und  direkt unter der Zeile:

defined('_JEXEC') or die;

Folgendes hinzufügen:

if (($this->error->getCode()) == '404') {
  header("HTTP/1.0 404 Not Found");
  echo file_get_contents(JURI::root().'index.php?option=com_content&view=article&id=404-Article-ID');
exit;
}

Hier deine gemerkte Beitrags-ID einfügen, speichern und schon ist deine eigene 404 Seite fertig.

falsche Code im Netz

if (($this->error->getCode()) == '404') {
 header('Location: /index.php?option=com_content&view=article&id=Article-ID&Itemid=MENU-ID');
 exit;
 }

Der obige Code erzeugt keinen 404 Statuscode sondern einen 200er. Daher ist dieser nicht korrekt und verwirrt Suchmaschinen und sollte nicht verwendet werden.

5 Gedanken zu „Joomla 3 – eigene 404 Seite erstellen“

  1. Ich habs jetzt wiederholt versucht. Meine eigene Fehlerseite wird ausgegeben, aber beim Statuscheck wird ein “302” und ein “200” Statuscode ausgegeben.

    Ich habe die error.php in mein Template kopiert und unter Template/System die Original-Error.php umbenannt.

    Antworten
    • Hallo Frieder,
      und vielen Dank für den Hinweis. Ich habe den Artikel überarbeitet und bereits getestet. Der Code ist nun für Joomla korrekt und erzeugt auch einen 404 Statuscode.

      Antworten
  2. Dein Scriptschnipsel erzeugt diesen Fehlercode:
    Parse error: syntax error, unexpected ‘:’ in …/templates/templatename/error.php on line 11

    Antworten
    • Hallo Lothar, ich habe das eben an einer produktiven Seite mit aktuellem Joomla nachvollzogen und es gibt keine Probleme. Aus der Fehlermeldung entnehme ich dass es Doppelpunkte sind und kein Semikolon, evtl. liegts daran?

      Antworten

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.