title Text ändern

Joomla 1.5 ButtonJoomla 1.6 ButtonJoomla 1.7 ButtonJoomla 2.5 Button

Joomla! erstellt den Titel (title-Tag) einer Webseite automatisch. Entweder mit dem Text des Menüpunktes oder mit dem Inhalt des dafür vorgesehenen Eingabefeldes.

Mit einem kleinen Codeschnipsel greifen wir in diese Prozedur ein, und ändern diesen Title-Text.

Die Idee:

Bei Joomla! 1.0 war es so, dass der Title-Text aus 2 Texten zusammengefügt wurde. Nämlich aus dem Titel der Homepage (Homepagetitel) und dem Titel der Seite (Seitentitel).

Beispiel

Nehmen wir an, wir haben eine Homepage mit dem Homepagetitel "meine Homepage" und eine Inhaltsseite mit dem Seitentitel "Impressum". Der title-Tag werden bei den Joomla! Versionen unterschiedlich generiert.

Joomla! 1.0:

<title>meine Homepage - Impressum</title>

Joomla! 1.5, 1.6 und 1.7:

<title>Impressum</title>

Warum das geändert wurde, weiß ich nicht, aber ein Title mit "Impressum" sagt nicht viel aus. Impressum von was? Da ist der Title von Joomla! 1.0 schon etwas aussagekräftiger. Aber nicht nur beim Impressum ist es sinnvoll den Namen der Homepage hinzuzufügen. Meiner Meinung nach, und da geben mir bestimmt viele SEO Experten recht, ist es sinnvoll, wenn der title-Text auf allen Seiten den Homepagetitel beinhaltet.

Die Lösung

Schreibe in die "index.php" deines verwendeten Templates ganz oben folgenden Code:

<?php

  $conf =& JFactory::getConfig();
  if ($this->title != $conf->getValue('config.sitename')) {
    $this->title = $conf->getValue('config.sitename') . " - ". $this->title;
  }

  ?>
  

Wenn du obigen Code in Joomla! 1.5 oder 1.6 oder 1.7 so einbaust, erhältst du die gleiche Title Ausgabe wie unter Joomla! 1.0.

Mein Tipp

Besser wäre es, wenn der Seitentitel dem Homepagtitel vorangestellt wird. Aus SEO Sicht ist das besser, da die ersten Wörter mehr bewertet werden.

Mein empfohlener Code schaut so aus:

<?php

  $conf =& JFactory::getConfig();
  if ($this->title != $conf->getValue('config.sitename')) {
    $this->title = $this->title . " | ". $conf->getValue('config.sitename');
  }

  ?>
  

Die Ausgabe aus obigem Beispiel würde dann so aussehen:

<title>Impressum | meine Homepage</title>

Allgemeine Info zum Title-Text

JEDE einzelne Unterseite einer Homepage sollte einen eigenen individuellen Title-Text haben, und etwa 65 bis 80 Zeichen lang sein.
Für Suchmaschinen ist der Title-Text eines der wichtigsten Faktoren für die Berechnung der Suchergebnisse.

Weitere Informationen


  • Donnerstag, 13 Oktober 2011

Kommentare (9)

  • Finn

    Finn

    06 Dezember 2011 at 18:51 |
    Hallo Günther ,

    eine schöne Webseite und eine super Idee, die du da hast. Leider bekomme ich bei dem Code immer ein Syntax Fehler in der Line 4 bei "$this-?>". Ich bin nicht so der Crack was php angeht, deswegen wäre es super wenn du mir da helfen könntest.

    MfG und vielen Dank schon mal im Voraus

    Finn
    • Günther Hörandl

      Günther Hörandl

      06 Dezember 2011 at 21:19 |
      Hallo Finn,

      du hast recht, da hatte sich ein Fehler eingeschlichen. Ich habe den Code bereits korrigiert. Jetzt müsste es funktionieren.

      Danke und viele Grüße,
      Günther
      • Finn

        Finn

        06 Dezember 2011 at 22:08 |
        Hey,

        vielen Dank für die schnelle und kompetente Antwort... Leider bekomme ich es immer noch nicht so recht zum Laufen... Jetzt habe ich das hier "Fatal error: Class 'JFactory' not found in...." Ich denke zwar, dass es eher an meiner Config liegt, aber wäre super wenn du mir da weiterhelfen könntest.

        Mit freundlichen Grüßen

        Finn
        • Günther Hörandl

          Günther Hörandl

          06 Dezember 2011 at 22:26 |
          Hmmm,... der Code müsste jetzt stimmen. Ich habe es nochmals kontrolliert.

          Wo hast du den Code eingebaut? In die "index.php" des Templates oder in die "index.php" der Joomla Installation? Kontrolliere das bitte. Solltest du es richtig in die "index.php" deines Templates geschrieben haben, dann schicke mir bitte einmal deine komplette "index.php" und ich schaue mir das an.

          Viele Grüße,
          Günther
          • Finn

            Finn

            06 Dezember 2011 at 22:36 |
            Ahhh... Da lag der Hund begraben... funktioniert nun super. Vielen Dank nochmal für die Hilfe.

            Finn
  • Cobinja

    Cobinja

    26 Dezember 2011 at 17:53 |
    Warum so umständlich?
    Das ist alles Konfigurationssache, ohne dass im Template was gemacht werden muss.

    Solange im Template mit die autogenerierten Headerinformationen eingebunden werden (was nicht nur den Titel, sondern auch z.B. die Keywords beinhaltet), muss man nur im Adminnistrator-Backend unter
    Site->Konfiguration->Site die Option "Seitenname in Seitentitel integrieren" einschalten. Dann ist der Titel wieder wie in Joomla 1.0 eingestellt.

    Gruß
    Cobinja
  • Cobinja

    Cobinja

    26 Dezember 2011 at 17:58 |
    Da ist beim letzten Post was verloren gegangen.

    Solange im Template mit < jdoc : include type="head" / > die autogenerierten...
    • Günther Hörandl

      Günther Hörandl

      26 Dezember 2011 at 18:46 |
      Hallo Cobinja!

      Ja, du hast (fast) recht. So wie du es beschrieben hast funktioniert es aber nur in Joomla! 1.7 (bei 1.6 bin ich mir jetzt nicht sicher, vermutlich aber auch)
      Jedoch gibt es diesen Konfigurationspunkt in Joomla! 1.5 nicht.

      Vielen Dank für die Info!

      Viele Grüße,
      Günther
      • Cobinja

        Cobinja

        28 Dezember 2011 at 15:59 |
        In Joomla 1.6 geht es, in 1.5 nicht.

Bitte Kommentar schreiben

Bitte einloggen, um einen Kommentar zu schreiben.