Website kennis Terug naar blog

Soft 404 opsporen en oplossen: welke pagina moet blijven?

Een soft 404 los je op door de HTTP-status, de zichtbare inhoud en het doel van een URL samen te beoordelen. Een pagina die technisch succesvol laadt, kan inhoudelijk toch een doodlopende weg zijn. Onderzoek daarom eerst wat bezoekers en Google daadwerkelijk kunnen zien. Kies daarna of je de inhoud herstelt, de URL behoudt, doorverwijst of een echte foutstatus teruggeeft.

AlbinNiblah 08 Oct 2026 28 min lezen

Een soft 404 los je op door de HTTP-status, de zichtbare inhoud en het doel van een URL samen te beoordelen. Een pagina die technisch succesvol laadt, kan inhoudelijk toch een doodlopende weg zijn. Onderzoek daarom eerst wat bezoekers en Google daadwerkelijk kunnen zien. Kies daarna of je de inhoud herstelt, de URL behoudt, doorverwijst of een echte foutstatus teruggeeft.

Wat een soft 404 zegt over status en inhoud

Een HTTP-status beschrijft hoe een server een verzoek afhandelt. Bij 200 meldt de server dat het verzoek succesvol is verwerkt. Bij 404 meldt hij dat de opgevraagde bron niet is gevonden. Een soft 404 ontstaat wanneer Google een pagina als een foutpagina beoordeelt, terwijl de server geen bijpassende foutstatus teruggeeft.

Volgens de Google-documentatie over HTTP-statuscodes garandeert een 2xx-respons geen indexatie. Lege inhoud of een foutmelding op een succesvol opgevraagde pagina kan tot een soft-404-classificatie leiden. Ook problemen bij het laden van belangrijke onderdelen kunnen verklaren waarom de uiteindelijke pagina weinig bruikbare inhoud bevat.

Een gewone 404 is dus niet automatisch een SEO-probleem. Als een verwijderde pagina geen opvolger heeft, kan dat juist de passende respons zijn. Een bruikbare 200-pagina geeft wel het bedoelde antwoord en is technisch toegankelijk. Ook dan blijven andere voorwaarden voor indexatie relevant, zoals indexeringsinstructies en de gekozen canonieke URL.

Maak bij onderzoek onderscheid tussen bewijs en vermoeden. Staat een URL in Search Console als soft 404, dan heb je een gerapporteerde classificatie. Zie je zelf een lege productpagina, dan heb je een diagnostische hypothese. Daarmee kun je gericht testen, maar je kent nog niet Googles oordeel. Google publiceert geen volledige detectieflow waarmee je dat oordeel exact kunt nabootsen.

Verzamel verdachte URL’s en bepaal hun prioriteit

Begin in het pagina-indexeringsrapport van Search Console en verzamel de beschikbare soft-404-voorbeelden. Vul die lijst aan met een crawl van je website. Zoek daarin naar 200-pagina’s met foutmeldingen, ontbrekende productgegevens, lege hoofdinhoud of opvallend veel identieke teksten.

Geen van beide bronnen vormt op zichzelf een volledige inventarisatie. Search Console laat niet noodzakelijk iedere getroffen URL als voorbeeld zien. Een crawler kan afhankelijk van zijn instellingen JavaScript anders verwerken dan een browser. Visuele controle is daarom een aparte stap: open voorbeelden uit iedere groep en kijk wat een bezoeker ermee kan.

Gebruik logbestanden om te onderzoeken welke URL’s zijn opgevraagd, wanneer dat gebeurde en welke status de server registreerde. Controleer bij vermeend Googlebot-verkeer ook de herkomst; een user-agentnaam alleen is geen betrouwbare identificatie. Een log toont fetchgedrag, geen rechtstreeks bewijs van Googles soft-404-oordeel.

Groepeer vervolgens op template en oorzaak. Twintig lege productpagina’s kunnen één fout in de producttemplate delen. Geef prioriteit aan URL’s die bezoekers nodig hebben: belangrijke producten, navigatiecategorieën en pagina’s waar campagnes of veel interne links naartoe wijzen. Een SEO-audit helpt om zulke signalen in samenhang te onderzoeken.

Controleer van serverstatus tot gerenderde pagina

Doorloop voor iedere representatieve URL hetzelfde controlepad. Noteer datum, apparaatweergave en gebruikte omgeving. Zo voorkom je dat de ene controle een testversie betreft en de andere een oude productiepagina.

  1. Vraag de volledige URL op. Controleer met een GET-verzoek de status en eventuele redirectketen. Alleen een HEAD-verzoek kan een onvolledig beeld geven wanneer een server dat anders afhandelt.
  2. Bekijk de geladen pagina. Controleer of de hoofdinhoud het verwachte antwoord geeft. Een zichtbare kop en footer maken een ontbrekende productbeschrijving of lege categorie nog niet bruikbaar.
  3. Controleer de mobiele weergave. Bekijk of belangrijke inhoud op een kleiner scherm aanwezig en bereikbaar blijft. Let op foutmeldingen, overlays en onderdelen die pas na een handeling verschijnen.
  4. Vergelijk HTML en render. Kijk welke inhoud de server meteen levert en wat pas na uitvoering van JavaScript verschijnt. Ontbreekt de hoofdinhoud na rendering, onderzoek dan het laadproces.
  5. Controleer opgehaalde resources. Bekijk in het netwerktabblad van de browser of scripts, API-verzoeken en andere noodzakelijke bestanden slagen. Noteer blokkades, time-outs en foutresponsen.
  6. Gebruik URL-inspectie in Search Console. Vergelijk de beschikbare gegevens van de geïndexeerde versie met een live test. Bekijk waar beschikbaar de geteste HTML, screenshot en informatie over geladen resources.

Een geslaagde live test bewijst niet dat Google de pagina inmiddels heeft geïndexeerd of een eerdere classificatie heeft aangepast. De test helpt vooral om de actuele toegankelijkheid te onderzoeken. Bewaar daarom zowel je eigen waarneming als de datum en uitkomst van de Google-controle. Dit soort verschillen hoort bij de diagnose binnen technische SEO.

Kies de oplossing op basis van de oorzaak

Dezelfde melding kan verschillende herstelacties vragen. Bepaal eerst waarom de URL bestaat en welk antwoord iemand daar verwacht. Gebruik daarna deze beslismatrix.

Situatie Eerst onderzoeken Voorwaardelijke keuze Bewijs na aanpassing
Product tijdelijk niet op voorraad Komt het terug en blijft productinformatie nuttig? Behoud een bruikbare 200-pagina als de URL haar functie houdt. Toon de voorraadstatus en alleen betrouwbare beschikbaarheidsinformatie. Productgegevens blijven zichtbaar; bezoekers begrijpen of bestellen mogelijk is.
Product definitief verwijderd Bestaat een echte opvolger die dezelfde behoefte vervult? Gebruik een 301 naar die opvolger, of een echte 404/410 wanneer de pagina verdwijnt zonder passende vervanging. De redirect eindigt direct op de juiste pagina, of de verwijderde URL geeft de bedoelde foutstatus.
Lege categorie of filterselectie Is de leegte tijdelijk en heeft deze selectie een zelfstandig doel? Herstel het aanbod of geef nuttige begeleiding. Verwijder blijvend betekenisloze URL’s uit de structuur en bepaal hun verdere afhandeling afzonderlijk. De categorie helpt bezoekers verder; filters produceren geen onbedoelde lege URL-reeksen.
Pagina met vrijwel geen nuttig antwoord Welke concrete vraag blijft onbeantwoord? Vul de ontbrekende informatie aan, voeg overlappende pagina’s samen of verwijder een pagina zonder zelfstandig doel. De hoofdinhoud beantwoordt de bedoelde vraag zonder afhankelijkheid van algemene opvultekst.
JavaScript- of resourcefout Welk script of gegevensverzoek veroorzaakt ontbrekende inhoud? Herstel de technische afhankelijkheid en beoordeel of essentiële inhoud betrouwbaarder vanuit de server geleverd kan worden. De hoofdinhoud verschijnt bij herhaalde renders en noodzakelijke requests slagen.

Tijdelijke voorraad vraagt om een bruikbare productpagina

Een uitverkocht artikel is niet hetzelfde als een verdwenen pagina. Bezoekers kunnen nog maten, specificaties, onderhoudsinformatie of compatibiliteit nodig hebben. Laat die gegevens staan wanneer ze relevant blijven. Vermeld duidelijk dat het product tijdelijk niet leverbaar is en toon eventueel passende alternatieven als aanvullende keuze.

Verzin geen terugkomdatum. Als de datum onbekend is, zeg dat gewoon. Een automatische 410 of redirect zodra de voorraad nul wordt, maakt de URL afhankelijk van dagelijkse voorraadschommelingen. Bespreek zulke regels daarom als onderdeel van je ecommerce-SEO, samen met de manier waarop producten uit het assortiment verdwijnen.

Lege filters vragen om afzonderlijke URL-keuzes

Een lege combinatie van maat, kleur en materiaal kan door een geldige bezoekersselectie ontstaan. Dat betekent niet dat iedere combinatie een zelfstandige zoeklandingspagina nodig heeft. Onderzoek welke filters nuttig zijn voor navigatie, welke URL’s intern worden gelinkt en welke selecties blijvend aanbod kunnen tonen.

Gebruik geen vaste combinatie van noindex en robots.txt voor alle filters. Een crawlblokkade kan verhinderen dat een crawler de noindex-instructie op de pagina leest. Bovendien herstelt een indexeringsinstructie geen kapotte gebruikerspagina. Maak eerst de navigatie begrijpelijk en bepaal daarna per URL-groep hoe crawling en indexering moeten worden ingericht.

Herstel het ontbrekende antwoord zonder woordenaantaldoel

Een korte pagina kan prima werken als de vraag klein is. Er is geen universele Google-grens van vijftig of honderd woorden waarmee je een soft 404 oplost. Onderzoek liever wat ontbreekt: bijvoorbeeld afmetingen, toepassingsvoorwaarden, beschikbare varianten of een uitleg van de vervolgstap.

Bij een dienstenpagina helpt een extra algemene alinea over kwaliteit zelden om een concrete informatieleemte te vullen. Beschrijf welke werkzaamheden onder de dienst vallen en welke informatie nodig is voor een aanvraag. Dat is een inhoudelijke opdracht voor SEO-content, geen opdracht om de tekst alleen langer te maken.

Gebruik dit URL-werkblad voor iedere herstelbeslissing

Leg de diagnose en de gewenste uitkomst naast elkaar vast. Daarmee kan een ondernemer de beslissing controleren en weet een ontwikkelaar wat er moet veranderen. Gebruik één regel per URL, met een gedeelde groepsnaam voor pagina’s uit dezelfde template.

Veld Wat je vastlegt
URL en templategroep De volledige URL, inclusief relevante parameters, en bijvoorbeeld product, categorie of dienst.
Bedoeld antwoord Eén zin: wat moet een bezoeker hier kunnen vinden of doen?
Gemeten situatie Status, redirectbestemming, zichtbare hoofdinhoud, mobiele render en mislukte resources.
Bewijs en datum Search Console-classificatie, live-testdatum, screenshot, crawlbevinding en relevante logregel.
Oorzaak en zekerheid Bevestigde oorzaak of hypothese, met de controle die een open vraag kan beantwoorden.
Prioriteit Hoog bij een belangrijke gebruikersroute of een fout die een hele template treft; lager bij een geïsoleerde, ongebruikte URL.
Besluit en eigenaar Behouden, herstellen, doorverwijzen of verwijderen, plus wie inhoud en techniek uitvoert.
Acceptatiecriterium De exacte status, inhoud en bestemming die na publicatie aantoonbaar aanwezig moeten zijn.

Fictief rekenvoorbeeld: een webshop onderzoekt 24 verdachte URL’s. Daarvan zijn 9 producten tijdelijk uit voorraad, 5 producten definitief verdwenen zonder opvolger, 6 filterpagina’s onbedoeld leeg en 4 productpagina’s getroffen door dezelfde JavaScript-fout. De controle is compleet wanneer 9 + 5 + 6 + 4 = 24 URL’s een onderbouwd besluit hebben.

Dit zijn vier herstelgroepen, geen 24 losse technische projecten. De voorraadgroep vraagt controle van de productinformatie, de verwijderde producten vragen een passende foutstatus, de filters vragen onderzoek naar navigatie en aanbod, en de laatste groep vraagt één gedeelde technische reparatie met controle op alle vier URL’s. Het voorbeeld zegt niets over verkeer of rankings; het laat zien hoe je werk afbakent.

Voer het herstel uit en verifieer de gepubliceerde versie

Leg vóór de uitvoering per groep het besluit vast. Laat de inhoudelijke eigenaar bevestigen of een product terugkomt, of een opvolger echt passend is en of een categorie nog een functie heeft. Pas daarna de technische regels aan.

  1. Herstel blijvende pagina’s. Vul ontbrekende inhoud aan of repareer de template en gegevenskoppeling. Een tijdelijke pagina behoudt alleen zin als zij bezoekers nog bruikbare informatie geeft.
  2. Stel verwijderde URL’s correct in. Gebruik 404 voor een niet gevonden pagina of 410 om bewuste verwijdering aan te geven. Geef bezoekers daarbij een begrijpelijke foutpagina; alleen de tekst veranderen terwijl de status 200 blijft, is onvoldoende.
  3. Verwijs uitsluitend relevant door. Gebruik een 301 bij een permanente verhuizing naar een echte opvolger. Stuur verwijderde producten niet standaard naar de homepage. Controleer of de bestemming de oorspronkelijke behoefte voldoende opvangt.
  4. Werk de sitemap bij. Haal verwijderde en doorgestuurde URL’s eruit. Neem de bedoelde indexeerbare bestemmingen op volgens je sitemapbeleid.
  5. Werk interne links bij. Laat navigatie, categorieën en redactionele verwijzingen direct naar de juiste bestemming wijzen. Verwijder links waarvoor geen bruikbaar doel meer bestaat.
  6. Controleer na publicatie opnieuw. Herhaal status-, inhouds- en rendertests op de publieke URL’s. Controleer daarnaast enkele onaangepaste pagina’s uit dezelfde template op onbedoelde gevolgen.

Bij het aanpassen van interne links gaat het ook om de betekenis van de linktekst. Een link met een specifieke productnaam hoort niet ongemerkt op een brede overzichtspagina uit te komen.

Bewijs dat je de juiste paginaversie hebt getest

Een screenshot van een testomgeving bewijst niet dat de wijziging publiek staat. Noteer de publieke hostnaam, volledige URL, uiteindelijke bestemming en controletijd. Controleer zonder ingelogde beheerderssessie, zodat je geen afwijkende beheerdersweergave beoordeelt.

Kies ook een herkenbaar controlepunt uit de wijziging, zoals herstelde productspecificaties of de aangepaste voorraadmelding. Leg dit vast naast de responsstatus. Voor een redirect noteer je de hele keten; voor een verdwenen pagina zowel de foutstatus als de zichtbare foutpagina.

Houd rekening met caches bij WordPress, Shopify en eventuele tussenliggende diensten. Een beheeromgeving kan nieuwe inhoud tonen terwijl bezoekers nog een oudere versie ontvangen. Vergelijk bij twijfel meerdere publieke verzoeken en onderzoek waar het verschil ontstaat. Pas als status én inhoud overeenkomen met het acceptatiecriterium, is de publicatie technisch gecontroleerd.

Volg daarna in Search Console hoe de gerapporteerde situatie zich ontwikkelt. Gebruik waar beschikbaar de validatiefunctie voor de opgeloste foutgroep. Houd publicatiedatum, live-testdatum en latere rapportage uit elkaar. Een vaste termijn voor herclassificatie, indexatie of rankingherstel kun je hier niet uit afleiden. Maak deze voortgang zichtbaar in je SEO-rapportage.

Voorkom herhaling met templatecontrole en duidelijke taken

Voeg aan je controle vóór publicatie enkele vaste situaties toe: een leverbaar product, een uitverkocht product, een verwijderd product, een lege categorie en een pagina waarvan een gegevensverzoek mislukt. Bekijk per situatie de status en de bruikbaarheid van de inhoud. Herhaal deze controle na wijzigingen aan thema’s, apps, plugins en productkoppelingen.

Verdeel het werk expliciet. De assortimentsverantwoordelijke bepaalt de productstatus en eventuele opvolger. De contentspecialist bepaalt welk antwoord ontbreekt. De ontwikkelaar verzorgt statuscodes, redirects en rendering. De SEO-specialist verzamelt bewijs, controleert de samenhang en volgt de rapportage.

Bewaar uitzonderingen in het werkblad. Zo wordt een bewust behouden archiefpagina niet bij de volgende opschoonronde alsnog verwijderd. Controleer periodiek ook nieuwe voorbeelden in Search Console en vergelijk die met bestaande templategroepen. Een terugkerend patroon verdient onderzoek naar de gedeelde oorzaak.

Beslis per verlopen cursus welk antwoord blijft bestaan

Neem een fictieve organisator van kleinschalige cursussen. Alle aantallen, routecodes en situaties in de onderstaande uitwerking zijn fictief; echte beschikbaarheid, prijzen en meetresultaten zijn onbekend. De organisator onderzoekt drie verlopen cursuspagina’s. Ze delen een oude cursusdatum, maar bezoekers hebben op iedere pagina iets anders nodig. Daarom krijgt iedere pagina een eigen inhoudelijk besluit.

Bewaar een archief dat deelnemers nog helpt

Bij cursus A zoeken voormalige deelnemers de handleiding voor een oefening. De cursus is voorbij, maar de instructie blijft bruikbaar. De inhoudseigenaar bevestigt welke versie bij deze cursus hoort en of de uitleg zelfstandig te begrijpen is. Het besluit kan dan zijn: behoud de pagina als herkenbaar archief met de juiste handleiding en een duidelijke melding dat deze editie afgelopen is.

De acceptatieproef begint bij de deelnemer: kun je zonder voorkennis de juiste oefening vinden en uitvoeren? Een oude aanmeldknop die nog een beschikbare plek suggereert, faalt die proef. Een verwijzing naar de bewaarde instructie slaagt alleen als die instructie daadwerkelijk opent. Noteer [inhoudseigenaar], [bevestigde handleiding] en [te verwijderen aanmeldhandeling].

Sluit een verdwenen aanbod bewust af

Cursus B is definitief vervallen. De eigenaar bevestigt dat er geen zelfstandige handleiding, nazorgfunctie of passende opvolger overblijft. Leg dat antwoord vast voordat de beheerder de pagina verwijdert. Een echte 404 of 410 kan hier passen, afhankelijk van het vastgelegde verwijderbesluit. De foutpagina mag uitleg geven, maar mag niet doen alsof deze cursus nog bestaat.

Controleer apart de navigatie. Verwijder de cursus uit het actuele aanbod en pas verwijzingen in relevante artikelen aan. Dat is een andere taak dan de status instellen. Een correcte foutstatus maakt een verouderde knop met de tekst ‘Meld je aan’ niet begrijpelijk. Gebruik de homepage niet als automatische opvang voor dit vervallen aanbod.

Toets een opvolger aan de oorspronkelijke leerbehoefte

Cursus C heeft volgens de eigenaar een vervanger. Vergelijk [oude leerdoel], [vereiste voorkennis] en [nieuwe leerdoel] voordat je een permanente redirect instelt. Een vergelijkbare titel is onvoldoende als beginners ineens bij een cursus voor gevorderden uitkomen. Bij wezenlijk dezelfde leerbehoefte kan de opvolger wel een passende bestemming zijn.

Laat iemand vanuit de oude verwijzing controleren wat er gebeurt. Die persoon moet begrijpen welk aanbod de oorspronkelijke cursus vervangt en waar de relevante informatie staat. Houd in het werkblad drie afzonderlijke besluiten bij: wat de inhoudseigenaar bevestigt, welke status de beheerder toepast en welke navigatielinks veranderen. Zo overschrijft een technische keuze niet ongemerkt het inhoudelijke oordeel.

Onderscheid lege cursusgegevens van een mislukte koppeling

De fictieve organisator toont cursusinformatie uit een gekoppelde gegevensbron. Een leeg scherm kan betekenen dat een selectie werkelijk niets oplevert, dat benodigde informatie nog onbekend is of dat het verzoek is mislukt. Laat de bevoegde beheerder deze situaties gecontroleerd nabootsen in een geschikte testomgeving. Verander daarvoor geen echte inschrijvingen of openbare cursusgegevens.

Proef met een bevestigd nulresultaat

Verwacht: de gegevensbron antwoordt succesvol en bevestigt dat de gekozen selectie geen cursussen bevat. De pagina legt uit welke selectie actief is en hoe je die kunt aanpassen. Waargenomen: vul [respons], [selectie] en [zichtbare uitleg] in. Besluit: accepteer de lege toestand uitsluitend als de getoonde uitleg overeenkomt met het bevestigde resultaat.

De bezoeker moet bijvoorbeeld een gekozen onderwerp kunnen loslaten zonder opnieuw te moeten beginnen. Controleer of de aangepaste selectie echt naar de bedoelde resultaten leidt. Verschijnt alleen ‘Er ging iets mis’, dan is de techniek mogelijk bereikbaar, maar vertelt de pagina het verkeerde verhaal over een geldige selectie.

Proef met nog onbekende cursusinformatie

Verwacht: de pagina maakt onderscheid tussen bekende cursusinhoud en ontbrekende gegevens. Waargenomen: noteer welke velden bevestigd zijn en welke nog geen betrouwbare waarde hebben. Besluit: laat onbekende informatie herkenbaar onbekend en wijs een eigenaar aan voor aanvulling. Een lege duur mag niet automatisch veranderen in een duur van nul minuten.

Laat evenmin een verzonnen datum verschijnen om het blok gevuld te houden. Onderzoek welke handeling nog verantwoord mogelijk is. Je kunt inhoudelijke cursusinformatie tonen terwijl een concrete aanmeldmogelijkheid nog niet bevestigd is. De bevoegde beheerder beoordeelt samen met de inhoudseigenaar welk beschikbaarheidsscenario werkelijk geldt; de lege waarde beslist dat niet zelfstandig.

Proef met een mislukte aanvraag bij de gegevensbron

Verwacht: een mislukte aanvraag wordt herkenbaar onderscheiden van geen aanbod. Waargenomen: leg [mislukt verzoek], [tijdstip], [zichtbare melding] en [nog beschikbare inhoud] vast. Besluit: herstel de afhankelijkheid en bepaal welke tijdelijke paginarespons bij deze storing past. Geef niet uitsluitend vanwege de haperende koppeling een 404 aan een cursuspagina die nog bestaat.

Een bewaarde oudere respons kan in sommige situaties informatie leveren, maar kan ook onjuiste beschikbaarheid tonen. Laat de beheerder daarom per gegeven bepalen of hergebruik verantwoord is. Leg vast wie dat beoordeelt en waarop de keuze berust. Deze proef vraagt geen uniforme cacheregel voor alle pagina’s, maar een aantoonbaar verschil tussen onbekende, ontbrekende en niet opgehaalde informatie.

Verenig inventarissen zonder verschillende adressen samen te vegen

Gebruik routecodes alleen als korte labels voor volledige adressen. In dit fictieve inventarisvoorbeeld heeft de crawler acht routes, het rapport zes routes en het CMS zeven gepubliceerde routes. De verzamelingen overlappen, waardoor optellen een verkeerd beeld geeft van het aantal te onderzoeken adressen.

  • Crawler: R01, R02, R03, R04, R05, R06, R07 en R08.
  • Rapport: R02, R03, R05, R07, R09 en R10.
  • Gepubliceerd in het CMS: R01, R02, R04, R06, R07, R09 en R10.

De vereniging bevat precies tien routes: R01 tot en met R10. Alleen R02 en R07 komen in alle drie de verzamelingen voor. R08 staat uitsluitend in de crawlerlijst. R03 en R05 staan wel in crawler en rapport, maar niet in deze CMS-selectie. Dat zijn onderzoeksvragen, geen bewijs dat die pagina’s automatisch verwijderd moeten worden.

Koppel iedere routecode aan een onveranderd adres

Maak naast de lijst een adresregister met [routecode], [volledige URL], [bron] en [vastlegtijd]. Bewaar protocol, host, pad en relevante parameters. Als een onderwerpfilter het antwoord verandert, hoort die selectie bij de adresidentiteit. Voeg zulke adressen niet samen omdat het pad vóór het vraagteken gelijk is. Leg eventuele latere samenvoeging afzonderlijk uit.

Gebruik ook geen CMS-recordnummer als stilzwijgende vervanging voor een publieke URL. Een cursusrecord kan verschillende publieke weergaven hebben; een conceptrecord hoeft helemaal geen openbare route te hebben. Neem privégegevens en concepten niet op als gepubliceerde pagina’s om de aantallen passend te maken. Het register beschrijft publieke adressen binnen de afgesproken onderzoeksgrens.

Maak de onderzoeksgrens controleerbaar

Leg vóór de vergelijking [tijdvak], [publieke host], [publicatiestatus] en [opgenomen routegroep] vast. Controleer deze velden bij iedere export. Als de crawler een andere host gebruikte, is het verschil nog niet inhoudelijk te beoordelen. Als het CMS na een publicatiewijziging is uitgelezen, moet je die wijziging eerst naast de eerdere inventaris leggen.

Voor dit fictieve voorbeeld gelden dezelfde afgebakende host en routegroep, met gepubliceerde routes binnen hetzelfde vastgelegde tijdvak. Bij toepassing op je eigen website moet je dat met de exports aantonen. Een historisch rapportvoorbeeld krijgt bovendien zijn eigen waarnemingsdatum; een gelijk exportmoment maakt de achterliggende waarnemingen niet gelijktijdig.

Onderzoek R08 vervolgens gericht: welk volledig adres vond de crawler, via welke verwijzing, en wat verschijnt daar publiek? Zonder dat bewijs blijft de verklaring onbekend. Hetzelfde geldt voor ontbrekende CMS-vermeldingen. De vereniging is een werklijst voor controle, geen verklaring van de oorzaak en geen volledige lijst van alles wat ooit bereikbaar was.

Bewaar bij een verschil ook de vindplaats. Voor R08 kan dat [verwijzende pagina] met [linktekst] zijn. Controleer of die verwijzing nog publiek bestaat en of het volledige doeladres gelijk is aan het gecrawlde adres. Is de verwijzing verdwenen, noteer dan beide waarnemingsmomenten. Is het adres alleen handmatig aan de crawl toegevoegd, vermeld die invoer. Zo onderscheid je een daadwerkelijk gevonden bezoekersroute van een losse onderzoeksingang zonder de URL bij voorbaat uit je werklijst te schrappen.

Beoordeel het antwoord naast de technische signalen

Ken aan iedere ontdekkingsmethode een begrensde conclusie toe. Een Search Console-classificatie vertelt hoe de URL in de geraadpleegde rapportage is ingedeeld. Ze vertelt niet zelfstandig welke zin of koppeling je moet herstellen. Een crawler die een 200-respons met een foutmelding vindt, levert een concrete aanwijzing voor onderzoek, maar geen vervangend oordeel van Google.

Een bevestigd logverzoek toont dat een bepaald adres op een vastgelegd moment is aangevraagd en welke status daarbij is geregistreerd. Het bewijst niet dat de bezoeker een bruikbaar antwoord kreeg. Een menselijke antwoordreview kan juist dat antwoord beoordelen, maar bewijst op zichzelf geen indexatie of classificatie. Bewaar deze conclusies naast elkaar zonder ze tot één score samen te persen.

Gebruik een vragenblad dat iemand daadwerkelijk kan invullen

  1. Welke bezoekervraag ligt hier? Schrijf de concrete taak op, bijvoorbeeld: ‘Kan ik bepalen welke voorbereiding voor deze cursus nodig is?’ Vermijd een algemeen doel als ‘informatie vinden’.
  2. Welk beschikbaar feit beantwoordt die vraag? Noteer de exacte passage of het zichtbare gegeven en wie de juistheid heeft bevestigd. Vul [ontbrekend feit] in wanneer het antwoord nergens staat.
  3. Welke bediening heeft de bezoeker nodig? Beschrijf de handeling, zoals het openen van een handleiding. Controleer of die handeling met de getoonde bediening werkelijk uitvoerbaar is.
  4. Welke volgende URL hoort daarbij? Noteer de feitelijke bestemming en beoordeel of die dezelfde taak voortzet. Een passend knoplabel bewijst nog niet dat de bestemming klopt.
  5. Welk bewijs ontbreekt nog? Benoem precies welke controle of eigenaarbevestiging nodig is. ‘Nog nakijken’ is onvoldoende om iemand gericht verder te laten werken.

Laat de reviewer eerst antwoorden vanuit de werkelijk zichtbare body. Een cursustitel met een onderwerp is nog geen uitleg van de voorbereiding. Een knop naar een algemeen overzicht beantwoordt niet vanzelf de vraag waar je de bijbehorende instructie vindt. Schrijf bij een afkeuring de ontbrekende stap op, zodat de schrijver geen willekeurige extra alinea hoeft te bedenken.

Eventueel kan AI op goedgekeurde publieke inhoud kandidaten voor ontbrekende antwoorden aanwijzen. Een persoon controleert daarna iedere suggestie op de echte pagina en bij de inhoudseigenaar. Gebruik geen privélogs of klantgegevens in een open model. De uitkomst blijft een redactionele onderzoekslijst, zonder classificatiescore en zonder veronderstelde automatische route naar een besluit van Google.

Wanneer de passage wel bestaat maar onvindbaar achter een onduidelijke handeling zit, geef je de taak aan degene die de bediening beheert. Wanneer het feit ontbreekt, gaat de vraag naar de inhoudseigenaar. Zo levert hetzelfde vragenblad verschillende, uitvoerbare opdrachten op in plaats van steeds het verzoek om meer tekst.

Onderzoek waarom een beheerder andere cursusinhoud ziet

In een fictieve controle ontbreekt de cursusinhoud op de publieke URL. Later laat een ingelogde beheerder op hetzelfde adres een gevulde pagina zien. Beide waarnemingen kunnen kloppen. De tweede screenshot bewijst alleen wat die beheerder op dat moment zag; hij verklaart niet waarom de eerdere bezoeker geen inhoud kreeg.

Leg beide waarnemingen afzonderlijk vast met [volledig adres], [tijdstip], [sessiestatus], [zichtbare inhoud] en [geladen resources]. Controleer ook de uiteindelijke host na eventuele doorverwijzingen. Een gelijk pad op een voorbeeldomgeving is geen gelijk publiek adres. Bewaar het verschil voordat je instellingen aanpast, anders verdwijnt mogelijk het spoor naar de oorzaak.

Herhaal de bezoekershandeling zonder beheerderssessie

Open de afgesproken publieke URL in een gewone uitgelogde situatie en voer dezelfde bezoekershandeling uit. Noteer of de cursusbeschrijving meteen verschijnt, na een handeling verschijnt of ontbreekt. Bekijk gericht het verzoek dat die beschrijving moet leveren. Leg het resultaat vast zonder beveiliging te omzeilen of telkens onbeperkt opnieuw te blijven ophalen.

Vergelijk vervolgens de publicatiegegevens. Staat de bedoelde inhoud gepubliceerd, of zag de beheerder een concept of voorbeeldversie? Controleer daarna of een cache een andere versie levert en of de gegevensbron afhankelijk is van de sessie. Formuleer per verschil een toetsbare hypothese: [mogelijke oorzaak], [gerichte controle] en [uitkomst die deze verklaring ondersteunt].

Als de uitgelogde controle dezelfde lege body laat zien, blijft publieke reparatie onbewezen, ook wanneer de beheerder alles ziet. Als de uitgelogde pagina inmiddels gevuld is, leg dan vast welke wijziging tussen beide controles plaatsvond. Zonder wijzigingsbewijs kun je de actuele toestand bevestigen, maar de eerdere oorzaak nog niet met zekerheid aanwijzen.

Kies een inhoudelijk herkenningspunt voor de hercontrole

Gebruik een hersteld cursusonderdeel als herkenningspunt, bijvoorbeeld de bevestigde voorbereiding. Laat de beheerder aangeven welke gepubliceerde versie dat onderdeel bevat. Controleer vervolgens publiek of juist die tekst zichtbaar is en of de bijbehorende vervolghandeling werkt. Alleen dezelfde huisstijl of paginatitel zien onderscheidt de oude en nieuwe versie onvoldoende.

Blijft het verschil bestaan, draag dan de twee volledige waarnemingen over aan de beheerder. Vraag onderzoek naar het aangetoonde verschil tussen sessies, hosts, publicatiegegevens of resources. Daarmee krijgt de beheerder een afgebakend probleem. Een losse melding dat ‘de pagina soms leeg is’ mist de omstandigheden die nodig zijn om het gedrag terug te vinden.

Accepteer cursusinhoud op duur, voorbereiding en aanmelding

Voor een blijvende cursuspagina stelt de fictieve organisator een inhoudelijke acceptatieopdracht op. Een geïnteresseerde moet kunnen bepalen hoe de cursus in de eigen planning past, welke voorbereiding nodig is en hoe de aanmelding verdergaat. Die opdracht vraagt bevestigde cursusfeiten. Een algemene belofte over persoonlijke aandacht vult geen ontbrekende duur in.

Laat de eigenaar elk noodzakelijk feit bevestigen

  • Duur: [bevestigde cursusduur], [wat daaronder valt] en [inhoudseigenaar]. Is de duur onbekend, leg dat vast en publiceer geen aannemelijke schatting als vaststaand gegeven.
  • Voorbereiding: [benodigde voorkennis], [mee te nemen materiaal] en [vooraf uit te voeren handeling]. Laat de eigenaar ook bevestigen wanneer voorbereiding niet nodig is.
  • Aanmeldvolgstap: [bedoelde handeling], [juiste bestemming] en [informatie die daarna beschikbaar hoort te zijn]. Controleer of de tekst geen afgeronde inschrijving suggereert wanneer alleen een aanvraag wordt verstuurd.

Controleer bij duur ook de betekenis van het gegeven. Alleen een aantal uren noemen kan onvoldoende zijn als onduidelijk blijft of voorbereiding daarbij hoort. Vraag de eigenaar de bedoelde afbakening te bevestigen. Vul ontbrekende details niet zelf in omdat een andere cursus dezelfde opzet lijkt te hebben.

Laat een tweede lezer de keuze uitvoeren

Geef een tweede lezer uitsluitend de publieke pagina en de taak: bepaal of je de cursus kunt voorbereiden en vind de juiste aanmeldstap. Laat die persoon aanwijzen waar ieder antwoord staat. Vraag bij twijfel naar het exacte gat, bijvoorbeeld: ‘Ik zie welk materiaal nodig is, maar niet of ik het zelf moet meenemen.’

Zo’n bevinding leidt tot een gerichte eigenaarvraag. Na bevestiging pas je de betreffende passage aan en herhaal je dezelfde taak. Wanneer de lezer de voorbereiding correct kan benoemen maar de knop verkeerd uitkomt, is de inhoud op dat punt mogelijk voldoende en blijft een bestemmingsfout over. Registreer die uitslagen afzonderlijk.

Is de cursusduur nog niet vastgesteld, dan kan de pagina daar eerlijk over zijn. Toch slaagt de taak ‘past dit in mijn planning?’ dan nog niet volledig. Markeer dit als een open inhoudelijk besluit, met [verantwoordelijke] en [benodigde bevestiging]. Transparantie over onbekende informatie is nuttig, maar maakt het ontbrekende feit niet ineens beschikbaar.

Bewaar voor acceptatie de relevante publieke passages en het resultaat van de lezerstaak. Publiceer geen persoonsgegevens van deelnemers om aan te tonen dat de cursus echt bestaat of indexeerbaar is. Voor het oplossen van tekstuele gaten kun je het vragenblad gebruiken als gerichte opdracht voor het uitwerken van SEO-content.

Test ook routes die terecht geen cursus tonen

Een reparatie moet bruikbare cursuspagina’s behouden én ongeldige situaties herkenbaar afhandelen. Gebruik daarom positieve en negatieve proeven. Onderstaande paden zijn fictieve testpaden. Spreek de verwachte respons vooraf met de beheerder af en registreer daarnaast steeds de werkelijke status, zichtbare taak en benodigde herstelactie.

  1. Vervallen pad: /cursus/vervallen. Verwacht in deze proef een 404, omdat dit pad volgens het vastgelegde besluit niet meer bestaat. De zichtbare uitleg maakt duidelijk dat deze cursuspagina ontbreekt. Verschijnt toch een 200 met alleen een fouttekst, herstel dan de statusafhandeling.
  2. Onbestaand vervolg: /cursussen/pagina/999. Verwacht in deze fictieve situatie een 404, omdat het overzicht geen dergelijk vervolg heeft. De bezoeker kan begrijpen dat dit paginanummer niet bestaat. Controleer bij een afwijking zowel de routeafhandeling als de link die naar het ongeldige vervolg leidde.
  3. Geldige lege selectie: /cursussen?onderwerp=voorbeeld. Verwacht hier een 200 met een bevestigde lege selectie en bruikbare uitleg om het filter aan te passen. De bezoeker kan terug naar een zinvolle selectie. Herstel ontbrekende begeleiding of foutieve selectiegegevens wanneer die taak vastloopt.
  4. Werkende cursus: /cursus/basis. Verwacht een 200 met de bevestigde cursusinhoud en de juiste vervolghandeling. Laat de lezer duur, voorbereiding en aanmeldstap terugvinden. Herstel het concrete ontbrekende gegeven of de kapotte bestemming als alleen de algemene paginaopmaak verschijnt.
  5. Mislukte bron: /cursus/bronproef. Verwacht de vooraf voor dit storingsscenario vastgelegde status [afgesproken status], met eerlijke uitleg en alleen betrouwbare resterende informatie. Vergelijk die afspraak met de respons. Herstel de bron of foutafhandeling wanneer de pagina de storing presenteert als definitief verdwenen aanbod.

Voer de bronproef gecontroleerd uit, zonder een echte openbare koppeling voor bezoekers stuk te maken. Test de normale toestand na herstel opnieuw. Anders weet je alleen dat de foutmelding werkt, niet dat de cursusinformatie weer verschijnt zodra de bron beschikbaar is.

Een zichtbare H1 of een groen 200-vinkje rondt deze proeven niet af. De verwachte taak verschilt per pad. Door alle lege tekst te verwijderen of alle foutpaden door te sturen, kun je juist de uitleg verliezen die de bezoeker nodig heeft. Noteer per mislukte proef daarom welk afzonderlijk gedrag moet veranderen.

Maak een vrijgavebesluit voor afzonderlijk gecontroleerde routes

In een fictieve vrijgave worden vijftien routes onderzocht. Drie routes missen nog bewijs, negen routes zijn publiek goed bevonden en drie andere routes hebben een ander defect. Deze groepen overlappen niet. De uitkomst is dus geen goedkeuring voor alle vijftien routes en ook geen gewogen SEO-score.

Geef iedere route een eigen code en koppel die aan de testuitkomst. Noteer bij ontbrekend bewijs welke waarneming nodig is; bij een ander defect welk gedrag afwijkt. De negen goed bevonden routes mogen alleen zo worden beschreven wanneer ze alle negen tegen hun eigen acceptatiecriteria zijn gecontroleerd. Een steekproef blijft uitdrukkelijk een steekproef.

Scheid het voorstel van uitvoering en openbaar bewijs

Gebruik afzonderlijke velden voor [voorgestelde wijziging], [uitgevoerde wijziging], [publieke controle] en [vervolg bij Google]. Een goedgekeurd voorstel bewijst geen uitvoering. Een afgeronde uitvoering bewijst geen juiste publieke versie. Een publiek geslaagde controle bewijst geen aangepaste classificatie door Google. Vul alleen het veld in waarvoor werkelijk bewijs beschikbaar is.

Leg vóór uitvoering de scope vast: [betrokken routes], [gewijzigde template of regel], [beheerder] en [herstelbare vorige waarde]. Die vorige waarde kan een instelling, inhoudsversie of concrete redirectregel zijn. Controleer dat de beheerder weet hoe deze teruggezet kan worden als de wijziging onbedoeld andere routes raakt.

Neem een onaangepaste detailroute mee in de controle wanneer een gedeelde template verandert. Kies een route met bevestigde inhoud en toets of die nog hetzelfde antwoord en dezelfde bediening biedt. Een onverwacht verdwenen voorbereidingsblok is een reden om de wijziging te onderzoeken, ook wanneer de oorspronkelijk lege pagina inmiddels gevuld is.

Maak voor de fictieve vrijgave de verdeling ook zichtbaar in het register: V01, V02 en V03 missen bewijs; V04 tot en met V12 zijn publiek goed; V13, V14 en V15 hebben een afzonderlijk defect. Gebruik deze codes niet als vervanging voor de volledige adressen. Zo kan een reviewer controleren dat iedere route precies eenmaal in de verdeling voorkomt.

Ontbreekt bij V01 alleen de uitgelogde inhoudscontrole, vraag dan precies die controle aan. Staat bij V13 een verkeerde aanmeldbestemming vast, registreer dan die fout met de verwachte bestemming. Beide routes zijn nog niet geaccepteerd, maar vragen ander werk. De eerste vraagt bewijs verzamelen; de tweede vraagt een wijziging en daarna een nieuwe proef.

Bepaal bij een defect in een gedeelde template welke vrijgegeven routes mogelijk geraakt worden. Heropen alleen op basis van die concrete afhankelijkheid de betrokken controles. Noteer bij terugzetten welke vorige waarde is hersteld en controleer daarna de publieke uitkomst. Een terugzetactie is pas beoordeeld wanneer zichtbaar is welk gedrag daarmee terugkomt.

Beoordeel vervolgmeldingen op behoud van de bezoekerstaak

Een rapportgroep die verdwijnt, is niet automatisch een geslaagd inhoudelijk herstel. De cursuspagina kan inmiddels een 404 geven, een noindex-instructie bevatten of alleen privé bereikbaar zijn. Onderzoek of dat de afgesproken bedoeling was. Als bezoekers de handleiding nog nodig hebben, kan zo’n wijziging juist de taak hebben weggenomen.

Een blijvende 200-pagina vraagt daarom opnieuw inhoudelijke acceptatie bij relevante wijzigingen. Bewaar [oude inspectiedatum], [datum van het geraadpleegde rapport] en [publieke wijzigingsdatum] afzonderlijk. Voeg latere crawlwaarnemingen en zoekverkeer toe wanneer die beschikbaar zijn. Schrijf een verandering in verkeer niet zonder aanvullend onderzoek toe aan alleen deze reparatie.

Wijs vervolgonderzoek toe aan de eigenaar van de concrete verandering. Een aangepaste cursustemplate vraagt templatecontrole; gewijzigde voorbereiding vraagt inhoudelijke bevestiging; een nieuwe gegevenskoppeling vraagt bronproeven. Plan de volgende controle rond dat risico en de beschikbare waarnemingen, zonder vaste herstelweken te beloven. Gebruik SEO-rapportage om open besluiten, publieke bewijzen en latere rapportbevindingen herkenbaar naast elkaar te bewaren.

Vergelijk de verdwenen melding met het oorspronkelijke besluit

Neem de bewaarde cursus A als tegenproef. Het afgesproken doel was toegang tot de handleiding. Als de rapportmelding verdwijnt doordat de pagina nu privé staat, vraag je de inhoudseigenaar of die toegangsbeperking bedoeld is. Is openbare nazorg nog steeds nodig, dan blijft herstel open. De gunstiger ogende rapportlijst verandert het antwoorddoel niet.

Bij de definitief vervallen cursus B kan een verdwenen melding juist samengaan met de bedoelde foutstatus. Controleer dan dat de cursus werkelijk verwijderd is volgens het besluit en dat actuele navigatie geen aanmelding meer belooft. Het verschil tussen beide gevallen zit in de vastgelegde taak, niet in het feit dat de rapportregel ontbreekt.

Verschijnt bij validatie een uitkomst onder ‘Andere’, onderzoek dan wat er met de pagina is gebeurd. Onbereikbaarheid kan daarbij een verklaring zijn. Schrijf zo’n uitkomst niet automatisch op als geslaagd inhoudelijk herstel. Zet [gerapporteerde uitkomst], [publieke bereikbaarheid] en [bedoelde toegankelijkheid] naast elkaar voordat je het onderzoek afsluit.

Heropen een controle bij een aantoonbaar nieuw verschil

Leg bij een terugkerende melding vast of de cursusinhoud, template of bron sinds de vorige acceptatie is veranderd. Is alleen een oude inspectiedatum zichtbaar, dan heb je nog geen bewijs voor een nieuwe fout. Ontbreekt de voorbereiding opnieuw in een actuele publieke controle, dan is er wel een concreet verschil om te onderzoeken.

Geef de verantwoordelijke [laatst geaccepteerde toestand], [nieuw waargenomen verschil] en [betrokken wijziging] mee. Wanneer de wijziging onbekend is, blijft dat veld open. Laat de eigenaar eerst het verschil verklaren voordat dezelfde reparatie wordt herhaald. Daarmee voorkom je dat een andere oorzaak achter een vertrouwd ogende melding ononderzocht blijft.

Veelgestelde vragen over soft 404

Bewijst een 200-status dat mijn pagina in orde is?

Nee. Een 200-status meldt een succesvol verwerkt verzoek. Controleer daarnaast de hoofdinhoud, rendering en het doel van de URL. Een pagina met een foutmelding of ontbrekend antwoord kan ondanks die status als soft 404 worden beoordeeld.

Moet ik een uitverkocht product verwijderen?

Nee, niet automatisch. Als het product terugkomt of de informatie nuttig blijft, kan de pagina behouden blijven. Toon de voorraadstatus en bruikbare productgegevens. Onderzoek bij definitieve verwijdering of er een echte opvolger is.

Lost noindex een soft 404 op?

Noindex is een instructie over indexering, geen herstel van ontbrekende inhoud of een verkeerde HTTP-status. Bepaal eerst wat de URL moet doen. Kies daarna de inhoud, status en eventuele indexeringsinstructie die daarbij passen.

Kan ik een soft 404 bewijzen met serverlogs?

Nee. Serverlogs laten verzoeken en geregistreerde responsen zien. Ze tonen niet rechtstreeks hoe Google de inhoud heeft beoordeeld. Combineer logs met Search Console, controles van de geladen pagina en onderzoek naar de rendering.

Wanneer verdwijnt de melding na herstel?

Daarvoor is geen vaste termijn te beloven. Controleer eerst of de publieke pagina correct is aangepast. Volg daarna nieuwe crawls en de rapportage in Search Console. Een geslaagde live test betekent niet dat een eerdere melding meteen verdwijnt.

Laat een concrete URL en het bedoelde antwoord beoordelen

Wil je hulp bij een verdachte pagina? Stuur via het Niblah-contactformulier de volledige URL, de eventuele Search Console-melding en één zin over wat de bezoeker daar hoort te vinden. Vermeld ook of het product of de dienst tijdelijk ontbreekt, definitief verdwenen is of gewoon beschikbaar moet zijn. Niblah kan vanuit SEO en WordPress- of Shopify-webdesign helpen om de diagnose te vertalen naar een passende aanpassing.