Mediawiki: Wie bekomme ich Bild-Beschreibungs-Seiten in den Google-Index?

Ich betreibe mittlerweile mehrere Wikis auf MediaWiki-Basis. Mit Hilfe der Google-Webmaster-Tools ist mir unlängst aufgefallen, dass die Bildbeschreibungsseiten NIE indiziert werden. Dementsprechend werden die Bilder selber auch in Google praktisch nicht gefunden. Die sonstigen Einstellungen waren Google-Freundlich, also korrekte robots.txt, eine bei den WMT angemeldete XML-Sitemap mit entsprechenden Einträgen, kein nofollow, noindex, etc.

Nach längerer Recherche - die vor allem ergab, dass andere Nutzer die gleichen Probleme haben, jedoch keine Lösung - fand sich ein erster Hinweis. Die Beschreibungsseiten sind immer nach dem gleichen Schema aufgebaut, also www.domain.com/wiki/Bildname.jpg - also beispielsweise http://www.linzwiki.at/wiki/Datei:Schloß_Auhof.jpg. Viele Seitenbetreiber nutzen mod_rewrite oder ähnliche Tools, um aus den parametrisierten URLs solche "schöne", lesbare URLs zu generieren. Dabei ist zu beachten: obwohl dieser Link hinten die "Endung" .jpg hat, handelt es sich dabei nicht um ein Bild, sondern um eine HTML-Datei. Obwohl das in der Datei selber korrekt eingetragen ist, weigert sich Google offenbar trotzdem, die Datei einzulesen und zu analysieren.

Eine einfache Lösung, die Beschreibungsseiten anders zu benennen, habe ich in Mediawiki nicht gefunden.

Es gibt aber eine - relativ - elegante Möglichkeit, die URLs so anzupassen, dass Google damit klar kommt: man hängt ein zusätzliches Slash ("/") an die URLs an. Aus der Hauptseite wird somit http://www.linzwiki.at/wiki/Hauptseite/, aus der Bildbeschreibungsseite von weiter oben wird http://www.linzwiki.at/wiki/Datei:Schloß_Auhof.jpg/. Google interpretiert das als Verzeichnis, und lies es problemlos ein. Und siehe da: wenige Tage später tauchen die ersten Bildbeschreibungsseiten im Index auf.

Die technische Einrichtung ist relativ simpel. Ich beschreibe mal die Umsetzung, wenn das MediaWiki-Standard mittels mod_rewrite eingesetzt wurde - andere Verfahren sind eventuell entsprechend anzupassen:

In der Datei "LocalSetting.php" im wiki-Verzeichnis ist der Eintrag $wgArticlePath anzupassen. Bei mir steht jetzt dort:
$wgArticlePath = "/wiki/$1/";

Damit gibt Mediawiki die Links korrekt aus. Zusätzlich muss auch die .htaccess-Datei angepasst werden, damit diese URLs dann auch korrekt geparst werden:
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^wiki/(.*)/ w/index.php?title=$1 [PT,L,QSA]
RewriteRule ^wiki/*$ wiki/Hauptseite [L,QSA]
RewriteRule ^/*$ wiki/Hauptseite [L,QSA]

Ich habe folgendes noch zusätzlich eingetragen, um die alten URLs (ohne Slash), die von extern auf meine Seite verlinken, korrekt zu übernehmen und mittels einem 301-Redirect auf die korrekte neue Seite zu verweisen. Der Code ist nicht perfekt, funktioniert aber in den allermeisten Fällen:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^wiki/(.*)$ http://www.linzwiki.at/wiki/$1/ [R=301,L]

Nun steht einer Indexierung durch Google nichts mehr im Wege!

Kommentare

Beliebte Posts aus diesem Blog

Microsoft Word: Neuen Querverweis-Typ anlegen

OpenStreetMap vor Datenspende?

Klassentreffen Volksschule Doppl