Magento SEO: URL mit /index.php/ in der URI umleiten auf URL ohne

15. April 2013 at 15:32

Per Standard ist es in Magento möglich alle URLs jeweils mit /index.php/ in der URI, als auch ohne aufzurufen.
Hierdurch entsteht im schlimmstenfall ein „duplicate content“ Problem.

Um das Problem zu lösen, ist es sinnvoll die URL mit der /index.php/ auf die URL ohne diesen URI-Part zu leiten,
daher per mod_rewrite von z.b. /index.php/katalog auf /katalog

So geht’s:

RewriteRule ^index.php/(.*) $1 [R=301,QSA,L]

Zu empfehlen ist den Admin-Bereich auszugliedern, da Suchmaschinen auf diesen sowieso kein Zugriff haben (sollten)!

Admin Bereich als Ausnahme definierfen

RewriteCond %{REQUEST_URI} !^/index.php/admin/
RewriteRule ^index.php/(.*) $1 [R=301,QSA,L]

 

Fandet ihr diesen Tipp nützlich?
Dann bewertet diesen doch bitte und teilt ihn bei Google+ oder Facebook, danke!

SEO: Non-defensive URL construction – no duplicate content – regex

9. Dezember 2010 at 17:01

Um zu verhindern dass durch verschiedene Schreibweisen von URLs duplicate content entsteht,  ist es ratsam einheitliche URLs zu erzeugen (z.B. nur die kleinschreibweise zu akzeptieren).

Aus gründen der besseren Benutzbarkeit (usability) ist es natürlich von Vorteil auch verschiedene Schreibweisen der URL zu berücksichtigen, im Detail:

http://www.fly2mars-media.de/seoblog/

sollte genauso berücksichtigt werden wie

http://www.Fly2Mars-Media.de/SeoBlog/

allerdings soll für Google nur eine Schreibweise verwendet werden, da sonst ggf. ein duplicate content problem entsteht.

Die Lösung ist ein rewrite der URL über mod_rewrite, hier die Lösung:

RewriteEngine On
 # lowercase request_uri and redirect 301
 RewriteMap  lc int:tolower
 RewriteCond %{REQUEST_URI} [A-Z]
 RewriteRule (.*) ${lc:$1} [R=301,L]

Beachtet auch diesen Tipp: Apache: RewriteMap not allowed here Problem

Möchtet ihr bestimmte Ordner ausschließen, so könnt ihr dies z.b. für die Ordner tmp und cache wie folgt:

RewriteCond %{REQUEST_URI} !^/(tmp|cache)