Web-Shop » Oxid eShop » Migration

Google Ergebnisse mitnehmen

Bei der Migration eines Shops ändern sich üblicherweise auch die Adressen der Produkte. Damit verliert man die Suchergebnisse der Suchmaschinen. Das muß nicht unbedingt so sein, wenn man über eine ausgeklügelte Weiterleitung die alte URL auf die neuen Inhalte schickt. Das Apache-Modul mod_rewrite machts möglich.

Dazu ist eine Analyse der alten und neuen URL-Strukturen notwendig. Am Beispiel einer Migration von einem osCommerce-Shop auf Oxid zeige ich hier die Vorgehensweise. Voraussetzung dafür ist, dass bei der Datenübernahme die interne Artikelnummer erhalten wird. Zudem muß im Oxid Shop die Suchmaschinenfreundliche URL vorübergehend abgeschaltet werden. Dazu fügt man die folgende Zeile in config.inc.php ein:

$this->blSeoMode = false;

Alte URL für einen Artikel:

http://example.tld/shop/product_info.php?products_id=4765

Neue URL:

http://example.tld/shop/index.php?cl=details&anid=4765

Die Webmastertools von Google zeigen uns, welche URL nicht mehr gefunden werden. So kann auch nachgearbeitet werden, Suchmuster für umzuleitende URL sind in der Liste übersichtlich dargestellt.

Für das vorliegende Beispiel bringt der folgende Eintrag in die Datei .htaccess auf der Verzeichnisebene des Shops den gewünschten Erfolg:

RewriteCond %{QUERY_STRING} ^products_id=(.*)$ [NC]
RewriteRule ^product_info.php$ http://example.tld/index.php?cl=details&anid=%1 [NC,L,R=301]

Ich prüfe in der Condition, ob der Querystring die alte Variable für die interne Artikelnummer enthält, und wann immer eine Anfrage an das alte Programm product_info.php kommt, leite ich sie auf die neue URL um und gebe über %1 die interne Artikelnummer mit.

Der Oxid eShop ist clever genug, durch eine "canconical" URL klarzustellen, dass es sich hier nicht um "duplicate content" handelt, und die Lösung funktioniert auch noch, wenn die o.a. Zeile aus config.inc.php wieder gelöscht wurde. Diesen Zwischenschritt brauchten wir nur, um die Syntax der URL-Parameter für den OXID Shop zu ermitteln.

Interessant fand ich, dass im Log-File des Webservers nur der Zugriff auf die neue URL zu verzeichnen ist. Dass tatsächlich eine permanente Weiterleitung erfolgt, sieht der Normalanwender nicht. Man kann die Umleitung aber z.B. mit wget unter Linux sehr schön sehen.

 

Powered by Etomite CMS.