Permalink-Struktur ändern und Beiträge ohne 404-Fehler ausgeben

Linkziel ändern

Derzeit ist wieder das Thema aufgeflammt, wie die optimale Url  eines Beitrages auszusehen hat. Ich muss gestehen, dass ich ein wenig hin und her gerissen war, ob ich mich diesem momentanen Url-Hype anschließen soll. Ursprünglich wurde doch immer die Meinung vertreten, dass in einem Link möglichst keine kryptische Zeichen oder Zahlen enthalten sein sollen. Daher wählte ich die Permalink-Form

/%postname%.html

– also auch noch mit der entsprechenden Dateiendung. Und nun soll das plötzlich nicht das Optimum sein?

Ziffer hinten oder vorne, Datum oder Post-ID … ja, wat denn nu?

Zusammengefasst soll – wie Perun sehr schön in seinem Beitrag beschreibt – die Wahl eines Permalinks einschließlich Ziffer für eine bessere Performance sorgen. Gut, sei mal dahingestellt, ob ich mir diesbezüglich überhaupt bei meinem kleinen Blog Gedanken machen müsste. Aber ich bin nun mal eine wissbegierige und experimentierfreudige Bloggerin und nebenher darauf bedacht, aus meiner Seite ein bisschen mehr Leistung heraus zu kitzeln.

Wie ich allerdings in den Kommentaren zu Peruns Beitrag erkennen kann, scheinen die Meinungen bei der optimalen Positionierung der Ziffer auseinander zu gehen. Die einen befürworten wahlweise die Post-ID  oder Datum des Beitrages am Anfang der Url-Ausgabe, die anderen wiederum meinen, dass dessen vordere Platzierung nachweislich keinen Vorteil bietet.

Natürlich orientiere ich mich schon nach Meinungen von Bloggern, die weitaus erfahrener bei einer solchen Thematik sind als ich, aber ich schaue mir meist mehrere Statements dazu an.

Warum ich die jetzige Permalink-Struktur auswählte

Unstrittig scheint schon einmal zu sein, dass es besser sei, die Url um das Datum oder die Post-ID zu ergänzen. Nun ging ich in mich und führte mir sämtliche Kombinationsmöglichkeiten vor Augen. Dabei habe ich versucht, mich in einen ganz “normalen” Webseitenbesucher hinein zu versetzen. Aus dieser Perspektive empfand ich persönlich das Datum am Anfang eines Beitrages als äußerst unoptimal. Einerseits, weil dadurch die Länge des Links derart lang ist, dass er nicht mehr komplett im Url-Feld meines Browers sichtbar ist. Ein sehr geringer Anteil des Links enthält Text.

Anzeige des Veröffentlichungsdatums bei der Suche auf GoogleAußerdem fand ich das Argument, man könne direkt an der Url das Alter eines Beitrages erkennen, ziemlich irrelevant. Ehrlich gesagt, schaue ich erst einmal eher auf das Beitragsdatum direkt auf der Webseite, bevor ich versuche, eine Url zu decodieren. Und bei der Google-Suche erscheint in der Regel auch das Beitragsdatum neben den Ergebnissen. Nur falls weder bei Google noch auf der Seite kein Datum angegeben sein sollte, wäre für mich die Datumsausgabe in der Url gegebenenfalls von Interesse.

Zu diesem Thema kann ich diesen Beitrag bei WordPress.org empfehlen, in dem alle möglichen Codes erklärt werden, die man für den Aufbau eines Links verwenden kann.

Darin wiederum wird auf einen Artikel verwiesen, der sich mit der optimalen Permalink-Struktur befasst. Ein wenig frage ich mich allerdings, warum auf dieser Seite nicht ebenfalls die empfohlene Text-Ziffern-Variante gewählt wurde. ;-)

Last but not least habe ich mir noch sämtliche Urls der Seiten von mir bekannten und meines Wissens nach erfahrenen Bloggern angeschaut und mich letztendlich für folgende Variante entschieden:

/%postname%-%post_id%/

Für mich ist diese Lösung ein guter Kompromiss zwischen Usability und Performance-Bedarf. So ist der Text des Beitragslink noch zu erkennen, die für Webseitenbesucher uninteressante Post-ID ist ans Ende gerutscht und die Url besitzt noch eine vertretbare Länge.

Umleitung per 301 durch ein Plugin

Tja, damit war die Änderung aber noch nicht komplett vollzogen, denn über Google sollten meine Beiträge weiterhin gefunden werden. Ich hatte die Änderung der Permalink-Struktur vorerst einmal nur in meiner bunten Blogwelt geändert und die Google-Suche bemüht. Prompt passierte das, was ich vermeiden wollte: ein 404-Fehler wurde ausgegeben.

Ich habe die xml-Sitemap erneuert, den Cache geleert … erfolglos. Also recherchierte ich, welcher Eintrag in der .htaccess und wo darin erforderlich ist, um ein Redirect 301 zu erzielen. Leider funktionierten die angegebenen Code-Vorschläge nicht wirklich. Dann stieß ich auf etliche Beiträge, in denen das Plugin Permalinks Migration Plugin von Dean Lee angepriesen wird. Leider wird dieses Plugin wohl nicht mehr gepflegt und ist daher unter der Sammlung bei WordPress.org nicht zu finden.

Letztendlich bin ich aber nun auf das Plugin Advanced Permalinks gestoßen, das recht einfach zu konfigurieren ist und vor allem … es funktioniert! Google-Besucher werden nun einwandfrei auf die richtigen Beiträge umgeleitet.

Mittlerweile habe ich die Permalink-Struktur wieder umgestellt.

Die Autorin:

Sylvi

Meine Beiträge beinhalten eigene Erfahrungen über Soft- und Hardware, Social Media und die ich als WordPress-Bloggerin und Joomlanerin gesammelt habe. Zudem widme ich mich dem schönen Hobby "Fotografie".

13 Kommentare

  • Hallo Sylvi!

    Danke erstmal für die Verlinkung auf meinen Artikel!

    Eigentlich müsste die Weiterleitung auf die neue Linkstruktur problemlos funktionieren, auch ohne Plugin!

    Perun hat noch auf einen anderen Artikel verlinkt, wo gezeigt wird, wie die Struktur VOR WP 3.3 die Performance in den Keller gezogen hat!

    Allerdings wird im gleichen Artikel in einem Update daraufhingewiesen, das der Core von WP 3.3 mittlerweile angeblich so aufgebaut worden sein soll, das es keine Rolle mehr spielt, welche Version des Permalinks man nutzt.

    • Hallo Marcus,

      Du schreibst “eigentlich müsste die Weiterleitung auf die neue Linkstruktur problemlos funktionieren” und ich sage “tut sie nicht” … zumindest nicht bei mir. ;-) Intern gab es keine Probleme, die bunte Blogwelt war gestern den ganzen Tag auf die neue Permalink-Struktur umgestellt.
      Dann habe ich gegen Abend getestet! Gab ich ein Suchbegriff bei Google ein und klickte auf den entsprechenden Beitrag, gelangte ich zur 404er-Seite.
      Auch die Verlinkungen in der Footerbar zwischen diesem und dem bunten Blog gab die Fehlermeldung aus. Da ich dort den Cache-Code von Tanja eingebaut habe, habe ich diesen natürlich in beiden Blogs gelöscht.

      Es würde mich interessieren, ob Du noch irgendeinen Eingriff – z. B. in der .htaccess – vorgenommen hast, damit es bei Dir so problemlos funktioniert.
      Und wenn ich mir die Kommentare bei Perun durchlese, stehe ich mit dem 404-Problem ja wohl nicht alleine da.

      Gruß Sylvi

      Edit: Ich hatte es z. B. mit dem zusätzlichen Eintrag

      RedirectMatch 301 /([0-9]+)/([0-9]+)/([0-9]+)/(.*)$ 

      probiert.

  • Hallo Sylvia!

    Nein, ich habe bei mir keine Änderung in der .htaccess vorgenommen!

    Das einzige, das bei mir bezüglich mod_rewrite in der Datei steht, ist:

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

    Mehr eigentlich nicht!

    • Genau, bei mir ebenfalls, d. h. komplett nach #BEGIN WordPress heißt es dort

      <IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteBase /
      RewriteRule ^index.php$ - [L]
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule . /index.php [L]
      </IfModule>

      und dann # END WordPress

  • Es kommt drauf an auf was für eine Permalinkstruktur man umstellt. Manche schafft WP irgendwie abzufangen, manche nicht. Man kann das testen wenn man Links einfach mal abschneitet. Das geht in manchen Fällen ist aber nicht optimal. Letzendlich sind die Links was die Performance angeht, inzwischen wurscht. Die ID braucht man in der Regel auch nur für Google News, wobei auch das keine Voraussetzung dort mehr ist.

    Such mal nach Dean Permalink bei Google. Da gibt es ein Plugin das gut funktioniert und das 404er Problem behebt.

    Ob man jetzt das Datum reinnimmt oder nicht ist auch reine Geschmackssache. Ich finde immer noch die beste Lösung ist:

    /%postname%-%post_id%/ ob dann noch mit .html oder ohne ist Geschmackssache.

    • Hallo Markus,

      ja, auf das Plugin von Dean Lee bin ich ständig gestoßen (schau mal im letzten Absatz meines Beitrages) ;-), konnte es aber nirgends mehr herunterladen. Daher verwende ich nun Advanced Permalinks. Funktioniert ebenfalls hervorragend und scheint dem von Dean sehr zu ähneln.
      Ach übrigens, ich gebe zu, dass ich mich auch ein wenig an der Permalink-Struktur von “Newsburger” orientiert habe. :-)

      Gruß Sylvi

      • Ich sollte mir mal angewöhnen Artikel richtig zu lesen, dabei hab ich beim schreiben nochmal geschaut ob es darin vorkommt :-( Sorry. Am Newsburger orientiert? Freut mich :-)

        • Ach Markus, das passiert mir auch ständig, daher kein Problem – so konnte ich noch einmal hier in den Kommentaren auf das schöne Plugin hinweisen. ;-)
          Danke noch mal für Deine Meinung. Ich denke, dass es wohl nicht verkehrt war, die Permalinkstruktur auf die jetzige zu ändern. Ob es unbedingt notwendig war, steht auf einem anderen Blatt. :-)

  • Hallo Sylvi,

    ich bin am verweifeln. Ich versuche krampfhaft meine Permalinks umzustellen. Doch alles was ich tue ist vergebens, dabei soll es doch einfach sein. Kannst du mir evtl. dabei helfen?

    Liebe Grüße Cora

    • Hallo Cora,

      wenn ich kann, helfe ich Dir natürlich gerne. Also für meine Beitrags-Url habe ich z. B. unter Einstellungen >> Permalink unter “benutzerdefinierte Einstellungen” in das leere Feld folgendes eingetragen: /%postname%-%post_id%/


      Permalinkstruktur

      Sehr hilfreich finde ich diesen Beitrag, falls Du nicht eine der vorgegebenen sondern eine benutzerdefinierte Struktur verwenden möchtest: Using Permalinks.

      Lieben Gruß
      Sylvi

  • Hi Sylvi,

    ich habe einen Tumblr-Blog bei dem ich einige Beiträge gelöscht habe. Nun möchte ich diese 404 Seiten gerne auf die Startseite weiterleiten. Kennst du dich mit tumblr aus? Hilfe wäre super.