Keine Zahlen, bitte! – Warum Zahlen als Titel in WordPress problematisch sind

Die Zeiten ändern sich.

Dieser Beitrag scheint älter als 4 Jahre zu sein – eine lange Zeit im Internet. Der Inhalt ist vielleicht veraltet ...

Eine Frage auf Twitter beschrieb ein spannendes Problem. Bei der Nutzung von Zahlen als Titel in WordPress wurde immer hinten an den Permalink ein „-2“ angehängt. Die typischen Probleme waren es nicht: Keine Bilder, Kategorien oder Artikel/Seiten im Papierkorb waren mit dem gleichen Titel vorhanden. Warum also machte WordPress das …

Ich machte mich also auf die Suche und schon mein erster Verdacht war richtig. Es ging gar nicht um schon existierende Einträge in der posts-Tabelle der Datenbank. WordPress selbst schreibt den Permalink um, damit Konflikte vermieden werden. Die Lösung war folgendes 10 Jahre altes Ticket:

Before Patch: Created new items with numeric slugs, and observed no problem with numeric slugs for posts. Pages, on the other hand, can be mistaken for /yyyy/ links at the root, or for /about/n/ paged links at the child position.

After Patch: When Publishing a new page, if the slug is numeric, „-2“ will be suffixed to the slug automatically. Pages can then be viewed normally with the slug suffix.

Das Problem taucht also nicht bei Beiträgen auf, sondern nur bei Seiten und der Grund waren zwei mögliche Konfliktfälle. Zum einen listet ein /yyyy/ hinter der Haupt-Adresse üblicherweise alle Beiträge eines Jahres auf und zum anderen werden bei paginierten Unterseiten so die Folgeseiten angesprochen. So wird mit diesem Pfad /ueber-uns/4/ die vierte Seite der paginierten „Über uns“-Seite angesprochen.

Damit durch Unterseiten mit demselben Titel, also in diesem Fall eine Unterseite mit dem Titel „4“ und dem gleichlautenden Permalink „4“ keinen Konflikt herbeiführen, wird bei rein numerischen Titeln an den Permalink standardmäßig ein „-2“ angehängt, damit kein Konflikt mehr entstehen kann und beide URLs erreichbar bleiben.

Bleibt die Frage, ob eine bessere Lösung möglich wäre. Wenn es wirklich nur diese zwei Fälle sind, dann könnte die Prüfung zumindest bei Seiten ohne Elternseite ja auf vierstellige Zahlen-Titel beschränkt werden.

Gibt es noch andere Konfliktfälle? Hast du auch einen Use-Case für Zahlen-Titel und dich schon mal über den Permalink-Zusatz geärgert? Dann schreibe mir bitte davon in den Kommentaren!

9 Antworten auf Keine Zahlen, bitte! – Warum Zahlen als Titel in WordPress problematisch sind

  1. Hallo
    Ich habe keine Zahlen im Titel der Unterseiten, trotzdem kommt dieser merkwürdige Zusatz -2 dazu, bei mir sogar „startseite-2“.

    • Ich habe ja im Artikel die typischen Probleme kurz beschrieben:

      Die typischen Probleme waren es nicht: Keine Bilder, Kategorien oder Artikel/Seiten im Papierkorb waren mit dem gleichen Titel vorhanden.

      Ich würde an deiner Stelle mal schauen, ob eines davon zutrifft.

  2. Klarer Fall von Programmier-Fehler. Solche eindeutigen (programmierten) Zuweisungen und Zuordnungen (URL, Kategorie, Dateinamen, was auch immer) sollten nie Zeichen enthalten, welche ohne Aufwand über die Tastatur eingegeben werden können. Ich verwende für sowas kombinierte Konstrukte – z.B. (~#2~) – das wird wohl kaum ein Anwender eingeben. Man kann das natürlich erweitern, in dem man Sonderzeichen verwendet, die man auf der Tastatur garnicht findet. Wie im beschrieben Fall würde ich einfach ~!2 anhängen, sieht nicht ganz so schlimm aus und erkennen kann man es trotzdem.

    • Ich würde nicht sagen, dass dies ein Programmierfehler ist. Es handelt sich ja nicht um rein interne Werte, sondern um Rewrites für „sprechende“ URLs. Die Zeichen, die in URLs erlaubt sind, sind zudem begrenzt und schließen die meisten Sonderzeichen aus gutem Grund aus (wg. Encoding, NFC/NFD, etc.). Es kollidiert ja auch nur in diesen speziellen Fällen und um das zu verhindern wird die URL eben angepasst. Das sieht dann nicht so schön aus, aber auf der anderen Seite schauen viele Besucher ja gar nicht mehr in die Adresszeile. Im Safari wird standardmäßig nur die Domain angezeigt …

  3. Ich will nicht oberlehrerhaft rüberkommern, aber das sind Ziffern, keine Zahlen.

    • Ich bin selber total gerne Oberlehrer und lasse mich daher auch gerne belehren, da ich dann noch besser selber Oberlehrer sein kann. Aber nach einer kurzen Recherche fand ich folgende Definition:

      Der Unterschied zwischen Ziffer und Zahl ist schnell erklärt. Ziffern sind einstellig: 0, 1, 2, 3, 4, 5, 6, 7, 8 und 9. Zwei oder mehrere Ziffern zusammengeführt ergeben eine Zahl. Ziffern sind folglich Bestandteil von Zahlen. – Quelle

      Demnach wäre meine Darstellung immer noch korrekt, denn es geht ja um Zahlen in Titeln. Ziffern in Titel wäre ebenso richtig und sicher noch etwas genauer, aber dann hätte der „(Keine) Zahlen bitte!“-Wortwitz nicht so gut funktioniert …

  4. Ich liebe es die Kommentare zu lesen. Das macht den Artikel erst richtig interessant

  5. Moin,

    bin mir nicht sicher, ob das die gleiche Abteilung ist, aber ich habe im Moment ein ähnliches Phänomen. Die Permalinks lauten auf /%jahr%/%monat%/%beitragstitel%, wobei Beitragstitel immer nach dem Modell „monatausgeschrieben-jahreszahlvierstellig“ aufgebaut sind. Effekt: Rufe ich den Beitrag im Editor auf und lasse mir eine Vorschau davon anzeigen ist alles roger. Rufe ich den Beitrag im Frontend auf, bekomme ich eine weisse Seite :-o.

    Idee dazu?

Schreibe einen Kommentar

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