Suchmaschinenfreundliche Permalinks

Einer der ersten Schritte nach der WordPress-Installation sollte die Einrichtung von suchmaschinenfreundlichen Permalinks sein.

Der Standard-Permalink sieht bei WordPress folgendermassen aus:

http://www.deine-domain.de/?p=83

Besser für den Besucher, aber auch für Suchmaschinen ist es, wenn sogenannte “sprechende Links” eingesetzt werden:

http://www.deine-domain.de/erster-artikel

So kann nicht nur der sterbliche Besucher direkt an der Adresse des Artikels sehen worum es eigentlich geht, auch die Suchmaschinen können diese Art von Domain wesentlich besser verarbeiten.

Um dies im WordPress zu konfigurieren bedarf es als erstes eine htaccess-Datei mit folgendem Inhalt:

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

Diese Datei muss in das Hauptverzeichnis des Blogs hochgeladen werden. Wichtig ist dabei der Name “.htaccess” und das die Dateiendung (beispielsweise .txt) entfernt wird.

Anschliessend muss unter http://www.deine-domain.de/wp-admin/options-permalink.php und den allgemeinen Optionen definiert werden, dass die Permalinks eine benutzerdefinierte Struktur haben sollen. Mit der Angabe /%postname%/ wird das oben beschriebene Beispiel erzeugt.

Um dieses zu erreichen muss allerdings der Webhoster den “mod-Rewrite” zulassen. Ob dies der Fall ist muss der jeweilige Webhoster mitteilen.

39 Antworten auf „Suchmaschinenfreundliche Permalinks“

  1. Im Beispiel /erster-artikel fehlt das Trailing-Slash, wie es mittels /%postname%/ erwirkt würde.

    Für Windows-Benutzer ist die Erstellung einer .htaccess ein wenig umständlich. Hier würde ich den entsprechenden Umweg lieber nochmals erklären, wenn es DAU-Gerecht sein darf.

  2. Ich möchte zudem noch hinzufügen, dass die vorgeschlagene Variante einige Probleme bereithält: Man kann nur einmal einen Artikel mit der selben Überschrift schreiben. Gerade wenn man ein Blog jahrelang führt, kann es durchaus vorkommen, dass man zweimal die selbe Überschrift wählt. Bspw. “Fußball-WM gestartet” kann einem alle 4 Jahre passieren. Kreativen Köpfen werden sicher auch noch andere Ereignisse die kürzere Zyklen haben.

    Kurz, ich schlage vor folgende benutzerdefinierte Einstellung zu wählen: /%post_id%/%postname%/ oder /%postname%/%post_id%/

    Fügt zur oben beschriebenen Variante nur noch die Artikelnummer hinzu. Die Vorteile sind die selben, wie oben richtig beschrieben, nur umgeht man eben das Problem, das ich beschreibe.

    WordPress macht zwar aus dem zweiten Artikel über die Fußball-WM kein technisches Problem, die Artikel-url heißt dann eben /fussball-wm-gestartet-2/ aber ein Besucher, der bei Google die Adresse sieht, könnte denken, es ist der zweite Artikel hierzu sein. Die Artikelnummer weißt eher aus, warum da noch ne Nummer ist.

    Mag klugscheißerisch klingen, ist aber eben genauso schnell gemacht wie die oben genannte Lösung und löst eben ein Problem mehr.

    PS: Toll übrigens, dass ihr es jetzt wirklich geschafft habt ein solches Magazin auf die Beine zu stellen!

  3. @ Jens

    Sehe ich genauso, das Datum in der URL ist nicht nur wegen der Titel und den daraus resultierenden Pfaden sehr praktisch, es lässt jedermann auch gleich erkennen, von welchem Jahr, Monat und Tag der Beitrag ist.

  4. @soeren onez:
    Ich sehe in der o.g. Variante keinerlei Probleme. Du hast ja auch schon selbst angesprochen, dass WordPress hinter eine schon vergebene URL einfach eine “-2” hängt.

    Eine mögliche Verwirrung für den Nutzer sehe ich hier nicht.

    Ich selbst nutze meist folgende Variante: /%post_id%-%postname%/

  5. Als einfacher Anwender bin ich doch überrascht, denn es ist doch möglich, bei den allgemeinen Optionen die Möglichkeit “Tag und Name” auszuwählen. Der Post bekommt einen unverwechselbaren und “sprechenden” Permalink aus der Überschrift des Artikels. Und die Überschrift sollte sowieso gut gewählt sein.

  6. Bei “Tag und Name” wird die URL in der Form “/2008/08/10/postname” erzeugt. Es besteht der Eindruck, dass viele Unterordner existieren. Dürfte auch schädlich sein. Daher statt den “/” lieber “-” benutzen. Also z.B. /2008-08-10-postname/

  7. Das ist ja alles richtig, die Überschrift heißt jedoch “Suchmaschinenfreundliche Permalinks”!! Für die Suchmaschine ist es günstig, Key im Link zu haben. Ich glaube, ein Datum ist da nicht so wichtig.

    Ps: Ebenfalls etwas abschweifend: Ich verstehe nicht, weshalb WordPress und auch dieses Blog sich von Google das “NOfollow” reindrücken läßt. Genau genommen heißt es – nicht folgen! Also ist der Kommentar und mein mitgebrachter Link des folgens nicht würdig?? Sicher auch ein interessantes und nie endendes Thema 😉
    Deshalb plädiere ich für mehr Linkliebe und Zusammenhalt unter den Bloggern. Eric-Merten hat dazu auch etwas geschrieben. Den Link setze ich bewußt nicht, um nicht noch eine Diskussion vom Zaune zu brechen, bei Google ist Eric mit dem ” – ” leicht zu finden.

  8. Ich würde im Artikel noch die Schreibrechte für die Datei erwähnen, damit sie innerhalb von WordPress aktaulisiert werden kann. Den oben erwähnten Standardinhalt schreibt WP übrigens auch von alleine in die Datei.

  9. Ich denke, dass es stark von der thematischen Ausrichtung und der Postingfrequenz des Blogs abhängt, ob das Datum Teil der URL sein soll.

    Wer selten tagesaktuelle Themen behandelt, hilft seinen Lesern kaum mit der Datumsangabe, ein eher als Tagebuch genutzter Blog profitiert dagegen von dem damit eingebrachten chronologischen Zusammenhalt. Bei mir zB gibt’s kein Datum, und das mit Absicht.

    Immer noch sind mir die Argument für einen abschließenden Slash nach dem Artikel-Slug nicht verständlich. Warum will das jemand unbedingt haben?

  10. Unter der Überschrift “Suchmaschinenfreundliche Permalinks” sollte man vielleicht noch erwähnen, dass Google und andere URL-Bestandteile von vorne nach hinten entwerten – nach dem Prinzip “je weiter vorne im URL desto wertvoller”
    Von daher bietet sich imho an /%postname%/%day%-%monthnum%-%year%/ zu schreiben.
    Das bietet den SearchEngines gut paltziertes Futter, ist menschenlesbar und umgeht das Problem der doppelten URL-Aliase.

  11. Für die Kollegen mit Installationen ohne Mod-Rewrite gibt es noch die Möglichkeit, die URLs mit “PATHINFO” zu erzeugen.
    Dazu muss nur im Feld mit der URL-Syntax die index.php am Anfang mit angegeben sein, den Rest erledigt WordPress intern.

    /index.php/%postname%/%day%-%monthnum%-%year%/

  12. hallo,

    danke für den tipp bei mir ergibt sich allerdings ein Problem: 404 Not Found wenn ich den Artikel aufrufe. Zu sehen auf http://www.nachwuchsjournalisten.net/
    die .htaccess-Datei sieht so aus:
    # BEGIN WordPress

    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]

    RewriteEngine On
    RewriteBase /wordpress/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /wordpress/index.php [L]

    # END WordPress

  13. ok ich glaub das problem ist, dass mein hoster nicht mod-rewrite unterstützt. Zumindest verschwindet die .htaccess-Datei immer gleich, wenn ich sie hochgeladen hab’. Mail an den Hoster ist raus : /

  14. tfli: lade mal eine PHP Datei mit beliebigen Namen auf deinen WebSpace hoch. In diese schreibst Du <*?php phpinfo();?> (ohne das * natürlich)

    Wenn du diese im Browser aufrufst kann du sehen ob mod_rewrite erlaubt ist.

  15. danke für den tipp valentin. ich hatte aber den host schon gefragt -> ist erlaubt. Das Problem habe ich jetzt aber alleine beheben können. Die Rewritebase war mit /wordpress einfach nicht richtig angegeben und ich hatte den Inhalt der .htaccess auch doppelt drin. Na ja, jetzt läuft’s. Danke für das Tut!

  16. “Suchmaschinenfreundliche Permalinks” zeugt ein bisschen von einer falschen Idee des Ganzen. Das sind menschenfreundliche Permalinks. Google mag die doch nur, weil es sich jedem suchenden Menschen flux erschließt, dass eine sprechende URL besser ist als ein kryptische.

  17. Was passiert, wenn man die Permalink-Strukur ändert? Gehen die alten Links noch?

    Diese Frage hätte ja im Beitrag gleich mit abgehandelt werden können. Schliesslich will man ja die Folgen seines Handeln vorher erkennen.

    Kann man gefahrlos dran drehen oder nicht?

  18. Exakt die gleiche Frage von Stephan wollte ich auch stellen, da ich der Meinung bin, dass die alten Links dann nicht mehr funktionieren. Hab die Einstellung in meinem Blog anfangs blauäugig so gelassen wie sie waren und ärger mich natürlich mittlerweile über die anonymen, nichtssagenden Permalinks…

  19. @Stephan: Die alten Links gehen dann nicht mehr, aber wenn mod-rewrite zum Einsatz kommt, kann man relativ leicht die “alten” Permalinks auf die “neue” Form in der htaccess ergänzend zu den wordpress regeln umbiegen, sodass “alte” verlinkungen weiterhin das ziel finden. ich hatte das in meinem blog, als ich von meinem alten provider, der kein mod-rewrite zuliess, zu einem anderen mit mod-rewrite wechselte und dann auch von PATHINFO zu echten Rewrite-Permalinks wechselte.
    Solange man die POST-ID irgendwo in den Permalinks mit drinne hat, geht das ziemlich einfach. Falls man die Links allerdings nur nach Datum und Posttitel baut, wird eine nachträgliche (automatische) Zuordnung zur Post-ID über mod rewrite schwierig, lässt sich aber über eine manuelle zuordung auch meistern (kann aber ziemlich umfangreich und nervend werden).

  20. Wow – sensationell, Jens – scheint einwandfrei zu funktionieren 🙂 man gibt bei dem Plugin lediglich die alte Struktur ein – in meinem Fall war das %post_id% – und dann kann man ganz normal über den “permalinks”-Reiter die Struktur ändern (und natürlich auch die ht-access wie in diesem Artikel hier beschrieben)
    You made my day, Jens 😉

  21. Was Ihr vergessen habt zu erwähnen ist, dass bei nur %post_id% ein hässliches “date/” vor die Archivlinks gehängt wird sowie bei Folgeseiten der Archivseiten nur 404er ausgespuckt werden. Glückwunsch WordPress.

  22. Da ich gerade dabei bin, meine Blogs mit Permalinks zu konfigurieren, war dieser Post sehr hilfreich. Bei einem englischen Artikel hatte ich noch einen Trick für Google entdeckt, da stand dann am Ende des Links der Artikel mit .html, leider hat es bei mir nicht funktioniert, nach Aufruf der Seite kam eine Fehlermeldung.

    Schade, vielleicht kennt jemand den Trick und kann mir Bescheid geben!

    vielen herzlichen Dank für die Hilfe,
    Karl-Heinz Weidlinger

Schreibe einen Kommentar zu Valentin Tomaschek Antworten abbrechen

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