Terug naar de blog
3 oktober 2025Sergei Solod4 min leestijd

Yandex crawlde mijn blog zonder /en. 308-redirects voorkwamen een reeks 404’s

Nadat ik ongeveer 3.000 /en/blog/...-pagina’s aan de sitemap had toegevoegd, zag ik Yandex de overeenkomstige /blog/...-paden proberen. Bestaande 308-redirects voorkwamen dat die requests in 404’s eindigden. De nuttige les was niet dat Yandex mijn sitemap “kapotmaakte”, maar hoeveel veerkracht een nette redirectlaag toevoegt.

SEOYandexSitemap308-redirectTechnische SEOCrawling

Ik rolde een sitemap-update uit met ongeveer 3.000 nieuwe pagina’s onder /en/blog/.... Kort daarna zag ik in Yandex Webmaster een onverwacht patroon: Yandex probeerde de overeenkomstige paden onder /blog/... te crawlen, dus zonder de prefix /en.

Als die URLs simpelweg 404 hadden teruggegeven, hadden duizenden nutteloze crawlrequests op niet-bestaande paden kunnen uitkomen. Gelukkig had ik al permanente 308-redirects ingesteld van de paden zonder taalprefix naar de echte Engelse URLs.

Die kleine defensieve routinglaag bleek veel waardevoller dan ik had verwacht.

Wat ik daadwerkelijk heb waargenomen

  1. Ik publiceerde een sitemap-update met ongeveer 3.000 nieuwe pagina’s in de structuur /en/blog/....
  2. Daarna liet Yandex Webmaster zien dat Yandex overeenkomstige /blog/...-URLs probeerde te crawlen.
  3. Voor die alternatieve paden bestonden al 308-redirects.
  4. In plaats van te eindigen op een 404 werden de requests doorgestuurd naar de bedoelde /en/blog/...-URLs.

Er is één belangrijke correctie op mijn oorspronkelijke formulering: ik kan niet bewijzen dat Yandex “de sitemap verkeerd parseerde”. Ik zag de onverwachte crawlpaden na de sitemap-update, maar timing alleen bewijst de interne oorzaak niet. Zoekmachines kunnen URLs via verschillende signalen en historische bronnen ontdekken. Zonder sterker bewijs is de precieze conclusie alleen dat Yandex paden crawlde die ik niet verwachtte.

Dat onderscheid is belangrijk. Een crawler die een vreemde URL opvraagt is een observatie. Uitleggen waarom hij die URL koos is een aparte claim.

Waarom de 308-redirects hielpen

Mijn redirectlogica behandelde het kortere pad feitelijk als een permanent alias van de gelokaliseerde URL:

/blog/example-post  -> 308 ->  /en/blog/example-post

Daardoor bereikte een crawler ondanks de onverwachte ingang toch de pagina die ik echt wilde serveren.

308 Permanent Redirect is een permanente HTTP-redirect die requestmethode en body behoudt. Bij gewone GET-requests van crawlers is dat methodebehoud meestal niet het belangrijkste; hier was vooral relevant dat de redirect expliciet permanent is. De huidige documentatie van Yandex Webmaster classificeert zowel 301 als 308 als permanente redirects.

Officiële Yandex Webmaster-documentatie over redirects.

Dat betekent niet dat 308 automatisch beter is dan 301 voor SEO. In mijn geval stonden de 308s er al en deden ze precies wat nodig was: een onverwachte URL werd geen doodlopende weg.

Een redirect is een vangnet, geen sitemap-fix

De redirects beperkten de schade, maar maakten het onverwachte crawlen niet wenselijk. Elke onnodige redirect voegt een request en een extra hop toe. Een te brede regel kan bovendien fouten in URL-generatie verbergen als je niet meer naar de bron van verkeerde URLs zoekt.

Als de sitemap zelf verouderde of redirectende URLs bevat, moet je de sitemap corrigeren en naar de uiteindelijke URLs wijzen. Redirects horen oude, alternatieve of toevallig ontdekte paden op te vangen; ze zijn geen excuus voor slordige URL-data.

In mijn geval bevatte de sitemap al /en/blog/.... De redirects maakten de site alleen robuuster wanneer een crawler via /blog/... binnenkwam.

Wat ik nu zou controleren

  1. Open de werkelijk gedeployde sitemap. Vertrouw niet alleen op de generator; controleer het bestand en een steekproef van URLs.
  2. Controleer de eindresponses. URLs die geïndexeerd moeten worden horen liefst direct op de bedoelde pagina uit te komen.
  3. Test voorspelbare alternatieve paden. Als een oude of prefixloze URL een permanente bestemming heeft, maak de mapping expliciet en één-op-één.
  4. Vermijd redirectketens. A -> B -> C is moeilijker te controleren dan A -> C.
  5. Vergelijk crawlerreports waar mogelijk met serverdata. Webmaster-tools zijn nuttig, maar tonen niet altijd waar een URL oorspronkelijk vandaan kwam.
  6. Leid ranking niet af uit crawling. Crawling, indexing, ranking en verkeer zijn verschillende stappen.
curl -I https://example.com/blog/example-post

HTTP/2 308
location: https://example.com/en/blog/example-post

Het voorbeeld is illustratief: controleer de exacte status en bestemming in plaats van aan te nemen dat de routingregel werkt.

Wat ik wel en niet kan concluderen

Ik kan bevestigen dat de bestaande 308-redirects voorkwamen dat de onverwachte /blog/...-requests in 404 eindigden en ze naar de bedoelde URLs stuurden.

Ik kan niet bevestigen dat de sitemap-parser van Yandex de oorzaak was. Ik heb ook geen rankingwinst, indexingwinst of specifieke hoeveelheid “gered” verkeer gemeten. Dat zou verder gaan dan mijn bewijs.

Mijn uiteindelijke les is smaller en nuttiger: URL-architectuur moet voorspelbare fouten aan de randen van het systeem kunnen opvangen. Een schone sitemap is de eerste verdedigingslaag. Een precieze permanente redirectlaag is de tweede.

Met beide aanwezig is de kans veel kleiner dat één onverwacht crawlpunt verandert in duizenden dode URLs.