Jörgs Webnotizen

WordPress Atom Feeds nur bedingt brauchbar

Bislang habe ich das Atom-Feed-Format gegenüber RSS 2.0 bevorzugt. Überzeugt hatte mich hierbei vor allem die Gegenüberstellung von Sam Ruby aus dem Jahre 2006. Infolgedessen hatte ich in eigenen Webanwendungen das Atom-Format für Feeds verwendet. Dieses Blog bietet, da es auf WordPress basiert, mehrere Feed-Formate an. Bei der Anmeldung in RSS-Verzeichnissen und Planeten habe ich jeweils die URL des Atom-Feeds angegeben – hierzu muss lediglich ein „atom/“ an die RSS-2.0-URL angehängt werden.

Nachdem ich im Blog einige Schlagwörter hinzugefügt und auch einige ältere Beiträge damit getaggt habe, zeigte der Atom-Feed in Firefox bei allen betroffenen Beiträgen ein aktuelles Datum an, obwohl sich der Inhalt der Beiträge in keiner Weise geändert hat. Dies liegt an dem Atom-Element <updated>, welches im Gegensatz zu <published> innerhalb eines <entry> verpflichtend ist. Das Datum in <updated> befüllt WordPress mit dem Inhalt des Datenbankfeldes post_modified_gmt und dieser Zeitstempel wird leider nicht nur dann geändert, wenn der Artikel selbst aktualisiert wird, sondern auch wenn dieser mit einem Schlagwort getaggt wird.

Auf wordpress.stackexchange.com findet sich als Lösungsansatz, statt post_modified_gmt das Änderungsdatum der letzten Revision zu verwenden. Diesen Ansatz werde ich allerdings erst mal nicht weiterverfolgen, weil ich wegen so einer Kleinigkeit nicht ein eigenes RSS erstellen möchte, welches wahrscheinlich auch noch wegen aufwendigerer Datenbankabfragen weniger performant ist. Vorerst begnüge ich mich damit, den RSS-2.0-Feed von WordPress zu verwenden, denn dieser hat nur ein <pubDate> Element, dessen Datum sich nach Veröffentlichung nicht mehr ändert.

Tags: WordPress

Kommentare

Evtl. gibt es hierzu schon ein Plugin auf wordpress.org, das beim Hinzufuegen eines Tags das Feld post_modified_gmt in Ruhe laesst. Dann brauchst du nichts abaendern.

Ein solches Plugin wäre sicher eine Option. Ich versuche dieses Blog zwar so schlank wie möglich zu halten, und benötigte Funktionalität so weit es geht direkt in mein selbst gebasteltes Template zu integrieren, aber das (Nicht-)Aktualisieren des Timestamps lässt sich natürlich nicht über ein Template anpassen, dazu bräuchte es schon ein Plugin. Ich habe bislang aber nur solche gefunden, mithilfe derer man den Zeitstempel anzeigen lassen kann. Vielleicht kennt ja jemand ein passendes Plugin und kann dieses hier verlinken.

Lieber Jörg,

deinen Drang nach Effizienz in allen Ehren, aber große und viele Funktionen in das Template zu integrieren, ist nicht der „WordPress-way“.

Der Ansatz, welchen du verlinkt hast, ist gut. Den sollte man nun in ein Plugin packen (wenn es das nicht wie oben beschrieben eh schon gibt) und glücklich werden.

Eine interessante Beobachtung jedenfalls.

Beste Grüße

Kommentar schreiben

* Pflichtfeld

Erstkommentare werden erst nach Freischaltung veröffentlicht