Deprecated: werkt nog, maar niet lang meer

Een website kan jarenlang zonder klachten draaien. Tot de hostingpartij de serversoftware bijwerkt. Dan valt er ineens een deel uit, of verschijnt er een gele balk bovenaan met onbegrijpelijke tekst. Er is niets gehackt en niemand heeft iets veranderd.

De oorzaak is bijna altijd hetzelfde. Er zat verouderde code in de site die al jaren was afgekeurd.

Bij Bultsma Transport nam ik zo’n site over. Webdesign en vindbaarheid waren mijn opdracht. In de logbestanden stonden tientallen waarschuwingen over functies die niet meer ondersteund werden.

Ik heb die meldingen niet weggeklikt, maar opgelost. Verouderde aanroepen vervangen door de nieuwe variant. Twee plugins die niet meer bijgewerkt werden, heb ik vervangen. Bij de eerstvolgende serverupdate gebeurde er niets. Precies zoals het hoort.

Deprecated uitgelegd in het webdesign woordenboek van Project Direct
Deprecated betekent: werkt nog, maar niet lang meer.

Wat betekent deprecated?

Deprecated betekent afgekeurd. De makers van een techniek zeggen ermee: gebruik dit niet meer. Het werkt nu nog wel, maar er komt geen onderhoud meer op.

Het is een waarschuwingssignaal met een aankondiging erin. Er is bijna altijd een vervangende functie die je in plaats daarvan moet gebruiken.

Het verschil met verwijderd

Dat onderscheid is belangrijk. Deprecated betekent: het werkt nog. Removed betekent: het is weg. Tussen die twee zit meestal een of twee grote versies aan tijd.

Dat is je waarschuwingsperiode. Wie hem gebruikt, heeft geen probleem. Wie hem negeert, krijgt op een dag een stuk site dat het niet meer doet.

Waar je het tegenkomt

In de serversoftware

De taal waarin veel websites draaien krijgt elk jaar een nieuwe versie. Functies verdwijnen daarbij geleidelijk. Meer over die machinekamer lees je bij backend.

In je systeem en uitbreidingen

Ook een CMS keurt functies af. Een plugin die al twee jaar geen update kreeg, gebruikt vaak nog de oude manier.

In de browser

Ook browsers halen dingen weg. Denk aan oude manieren om video af te spelen. Meer daarover lees je bij browser.

Hoe je weet of het speelt

De signalen staan er meestal al, alleen kijkt niemand ernaar. Ik loop drie plekken langs.

Mijn vaste controle

  1. De foutmeldingen in het logbestand van de server.
  2. De statuspagina van je systeem, die meldt vaak verouderde onderdelen.
  3. De datum van de laatste update per uitbreiding.

Die derde is de nuttigste voorspeller. Een uitbreiding die twee jaar stilstaat, gaat je vroeg of laat problemen opleveren.

Waarom uitstellen duur is

Elke afgekeurde functie die je laat staan, is technische schuld. Losse rente die je niet ziet. Tot het moment dat je gedwongen wordt om te betalen.

Dat moment kies je zelf niet. Het valt samen met een serverupdate of een beveiligingsfix die niet kan wachten. Dan moet het per direct, vaak op het slechtste moment.

tijdig bijwerken is daarom goedkoper dan wachten. Ik neem deze controle standaard mee bij onderhoud.

Zo pak ik het aan

Nooit rechtstreeks op de live site. Ik zet eerst een kopie op, verhoog daar de versie en kijk wat er stukgaat. Zo weet je vooraf wat het werk is.

Daarna los ik het in de kopie op, test ik alles en zet ik het pas live. Goede webhosting maakt zo’n kopie met een paar klikken. Dat scheelt uren en het scheelt risico. Houd ook je versiebeheer bij, zodat je weet welke versies je draait.

Wat het je oplevert

Een site zonder afgekeurde code kan gewoon mee met een serverupdate. Dat klinkt saai en dat is het ook. Precies daarom is het waardevol.

Je hostingpartij kan dan bijwerken zonder jou te bellen. Je krijgt de nieuwste beveiligingsfixes zonder gedoe. En je site draait vaak ook nog sneller, want nieuwe versies zijn efficienter.

Ik zie het verschil terug in het aantal storingsmeldingen. Sites die ik bijhoud, bellen bijna nooit. Sites die jarenlang zijn blijven staan, bellen op het slechtste moment.

Meer vragen over Deprecated

Dit zijn de vragen die ik hierover het vaakst krijg. Ik werk ze los uit.

  • Wat betekent deprecated?
  • Wat gebeurt er als ik niets doe met deprecated code?
  • Hoe weet ik of mijn website verouderde code gebruikt?
  • Wat is het verschil tussen deprecated en verwijderd?
  • Wie lost deprecated meldingen op?
  • Hoe voorkom je verouderde code op je website?
Dat onderscheid bepaalt hoeveel haast je hebt. Deprecated betekent: het werkt nog steeds. Removed betekent: het is er niet meer. Tussen die twee momenten zit meestal een of twee grote versies aan tijd. Bij serversoftware is dat vaak een tot twee jaar. Dat is je waarschuwingsperiode, en die is een cadeau. Wie in die periode ingrijpt, heeft geen enkel probleem. Het is gepland werk op een moment dat jou uitkomt. Wie hem negeert, krijgt op een dag een stuk site dat niet meer werkt. Een formulier dat niets verstuurt, een betaalkoppeling die stopt, of een witte pagina. Dat moment kies je zelf niet. Het valt vaak samen met een serverupdate of een beveiligingsfix die niet kan wachten. Dan moet het per direct. Vraag je hostingpartij welke versie zij draaien en wanneer ze bijwerken. Die datum is je echte deadline. Met dat ene antwoord weet je of je maanden hebt of weken.
Deprecated betekent afgekeurd. De makers van een techniek zeggen ermee: gebruik dit niet meer. Het werkt op dit moment nog wel, maar er komt geen onderhoud meer op. Het is dus een waarschuwingssignaal met een aankondiging erin. Er is bijna altijd een nieuwe manier die je in plaats daarvan moet gebruiken. Je komt het op drie plekken tegen. In de serversoftware waarin je website draait, in je contentbeheersysteem en zijn uitbreidingen, en in browsers. Het vervelende is dat je er niets van merkt zolang het nog werkt. Je site draait gewoon door. De waarschuwingen staan in logbestanden waar niemand naar kijkt. Tot het moment dat er een update komt en het niet meer werkt. Dan is er niets gehackt en heeft niemand iets veranderd. Meer over die machinekamer lees je bij backend. Onthoud vooral dit: geen foutmelding betekent niet dat er niets speelt. De waarschuwingen staan op een plek waar je normaal nooit komt. Daarom is het iets om actief te controleren, niet om op af te wachten.
De signalen staan er meestal al, alleen kijkt niemand ernaar. Ik loop drie plekken langs. Begin bij het logbestand van je server. Daar staan de waarschuwingen letterlijk in, met bestandsnaam en regelnummer erbij. Je hostingpartij kan je daar bij helpen. Kijk daarna naar de statuspagina van je systeem. Die meldt vaak welke onderdelen verouderd zijn en welke versie wordt aanbevolen. De derde is de nuttigste voorspeller. Kijk per uitbreiding wanneer de laatste update verscheen. Staat er twee jaar stil, dan gaat die vroeg of laat problemen geven. Je hoeft niet elke waarschuwing zelf te kunnen lezen. Het gaat erom dat je weet dat ze er zijn. Ik neem deze controle standaard mee bij onderhoud. Zet die controle een keer per kwartaal in je agenda. Het kost een half uur en je hoeft er geen ontwikkelaar voor te zijn. Je kijkt vooral of er iets stilstaat, niet wat er precies in de code gebeurt.
Op korte termijn niets, en dat is precies waarom het blijft liggen. De site werkt, klanten klagen niet en er is geen aanleiding. Elke afgekeurde functie die je laat staan, is technische schuld. Rente die je niet ziet, tot het moment dat je gedwongen wordt te betalen. Dat moment komt altijd. Je hostingpartij werkt de serversoftware bij, want dat moeten ze voor de beveiliging. Dan valt er ineens een deel uit. Er is nog een tweede risico dat zwaarder weegt. Een uitbreiding die niet meer onderhouden wordt, krijgt ook geen beveiligingsfixes. Wordt er een lek gevonden, dan wordt dat niet gedicht. Het is dus niet alleen een kwestie van werken of niet werken. Het is ook een kwestie van veilig zijn of niet. Weeg het risico ook af tegen wat de site je oplevert. Draait er een webshop op, dan is uitstellen veel duurder dan bij een eenvoudige bedrijfssite. Die afweging maak je bewust, niet per ongeluk.
Nooit rechtstreeks op de live site. Dat is de belangrijkste regel en de meest overtreden regel. Ik zet eerst een kopie van de site op een aparte omgeving. Daar verhoog ik de versie en kijk ik wat er stukgaat. Zo weet je vooraf hoeveel werk het is. Daarna los ik het in die kopie op. Verouderde aanroepen vervangen door de nieuwe variant. Uitbreidingen die niet meer onderhouden worden, vervang ik door een alternatief. Vervolgens test ik alles wat kan breken. Formulieren, betalingen, filters, inloggen. Pas als dat klopt, gaat het naar de live site. Goede webhosting maakt zo’n kopie met een paar klikken. Dat scheelt uren werk en het scheelt vooral risico. Zonder kopie doe je aan hopen. Maak altijd eerst een volledige back-up, ook van de database. Gaat er iets mis, dan draai je terug in plaats van te repareren onder tijdsdruk. Dat is het verschil tussen een uurtje werk en een avond.
Weet je niet of er verouderde code in jouw website zit? Stuur me je site via het formulier hieronder. Ik kijk in de logbestanden en in je uitbreidingen en meld wat er speelt. Dan weet je of het urgent is of dat het kan wachten. Vermeld je plaats, dan weet ik meteen waar je zit.

Waar kan ik je mee helpen?