Utvecklingsbloggen

Johan Silfversten Bergman

Johan Silfversten Bergman

Wordpress logotypSedan i mitten av december rullar alla SvD:s bloggar med WordPress. För den teknikointresserade läsaren ser det ut som vanligt men ”under huven” har desto mer hänt.

Installationen är en WordPress 3.0 med Multi-Site och totalt flyttades cirka 20 000 blogginlägg och 74 000 kommentarer över från det gamla och egenutvecklade bloggverktyget. Kommentarerna importerades först till WordPress för att sen laddas upp till Disqus. I nätverket finns i skrivande stund 65 bloggar och över 200 mer eller mindre aktiva användare.

Handen på hjärtat så orsakade migreringen till WordPress en hel del huvudvärk. Ursprungligen var det tänkt att arbetet skulle ske i samarbete med ett konsultbolag men då de inte levde upp till våra krav slutade det med att vi gjorde hela arbetet själva. Jag tänkte här beskriva några av de problem vi hade i migreringen och hur vi löste dem.

Inget inbäddat

WordPress MU (som var installation vi startade vår resa på) strippar all embedkod vid importen. Detta betydde exempelvis att vi förlorade alla inbäddade Youtube- och Vimeoklipp när väl inläggen landade i WordPress. Efter att ha testat lite olika lösningar fram och tillbaka kom vi fram till att manuellt ändra inställningarna i filen kses.php var den bästa lösningen. I kses.php fick vi lägga till undantag för varje typ av inbäddning som ”försvann” i importen. Den här (gamla) bloggposten är en ganska bra introduktion till problematiken.

Importen som inte imponerar

Alla gamla bloggar exporterades till en WordPressanpassat XML-format där den största filen vägde in på 27 mb. Under hela projektet hade vi stora problem att importera vissa av våra bloggar, speciellt drabbade var bloggar med många kommentarer eller många bilder. WP:s supportforum skvallrar om att problemet inte är helt ovanligt, dock verkar orsakerna till problemen skilja sig åt. Klart är att WordPress importfunktion lämnar en hel del övrigt att önska.

I vårt fall förbrukade importen upp så pass stora mängder minne på servern att den helt enkelt la av. Ofta fick vi över nästan alla inlägg men saknade bilder och/eller ett par hundra eller tusen kommentarer. Men med gott om tid (vissa importer stod och snurrade riktigt länge) och efter att ha ställt upp det mesta vi kunde till max (exempelvis maximum Execution Time och minnet i php.ini) fick vi över merparten av bloggarna. De största bloggarnas XML:er delade vi upp i mindre delar och importerade en och en.

Kasst med cache

WP Super Cache är väl i det närmaste en universallösning för att få WordPress att rulla smärtfritt. Frågan är om inte pluginet (eller ett liknande) är så pass centralt att det är dags att WordPress skickar med ett cacheplugin direkt från start. På blogg.svd.se använder vi oss också av WP Super Cache, men trots diverse tweaks räckte inte pluginet till för våra behov och vår setup. Lösningen blev att komplettera med en Varnish cache, inte alltid helt optimalt men efter lite pill rullar det hela riktigt bra.

Tillsist…

WordPress användarhantering är ganska fyrkantig, särskilt om man skapar flera användare vid en import. Det blir helt enkelt mycket klickande och många fält att fylla i innan resultatet är tillfredsställande. En bra strategi för hur användarnamn ska tilldelas och se ut samt en bra lösenordsgenerator underlättar onekligen det arbete man själv kan påverka.

Något som också vållat en del frustration är WordPress oförmåga att ta bort det som raderas i wp-admin från databasen och servern. Allt för ofta blir skräpposter och skräpkataloger kvar i systemet, vilket kan krångla till både felsökning och uppdatering. Med detta faktum i bakhuvudet kan en del felsökningsminuter räddas.

Men pluginen då?

Självklart använder vi oss av plugin, just nu snurrar följande i vår installation:

All in One SEO Pack

Disqus Comment System

External markup (utvecklat av Tv4, läs mer om det här)

Viper’s Video Quicktags

WordPress Admin Bar

WP Super Cache

WP System Health

Fler bloggar