Stel dat een timmerman elke keukendeur vanaf een boomstam zou maken. Zagen, drogen, schaven, en dan pas beginnen. Niemand zou dat betalen. Toch werken sommige webbouwers zo. Elk project begint met een leeg bestand.
Het gevolg zie je terug in de prijs en in de doorlooptijd. En in fouten die je vorig jaar ook al had opgelost.
Winterschilder Offerte is een concept waar ik zelf eigenaar van ben. Daar draaide alles om snelheid. Ik moest kunnen testen, aanpassen en opnieuw uitrollen zonder telkens de basis over te doen.
Ik heb toen mijn vaste startopzet gebouwd. Een childtheme, een set formulierinstellingen, de standaard beveiliging en de meetcode. Die opzet gebruik ik sindsdien bij elk project. De basis staat nu binnen een uur in plaats van een dag.
Een vaste basis scheelt tijd, fouten en geld.
Wat is een boilerplate?
Een boilerplate is een stuk standaardcode dat je bij elk project opnieuw gebruikt. Het is geen kant-en-klare website. Het is de herbruikbare basis waar je op verder bouwt.
Denk aan de instellingen die altijd hetzelfde zijn. De mapstructuur, de basisopmaak, de veiligheidsregels. Door codeblokken hergebruiken hoef je die niet elke keer opnieuw te bedenken.
Waar komt dat woord vandaan?
Uit de drukkerij. Vroeger werden vaste teksten in metalen platen gegoten, zogeheten boilerplates. Die platen gingen ongewijzigd naar meerdere kranten. De term bleef hangen voor alles wat je ongewijzigd hergebruikt.
Daarom hoor je het ook buiten de techniek. Juristen noemen hun standaardteksten in contracten ook boilerplate.
Wat zit er in een goede basis?
Ik houd mijn eigen opzet bewust klein. Alles wat erin zit, gebruik ik in minstens acht van de tien projecten.
Wat mijn vaste opzet bevat
Een childtheme, zodat updates niets slopen.
Basisinstellingen voor permalinks en media.
Beveiliging: inloglimiet en tweestapsverificatie.
Een werkende back-uproutine.
Formulieren met de juiste meldingen.
Meetcode en cookiemelding.
Dat is het. Geen sliders, geen pakket van veertig plugins. Meer over de eerste twee punten lees je bij child theme.
Het verschil met een framework
Deze twee worden vaak door elkaar gehaald. Een boilerplate is een startpunt dat je mag slopen en aanpassen. Een framework schrijft voor hóe je moet bouwen.
Simpel gezegd: jij gebruikt een boilerplate, en een framework gebruikt jou. Bij een vaste projectopzet houd je de vrijheid om af te wijken. Zie ook framework.
Waar het misgaat
De basis groeit ongemerkt
Dit is de klassieke valkuil. Bij elk project stop je er iets bij. Na twee jaar sleep je code mee die je nooit gebruikt. Dat heet opgeblazen code, en het kost je laadtijd.
Ik loop mijn opzet daarom twee keer per jaar door. Alles wat ik een jaar niet heb aangeraakt, gaat eruit.
Kant-en-klare thema’s als basis
Een gekocht thema uit een marktplaats belooft duizend mogelijkheden. Je gebruikt er drie. De overige negenhonderdzevenennegentig laden wel mee. Kijk daarvoor ook bij pagespeed en theme.
Elke site precies hetzelfde
Een basis is geen ontwerp. Zie je bij een bureau tien sites die identiek aanvoelen, dan is de boilerplate te ver doorgeslagen. Het skelet mag hetzelfde zijn, het gezicht niet.
Wat het jou als klant oplevert
Een vaste basis is geen technisch detail, het raakt je factuur. Ik hoef geen uren te schrijven voor werk dat ik al eens heb gedaan. Die tijd gaat naar je teksten en je ontwerp.
Het scheelt ook in beheer. Al mijn sites zijn hetzelfde opgebouwd. Bij een storing weet ik dus meteen waar ik moet kijken. Dat maakt onderhoud voorspelbaar in plaats van spannend.
Werk je met WordPress, dan is het bovendien makkelijker om over te stappen naar een andere bouwer. Een nette basis is leesbaar voor iedereen die het vak kent.
Meer vragen over Boilerplate
Dit zijn de vragen die ik hierover het vaakst krijg. Ik werk ze los uit.
Wat is een boilerplate in webdesign?
Waarom werk je met een boilerplate?
Wat is het nadeel van een boilerplate?
Wat is het verschil tussen boilerplate en framework?
Hoe herken je een opgeblazen thema?
Werkt Project Direct met een vaste basis?
Waarom werk je met een boilerplate?
Het grootste risico is dat hij ongemerkt groeit. Bij elk project stop je er iets bij dat handig lijkt. Twee jaar later sleep je code mee die je nooit meer gebruikt.
Die ballast kost laadtijd. Elk bestand dat meelaadt, is een verzoek naar de server. Op mobiel merk je dat direct terug in je score.
Het tweede risico is luiheid in het ontwerp. Een basis is een skelet, geen gezicht. Zie je bij een bureau tien sites die identiek aanvoelen, dan is er iets misgegaan.
Een derde nadeel is dat je vast kunt komen te zitten. Werkt je basis met een bepaalde techniek, dan wordt afwijken lastig. Daar zit meteen het verschil met een framework.
Ik loop mijn opzet daarom twee keer per jaar door. Alles wat ik een jaar niet heb aangeraakt, gaat eruit. Zie ook pagespeed.
Het klinkt tegenstrijdig, maar een goede basis wordt met de jaren kleiner. Niet groter.
Wat is het nadeel van een boilerplate?
Omdat ik niet elke maand hetzelfde probleem wil oplossen. Een nieuwe site heeft altijd dezelfde basis nodig: nette permalinks, werkende formulieren, beveiliging en een back-up.
Doe je dat elke keer opnieuw, dan vergeet je een keer iets. Dat is geen slordigheid, dat is menselijk. Een vaste opzet haalt die kans grotendeels weg.
Het scheelt ook echt geld. Wat vroeger een dag opzetwerk was, staat nu binnen een uur. Die uren gaan naar je teksten en je ontwerp, want daar zit de waarde voor jou.
Er is nog een voordeel dat je pas later merkt. Omdat al mijn sites hetzelfde skelet hebben, weet ik bij een storing meteen waar ik moet kijken. Dat maakt beheer voorspelbaar.
En mocht je ooit naar een andere bouwer gaan, dan treft die een herkenbare opzet aan. Zie ook child theme.
Vraag er gerust naar bij een offerte. Een bouwer met een vaste basis kan je precies vertellen wat er standaard in zit.
Wat is het verschil tussen boilerplate en framework?
Een boilerplate is een startpunt dat je mag slopen. Je kopieert het, gooit eruit wat je niet nodig hebt en bouwt verder. Er zijn geen regels waar je je aan moet houden.
Een framework schrijft juist voor hoe je moet werken. Het bepaalt de mapstructuur, de naamgeving en vaak ook de manier waarop je code moet schrijven. In ruil daarvoor krijg je veel functionaliteit cadeau.
De kortste samenvatting die ik ken: jij gebruikt een boilerplate, en een framework gebruikt jou.
Welke past, hangt af van het project. Voor een gewone bedrijfswebsite is een lichte eigen basis vrijwel altijd beter. Voor een complexe webapplicatie met tientallen schermen is een framework logischer.
In de praktijk zie ik veel kleine sites die op een zwaar framework draaien. Dat is met een vrachtwagen naar de bakker rijden. Zie ook framework.
Twijfel je welke kant je op moet? Kijk naar het aantal schermen. Onder de twintig is een lichte basis bijna altijd genoeg.
Hoe herken je een opgeblazen thema?
Kijk eerst naar de verkooppagina. Belooft een thema geschikt te zijn voor restaurants, advocaten, fitnessclubs en webshops tegelijk? Dan zit alles voor al die doelgroepen erin, ook wat jij nooit gebruikt.
Een tweede signaal is het aantal meegeleverde plugins. Vijftien stuks bij installatie is geen service, dat is ballast. Elke plugin is onderhoud en een mogelijk lek.
Het derde signaal meet je gewoon. Draai je homepage door een snelheidstest en kijk naar het aantal verzoeken en de totale grootte. Kom je boven de twee megabyte, dan is er iets mis.
Een goed thema doet weinig en doet dat goed. De rest bouw je erbij, precies zoals jij het nodig hebt.
Zit je al vast aan zo’n thema? Overstappen kan, maar plan het als een project en niet als een middagje werk. Zie ook theme.
Vraag voor de zekerheid ook hoeveel demo-inhoud er meekomt. Die blijft vaak ongemerkt in je database staan.
Werkt Project Direct met een vaste basis?
Ja, en die houd ik bewust klein. Alles wat erin zit, gebruik ik in minstens acht van de tien projecten. Komt iets daaronder, dan gaat het eruit.
Mijn opzet bevat een childtheme en de basisinstellingen voor permalinks en media. Daarnaast de beveiliging, een back-uproutine en werkende formulieren. En tot slot de meetcode met cookiemelding.
Wat er níet in zit, is net zo belangrijk. Geen sliders, geen paginabouwer vol ongebruikte modules, geen verzameling losse plugins die hetzelfde doen.
Het ontwerp staat er los van. Elke klant krijgt een eigen indeling, eigen kleuren en eigen teksten. Het skelet is hetzelfde, het gezicht niet.
Dat is ook precies waarom ik snel kan schakelen als je iets wilt wijzigen. Ik weet altijd waar iets staat. Zie ook WordPress.
Wil je precies weten wat er in jouw site zit? Vraag het op. Ik lever die lijst gewoon aan. Dat lijstje krijg je bij oplevering ook gewoon mee. Zo weet je precies waar je op terugvalt.
Vraag je je af of jouw website op een zware basis draait? Stuur me het adres via het formulier hieronder. Ik kijk naar je thema, je plugins en je laadtijd en zeg je eerlijk of het opruimen waard is. Soms is het antwoord: laat maar zo. Vermeld je plaats, dan weet ik meteen waar je zit.
Waar kan ik je mee helpen?
Ook bekend als: Standaardcode, startopzet, basisproject