Erkenntnisse bloggen 1: Wordpress Post-GUID sind nicht verlässlich

Gerade habe ich mit Toscho in einem kurzen Chat über die GUIDs in Wordpress gesprochen und festgestellt, dass diese nicht immer so verlässlich sind, wie ich anfangs dachte. Darauf meinte er, dass solche Ensichten eigentlich gleich gebloggt werden müssen. Recht hat er.

Eine GUID ist eigentlich eine global eindeutige ID. Die Wordpress GUID, die in der Posts-Tabelle ein eigenes Feld hat ist in aller Regel der Permalink zum Zeitpunkt an dem das Post angelegt wird und ändert sich nicht – theoretisch. Global bezieht sich hier auf den Blog, bzw. auf das Blognetzwerk einer Multisite-Umgebung. Für meine Zwecke reichte das.

Nun fristet die Post-GUID eher ein Nieschendasein (mir ist sie noch nie begegnet, entdeckt habe ich sie eher zufällig) und, so meint Toscho, wenn sie mal zu einer echten GUID mausert, dann war's dass mit der Konsistenz der Daten, wenn man auf die GUID als Verknüpfung gesetzt hat. In meinem Fall hat dem entsprechend beim Import niemand an die GUID gedacht. In Zukunft werde ich gleich lieber ein Post-Meta mehr nehmen als an der falschen stelle zu sparen. Sogesehen kann ich froh sein, dass der große Chrash ausgeblieben ist und das Problem noch vor dem Release aufgefallen ist.

Kommentare

  1. 01) 13.02.2012
    Thomas Scholz

    Warum die aktuelle GUID nicht eindeutig ist: Sie besteht aus Domainnamen plus Post-ID. Beispielsweise http://example.com/?p=1.

    Gibt nun jemand diese Domain auf und jemand anderes übernimmt sie und installiert dort ein neues WordPress, so haben seine Beiträge plötzlich Post-IDs, die schon in der Welt sind, beispielsweise in Feedreadern, die einen Beitrag nur dann abholen, wenn sie die GUID noch nicht kennen … was hier ja nicht der Fall ist.

    Auch didaktisch ist das aktuelle Schema schlecht gewählt: Ein Anfänger könnte nach einem Blick auf die Post-Tabelle auf die Idee kommen, die GUID als Shortlink zu verwenden, ohne zu ahnen, daß sie nicht als URL gedacht ist und sich das Format irgendwann ändern kann.

Fragen, Ideen oder Kritik? – Hier ist Platz dafür!

Dein Kommentar

Um ein Kommentar abzugeben, reicht der Text im Kommentarfeld. Die Angabe eines Namens wäre nett, ist aber nicht erforderlich.

Du darfst folgenden HTML-Code verwenden, musst aber nicht:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>