Drupal CMS Anleitung: Seitentitel in Drupal optimieren

Der Seitentitel eines Contents ist einer der wichtigsten Keywordlieferanten für die Suchergebnisseiten der Suchmaschinen. Keywords, die im Seitentitel eines Contents verwendet werden, werden im Ranking der Suchergebnisse meist besonders gut berücksichtig. Wenn Sie wissen wollen, wie man Seitentitel für die eigene Webseite optimiert, kann ich unseren Artikel "SEO: Seitentitel, Formulierung und Zeichenanzahl optimieren" empfehlen. Hier finden Sie eine komplette Ausarbeitung, welche Kriterien Sie beim Optimieren von Seitentiteln wichtig sind.

In diesem Tipp beschreibe ich eine konkrete Anwendung dieser Webseiten-Optimierung für das Drupal CMS (Content Management System). Außerdem stelle ich Ihnen einige Codesschnipsel zur Verfügung, damit Sie die Darstellung der Seitentitel in diesem CMS nach eigenen Wünschen gestalten können.

Drupal generiert die Seitentitel automatisch, nach dem Muster: $title | $site_name. $title ist der Titel einer node oder eines Views. $site_name ist der Name der Webseite, den Sie in den Website-Informationen (http://example.com/admin/settings/site-information) angeben.

Seitentitel sollten nicht länger als 65 Zeichen sein. Durch den hinzugefügten Namen der Webseite "verschenken" Sie eventuell wertvolle Zeichen, die Sie für den eigentlichen Seitentitel gebrauchen können. Aus diesem Grund bietet es sich an die Generierung des Seitentitels zu veränden.

Um Seitentitel zu ändern haben Sie prinzipiell zwei Möglichkeiten:

1. Das Page title Module

Robert Douglass hat ein Modul geschrieben, mit dem Sie Seitentitel verändern können: Drupal – Modul "Page title"

Sie können damit Muster erstellen, nach denen der Seitentitel gebildet wird. Oder Sie schreiben für jede node einen individuellen Seitentitel.

2. Eigene Funktion für Seitentitel

Ausgehend davon, daß der Name der Webseite nicht unbedingt im Seitentitel stehen muß, reicht eine kleine eigene Funktion, die diesen Namen einfach entfernt. (Vorraussetzung ist, daß Sie die Template Engine PHPTemplate verwenden.)

Die Funktion übernimmt den von Drupal erzeugten Seitentitel und entfernt alles ab | $site_name, inclusive des Leerzeichens.

Was müssen Sie wo einfügen?

In der page.tpl.php ersetzen Sie die Zeile

<title><?php print $head_title ?></title>

durch

<title><?php print make_sitetitle($head_title); ?></title>

In die template.php fügen Sie folgende Funktion ein:

/**
*
* change head_title
*
**/


function make_sitetitle($head_title = "") {
  $title = substr($head_title, 0, (strrpos($head_title, "|")-1));
  return $title;
}

Was machen die verwendeten Funktionen genau?

int strrpos ( string haystack, string needle [, int offset] )

strrpos gibt die numerische Position des letzten Vorkommens von needle (im Fall Seitentitel: |) innerhalb von haystack (im Fall Seitentitel: $head_title) zurück. Falls Sie selbst ein | im Seitentitel, bzw. im Titel einer node haben, dann wird der Seitentitel nicht ab diesem Zeichen gekürzt, sonderen wirklich erst ab | vor dem Namen der Webseite. (Wurde needle nicht gefunden, wird FALSE zurückgegeben.)

string substr ( string string, int start [, int length] )

substr gibt einen Teil eines Strings zurück, von start (im Fall Seitentitel: 0, der Anfang des Seitentitels) bis length (Länge – im Fall Seitentitel bis zum Zeichen |, das von strrpos ermittelt wird). (Ist length angegeben und negativ, werden genau so viele Zeichen vom Ende von string abgeschnitten.)

Sollte Drupal seine Seitentitelgenerierung ändern und kein | mehr verwenden, dann wird von strrpos FALSE zurückgegeben, weil das Zeichen nicht gefunden wird.  substr()-1 schneidet dann vom Ende des Seitentitels 1 Zeichen ab. In diesem Fall müssen Sie die Funktion anpassen. (Falls dies einmal so sein sollte, können Sie mich kontaktieren, ich stelle dann eine geeignete Funktion zur Verfügung.)

Beide Funktionen sind so verwendet, daß sie in PHP 4 und PHP 5 funktionieren (bei strrpos kann unter PHP 4 nur nach einem einzelnen Zeichen gesucht werden).

Viel Erfolg beim Optimieren Ihrer Seitentitel mit dem Drupal CMS!

Petra Sütterlin