Meine Homepage (mit Joomla! 1.0.12 Stable [ Sunfire ] ) existiert nun schon länger und ist stetig gewachsen. Nun wollte ich, dass diese auch in den Suchmaschinen sehr weit vorne gelistet wird. Zum Beispiel soll die Suche nach meinem Namen als Ergebnis meine Seite auf Platz 1 liefern. Hierfür musste ich mich nun also mit dem Thema SEO (Search Engine Optimization) beschäftigen.
Titel
Zunächst hatte ich heraus gefunden, dass Suchmaschinen nicht mehr den <meta>-tag aus den Seiten verwenden, allerdings sehr wohl noch den Titel einer Homepage auslesen und verarbeiten. Also hatte ich deswegen meinen Namen in den Titel integriert, welcher vorher nur den Domainnamen enthielt.
Pagerank
Die wichtigste Suchmaschine ist google, weswegen ich mich nun natürlich informieren musste, was diese noch für Kriterien hat. Wichtig war hier der sogenannte Pagerank einer Seite. Dieser ergibt sich aus einer Formel, welche das Verhältnis zwischen den abgehenden Links und den Links auf anderen Seiten, die auf meine Seite verweisen, berechnet. Eine weiterführende Erklärung gibt es hier unter
http://de.wikipedia.org/wiki/Pagerank
Ich musste also dafür sorgen, dass möglichst viele Seiten auf Meine verweisen. Sogenannte Webkataloge haben sich genau auf dieses Thema spezialisiert, in dem diese ein reines Verzeichnis für Links darstellen. In Diese habe ich dann meine Seite eingetragen, wobei ich aber nur Seiten ausgewählt habe, welche mindestens einen Pagerank von fünf haben. Bei manchen musste man eine lange Homepagebeschreibung von mindestens 500 Zeichen eingeben.
Search Engine Friendly Urls
Für eine gute Platzierung ist ebenfalls das Aussehen der Urls wichtig. Viele Suchmaschinen indezieren keine Urls, die Querys oder durch & angehängte Parameter enthalten. Dies war ein großes Problem, da Joomla, als dynamisches Portal, keine Suchmaschinen freundlichen Urls generiert. Das bedeutet, alle Links gehen immer auf die Startdatei index.php und werden mit entsprechenden Variablen ergänzt. Allerdings gab es Komponenten für Joomla, die diese Links nach aussenhin anpassten. Zur Verfügung standen hier OpenSEF (Version 2.0.0-RC5), Artio JoomSEF (Version 1.5.1) und SEF Advance. Letzteres viel weg, da dieses kommerziell ist. Ich habe also die ersten Beiden nacheinander getestet. Leider musste ich feststellen, dass keines funktionierte. Es legten zwar Beide die neuen Links an, leider bekam man aber bei allen Links die Fehlermeldung, dass die Seite nicht gefunden wurde.
Nach einer Recherche stellte ich fest, dass beide Komponenten auf dem IIS 6.0 zusätzlich einen Rewrite ISAPI Filter brauchten, welcher äquivalent ist zum dem Modul mod_rewrite auf dem Apache Webserver. Es gibt unterschiedliche Produkte für diesen Filter (ebenfalls kommerzielle), ich habe mich für IonicIsapiRewriter (Version 1.2.12b) entschieden, da dieser viele Funktionen bietet und kostenlos ist. Die Installation kam zunächst nicht voran, da der vorgeschlagene Pfad C:\windows\system32\inetsrv nicht funktionierte, selbst mit Vollrecht für "everyone". Als ich dann aber den Pfad von Plesk für bereits eingetragene ISAPI Filter verwendete (C:\SWSoft\Plesk\isapi) ging es ohne Probleme. Man musste nur den Filter eintragen im IIS Manager unter websites (Eigenschaften->ISAPI Filter) oder nur für eine spezielle Seite. Ausserdem musste der Filter unter Webdiensterweiterungen hinzugefügt werden und der Status auf "zugelassen" gesetzt sein.
Meine IsapiRewrite4.ini sieht so aus:
RewriteLog C:\SWSoft\Plesk\isapi\iirfLog.out
RewriteLogLevel 0
MaxMatchCount 10
IterationLimit 10
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) /index.php [U,L]
Die letzten 2 Zeilen bedeuten, dass alle Anfragen umgeschrieben werden zur index.php (welche dann die Anfrage verarbeitet), ausser wenn es die Datei gibt.
Dennoch funktionierte es nicht. Allerdings war bei Artio JoomSEF ein Fehler im Quelltext die Ursache, welcher wohl nur auf Windows Systemen vorhanden war.
Mit folgender Änderung hatte es dann funktioniert:
In Zeile 84 in der Datei /components/com_sef/sef.php habe ich den Ausdruck
$base = dirname($index);
zu dem neuen Ausdruck umgeschrieben
$base = stripslashes(dirname($index));
Da es nun funktionierte, blieb ich bei Artio JoomSEF.
Zu finden ist es unter http://www.artio.cz/
Technorati
Um mehr Leser und Links auf meine Seite zu bekommen, habe ich meine Seite als Blog bei Technorati.com eingetragen, da dies eine sehr gute Plattform für Blogs darstellt. Die Themen von Blogs werden auf der Seite gelistet nach Aktualität und können mit sogenannten Tags (entspricht Schlagworten) versehen werden. Wenn nun ein Leser nach einem Schlagwort sucht, wird ihm ein Link zu dem Thema auf der entsprechenden Seite angezeigt. Da Joomla leider nicht die Funktion hat, seine Änderungen oder neue Themen direkt an Technorati zu schicken und ich auch keine funktionierende Komponente gefunden habe, die dies übernimmt, müssen die Änderungen manuell bei Technorati über den Button "Ping" geholt werden.