Korrigiertes blah-archiv zum daunlohd

Meine erste versjon des archivs vom blah-blog hatte leider den nachteil, dass die interne navigation wegen einiger sonderzeichen in dateinamen mit meikrosoft windohs nicht funkzjonierte. Dieses problem habe ich (endlich) gefixt, eine korrigierte versjon des archivs kann heruntergeladen werden.

Es handelte sich übrigens um eine frische, neue wördpress-„eigenart“.

Ich fertige so ein archiv an, indem ich…

  1. …das blog lokal aufsetze, also im SQL-dump der datenbank den domainnamen gegen den lokalen pfad im websörver ersetze und das blog im lokalen websörver betreibe,
  2. …lokal das desein anpasse, um alles zu entfernen, was in einer archiv-versjon sinnlos wäre, und schließlich, indem ich
  3. …dieses lokale blog einmal mit wget spiegele und wget die ganzen absolut gesetzten links in relativ gesetzte links verwandeln lasse — ein vorgang, der wegen des abrufs jeder einzelnen ansicht eines blogs ziemlich lange dauert, vor allem bei schlagwort-reichen blogs wie dem blahblog.

Technische anmerkung — Wer es noch nie gemerkt hat: wördpress verwendet ausschließlich absolute links, was beim umzug eines blogs oder beim anlegen eines archives immer wieder probleme macht. Das hat einen grund: die pfade der blogansichten im websörver sind frei konfigurierbar, und die beiträge stehen in HTML in der datenbank und werden einfach in die generierten seiten geschaufelt. Würden dabei relative links verwendet, müsste wördpress alle links anpassen, damit ein link auf absolut /2011/09/13/test/ sowohl aus der startseite, als auch in der schlagwort-ansicht unter /tag/test/page/3/, als auch in der jahresansicht unter /2011/page/19/ als auch in diversen anderen ansichten eines blogs funktioniert. Wenn man nur über dieses problem nachdenkt, bekommt man schnell kopfschmerzen — wördpress ist hier, wie so oft, einen pragmatischen weg gegangen, der schnell und einfach zum ziel führt. Und, wie so oft bei wördpress, führt dieser pragmatismus manchmal zu problemen…

Der beschriebene wget-krampf ist eine möglichkeit, die probleme beim anlegen eines archives zu lösen. Am ende habe ich dann ein zwar ziemlich redundantes, aber navigierbares archiv eines wördpress-blogs in form von statischen HTML-dateien für jede blog-ansicht. Und das mit erfreulich wenig aufwand, einfach, indem ich vorhandene mittel benutze…

Dieses verfahren, das ich vorher schon einige male durchgezogen habe, hat beim blahblog allerdings nicht funkzjoniert. Und ich stand vor einem rätsel. Wget war zwar so „freundlich“, alle dateien abzuholen, aber die dateinamen verlinkter dateien wurden geändert, nachdem sie heruntergeladen wurden.

Ich bin einfach nicht darauf gekommen, was das für ein verdammtes Problem war.

Nun, wenn man nicht mehr weiterweiß oder nicht mehr weiterkommt, ist — nach ein paar tagen abstand — immer ein guter moment gekommen, auch mal die dokumentazjon zu lesen. In der wget-dokumentation fand ich die info, dass wget nicht nur den gewöhnlichen links folgt, sondern auch in die HTML-kopfzeilen nach <link>-angaben schaut.

Tja, und dieses verkackte wördpress schreibt seit ein paar versjonen unter anderem folgendes in die kopfzeilen jeder einzelnen generierten datei:

<link rel="shortlink" href="startseite-des-blogs?p=4711" />

Wget ist daraufhin so „nett“, die datei umzubenennen und erzeugt mit einen dateinamen mit einem fragezeichen, der probleme bereitet… 😦

Und ich suche und suche und suche nach dem fehler… 😦

Nun gut, man kann wördpress dieses verhalten zum glück abgewöhnen. 🙂

Der einfachste weg ist es, die folgende zeile in die functions.php des verwendeten deseins aufzunehmen:

remove_action ("wp_head", "wp_shortlink_wp_head", 10, 0);

Ich hoffe, dass dieser kleine hinweis anderen hilft, die gerade gegen die gleiche scheiße kämpfen — die idee, ein archiv eines blogs in statischen HTML-seiten anzulegen, ist ja durchaus naheliegend.