23 Performance- und Suchmaschinenoptimierung
Wer diese Tage Suchmaschinenoptimierung ignoriert, verzichtet auf die Chance, in Suchergebnissen besser dazustehen als die Konkurrenz. Mit Joomla! und einigen handverlesenen Erweiterungen ist die eine oder andere SEO-Maßnahme aber schnell umgesetzt.
Handelt es sich bei Ihrer Joomla!-Installation um eine öffentliche Website, setzen Sie alles daran, um in den Suchergebnissen von Google, Bing, Yahoo und Co. möglichst gut dazustehen. In regelmäßigen Abständen schicken die Suchmaschinen ihre Bots los, um alle Websites, die auf ihrer To-do-Liste stehen, zu crawlen, also die Inhalte zu lesen, zu analysieren und innerhalb ihres großen Suchindexes zu hinterlegen. Diese Bots (auch Crawler, Spider) arbeiten aber nicht nur ihre eigenen Listen ab, sondern folgen auch Verlinkungen, auf die sie während des Crawlens stoßen. Daraus folgern Suchmaschinen beispielsweise, dass stark verlinkte Seiten besonders hoch im Kurs sind, und markieren sie als wichtig. Und besonders wichtige Websites landen an den ersten Stellen eines Suchergebnisses, haben ein hohes sogenanntes Ranking. Der folgenden Tabelle entnehmen Sie weitere Aspekte, die Einfluss auf das Ranking haben.
Die Qualität des Contents ist einer der wichtigsten Ranking-Faktoren. Suchmaschinen recherchieren nach wertvollen Informationen und belohnen Websites, die diese bieten, mit höheren Suchergebnispositionen, falls bestimmte Kombinationen von Schlüsselwörtern zwischen Suchanfrage und Webseiteninhalten übereinstimmen. Die zugrunde liegenden Algorithmen sind hochkompliziert und behütetes Geheimnis jedes Suchmaschinenbetreibers. Aber es gibt einige Prämissen, die Sie auf Ihre Website anwenden, um möglichst gute Karten bei Indexierung und Ranking zu erhalten. Beispiel hierfür ist die Verteilung von Schlüsselwörtern (englisch: Keywords) in URL, Überschriften und im Fließtext. Aber Vorsicht: Die Bots reagieren empfindlich auf Übertreibungen. Eine Webseite mit den Begriffen »die schönsten Urlaubsziele die schönsten Urlaubsziele […]« vollzupflastern wird als Spam interpretiert, und die Optimierungsmaßnahme geht nach hinten los.
Die aus den Prämissen für ein möglichst gutes Ranking ableitenden Maßnahmen nennt man Suchmaschinenoptimierung – englisch: Search Engine Optimization (SEO), die in Black Hat und White Hat, Mogeleien und ehrliche Tricks, unterschieden werden. Sie beinhaltet sowohl inhaltliche als auch technische Aspekte und ist der große Bruder der Suchmaschinenfreundlichkeit (SEF), die sich hauptsächlich auf inhaltliche Aspekte konzentriert. Von Suchmaschinenmarketing (SEM) hingegen ist die Rede, wenn auch Medien, Institutionen und Mittel eingesetzt werden, die nicht unmittelbar mit der Website zu tun haben, z. B. virale Marketingkampagnen auf Facebook oder Twitter oder ein interessantes YouTube-Tutorialvideo als Publikumsmagnet.
Joomla! erlaubt bereits ab Werk die Konfiguration wichtiger SEO-relevanter Maßnahmen. Allen voran die Einstellungen zur Schreibweise der URL, die möglichst »sprechend« wertvolle Keywords enthalten sollte. Mithilfe sogenannter Marketing-URLs, spezieller auf eine Kampagne ausgerichtete Zieladressen, dehnt sich der Funktionsumfang sogar auf SEM-Aspekte aus. Die zugrunde liegenden Mechanismen lernen Sie in den ersten Abschnitten dieses Kapitels kennen.
Performanceoptimierung betrifft alle Themen, die Ihre Website beschleunigen. Im Internet macht es einen gewaltigen Unterschied, ob eine Webseite zehn oder zwei Sekunden benötigt, um ihre Inhalte vom Server zu laden und im Browser darzustellen. Und da Suchmaschinen ihren Kunden nur die besten Websites hochplatziert präsentieren, ist jede Performanceoptimierung gleichzeitig eine Suchmaschinenoptimierung.
Mit den vielen Tipps und Tweaks zur Performance beschäftigt sich der zweite Teil dieses Kapitels. Aber vorweg: Kleine Websites stehen bereits nach einer Joomla!-Standardinstallation recht gut da. Die Relevanz einer Performanceoptimierung steigt erst, wenn Ihre Website entweder mehrere Hundert Besucher pro Tag empfängt oder falls die Webseiten so viele Elemente und Module enthalten, dass das Laden auffallend lange dauert. Richtwert für die Ladezeit einer optimal eingerichteten Webseite sind 2 Sekunden. Liegen Ihre Messungen mit Firebug oder den Entwicklertools der Webbrowser darüber, sollten Sie sich den einen oder anderen Abschnitt genauer ansehen.
Grundsätzlich gibt es zwei Bereiche, in denen Sie Einfluss ausüben, um die Performance und damit die Geschwindigkeit der Webseiten zu verbessern:
-
Joomla!
Das CMS speichert alle Webseiteninhalte und viele Konfigurationen in der Datenbank. Je komplexer die Zusammenstellung der Inhalte auf einer Seite ist, desto mehr Datenbankabfragen sind nötig. Und die kosten Zeit. Wie unberechenbar das ist, sehen Sie unter http://development.joomla-handbuch.com, wo der Debugging-Modus aktiviert ist (über System • Konfiguration • Reiter System • Schalter System debuggen) und Sie im unteren Bereich die Zeiten für die Datenbankzugriffe aufklappen und ablesen. Während man annehmen könnte, dass die Homepage mit fünf angeteaserten Beiträgen und 32 ausgeführten Abfragen mehr Inhalte aus der Datenbank zieht, benötigt eine einfache Beitragsseite 57, also fast doppelt so viele Abfragen. Bei genauerer Betrachtung fallen jedoch zwei Module in der rechten Seitenleiste auf, die verwandte Beiträge anzeigen, die wiederum aus der Datenbank gezogen werden. Hier ist entweder Fingerspitzengefühl beim Seitendesign angesagt oder ein Mechanismus, der das Datenbankproblem löst. Den gibt es glücklicherweise: der eingebaute Cache von Joomla! (siehe Abschnitt 23.5, »Caching aktivieren«). -
Datenübertragung
Hat Joomla! die angefragte Webseite erst mal generiert, steht eine weitere Hürde zwischen Server und Webbrowser: die Übertragung, nicht nur der einzelnen Seite, sondern aller zusätzlicher Dateien, die ein modernes Web-3.0-Design erfordert. Neben zahllosen Illustrationen sind das Facebook-Like-Iframes, Schriften von Google Fonts, zusätzliche JavaScript-Frameworks und CSS-Bibliotheken oder -Stylesheets, reCAPTCHA-Bibliotheken, Google-Analytics-Tags und vieles mehr. Damit sind Sie bereits der wichtigsten Performanceoptimierung auf der Spur: Reduzierung der nachzuladenden Dateien. Das funktioniert z. B., indem man mehrere Dateien zu einer zusammenfasst (Aggregierung). Oder besser: Dateien, die der Besucher zuvor schon vom Server empfing, nicht noch mal laden. Und auch hier ist wieder ein Cache im Spiel, diesmal im Webbrowser.
Studieren Sie die in diesem Kapitel vorgestellten Tipps, und implementieren Sie sie bei Bedarf und schrittweise. Am besten prüfen Sie die Maßnahme zunächst in einem Testsystem, um Wechselwirkungen mit Erweiterungen auszuschließen. Das ist insbesondere bei der Aktivierung von SEF-/SEO-Komponenten zu empfehlen, die tief ins Joomla!-System eingreifen. Messen Sie die Geschwindigkeitsvorteile per Firebug oder Entwicklertools der Webbrowser. Denn was nutzt die aufwendige Integration einer eigenen CDN-Komponente für eine Handvoll Bilder, wenn die zusätzliche DNS-Abfrage den Geschwindigkeitsvorteil wieder aufhebt.
23.1 Joomla!-URLs optimieren
Joomla! unterstützt bereits nach der Installation sogenannte suchmaschinenfreundliche URLs. Erzeugen Sie Webseiten über Menüeinträge für einzelne Beiträge oder einen Kategorieblog, übersetzt das CMS die Kombination aus Kategorie und Menüpfad direkt in die URL. Entscheidend ist dabei der im Textfeld Alias hinterlegte Titel, den Joomla! automatisch befüllt, falls Sie das Feld leer lassen. Dabei werden Leer- in Minuszeichen verwandelt und Sonderzeichen konvertiert, ganz so, wie es Suchmaschinen mögen und auch ältere Browsergenerationen verdauen können. Der Link zum Lanzarote-Beitrag des Reiseforums lautet beispielsweise:
http://reiseforum.joomla-handbuch.com/index.php/urlaubsziele/kanaren/55-lanzarote
Dabei entstand die Lanzarote-Webseite durch die Seitenverkettung eines Menüeintrags des Typs Kategorieblog. Sprich, für die Kategorie Kanaren wurde ein Menüeintrag im Main Menu angelegt, die daraus anklickbare Lanzarote-Seite entstand automatisch durch die Kategorieansicht – erkennbar an der ergänzten Beitrags-ID 5. (Zum besseren Verständnis dieses Mechanismus studieren Sie Abschnitt 7.5, »Beiträge und Kategorien auf Webseiten darstellen«.) Die Erwähnung der ID ist unschön, aber keine SEO-Katastrophe und ließe sich vermeiden, indem Sie jedem Beitrag einen separaten Menüeintrag spendieren oder eine der vielen im JED verfügbaren SEO-Komponenten installieren.
Suchmaschinenfreundliche URL verstehen
Bewirkt wird diese URL-Gestaltung durch die Einstellung System • Konfiguration • Reiter Site • Bereich Suchmaschinenoptimierung (SEO) • Feld Suchmaschinenfreundliche URL. Stellen Sie diesen Schalter probeweise auf Nein, speichern Sie die Konfiguration, und surfen Sie ein wenig durchs Frontend, macht das URL-Format eine Zeitreise 10 Jahre in die Vergangenheit (siehe Abbildung 23.1).
Dies ist die wahre URL, mit der Joomla! intern arbeitet und aus der interessante Details über die zugrunde liegende Mechanik der dynamisch generierten PHP-Seiten sichtbar werden. So landen ausnahmslos alle Seitenanfragen auf der PHP-Seite index.php, die den angefragten Inhalt aufgrund der dahinter stehenden URL-Parameter zusammenstellt. In diesem Fall geht es um Inhalte aus der Komponente com_content (Beitrags- und Kategoriemanager), und es soll ein Beitrag angezeigt werden (view=article), und zwar der mit der id=55. lang=de besagt, dass die Website gerade im deutschsprachigen Modus abgerufen wird, und die Itemid=193 zeigt auf den dem Lanzarote-Beitrag übergeordneten Kategoriemenüeintrag Kanaren. Diese Angabe nutzt die Webseite, um z. B. im aufklappbaren Hauptmenü den Punkt Urlaubsziele • Kanaren visuell hervorzuheben.
Von all dem bekommen Websitebesucher und Suchmaschinen zum Glück nichts mit, denn mit Keywords sieht es in dem alten Format nicht besonders gut aus. Stellen Sie Suchmaschinenfreundliche URL deshalb dringend zurück auf Ja, und speichern Sie die Einstellung.
URL-Rewrite nutzen
Ein Überbleibsel aus dem alten URL-Format wird über diese Einstellung aber noch nicht entfernt: die index.php-Seite. Aber auch das ist kein Problem dank eines Servermechanismus, des sogenannten URL-Rewrite, das nach der Joomla!-Standardinstallation noch nicht aktiviert ist. Das lässt sich aber in zwei Schritten nachholen: Stellen Sie dazu zunächst den Schalter URL-Rewrite nutzen auf derselben Konfigurationsseite auf Ja, und Speichern Sie die Einstellungen. Als Nächstes aktivieren Sie eine von Joomla! vorbereitete Serverkonfigurationsdatei.
Die sogenannte .htaccess-Datei befindet sich im Hauptverzeichnis Ihrer Joomla!-Installation und enthält verzeichnisspezifische Servereinstellungen, die die globale Apache-Konfiguration bei Bedarf überschreiben. Auf diese Weise lassen sich z. B. Passwort- oder IP-Sperren einrichten oder das Caching-Verhalten von Dateien steuern. Außerdem enthält die Datei Regeln zur Umgestaltung der URL, allen voran die Entfernung des überflüssigen Bestandteils index.php?.
Joomla! installiert bereits solch eine .htaccess-Konfigurationsdatei ins Hauptverzeichnis, allerdings heißt sie aktuell htaccess.txt und ist damit deaktiviert. Zur Aktivierung ist es lediglich notwendig, die Datei umzubenennen, also .txt zu entfernen und einen Punkt an den Anfang zu setzen (siehe Abbildung 23.2). Das ist kein Problem, wenn Sie per FileZilla im Dateisystem eines externen Servers unterwegs sind oder in einer lokalen Umgebung unter OS X oder Linux arbeiten. Lokale Windows-XAMPP-Benutzer benötigen jedoch einen kleinen Trick, denn der Explorer erlaubt eigentlich keine Dateinamen, die mit einem Punkt beginnen – siehe Kasten »Tipp: Umbenennen der ›htaccess.txt‹ einer XAMPP-Joomla!-Installation unter Windows«.
Tipp: Umbenennen der »htaccess.txt« einer XAMPP-Joomla!-Installation unter Windows
Stellen Sie zunächst sicher, dass Sie die Dateiendungen bzw. -erweiterungen im Explorer sehen. Dafür gibt es in den Explorer-Ordneroptionen im Reiter Ansicht ein Häkchen, das nicht gesetzt sein darf: Erweiterungen bei bekannten Dateitypen ausblenden. Markieren Sie jetzt die Datei htaccess.txt im Explorer, und drücken Sie (F2) zum Umbenennen. Ersetzen Sie den Dateinamen nun durch .htaccess. – mit einem Punkt jeweils vor und hinter htaccess. Nach abschließendem Drücken der (¢)-Taste und Bestätigung der Unbrauchbarkeitswarnung mit Ja wird daraus automatisch der richtige Dateiname .htaccess ohne abschließenden Punkt erzeugt.
Hintergrund: Warum wurde die ».htaccess«-Datei nicht schon gleich im richtigen Namensformat installiert?
Die Konfigurationsdatei .htaccess enthält Direktiven, die weitere Funktionen in Joomla! aktivieren. Allen voran das sogenannte URL-Rewrite, mit dem die Webseiten-URLs suchmaschinenfreundlicher formatiert werden. Dieser URL-Rewrite-Mechanismus ist jedoch komplex, seine exakte Direktivenkonfiguration unterscheidet sich von Webserver zu Webserver. Darum entschieden sich die Joomla!-Entwickler, erst mal eine deaktivierte htaccess.txt ins Hauptverzeichnis zu legen, damit jeder Joomla!-Administrator die Datei selbstverantwortlich aktiviert (und gegebenenfalls anpasst). Im Fall der XAMPP-Installation und der meisten Webhoster funktionieren die voreingestellten Direktiven tadellos, darum können Sie die Datei durch das Umbenennen gefahrlos aktivieren.
Prüfen Sie jetzt im Frontend, ob das URL-Fragment index.php? ordnungsgemäß entfernt wurde und, besonders wichtig, ob alle Verlinkungen weiter funktionieren. Suchmaschinenfreundlicher lässt sich eine URL mit den Bordmitteln von Joomla! nicht gestalten:
http://reiseforum.joomla-handbuch.com/urlaubsziele/kanaren/55-lanzarote
Problemlösung: Sehen Sie nach der URL-Rewrite-Aktivierung im Frontend weiße Seiten, benötigt Ihr Server eine Sonderbehandlung. Besuchen Sie dann die offizielle Joomla!-Dokumentation unter http://tinyurl.com/jh-htaccess für weitere Hintergrundinfos und .htaccess-Variationen.