WordPress versus Movable Type: een vergelijking
- op 6 april 2007
- in Commentaar, Ontwikkelingen
- 8
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.
Brontaal, installatie en hosting
WordPress is een standaard PHP/MySQL-toepassing. Bijna alle hostingproviders ondersteunen deze combinatie, dus installatie zal zelden een probleem vormen. De installatieprocedure is bijzonder gebruiksvriendelijk. Het enige addertje onder het gras is dat sommige bestanden (bijvoorbeeld .htaccess) en mappen (wp-content) schrijfbaar moeten zijn – anders kun je bijvoorbeeld geen themes handmatig aanpassen via de WordPress-interface.
Movable Type is in Perl geschreven, met andere woorden: het is een CGI-script. Ook dit wordt vrij algemeen ondersteund. Wel heb ik bij verschillende providers ervaren dat installatie soms wat meer trekken en duwen vergt, omdat de rechten op alle bestanden heel precies moeten worden ingesteld – anders krijg je een ‘internal server error’. Ook heb ik meer dan eens meegemaakt dat Movable Type opeens niet meer draaide na een serverupgrade door de provider. Gelukkig was dit meestal vrij snel weer opgelost.
Movable Type draait naar keuze ook op andere databases dan MySQL. Zelfs op helemaal geen database (hij gebruikt dan gewoon het filesysteem voor opslag), maar in één geval heb ik ervaren dat Movable Type’s eigen dataopslag niet robuust is en bijna elke maand wel een keer vastloopt. Dus elke dag een backup maken van je hele MovableType-installatie is in dit geval een must.
Nog een voordeel van Movable Type ten opzichte van WordPress: met één Movable Type-installatie kun je een onbeperkt aantal weblogs aanmaken en beheren. Bij WordPress kun je wel meerdere weblogs op dezelfde site opzetten, maar alleen door WordPress steeds opnieuw te installeren in verschillende submappen. Dat betekent dat als je een nieuwe WordPress-versie wilt installeren, je álle installaties stuk voor stuk moet upgraden.
Interface
Dit is een kwestie van smaak. De Movable Type-interface vind ik er strakker en professioneler uitzien, maar mijn ervaring is dat die van WordPress veel intuïtiever in elkaar zit. Bij WordPress lijken alle opties gegroepeerd rond de gebruiker: wat zijn de belangrijkste dingen die hij met een weblog doet? Bij Movable Type lijkt vooral het systeem zelf met al zijn mogelijkheden centraal te staan.
In ieder geval hoef je bij WordPress minder te zoeken om een bepaalde optie te vinden. Bij zowel Movable Type als WordPress heb ik inmiddels ervaring met het inwerken van nieuwe gebruikers. Bij Movable Type kost dat enige tijd en training, maar bij WordPress hoef je de gebruiker bijna niets uit te leggen. Ik heb gemerkt dat zelfs kinderen van 10 jaar er in een mum van tijd mee kunnen werken, mits je wel de Nederlandse versie installeert.
Semi-statisch vs. dynamisch: voordelen
Een belangrijk technisch verschil tussen WordPress en Movable Type is dat pagina’s van WordPress-weblogs dynamisch worden gegenereerd vanuit de MySQL-database. Het nadeel is echter dat een veelbezochte WordPress-weblog de MySQL-server flink kan belasten. Dat gebeurde bijvoorbeeld vorig jaar, toen Sargasso de Dutch Bloggies won en de site vervolgens op tilt sloeg.
Een bijkomend nadeel van dynamische pagina’s is gelegen in Google-advertenties. Wie Google-advertenties op zijn site heeft staan en zijn logfiles wel eens bekijkt, ziet dat pagina’s die nog niet in de Google-index staan dubbel worden opgevraagd: eerst door de bezoeker en 1 of 2 seconden later door de Google-server, want die moet de pagina even bekijken om bijpassende advertenties te genereren. Dat betekent een grotere MySQL-serverbelasting – als je site nog helemaal niet in Google zit zelfs een verdubbeling.
Bij Movable Type zal dit niet gauw gebeuren. Een Movable Type-site bestaat uit semi-statische pagina’s, die alleen bij updates en reacties opnieuw worden gegenereerd. Als een website duizenden bezoekers per dag trekt, blijft het aantal MySQL-queries dus toch beperkt. En zelfs als de MySQL-server tijdelijk down gaat, kan iedereen de site blijven bezoeken – alleen zal de reactiemogelijkheid dan even niet werken. Omvangrijke Nederlandse websites die Movable Type gebruiken, zijn GeenStijl en Tweevoeter. Tweevoeter trekt zo’n 3500 bezoekers per dag, maar de serverload komt zelden boven de 0,1.
Semi-statisch vs. dynamisch: nadelen
Gezien het voorgaande lijkt het erop dat een semi-statische website alleen maar voordelen biedt tegenover dynamische websites. Er zijn ook nadelen. Allereerst is het verwijderen van pagina’s uit een semi-statische site nogal omslachtig. Bij Movable Type moet je allereerst de betreffende ‘entry’ verwijderen, vervolgens een ‘rebuild’ doen om de héle site opnieuw te genereren, en het vervelendste van allemaal: via FTP moet je de statische pagina handmatig van de server verwijderen, om te voorkomen dat statische pagina’s en dynamische MySQL-inhoud uit de pas gaan lopen. Deze werkwijze vind ik simpelweg niet professioneel. Bij WordPress is dit alles veel simpeler: weg is weg.
Een ander nadeel van semi-statische sites zijn zoekacties van gebruikers. Bij WordPress maakt het qua performance niet uit of je een ‘gewone’ pagina ziet, of een pagina met zoekresultaten. Maar bij Movable Type is het verschil enorm, zowel voor de gebruiker als de beheerder. Alleerst merkt de gebruiker dat zoekacties al behoorlijk lang kunnen duren, soms wel een halve minuut. Ik heb ooit ergens gelezen dat Movable Type de MySQL-database sequentieel (!) doorloopt en niet via indexen, dus hoe meer berichten, hoe langer het zoeken duurt. Vervolgens moeten de zoekresultaten ook nog eens ‘on the fly’ worden opgemaakt. En als je de al eerder genoemde Google-advertenties op je site hebt staan, wordt het nog twee keer zo erg, want na elke zoekactie doet Google precies dezelfde zoekactie 1 of 2 seconden nog eens opnieuw om bijpassende advertenties te kunnen genereren.
Ook qua beheer heeft dit gevolgen. Movable Type heeft een onderdeel om templates te beheren, waarmee je webpagina’s naar eigen smaak kunt opmaken. Maar die templates betreffen alleen de statische pagina’s, niet de opmaak van zoekresultaten. Voor dat laatste bestaan wel aparte templates, maar die kun je alleen via FTP aanpassen, niet via de Movable Type-interface. Ook dit vind ik niet professioneel. Zelf heb ik dit opgelost door een extra weblog met de naam Systeem aan te maken en daar bij de ‘index templates’ alle stylesheets, Javascript-bestanden, MT-zoektemplates en andere systeembestanden (.htaccess, robots.txt, MT-configuratie) onder te brengen. Kan ik toch alles beheren via mijn webbrowser – en een indirect voordeel: dan hoef ik alleen backups te maken van de MySQL-database.
Als je in MovableType-templates ook PHP-regels zet, krijg je met een bijkomend nadeel te maken. Bij semi-statische pagina’s is PHP-code geen enkel probleem (mits je de extensie van alle bestanden natuurlijk instelt op .php), maar in tegenstelling tot de rest van een Movable Type-site worden zoekresultaten wel dynamisch gegenereerd, en wel door een Perl-script. Eventuele PHP-regels in een zoektemplate worden niet uitgevoerd door Perl en zijn zelfs leesbaar als je de HTML-bron opvraagt. Erg onhandig en zelfs onveilig, want leesbare PHP-broncode kan hackers een indicatie geven waar belangrijke bestanden op je server staan.
Layout: themes vs. templates
Zowel Movable Type als WordPress hebben de mogelijkheid om een eigen layout te maken voor je weblog. Daarnaast kun je ook kant-en-klare ’themes’ downloaden. Bij WordPress ligt de nadruk op het tweede, bij Movable Type op het eerste.
WordPress gaat vooral uit van themes, die je eventueel met een simpele editor nog iets kunt verfijnen (zoals ik heb gedaan met de layout die je nu ziet). Ook Movable Type heeft de mogelijkheid om kant-en-klare themes te gebruiken, maar die is er pas later bijgekomen. Je moet er ook een plug-in voor downloaden.
Bij Movable Type zijn de makers overduidelijk uitgegaan van professionele gebruikers die in staat zijn om zelf via ’templates’ een eigen layout van de grond af aan op te bouwen. Movable Type heeft er zelfs een eigen macrotaal voor ontwikkeld, werkelijk alles kun je ermee maken. Op dit punt zit Movable Type duidelijker beter in elkaar dan WordPress.
Het aanpassen van een WordPress-theme heeft wat meer weg van ‘hacken’: om de bijbehorende bestanden aan te passen zit je te wroeten in een niet al te doorzichtige combinatie van HTML, CSS en zelfs PHP. Ook zijn er verschillende WordPress-themes die de basisinstellingen aan hun laars lappen. In WordPress kun je bijvoorbeeld een standaard datumformaat instellen (“6 april 2007”), maar sommige themes trekken zich er niets van aan en kiezen hun eigen weergave (“April 6th, 2007”). Ook zijn de meeste WordPress-themes niet in het Nederlands vertaald – maar dat geldt ook voor Movable Type.
Hoe dan ook, zowel voor Movable Type als WordPress zijn honderden ’themes’ te vinden om je weblog een eigen opmaak te geven. Ondanks genoemde minpunten geef ik de voorkeur aan WordPress-themes: die zijn veel uitgebreider zijn en ook veel gevarieerder. Wie niet alleen maar een leesbare en functionele weblog wil hebben maar ook iets visueel aantrekkelijks, vindt bij WordPress veel meer van zijn gading. Dan maar zelf de theme in het Nederlands vertalen.
Plug-ins
Ook als het gaat om plug-ins zijn WordPress en Movable Type ruimschoots voorzien. Werkelijk alles is te vinden: van comment-spamfilters tot aan mogelijkheden om anderssoortige content, bijvoorbeeld je eigen foto’s uit Flickr, weer te geven in een aparte kolom.
WordPress lijkt zelfs nog iets verder te gaan, je vindt er bijvoorbeeld ook een plug-in om een simpel forum of een fotoalbum op te zetten. Ook zijn er mogelijkheden om WordPress te integreren met andere bekende toepassingen, zoals Phorum, Coppermine en Gallery.
Licenties en open-source
WordPress is een echt open-source pakket. Je kunt het gratis gebruiken en er worden op grote schaal plug-ins en themes uitgewisseld.
Bij Movable Type ligt het wat minder duidelijk. Weliswaar is er een grote en actieve gebruikersgroep, waardoor het pakket duidelijk open-source trekjes heeft. Maar uiteindelijk is Movable Type toch het product van een commercieel bedrijf. Je mag het alleen voor niet-commercieel gebruik gratis gebruiken, in alle andere gevallen moet je ervoor betalen.
Op zich is dat slim bekeken van Six Apart, de makers van Movable Type. Een grote gebruikersgroep zorgt voor veel mond-tot-mond-reclame – dat scheelt weer advertentiekosten. En al die plug-ins van gebruikers drukken de kosten op de verdere ontwikkeling van het pakket.
Toch kun je je afvragen hoe lang Six Apart dit eten van twee walletjes kan volhouden. Zoals bekend is Mambo enkele jaren geleden ten onder gegaan aan een soortgelijke opzet, toen de commerciële belangen en het open-source gedachtengoed toch te ver uiteen bleken te lopen. Uiteindelijk ging de open-source tak zelfstandig verder onder de naam Joomla. Krijgen we straks van Movable Type ook een open-source afsplitsing? Afwachten maar.
Alleen maar weblogs?
Met zowel WordPress als Movable Type kun je ook prima een homepage of zakelijke site maken, dus zonder weblogfunctie. WordPress vind ik daarvoor het meest geschikt. Hier wordt expliciet onderscheid gemaakt tussen het schrijven van berichten en van pagina’s. Die pagina’s kun je bovendien een hierarchische structuur geven. Het hangt echter wel af van de gekozen ’theme’ in hoeverre die pagina’s overzichtelijk navigeerbaar zijn. Een mooi uitklapmenu ben ik tot nu toe in nog geen enkel WordPress-theme tegengekomen. Met een mooi navigatiemenu zou WordPress denk ik het ideale instap-cms zijn en een deel van de Joomla-markt kunnen wegkapen.
Ook in Movable Type is het mogelijk om iets anders dan een weblog te maken, maar daar ontbreekt de hierarchische structuur – die moet je zelf simuleren door het menu met alle onderdelen van de site handmatig te onderhouden. Wel weer prettig bij Movable Type is de mogelijkheid meerdere weblogs aan te maken. De een kun je gebruiken voor nieuwsberichten, de andere voor tijdloze informatiepagina’s. Met enige kunstgrepen zijn die twee weer te integreren, zodat je bijvoorbeeld op een informatiepagina onderaan een overzichtje van relevante nieuwsberichten aantreft.
Spam
Dan de vraag: hoe gaan Movable Type en WordPress om met ‘comment spam’? Beide pakketten hebben plug-ins om spam tegen te gaan, maar ik vind die van WordPress (de plug-in Akismet) beter functioneren. In één maand tijd heeft die bij mij nog geen enkele fout gemaakt in het onderscheiden van spam en gewone reacties.
De spamdetector van MT kun je instellen op een schaal van -10 (soepel) tot +10 (agressief). Bij mij geeft +1 of +2 doorgaans de beste resultaten, maar toch blijven er dingen doorheen glippen. Er is maar één mogelijkheid om spam met zekerheid tegen te gaan en dat is je weblog zo instellen dat alle reacties eerst door een beheerder moeten worden goedgekeurd. Maar dan moet je wel een vervanger zoeken als je met vakantie gaat.
Ondersteuning
Ten slotte de ondersteuning. De documentatie is in beide gevallen goed te noemen. De website van Movable Type c.q. Six Apart ziet er professioneler uit, maar ik vind het altijd lastig om snel iets terug te vinden – om maar eens wat te noemen: welke tag moet je ook alweer gebruiken om alleen de tien meest recente berichten in een datumarchief te tonen? Ook op dit punt is de WordPress-site intuïtiever.
Beide pakketten hebben een supportforum waar je vragen kunt stellen. Op veel vragen is al een antwoord te vinden.
Conclusie
Movable Type is overduidelijk gericht op een professionele doelgroep. De configuratiemogelijkheden zijn uitgebreid, maar de leercurve is veel steiler dan bij WordPress. Door de semi-statische opzet is Movable Type vooral geschikt voor veelbezochte en gecompliceerde sites, bijvoorbeeld Treehugger. Het pakket kun je het beste gebruiken als je een webmaster of systeembeheerder tot je beschikking hebt. Wel heeft Movable Type een paar flinke tekortkomingen – vooral zoekopdrachten van gebruikers en het verwijderen van berichten zijn niet bijster professioneel geïmplementeerd.
WordPress is ideaal voor particulieren en voor professionals die heel snel resultaat willen zien. Het is gemakkelijk te installeren, gemakkelijk in gebruik en heeft een uitstekend spamfilter. Door de overvloed aan plug-ins en themes kun je in een paar uur een overtuigende weblog in elkaar zetten. Het pakket is bovendien ook geschikt voor niet-weblogs, je zou er prima een kleine site met vaste informatiepagina’s mee kunnen maken. Wat me persoonlijk trekt aan WordPress is dat de gebruikersgemeenschap veel enthousiasme uitstraalt. Als WordPress-gebruiker krijg je echt het gevoel dat webloggen een feestje is.
Of ik WordPress voor deze site blijf gebruiken, is echter nog maar de vraag. De eerste ervaringen zijn wel heel positief, maar ik mis de mogelijkheid om meerdere weblogs naast elkaar te installeren. Ook zou ik meer grip willen hebben op hoe de archieven worden georganiseerd en hoe de site wordt opgenomen in Google. Maar voor enkele andere sites, met name Klimaatnieuws.nl, denk ik wel dat ik met WordPress beter af ben dan met Movable Type. Welke van de twee je kiest, hangt dus vooral van de omstandigheden af.
Rian van Veggel
Naar aanleiding van je opmerking:
“Bij WordPress kun je wel meerdere weblogs op dezelfde site opzetten, maar alleen door WordPress steeds opnieuw te installeren in verschillende submappen. Dat betekent dat als je een nieuwe WordPress-versie wilt installeren, je álle installaties stuk voor stuk moet upgraden.”
Heb je inmiddels al ervaring met WordPress MU? Lost deze versie dit probleem op?
Wessel Zweers
Bedankt voor de tip. WordPress MU kende ik nog niet, maar ga ik zeker uitproberen. Het zou voor een deel mijn probleem kunnen oplossen.
Steeph
Goede analyse.
Door ervaring rijker geworden een paar aanvullingen mbt WordPress:
– Snelheid kan een probleem zijn. Maar WP-cache kan zorgen voor de nodige ontlasting door pagina’s tijdelijk in flatfiles op te slaan.
– Voor spambestrijding is ook Bad Behaviour een aanrader. Die stopt zaken al bij de voordeur.
– Sql tuning door wat extra indexen kan soms wonderen doen bij specifieke queries.
Dit alles zorgt ervoor dat wij met eenvoudige hosting (geen dedicated server) nu snel tot 30.000 pages per dag aan kunnen zonder cache en zo’n 100.000 met wp-cache. Daarboven wordt het lastig.
» Een simpele zakelijke website met WordPress - Laterna
[…] Na een e-mailwisseling met een opdrachtgever ben ik de laatste week aan het experimenteren geslagen met WordPress, dat ik eerder deze maand vergeleek met MovableType. […]
» Templatesbrowser.com stopt linkspam in WordPress - Laterna
[…] 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 […]
» MovableType wordt open-source - Laterna
[…] wordt open-source. Dat kan ik alleen maar toejuichen, want eerder schreef ik nog over het vage Mambo-achtige tweesporenbeleid van Six Apart: een beetje commercieel, een beetje open-source. Het lijkt erop dat Six Apart voor het […]
D. Roer
Fijne vergelijking. Is er een lijst bekend met Nederlandse hosting providers waar MT goed draait?
Wessel Zweers
Ben zo’n lijst helaas nog niet eerder tegengekomen. Ik kom überhaupt nooit Nederlandse providers tegen waar op de website expliciet staat vermeld dat ze MT ondersteunen.
Dan maar mijn eigen ervaringen in het kort. Van de 5-10 providers waar ik ooit MT heb geïnstalleerd, is er eigenlijk maar eentje waar het altijd probleemloos draaide: JR Online. Vaak lukt het wel om een MT-site draaiende te krijgen, maar gaat het na een paar maanden alsnog fout, bijvoorbeeld bij shared hosting als de server steeds zwaarder wordt belast en een ‘rebuild’ in MT een eeuwigheid gaat duren. Of als de provider je site ongevraagd overzet naar een andere server waar blijkt dat noodzakelijke modules ontbreken.
Verder kan ik je wel een kleine checklist geven van wat er bij de provider in ieder geval geïnstalleerd moet zijn:
– CGI
– HTML::Template (version >= 2)
– Image::Size
– File::Spec (version >= 0.8)
– CGI::Cookie
– DB_File
– DBI (version >= 1.21)
– DBD::mysql (aangenomen dat je MySQL als database gebruikt)
Als een van deze modules ontbreekt en de provider is niet bereid die voor jou alsnog te installeren, dan kun je het wel vergeten met Movable Type.
Als een provider wel dit rijtje ondersteunt, dan heb je grote kans dat het wel goed komt met Movable Type. Honderd procent zekerheid heb je echter niet, het blijft een kwestie van uitproberen.