Een klant belde me laatst met een probleem dat eenvoudig klonk. De lijst met profielen op een verenigingswebsite was voor bezoekers niet te zien. Log je in, dan verschijnt de lijst gewoon. Log je uit, dan is er niets. Zo’n melding waarvan je denkt: dat is zo opgelost. Nou, niet dus. Ik ben er lang zoet mee geweest, en de oplossing bleek uiteindelijk één instelling die niemand ooit bewust had aangeraakt.
Is het de Cookiemelder?
Ik begon zoals ik altijd begin: kijken wat er mis kan zijn. In de broncode van de site stond een rare tekststring die ik niet meteen kon plaatsen. Die bleek afkomstig van een cookie-plugin. Logisch om even te controleren, dus zette ik de plugin uit. Het probleem bleef. Die plugin was het dus niet.
Is het dan de tabelfunctie?
Daarna dook ik in de foutmeldingen die de browser en WordPress zelf teruggaven. Er kwam een melding voorbij over een script dat niet goed werd geladen, iets met een tabel-functie die de ledenlijst-plugin gebruikt om de profielen netjes te tonen. Dat leek veelbelovend, dus ik registreerde het ontbrekende onderdeel handmatig. Geen effect.
Is het thema soms het probleem?
Toen viel mijn oog op het thema van de site. Gebouwd in 2016, en sindsdien nooit vervangen. WordPress is in tien jaar flink veranderd, het thema niet. Ik wisselde tijdelijk naar een standaardthema om te testen, en jawel: de lijst was meteen zichtbaar. Terug naar het oude thema, en tot mijn verbazing bleef de lijst ook toen gewoon staan. Even dacht ik dat ik het had gevonden.
Dat bleek een vals spoor. Waarschijnlijk had het wisselen van thema de cache geleegd, waardoor alles opnieuw werd ingeladen en het probleem tijdelijk verdween. Geen echte oplossing dus, alleen een omweg die me op het verkeerde been zette.
Testen, testen, testen…
Om zeker te weten of het thema de boosdoener was, zette ik een kopie van de site op een aparte testomgeving en installeerde daar een modern thema. Als het daar ook mis zou gaan, kon het thema niet de oorzaak zijn. En precies dat gebeurde: ook met het nieuwe thema bleef de lijst onzichtbaar. Dat was het moment waarop ik besefte dat ik de hele tijd naar de verkeerde kant had gekeken.
Terug naar de basis
Terug naar de basis dus. Ik ging de instellingen van de ledenlijst-plugin zelf helemaal na, en tussen tientallen opties zat ‘m daar: de zichtbaarheid van de lijst stond ingesteld op “alleen voor leden”. Eén vinkje verzetten naar “voor iedereen”, en de ledenprofielen waren voor alle bezoekers te zien, zonder inloggen, op zowel de testomgeving als de live site.
Hoe die instelling ooit op “alleen voor leden” is beland, weet ik niet. Niemand had hem bewust gewijzigd. Vermoedelijk is deze instelling ooit per ongeluk aangepast.
Wat ik hieraan overhoud
Het makkelijkste inzicht is achteraf altijd het duidelijkst: controleer eerst de basisinstellingen van een plugin voordat je dieper gaat zoeken. Voordat ik foutmeldingen ging uitpluizen of scripts ging herstellen, had een blik in de instellingen van de ledenlijst me uren werk kunnen schelen.
Daarnaast leerde dit me weer hoe overtuigend een vals spoor kan zijn. Het thema wisselen leek de oplossing, en dat voelde goed. Maar een fix die je niet snapt, is geen fix. Pas als je begrijpt waaróm iets werkt, weet je zeker dat het blijft werken.
Voor de klant was het frustrerend omdat ik iedere keer meldde dat het opgelost zou zijn en dat dit keer op keer niet zo bleek te zijn. Dat is niet wat je wilt voor je klant, maar ook niet wat je wil als webbouwer. Ik wil gewoon goed werk leveren voor mijn klanten.
En de testomgeving bewees opnieuw haar waarde. Doordat ik daar vrij kon testen zonder risico voor de live site, kon ik het vals spoor ontmaskeren zonder dat de klant er iets van merkte.
Gebruik jij ook een plugin met een ledenlijst of afgeschermde content op je site? Het kan geen kwaad om zelf even te checken of de zichtbaarheid nog staat ingesteld zoals jij bedoeld had. Soms scheelt dat een hoop zoekwerk.
Afbeelding van Sheikh Sadi via Pixabay

