Contact met ondersteuning

Wij antwoorden per e-mail, meestal binnen twee dagen.

Google reCAPTCHA controleert deze inzending op misbruik; daarbij worden gegevens naar Google gestuurd. Het script laadt pas wanneer dit formulier wordt geopend.

← Alle berichten

Twaalf URL's voor één artikel

Over de inhoud en de controle ervan

In dit artikel

Elk bericht op deze blog staat op twaalf adressen. Elf dragen een taalvoorvoegsel — /en/blog/…, /de/blog/… en negen andere — en het twaalfde heeft helemaal geen voorvoegsel. Dat leest de Accept-Language-kop van de browser en antwoordt in de taal van de elf die het herkent.

Op 27 en 28 augustus haalden crawlers 1.609 blogpagina's van deze site op. Lezers haalden er 628 op.

opgehaalde taalversies per bericht, van de elf ClaudeBot 11,0 bingbot 8,7 PetalBot 6,0 Applebot 4,3 SemrushBot 1,8 Googlebot 1,5 1.609 blogpagina's door crawlers opgehaald in twee dagen, 628 door lezers met overzichts- en tagpagina's: 1.689 crawleraanvragen, 0,5 procent van alles

Wat de pagina's elkaar al vertellen

Alle twaalf zeggen dezelfde drie dingen in hun kop, en ik heb alle drie vandaag nagekeken in plaats van op de code te vertrouwen.

De canonieke link op elke pagina wijst naar zichzelf. Elf hreflang-regels noemen de zusjes onder de taalversies, en een twaalfde noemt het adres zonder voorvoegsel als x-default, want dat adres hoort bij geen enkele taal. Het adres zonder voorvoegsel antwoordt met Vary: Accept-Language, Accept-Encoding, zodat alles wat ervoor cachet weet dat de inhoud van een aanvraagkop afhangt.

De onderhandeling werkt. Dezelfde URL opvragen met Accept-Language: de geeft een pagina die als lang="de" gemarkeerd is, met ja een Japanse, en met een code die niemand gebruikt Engels. Twaalf aanvragen die tussen vier talen afwisselden, gaven drie keer achter elkaar vier juiste inhouden terug, dus de paginacache is op de taal gesleuteld en niet alleen op het pad.

Dit is wat de specificatie vraagt: een complete, wederkerige groep waarin elk lid zichzelf en al zijn zusjes noemt. Het is de opzet waarmee een zoekmachine twaalf adressen als één artikel in twaalf talen kan behandelen in plaats van als twaalf artikelen die met elkaar concurreren.

Het zorgt er niet voor dat iemand minder ophaalt

Het vermindert het ophalen ook niet, en het toegangslogboek zegt dat zonder veel ruimte voor uitleg.

ClaudeBot deed 396 blogaanvragen over 36 berichten — precies 11,0 taalversies per stuk, elke taal, elke keer. bingbot kwam gemiddeld op 8,7 over 37 berichten, PetalBot op 6,0, Applebot op 4,3. SemrushBot haalde 1,8. Googlebot deed 72 aanvragen over 42 berichten, gemiddeld 1,5 taalversie per bericht, en het is de enige van de zes die zich gedraagt alsof de aantekening hem bereikt heeft.

Over alle crawlers heen zijn 73 van de 76 berichten minstens één keer aangeraakt, en 68 daarvan in meer dan één taal. Het gemiddelde was 7,84 taalversies per bericht van de elf.

Niets hiervan is een schending. hreflang is een aanwijzing over hoe pagina's samenhangen, gericht aan het deel van een zoekmachine dat beslist welk resultaat het toont. Het is geen opdracht aan het deel dat beslist wat er gedownload wordt. Een crawler die /uk/blog/… nog nooit gezien heeft, kan niet weten dat het een vertaling is voordat hij hem ophaalt en de kop leest — de aantekening kan pas werken na de aanvraag die ze misschien bespaard zou hebben.

Wat het kost

Minder dan de alinea hierboven doet vermoeden. Wie bij de 1.609 berichtpagina's ook de overzichts- en tagpagina's van de blog meetelt, komt op 1.689 crawleraanvragen onder /blog: 0,5 procent van de 373.019 aanvragen die deze virtuele host in twee dagen beantwoordde, en 19,9 MB van de 4.363 MB die hij verstuurde. Een blogpagina komt in ongeveer een tiende seconde terug, dus de hele elfvoudige crawl kost zoiets als tachtig seconden processortijd per dag.

De sitemap kost iets meer dan ik verwachtte. Hij noemt 3.136 adressen met 13.248 aantekeningen voor andere taalversies eraan vast: 1,85 MB XML, 35 KB eenmaal gecomprimeerd. Hij wordt hoogstens elke zes uur opnieuw gebouwd, en daarom staat een bericht dat om tien over één 's middags verschijnt daar enkele uren later compleet in en niet meteen.

Niets in die getallen is het veranderen waard. De enige knop die het ophalen zou verminderen, is de adressen niet hebben, en de adressen zijn juist de bedoeling.

Lezers en crawlers willen verschillende dingen

Dezelfde twee dagen, uitgesplitst per taal, laten twee heel verschillende gewoonten zien.

Crawlers spreiden vrijwel gelijkmatig: tussen 5,5 en 10,5 procent van hun blogaanvragen ging naar elk van de elf versies met voorvoegsel, plus 16 procent naar die zonder. Dat is de vorm van iets dat een lijst afloopt.

Lezers spreiden niet gelijkmatig. 38 procent van hun aanvragen ging naar het adres zonder voorvoegsel en nog eens 18 procent naar /en/, dus meer dan de helft kwam ofwel in het Engels ofwel via onderhandeling binnen. De rest verdeelt zich over tien talen, met het Duits het grootst op 7 procent en het Frans het kleinst op 2 procent.

Die overblijvende 44 procent is de hele reden dat de taalpaden bestaan. Ze is ook klein genoeg om de taalpaden makkelijk weg te kunnen redeneren — en dat is dezelfde fout als de crawlerkolom lezen en concluderen dat de pagina's populair zijn.

Wat in het algemeen geldt

Een juiste aanwijzing is geen opdracht. Alles in de kop van deze pagina's klopt, is wederkerig en na te kijken, en vijf van de zes crawlers halen op alsof het er niet stond. De specificatie beschrijft wat de aantekening betekent, niet wat een bepaald programma doet wanneer het haar ziet.

De nuttige vraag was dus nooit of het markup klopt. Het was hoe vaak elke ophaler werkelijk komt, en dat is een vraag die alleen het logboek kan beantwoorden — en na dat antwoord is de eerlijke conclusie dat het elfvoudige crawlen een half procent kost en met rust gelaten moet worden.

Advertentie