Viva Espana!

Het begon allemaal op een zondag avond: een oud collega vroeg me of ik iemand wilde helpen met zijn problemen met de website. Uiteraard ben ik hierop in gegaan en kreeg contact met iemand die lekker gepensioneerd in Spanje woont, en daar schrijft, schildert, danst en teruggaat naar het vorige leven

Maandag bleek al snel dat het niet zo’n makkelijke klus zou gaan worden: er was een virus op de website geweest, inmiddels hadden al een paar developers wat zaken gedaan, maar het functioneerde allemaal niet meer zoals het vroeger deed. Naief als ik ben had ik wel het idee dat ik het voor elkaar kon krijgen, want hoe moeilijk kan het nu eenmaal allemaal zijn…

Back-ups

Het ging om een site die rond 2012 gemaakt is, dat is in de internet wereld minimaal 2 generaties oud. In al die tijd is er niet veel mee gedaan, wel wat betreft content niet wat betreft updates van plugins. Het is dan ook enigszins begrijpelijk dat er ergens een virus/malware in geslopen is. Stap 1 is zoals altijd: maak een back-up. En in dit geval was het eigenlijk, maak meerdere back-ups.

via GIPHY

Een bijkomend probleem was namelijk het gebrek aan toegang tot de hosting omgeving: geen aparte database toegang, geen ftp, geen manier om een back-up terug te zetten. Gelukkig heb ik inmiddels een manier van back-ups maken die een en ander kan terugzetten zonder in te loggen in de WordPress omgeving. Want zodra ik de 1e plugin wilde updaten crashte het geheel uiteraard al en was er geen enkele manier om nog bij de site te komen. De meeste standaard manieren van back-ups terugzetten gaat via de hoster, of de database, of het dashboard van WordPress zelf, maar die waren dus allemaal niet beschikbaar. Gelukkig werkte mijn eigen manier nog wel en kon ik snel terug naar de oude situatie.

Groot

Snel was het geheel niet, de site was in zijn geheel nogal groot. Er zat redelijk wat content in, en ook nog in drie talen, en de nodige afbeeldingen natuurlijk. Maar dit alles was geen rechtvaardiging voor een backup van 5 gigabyte. Om alles in het vervolg wat sneller te laten verlopen was de eerst volgende stap de back-up te verkleinen. Zoals geschreven: er waren meerdere mensen geweest die al het een en ander hadden geprobeerd. Deze hadden ook back-ups gemaakt, en die opschoning leverde al heel wat winst op. Daarna viel het op dat de database in gezipte toestand zo’n 800mb was. Dat is opvallend groot en heb ik bij websites van deze omvang nog niet meegemaakt. Zonder al te diep de materie in te gaan (dus niet deze manier), maar gewoon een tooltje te gebruiken kwam het al snel tot een bestand van slechts 9mb. Dat scheelt weer back-up en terug zet tijd!

Winstpunt

winning 1

Uiteraard was het verkleinen van de database al een overwinning, maar de aanwezige problemen waren daarmee nog niet opgelost. Na een paar dagen proberen om zaken te updaten, verschillende malen weer een back-up terugzetten bleek het een moeilijke situatie. Ondertussen hadden we wel leuke gesprekken via de e-mail over de belangrijkste vragen van het leven: wat eten we vandaag? dus het contact was wel goed en gezellig maar daar deden we het niet voor natuurlijk. Maar na verloop van tijd kreeg ik opeens goed bericht uit het Spaanse: de achterkant van de site deed weer voor een groot gedeelte wat het vroeger ook deed. Eerlijk is eerlijk: tot op heden (nu zo’n 2 weken verder) weet ik nog steeds niet hoe ik dit gefixed heb, maar het grootste probleem was in ieder geval opgelost.

Crashende plugin

De vervelende plugin bleef maar crashen, wat ik ook deed. Hij was dan ook wat oud (er waren inmiddels tussen de 40 en de 60 nieuwe versies hiervan beschikbaar), dus het zou kunnen dat die ook niet in 1 keer geupgrade kon worden. Geprobeerd om met oudere versies het geheel langzaam up-to-date te brengen, maar met 1 versies hoger ging het al fout. Ondanks dat ACF de boosdoener leek, ging het fout in combinatie met WPML zo bleek later. Via een file manager als plugin kon ik nog wat code files aanpassen (function aanpassen, code als commentaar aangeven, etc.) maar elke keer bleek hier de combinatie van ACF en WPML te zorgen voor de problemen.

via GIPHY

Nieuw thema

Ondertussen was ik naast het verhelpen van de problemen en het uitproberen van zaken ook al begonnen om gewoon de site opnieuw te maken. Opdrachtgever was tevreden met de huidige versie, en wilde in principe niet iets anders: dus dan maar een modern en net nieuw thema zoeken en die ombouwen naar dezelfde site. In de huidige zaten namelijk ook wat geprogrammeerde zaken m.b.v. ACF die met de huidige versie van WordPress al standaard zijn. Dat zou dan wellicht de noodzaak van ACF overbodig maken, wellicht nog wel met de nodige database aanpassingen of handmatig berichten aanpassen maar goed, je moet toch wat.

De ingeving

Na het geheel een paar dagen te hebben laten rusten begon ik weer met nieuwe moed aan de updates en ging ik aan de slag met heel veel zaken simpelweg te verwijderen en daarna te zien op welk moment de update wel ging lukken. Dit was een langdurig proces maar uiteindelijk lukte het op de plugin te updaten, zonder problemen. Daarna kwamen er (uiteraard) andere problemen om de hoek kijken: WPML ging weer eens moeilijk doen (ik ben nooit vrienden geweest van deze plugin, maar de meeste mensen die werken met meerdere talen gebruiken het dus zo slecht zal het niet zijn). Druk bezig met uitzoeken, in de code duiken viel me opeens iets op: het versie nummer van de WPML plugin(s) was wat aan de lage kant….

De oplossing

Ook WPML liep ‘wat’ versies achter (meer dan 150!), maar omdat er geen licentie (meer) was, en die buiten de normale plugin updates valt was er niets dat aangaf dat deze plugin verouderd was. Vandaar dat deze dus ook niet meer wilde spelen met de WordPress versie van 8 jaar later, en de ACF van 8 jaar later. Het updaten hiervan was na aanschaf van de volledige WPML bundle niet zo’n heel groot probleem meer, maar in de tussentijd was er dus wel het nodige veranderd.

via GIPHY

Was dat het?

Nee natuurlijk niet, there is always more. We waren nu pas op het punt dat we enigszins in 2020 waren wat betreft de software, en nu was het tijd om te kijken wat er nog werkte, wat er niet meer werkte en hoe we het weer op de juiste manier werkend konden krijgen. De homepage had een raar systeem van een footer die misbruikt werd om verschillende widgets te plaatsen, uitlijning klopte niet, handmatig werden steeds dezelfde fonts toegevoegd, etc. etc. Uiteindelijk is de website weer voor 98% hetzelfde geworden en was het dus een mooi project.

Nieuwe hoster

En dat was natuurlijk nog niet genoeg, als laatste stap moest er eigenlijk ook nog van hosting partij geswitched worden. Normaal geen heel groot probleem, maar als je bij de huidige hoster geen inlog hebt, er wel veel mail is en de nieuwe hoster ook nog eens perse wil dat je de Spaanse versie van de omgeving gebruikt…Uiteindelijk lijkt ook dit gelukt, maar dit is wel iets wat uiteindelijk bijna een dag gekost heeft (gelukkig is Google Translate best goed, en kun je met TeamViewer ook nog wel wat informatie achterhalen).

via GIPHY

Wat heeft het opgeleverd?

Als je over geld praat, helemaal niets natuurlijk. Van een kale kip valt niet te plukken, dus er is een symbolisch bedrag afgesproken voor een ingeschat aantal uren. En zoals dat gaat met uren inschatten, in combinatie met de Wet van Murphy zoals hier gedeeltelijk te lezen was: die uren zijn ruimschoots overschreden. Al met al kom je dan op een uurtarief waar je net een lekker Spaans plakje worst voor kunt kopen.

via GIPHY

Maar geld is niet alles natuurlijk. Zelf heb ik weer het nodige geleerd, en licenties aangeschaft. Licenties die ik bij andere projecten wellicht weer in kan zetten, of opnieuw aanschaffen. Je gaat waarde zien in bepaalde tools, en wetende dat je voor de veiligheid of snelheid gewoon beter iets kan aankopen dan zelf pielen (en dit is iets wat ook voor de lezer van dit stuk zal gelden: laat llicenties niet verlopen). En als je als developer of bureau gebruik maakt van een licentie die je vaker mag en kunt gebruiken, zorg er dan wel voor dat je dit op alle websites ook goed in orde laat houden. In veel gevallen is het ook handiger om de opdrachtgever zelf de licentie(s) aan te laten schaffen, in de praktijk is dat echter vaak weer lastig en te technisch.

Mijn aangeleerde afkeur voor WPML (want slechte ervaringen) is inmiddels ook weer wat bijgesteld: het feit dat de plugin zonder echte problemen 150 versies verbeterd is, is op zich wel bijzonder te noemen. Vaak moet je dit in stappen doen (zeker als er een major upgrade version bij zit) omdat er ook de nodige database wijzigingen zijn naast alle code wijzigingen.

Iets wat ik eigenlijk al wist, maar ook in dit geval weer waarheid bleek te zijn: het helpt om mensen zelf uit te laten leggen wat ze doen. Niet enkel: ik maak en post een bericht. Maar: ik klik op berichten, ik voer een titel in, ik vul de tekst in, etc. Hiermee leer je niet alleen hoe mensen de tool gebruiken (wat je weer kunt gebruiken om zaken beter of handiger te maken voor ze) maar zorgt ook voor betere fout oplossing. Daarnaast heeft de opdrachtgever zelf ook een stukje verantwoordelijkheid, helpt je met het probleem en geeft voor deze persoon ook vaak het gevoel dat er geluisterd wordt. Dit kan het verschil maken tussen een goede en slechte relatie. Ook in deze saga heeft het me meer dan eens een aanknopingspunt gegeven om verder te duiken in het probleem, en uiteindelijk de oplossing.

En niet onbelangrijk: een tevreden klant die ook een langdurige relatie wil aangaan zodat we beide kunnen blijven leren en samenwerken.

via GIPHY


Header image by M W from Pixabay