Kontaktovat podporu

Odpovíme e-mailem, obvykle do dvou dnů.

Google reCAPTCHA kontroluje toto odeslání kvůli ochraně před zneužitím; data se přitom předávají společnosti Google. Skript se načte až při otevření tohoto formuláře.

← Všechny články

Dvanáct adres pro jeden článek

Každý článek na tomto blogu žije na dvanácti adresách. Jedenáct nese jazykovou předponu — /en/blog/…, /de/blog/… a devět dalších — a dvanáctá nemá předponu vůbec žádnou. Ta čte hlavičku Accept-Language prohlížeče a odpoví v tom z jedenácti jazyků, který rozpozná.

Za 27. a 28. srpna si crawlery stáhly z tohoto webu 1 609 stránek blogu. Čtenáři 628.

stažené jazykové verze na článek, z jedenácti ClaudeBot 11,0 bingbot 8,7 PetalBot 6,0 Applebot 4,3 SemrushBot 1,8 Googlebot 1,5 1 609 stránek blogu stáhly za dva dny crawlery, 628 čtenáři s přehledem a stránkami štítků: 1 689 požadavků crawlerů, 0,5 % všech

Co si stránky už navzájem sdělují

Všech dvanáct uvádí ve své sekci head stejné tři věci a dnes jsem všechny tři ověřil, místo abych věřil kódu.

Kanonický odkaz na každé stránce ukazuje sám na sebe. Jedenáct řádků hreflang uvádí sesterské jazykové verze a dvanáctý uvádí adresu bez předpony jako x-default, protože ta adresa nepatří žádnému jednotlivému jazyku. Adresa bez předpony odpovídá s hlavičkou Vary: Accept-Language, Accept-Encoding, takže cokoli, co před ní ukládá do mezipaměti, ví, že obsah závisí na hlavičce požadavku.

Vyjednávání funguje. Požadavek na tutéž URL s Accept-Language: de vrátí stránku označenou lang="de", s ja japonskou, s kódem, který nikdo nepoužívá, anglickou. Dvanáct požadavků střídajících čtyři jazyky vrátilo třikrát po sobě čtyři správné obsahy, takže mezipaměť stránek má v klíči jazyk, a ne jen cestu.

Přesně to specifikace požaduje: úplnou, vzájemnou skupinu, v níž každý člen uvádí sám sebe i všechny sourozence. Právě toto uspořádání umožňuje vyhledávači brát dvanáct adres jako jeden článek ve dvanácti jazycích, a ne jako dvanáct článků, které si navzájem konkurují.

Nikoho to nepřiměje stahovat méně

Stahování to ale nesnižuje a přístupový log to říká bez velkého prostoru pro výklad.

ClaudeBot poslal 396 požadavků na blog napříč 36 články — přesně 11,0 jazykové verze na každý, každý jazyk, pokaždé. bingbot měl průměr 8,7 napříč 37 články, PetalBot 6,0, Applebot 4,3. SemrushBot zvládl 1,8. Googlebot poslal 72 požadavků napříč 42 články, v průměru 1,5 jazykové verze na článek, a jako jediný z šesti se chová, jako by k němu anotace dorazila.

Za všechny crawlery dohromady bylo 73 ze 76 článků staženo aspoň jednou a 68 z nich ve více než jednom jazyce. Průměr činil 7,84 jazykové verze na článek z jedenácti.

Nic z toho není porušení pravidel. hreflang je nápověda o tom, jak spolu stránky souvisejí, určená té části vyhledávače, která rozhoduje, jaký výsledek zobrazit. Není to pokyn pro tu část, která rozhoduje, co stáhnout. Crawler nemá u dosud neviděné stránky /uk/blog/… jak poznat, že jde o překlad, dokud ji nestáhne a nepřečte její head — anotace může zapůsobit až po požadavku, který mohla ušetřit.

Kolik to stojí

Méně, než by naznačoval předchozí odstavec. Když se k 1 609 stránkám článků přičtou přehledové stránky blogu a stránky štítků, poslaly crawlery pod /blog 1 689 požadavků: 0,5 % z 373 019 požadavků, na které tento virtuální host za dva dny odpověděl, a 19,9 MB z 4 363 MB, které odeslal. Stránka blogu se vrátí zhruba za desetinu sekundy, takže celé jedenáctinásobné procházení stojí denně kolem osmdesáti sekund procesorového času.

Mapa webu stojí o něco víc, než jsem čekal. Uvádí 3 136 adres a k nim 13 248 anotací alternativních jazyků: 1,85 MB XML, po kompresi 35 KB. Přestavuje se nejvýš jednou za šest hodin, a proto se článek zveřejněný deset minut po jedné odpoledne objeví v ní kompletní až o několik hodin později, ne hned.

Nic v těchto číslech nestojí za změnu. Jediná páka, která by stahování snížila, je nemít ty adresy, a právě o ty adresy jde.

Čtenáři a crawlery chtějí něco jiného

Tytéž dva dny rozdělené podle jazyka ukazují dva dost odlišné zvyky.

Crawlery se rozkládají téměř rovnoměrně: na každou z jedenácti verzí s předponou šlo 5,5 až 10,5 % jejich požadavků na blog, k tomu 16 % na verzi bez předpony. Tak vypadá něco, co prochází seznam.

Čtenáři se rovnoměrně nerozkládají. 38 % jejich požadavků šlo na adresu bez předpony a dalších 18 % na /en/, takže víc než polovina přišla buď v angličtině, nebo přes vyjednávání. Zbytek se dělí mezi deset jazyků, největší je němčina se 7 %, nejmenší francouzština se 2 %.

Těch zbývajících 44 % je jediný důvod, proč jazykové cesty existují. Je to zároveň tak málo, že by se jazykové cesty daly snadno odargumentovat — což je stejná chyba jako přečíst sloupec crawlerů a usoudit, že stránky jsou oblíbené.

Co z toho plyne obecně

Správná nápověda není pokyn. Všechno v sekci head těchto stránek je správné, vzájemné a ověřitelné, a pět ze šesti crawlerů stahuje, jako by tam nic z toho nebylo. Specifikace popisuje, co anotace znamená, ne co s ní udělá konkrétní program, když ji uvidí.

Užitečnou otázkou tedy nikdy nebylo, zda je značkování správné. Byla jí otázka, kolikrát každý stahovač skutečně přijde, a na tu umí odpovědět jen log — a když je zodpovězena, poctivý závěr zní, že jedenáctinásobné procházení stojí půl procenta a má se nechat být.

Reklama