perun.net – WordPress & Webwork



WordPress: Permalink-Struktur und Performance

Von am 24. 06. 2011 um 14:44 – Aktualisiert am 06. 07. 2011 um 00:17

WordPress-Logo Das eine falsche Permalink-Struktur eine WordPress-Installation gehörig ausbremsen kann ist nichts neues. Ich habe vor knapp 1,5 Jahren einen Artikel zum Thema Permalinkstruktur verfasst: Die richtige Permalinkstruktur.

Schon damals und eigentlich einige Zeit vorher (siehe hier und hier) war klar, dass man die Permalinkstruktur einer WordPress-Installation nicht mit einer "Textkomponente" wie z. B. Kategorie-, Tag- oder Artikel-Namen anfangen sollte.

Die offizielle Dokumentation sagt folgendes dazu:

For performance reasons, it is not a good idea to start your permalink structure with the category, tag, author, or postname fields. The reason is that these are text fields, and using them at the beginning of your permalink structure it takes more time for WordPress to distinguish your Post URLs [...]

Besser ist es, wenn die Permalinkstruktur mit einer "nummerischen Komponente" wie z. B. Beitrag-ID, Jahr etc. anfängt, hier noch einmal die offizielle Dokumentation:

So, it is best to have at least two path segments in your post's permalink structure such as /%year%/%postname%/ or even /posts/%postname%/. (Some people recommend /%post_id%/%postname%/ which works for performance reasons but others recommend against it because it is unfriendly to users in the many contexts in which users interact with URLs.)

OK und warum wärme ich dieses alte Thema noch einmal auf? Weil man aktuell auf So really, don’t use just /%postname%/ as your permalink structure ein besonders krasses Beispiel aufgezeigt wird, wie die Permalinkstruktur die Performance heftig ausbremsen kann.

Diesen Artikel weiterempfehlen:

Premium WordPress Themes

Verwandte Artikel:

 — 


23 Kommentare

  1. 1.Markus

    Kommentar vom 24.06.2011 um 15:11

    Nur den Postname zu nehmen kann natürlich schief gehen, es spricht in meinen Augen aber nichts dagegen eine Struktur wie zum Beispiel postname-postid zu nehmen.

    Ich fahr damit eigentlich ganz gut mit über 16.000 Artikeln inzwischen. Ich muss allerdings auch sagen das ich wenig normale Seiten hab.

    Konkret sieht es bei mir so aus:

    /%postname%-%post_id%.html

    Angeblich soll auch dieses angehängte .html gut für die Unterscheidung sein. Ob das richtig ist weiß ich allerdings bis heut nicht, hab mich nie wirklich damit beschäftigt?!

  2. 2.Kevin

    Kommentar vom 24.06.2011 um 15:37

    Laut Chris ist es wichtig, dass die Zahl am Anfang steht und nicht am Ende => http://digwp.com/2011/06/dont-use-postname/#comment-25480

  3. 3.Perun

    Kommentar vom 24.06.2011 um 15:41

    Hallo Kevin,

    ja, deswegen schrieb ich auch:

    Besser ist es, wenn die Permalinkstruktur mit einer "nummerischen Komponente" wie z. B. Beitrag-ID, Jahr etc. anfängt

    Oder war dein Hinweis an Markus adressiert?

  4. 4.Markus

    Kommentar vom 24.06.2011 um 15:49

    @Kevin Nun ja Chris sagt so, ich denke es eben nicht. Ich wüsste auch nicht wie in diesem Zusammenhang soviel Queries enstehen sollten ehrlich gesagt. Es wird bei bestimmten Permalinks ziemlich viel für JEDE Seite in die DB eingetragen um zu unterscheiden, bei meiner Methode wird da mal so gut wie gar nichts eingetragen, das ist denke ich eigentlich ein gutes Zeichen. Wie es jetzt natürlich aussehen würde wenn ich viele normale Seiten (pages) hätte, kann ich wie gesagt nicht sagen.

  5. 5.Kirsten

    Kommentar vom 24.06.2011 um 18:04

    Ich hab das Drama auch mitverfolgt.
    Meine Linkstruktur wäre auch so ein Fall. Was ich nie so ganz verstanden habe: Was passiert eigentlich, wenn man die Permalinkstruktur ändert? Dann funktionieren alle Links intern weiterhin, aber Links von aussen haben ein Problem (wenn sie irgendwo in der alten Form grspeichert sind). Das gibts den Fehler 404. Oder nicht?
    Ich hab dazu schon so viel kreuz und queres gelesen, dass ich mich nicht mehr auskenne.

  6. 6.Kevin

    Kommentar vom 24.06.2011 um 18:13

    Oder war dein Hinweis an Markus adressiert?

    Jap, Hinweis war an Markus adressiert.. :-)

    Nun ja Chris sagt so, ich denke es eben nicht. Ich wüsste auch nicht wie in diesem Zusammenhang soviel Queries enstehen sollten ehrlich gesagt.

    Dann wäre mal 'nen kleiner Test interessant.

  7. 7.Kevin

    Kommentar vom 24.06.2011 um 18:16

    Dann funktionieren alle Links intern weiterhin, aber Links von aussen haben ein Problem (wenn sie irgendwo in der alten Form grspeichert sind). Das gibts den Fehler 404. Oder nicht?

    Scheinbar kriegt WordPress das mittlerweile selber hin. Ich hab bisher sonst immer 'nen Plugin benutzt (scheint nicht mehr nötig, oder Vlad?).

  8. 8.Lioman

    Kommentar vom 24.06.2011 um 18:38

    Das würde mich auch interessieren! Kann ich so mir nichts dir nichts die Permalinkstruktur ändern, oder muss ich irgendwie rumbasteln?

  9. 9.Dieter

    Kommentar vom 25.06.2011 um 09:06

    Die Permalinkstruktur konnte ich einfach so ändern. Das Geschwindigkeitsproblem trat bei mir mit einer Permalinkstruktur /%postname%/ und vielen statischen Seiten (pages) auf. Solche URLs sehen zwar besonders gut aus, aber die Anzahl der Datenbankabfragen kann gewaltig nach oben gehen. Nähere Infos dazu auch in meinem Blogbeitrag "Permalinks für WordPress als CMS".

  10. 10.Tobias

    Kommentar vom 25.06.2011 um 12:26

    Ich habe im Moment als Struktur /%postname%.html. Wenn ich das hier richtig lese, haben diejenigen, die damit Probleme hatten einige 1000 Beiträge in ihrem Blog. In den verlinkten Beitrag hingegen ist die Rede von Problemen ab ca. 20 Beiträgen.

    Kann man das näher eingrenzen. 20 werde ich sicher in den Projekt überschreiten. Aber auf über 100 Seiten und Artikel wird das Projekt bestimmt nicht wachsen.

  11. 11.Markus

    Kommentar vom 25.06.2011 um 13:53

    Was mir in dem Zusammenhang seit gestern nicht mehr aus dem Kopf geht ist folgendes:

    Man kann doch quasi alles mögliche in WordPress aktivieren/deaktivieren. Ich arbeite zum Beispiel auch mit eigenen Posttypen. Im Prinzip könnte man die Seiten ja auch als eigenen Posttyp gestallten, da wird dann auch nicht für alle ein Eintrag in der wp-Options – rewrite_rules vorgenommen sondern auch nur ein, ich nenn es mal "Grundeintrag".

    Wäre es möglich die Seiten komplett zu deaktivieren? Theoretisch müsste man ja nur den Posttyp entfernen.

  12. 12.Markus

    Kommentar vom 25.06.2011 um 14:03

    PS: Sorry hab ich vorher vergessen. Hab mal meine Startseite analysiert:

    Total query time: 0.03146s for 37 queries.

    Allerdings ist das in der Beta Umgebung wo noch einiges mehr an Plugins und Zeug drinsteckt. Auf der Live Seite dürfte das also noch weniger sein.

  13. 13.Marcus

    Kommentar vom 25.06.2011 um 18:42

    Also ich habe das auch gerade mal bei mir getestet:

    Egal ob die Struktur Jahr/Monat/Tag/Postname ist, oder nur der Artikelname: ich werde gerade dreistellig.

  14. 14.Michael Kupfer

    Kommentar vom 26.06.2011 um 19:35

    Ich habe nun meine Permalinkstruktur von /%postname%/ abgeändert zu /%year%/%monthnum%/%day%/%postname%/ und bekomme nun intern einen 404, da er die Seiten nicht mehr findet, darf alles manuell nachbearbeiten. Oder gibt es da eine einfache Lösung?

  15. 15.wemaflo

    Kommentar vom 26.06.2011 um 20:28

    Habe auch in den letzten Tagen meine Linkstruktur umgestellt. Leider erzeugt das ganze ja bei Verlinkungen und bei Google massenhaft 404er, deshalb habe ich die alte Struktur per 301 auf die neue umgeleitet.
    Ich nutze dazu das Plugin "Permalinks Migration", dort kann man die alte Linkstruktur eingeben und dann die Permalinks ändern.

  16. 16.Michael Kupfer

    Kommentar vom 26.06.2011 um 20:46

    @wemaflo: Danke für den Plugin-Tip, nur habe ich nun ein weiteres Plugin, ich hoffe ja, das kann man auch anders lösen.

  17. 17.Ändern der Permalinks: Struktur für einzelne Artikel beibehalten | wemaflo.net

    Pingback vom 26.06.2011 um 21:12

    [...] wird in der WordPress-Community mal wieder das Thema "Permalinks" heiß diskutiert. Es geht nicht um SEO und die optimale Keywordausnutzung, [...]

  18. 18.viktor37

    Kommentar vom 26.06.2011 um 21:27

    Abend Freunde,
    ich personlich endere ni was an Permalinkstruktur,so eine /%year%/%monthnum%/%day%/%postname%/ ist auch nutzlich,man weiss genau wann Artikel geschrieben ist :!:

  19. 19. – Andreas

    Kommentar vom 29.06.2011 um 08:28

    Sind von den Performance Problemen nur "Seiten" betroffen?

    Ich habe /%postname%/ als Permalinkstriktur

    Ich habe ziemlich viele Seiten (500) angelegt, ohne bisher Probleme zu haben. Bin ich auf der sicheren Seite, wenn ich jetzt nur noch Artikel anlege? Oder kann es dann trotzdem zu Performance Problemen kommen?

  20. 20.Heiko

    Kommentar vom 07.07.2011 um 11:52

    Ich habe auch bei einem Projekt die Permalink-Struktur: /%postname%.html

    Und mittlerweile (600+ Artikel & 100+ Seiten) merke ich auch, dass die Perfomance den Bach runter geht. Den Beitrag von Chris bzgl der Permalinks habe ich schon lange in der ToDo Liste, aber auch bei mir überwiegt die Angst positionen bei Google zu verlieren. Die Seite ist mit einigen wichtigen Keywords auf Platz 1, da möchte man nichts riskieren. ;)

    Hat mittlerweile jemand Erfahrungen sammeln können, wie man trotz Umstellung der Permalink-Struktur die "alten" Platzierungen behalten kann?

  21. 21.Michael Kupfer

    Kommentar vom 05.08.2011 um 17:17

    So, habe nun mit dem Plugin die Permalinkstruktur migriert, dafür bekomme ich bei Seiten nun einen 404. Wäre nicht weiter tragisch, wenn das Impressum nicht als Seite angelegt wäre…
    Nutze Wp 3.2.1. Weiß jemand weiter?

  22. 22. – Permalink-Struktur ändern und Beiträge ohne 404-Fehler ausgeben | Sylvis Blog

    Pingback vom 20.03.2012 um 17:58

    [...] soll – wie Perun sehr schön in seinem Beitrag beschreibt – die Wahl eines Permalinks einschließlich Ziffer für eine bessere Performance sorgen. Gut, [...]

  23. 23.Permalinkstruktur geändert » Wordpress » Performance, Permalinkstruktur

    Pingback vom 05.06.2012 um 13:10

    [...] dem Blog domain/postname. Eine, vielleicht sogar DIE, Variante die man - nach allem was man so lesen kann - möglichst nicht wählen sollte. Und das, obwohl sie sich doch am besten liest [...]

Hinweis:
WordPress 3.8 für Autoren & Redakteure (pdf)
Ausdruckbar, Volumenlizenzen zu sehr fairen Preisen.

Tut mir Leid, aber die Kommentar-Funktion ist momentan deaktiviert.



Weblog der perun.net webwork gmbh mit Artikeln zum Thema WordPress, Webwork, und Internet.