Maatwerk en (waarom geen) Wordpress

  • ± 4 minuten

Met regelmaat krijg ik de vraag toegespeeld om een inlog­omgeving of webapplicatie in andere vorm, te realiseren middels Wordpress. Doordat Wordpress voor mij echter enkele kanttekeningen heeft, realiseer ik maatwerk applicaties van dit kaliber niet middels Wordpress.

Ik houd me primair bezig met maatwerk webapplicaties, maar dan op basis van een eigen geschreven closed source Content Management Systeem/framework basis, om de redenen dat ik hiermee sneller kan schakelen, vele features standaard zijn, er geen sprake is van overbodige programmering en ik bovendien security goed kan waarborgen doordat het in eigen beheer wordt gedaan. Let wel: maatwerk is met Wordpress natuurlijk mogelijk, maar door de vele overhead en dependecies, niet optimaal en maakt verdere uitbreidingen in de toekomst vaak helaas enkel arbeidsintensiever omdat Wordpress ooit, primair gebouwd is als blog-systeem.

Wel houd ik me bezig met Wordpress zoekmachine optimalisatie of laadtijd optimalisatie binnen Wordpress.

Schaalbaarheid via plugins

Door de grote gebruiksgroep en zogenaamde community, zijn er vele plugins beschikbaar, echter geprogrammeerd door verschillende personen met uiteenlopende achtergronden en mogelijkheid tot Wordpress plugin-conflicten en kwetsbaarheden. In de basis zijn plugins een goed idee, maar in praktijk, in geval van de grotere webapplicaties, kan gelden dat ze net niet doen wat je wil, waarna men alsnog vast zit aan maatwerk. Voor webshops zijn bijvoorbeeld legio plugins te vinden, waarvan je kennis van zaken moet hebben (PHP, HTML, JS, CSS als de opzet van Wordpress zelf) wanneer blijkt dat deze in praktijk gaan conflicteren.

Zoekmachine optimalisatie

De heilige graal onder de Wordpress plugins voor zoekmachine optimalisatie, bestaat niet. En dit is jammer, zoekmachine optimalisatie, maar vooral goede semantische code zou de basis moeten zijn. Er is een combinatie van modules benodigd om dit te bewerkstelligen. Van nette urls is wel sprake, maar daar houdt het vaak op.

Wordpress stuurt in de basis met alle bronbestanden cookies mee, wat door deze cookies, vertraging van 720ms oplevert en 20% online omzet kan kosten. Wordpress past in de basis op incorrecte wijze, resource hints toe.

Wordpress en Bootstrap

Door de aanwezigheid van zogenaamde Wordpress themes, zijn websites tegenwoordig wel eenvoudig responsive te maken. Themes bepalen de layout en dus uiterlijk van je website en staan redelijk los van de Wordpress plugins. Het meerendeel van de responsive Wordpress themes, zijn middels het CSS framework Bootstrap geprogrammeerd. Van oudsher geldt voor Wordpress, wat ook voor Bootstrap geldt; sites beginnen op elkaar te lijken. Wanneer je hier niet aan vast wilt zitten, wordt aanbevolen een ontwerper in de arm te nemen.

Wordpress omvang en geheugen

Elk nieuwe plugin, doet de Wordpress omvang groeien, met als gevolg meer benodigde geheugen per request (en in het ergste geval als gevolg dat je website minder gelijktijdige bezoekers aan kan). Een gemiddelde Wordpress site dat als visitekaartje fungeert, vergt al snel 50MB geheugen per pagehit. In praktijk zijn we ook statistieken van 95MB tegen gekomen, voor slechts informatieve bedrijfs­websites.

Ter vergelijking, het CMS waarop deze site draait, vergt 743kb. Dat betekent dat op papier, een Wordpress site 41 keer minder bezoekers kan verwerken bij eenzelfde hosting-pakket. Heb je dus een hosting met 2GB geheugen?

  • De Wordpress variant kan het volgend aantal gelijktijdige bezoekers aan: 2 * 1024 / 30 mb = 40 bezoekers;
  • Mijn CMS wordt pas kritiek bij het volgend aantal gelijktijdige bezoekers: 2 * 1024 * 1024 / 743 kb = 2.823 bezoekers.

Dit is een kanttekening dat via twee wegen te tackelen is, waarbij beide helaas geen ideale oplossing is aangezien je binnen Wordpress gebonden bent aan stand-alone plugins voor meer functionaliteit en je al snel gedwongen wordt meer budget vrij te maken voor hosting in het geval je een drukke website exploiteert. Wil je bovendien optimaliseren voor SEO, dan heb je aanvullende plugins nodig, die juist voor toename in benodigd geheugen zorgen (om over toename van server-side laadtijd niet te spreken)

Oplossingen mogen we het helaas niet noemen, dus bij deze de workarounds:

  1. Kritisch naar de gebruikte plugin's kijken;
  2. Het geheugen binnen je Wordpress hosting ophogen (met mogelijkheid tot bijkomende kosten).

Security en updates

Andere kanttekening zijn security leaks en verplichte updates. Onze site draait niet op Wordpress, desondanks zie ik in mijn logs nog steeds dagelijks tientallen willekeurige pogingen voorbij komen van (naast Drupal, Kohana of Magento) voornamelijk Wordpress Sniffers (op zoek naar geldige Wordpress-paden) die, indien ze beet hebben, overgaan tot hack-pogingen.

Updates zijn om die reden dan ook verplichte kost; wanneer een lek of kwetsbaarheid eenmaal bekend is, zullen deze snel worden toegepast op andere Wordpress systemen met dezelfde versie, die door de bots al verzameld zijn.
Bij gebruik van enkele plugins, kan het onderhouden of doorvoeren van updates al snel een tijdrovende klus worden. Afhankelijk van de dienstverlener, kan dit proces uit handen worden gegeven.

Wordpress: conclusie

Zonder iemand tegen het zere been te schoppen: Het gebruik van Wordpress voor een website of applicatie dient dus goed afgewogen te worden. Dit zal afhangen van de type website, benodigde uitstraling, opgeslagen (klant)data, aanwezige (security) kennis, vereiste plugins in combinatie met verwachtte bezoekers aantallen, et cetera. Daarnaast moet er tevens iemand aangewezen worden voor onderhoud. Dit zijn zaken om rekening mee te houden bij het afwegen van gebruik van Wordpress.

Direct adviesNaar aanleiding van dit artikel, advies of second opinion nodig?