[WordPress] HTML-Dateiendung in Artikeln, Seiten, Tags und Kategorien

Hallo zusammen,

ich spiele ja in der letzten zeit auch endlich mal ein bisschen mit SEO rum und überhaupt hat es mich schon eine weile gestört das in wordpress keine vernünftigen dateiendungen integriert sind. Google mag es mit sicherheit nicht wenn eine url auf “…/category/fun” endet… ohne slash ohne “.html” … ohne alles. Einfach zu ende.

Nun ist es sehr einfach bei wordpress an jeden artikel ein “.html” anzuhängen. Das kann man ganz einfach in den permalinks in den optionen einstellen. Möchte man das auch bei seiten und sogar bei den kategorien machen… hat man schon ein problem.
Und so habe ich mich auf die suche begeben und bin fündig geworden.

Ich bin über 10 ecken auf das plugin “.html on pages” aufmerksam geworden. Das ist erst einmal teilweise was ich suchte. Denn das dieses plugin fügt nur bei seiten die dateiendung “.html” hinzu… nicht bei kategorien. :-(

Also selbst ein bisschen rumgefummelt und siehe da… nun geht es auch bei den kategorien. :-) Da mein blog noch immer code nicht vernünftig darstellt habe ich das überarbeitete plugin einfach noch mal gezippt und du kannst es >hier< downloaden. Ich habe auch die readme.txt noch mal erweitert.

Nun gab es aber gleich noch ein problem. Mein blog besteht ja nun schon eine weile und es gibt schon so einige urls die auch bei google indexiert sind und verlinkungen zu anderen seiten. Also würden alle anfragen auf die alten urls auf der 404 seite landen. Das wäre natürlich nicht so toll.
Daher musste noch ein 301 redirect her. Der kommt in die .htaccess über die regeln von wordpress – logisch. Hier der htaccess code:

RewriteCond %{REQUEST_URI} ^/[^.]+[^/]$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1.html [L,R=301]

Damit werden alle seiten ohne .html und ohne slash (/) am ende mit der endung “.html” versehen. … Damit haben wir es … oder?

Nee, leider immer noch nicht. Ein kleiner fehler ist mir – bis jetzt – aufgefallen. Möchte ich meinen rss-feed abrufen… schickt er mich auf die 404-seite (seite nicht gefunden). Warum? Auch er bekommt ein “.html” angehängt… aber der feed kann damit nicht aufgerufen werden. Er funktioniert immer noch ohne. Also schnell noch ein eintrag in der .htaccess. Am besten ganz oben:

RewriteRule ^feed$ feed/ [L,R=301]

So, jetzt bekommt er ein slash und wird damit von der anderen regel ignoriert.

Nun haben wir es erst einmal. :-)
Bitte beachtet das eine änderung in den permalinks im adminmenü die .htaccess änderungen unter umständen wieder rausschmeißt.

—-

Ach gleich das nächste problem. Ok, durch die rewrite rule wird nun überall .html hinzugefügt. Das ist nicht immer schön. Ich habe noch die nextgen galerie installiert. Die arbeitet nun natürlich auch nicht mehr. :-( Denn auch sie kann mit den html-endungen nicht umgehen. Mist…
Also wer noch andere urls braucht der muss die htaccess regel modifizieren. Ich habe meine jetzt geändert zu:

RewriteCond %{REQUEST_URI} ^/[^.]+[^/]$
RewriteCond %{REQUEST_URI} !^/nggallery/[^.]+[^/]$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1.html [L,R=301]

Damit sage ich “nur wenn in der url nicht ‘nggallery/’ enthalten ist.

Ich hoffe es geht alles gut :-)

CU
Gordon

Update:
Da muss ich gleich noch mal ein Update hinterherschießen. Habe gerade festgestellt es gibt ja auch noch die Tags. :-) Habe das Plugin auch gleich noch mal modifiziert. Jetzt werden die urls für seiten, kategorien und tags unterstützt. Artikel urls kannst du ja selbst im administrationsbereich einstellen.

5 Kommentare
  1. Jack sagte:

    Google ist die Dateiendung egal. Auch, ob sie fehlt, oder nicht.

    Trotzdem danke für den Beitrag. Kann man sicher hier oder da mal brauchen.

    Antworten
  2. Phil sagte:

    Hallo Gordon,

    gibt es noch ein Version der überarbeiteten .html on PAGES Plugins?
    Leider ist der Link tot, und ich suche im Moment genau diese Erweiterung.

    Danke für eine Antwort

    Antworten
  3. Gordon sagte:

    Hallo Phil,

    ups, der Download-Ordner ist beim Umzug meiner Webseite wohl untergegangen. Der Download funktioniert wieder. Allerdings muss ich dazu sagen das dass Plugin nicht mehr wirklich funktioniert. WordPress hat mit der Version 3 etwas geändert was die Dateiendung bei Tags und Kategorien nicht mehr mit dem Plugin möglch macht.

    Probiere es einfach mal aus. Bei Seiten müsste es noch funktionieren.

    Antworten

Trackbacks & Pingbacks

  1. Anonymous sagt:

    […] hatte ich schon im kopf. nur leider check ich den eintrag nicht die bohne. ich habe mir dazu das… https://www.gordonzube.com/2010/05/19…ategorien.html …angesehen, aber wie ich dann das <?php echo"ref=$ref";?> reinbekomme…?? kein […]

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Ich stimme der Datenschutzerklärung zu