‘Je zal het wel druk krijgen!’
Die heb ik vaak gehoord in de weken voor de geboorte! Gelukkig kun je dingen op voorhand niet sturen, je kunt ze wel inschatten. Onze eerste eet en slaapt voorbeeldig, dat is al een groot goed. We stonden er daarom relaxed in, en dat gaat het eigenlijk ook.
De eerste week voelde als een dag en inmiddels ontstaat er een soort van ritme. Lotte is trotse zus en gaat verrassend goed om met de verdeelde aandacht! Maar ik vertel (gekscherend) wel tegen iedereen dat de natuur zo is ingericht dat je die eerste weken met een baby snel weer vergeet. Ik denk dat ik dan wel genoeg gezegd heb 😂
Multiwebsite
In de twee maanden voor de geboorte van onze dochter hadden we als WordPress team een overleg met onze marketingafdeling. Tijdens dit overleg kwamen de websites van ons bureau en de softwareproducten ter sprake. De marketingafdeling wilde harder en dus meer vrijheid en functionaliteit om de website te kunnen vullen.
Geen probleem zou je denken. We kunnen immers alles zelf maken. Dat ligt iets anders omdat het enerzijds voor onszelf is en vaak een lagere prioriteit krijgt en we moesten het op 3 websites inbouwen die compleet verschillend van elkaar waren. Het gevolg is dat je het werk eigenlijk 3 keer net anders moet uitvoeren, het langer duurt en daarmee gevolgen had voor inspanningen die onze marketingafdeling graag wilde doen.
Enkele maanden terug vertelden mijn collega’s Bas en Eugene allebei over nog een nieuwe en efficiënte werkwijze voor onze websiteontwikkeling. Voor deze websites moest het toch weer anders.
We besloten daarom om al deze websites op één spreekwoordelijke hoop te gooien en te onderzoeken of we op basis van één te onderhouden WordPress project én front-end, meerdere websites konden uitrollen. Geen probleem zou je denken. Er was alleen wel de voorwaarde dat ze qua stijl niet allemaal op elkaar zouden lijken. Challenge accepted! 💪🏻
Met collega’s Bas en Eugene ben ik aan de slag gegaan met de techniek. Hierbij liepen we van de ene uitdaging in de andere.
Een stukje over de techniek
Onze WordPress websites zijn – tussen de header(bovenkant) en footer (onderkant) – volledig op te bouwen uit blokken. Een blok kan op iedere willekeurige positie staan, hierdoor maken we het voor onze klanten en marketingafdeling mogelijk om iedere pagina volledig naar eigen wens in te richten.
Om de inhoud van een blok, zoals bijvoorbeeld een titel, tekst en knop, te kunnen bepalen gebruiken wij de plugin Advanced Custom Fields Pro. In deze plugin maken we velddefinities die we koppelen aan een blok. Dat werkt prima zolang je dit toepast op één website omdat deze velden worden opgeslagen in de database. Het probleem waar wij tegenaan liepen is dat we 3 websites hebben en dus 3 databases.
Er is dan een standaardoplossing om de veldconfiguratie op te slaan in een JSON-bestand. Deze wordt dan gedeeld over de 3 websites, maar heeft als nadeel dat je een groep waarin je bijvoorbeeld een knopconfiguratie zet iedere keer moet kopiëren. Je kunt wel raden dat we dan bij een aanpassing dit misschien wel op 10 plaatsen moeten aanpassen en dus geen oplossing.
We zijn daarom op zoek gegaan naar een oplossing om de velden in de code vast te leggen en velden te kunnen hergebruiken, en met succes! We hebben inmiddels twee van onze websites uitgerold op basis van dezelfde codebase maar met een compleet andere stijl en eigen inhoud. En daar zijn we stiekem best trots op.
Het is toch weer anders
Net zoals de ervaring rondom de geboorte van onze tweede dochter heel anders was dan de eerste keer, verlopen websiteprojecten ook iedere keer weer anders. Dit maakt het ontwikkelen van een website iedere keer weer een uitdaging en daar leren we van. Iedere keer weer anders, maar iedere dag beter 🚀