Звернутися до підтримки

Відповідаємо електронною поштою, зазвичай протягом двох днів.

Google reCAPTCHA перевіряє це звернення на зловживання; дані передаються до Google. Скрипт завантажується лише тоді, коли ви відкриваєте цю форму.

← Усі записи

Дванадцять адрес на одну статтю

Кожен допис цього блогу лежить за дванадцятьма адресами. Одинадцять несуть мовний префікс — /en/blog/…, /de/blog/… і ще дев'ять — а дванадцята не несе жодного. Вона читає заголовок Accept-Language браузера й відповідає тією з одинадцяти мов, яку в ньому впізнає.

27 і 28 серпня збирачі забрали з цього сайту 1 609 сторінок блогу. Читачі забрали 628.

забрані мовні версії на допис, з одинадцяти ClaudeBot 11,0 bingbot 8,7 PetalBot 6,0 Applebot 4,3 SemrushBot 1,8 Googlebot 1,5 1 609 сторінок блогу забрано збирачами за два дні, 628 читачами разом 0,5 відсотка всього, про що просили цей сервер

Що сторінки вже кажуть одна про одну

Усі дванадцять кажуть у заголовку те саме, три речі, і я сьогодні виміряв усі три, замість того щоб повірити кодові.

Canonical кожної сторінки вказує на неї саму. Одинадцять рядків hreflang називають сестер, а дванадцятий називає адресу без префікса як x-default, бо та не належить жодній окремій мові. Ця адреса відповідає заголовком Vary: Accept-Language, Accept-Encoding, щоб будь-який кеш перед нею знав: тіло залежить від заголовка запиту.

Узгодження працює. Та сама адреса з Accept-Language: de повертає сторінку з позначкою lang="de", з ja японську, а з кодом, яким ніхто не користується, англійську. Дванадцять запитів упереміж чотирма мовами тричі поспіль дали чотири правильні тіла — отже, кеш сторінок ключується за мовою, а не лише за шляхом.

Саме цього вимагає специфікація: повної, взаємної групи, де кожен учасник називає себе й усіх сестер. Це той лад, який дозволяє пошуковикові вважати дванадцять адрес однією статтею дванадцятьма мовами, а не дванадцятьма статтями, що змагаються між собою.

Менше від цього ніхто не бере

Менше справді не беруть, і журнал доступу лишає тут мало місця для тлумачень.

ClaudeBot зробив 396 запитів до блогу щодо 36 дописів — рівно 11,0 мовних версій на допис, кожна мова, щоразу. bingbot вийшов на 8,7 щодо 37 дописів, PetalBot на 6,0, Applebot на 4,3. SemrushBot дотягнув до 1,8. Googlebot зробив 72 запити щодо 42 дописів, у середньому 1,5 мовної версії на допис, і він єдиний із шести поводиться так, ніби позначка до нього дійшла.

Усі збирачі разом торкнулися 73 дописів із 76 принаймні раз, і 68 з них більш ніж однією мовою. Середнє вийшло 7,84 мовної версії на допис з одинадцяти можливих.

Ніщо з цього не є порушенням. hreflang — підказка про те, як сторінки пов'язані, звернена до тієї частини пошуковика, яка вирішує, який результат показати. Це не вказівка тій частині, яка вирішує, що завантажувати. Збирач, який ніколи не бачив /uk/blog/…, не має як знати, що це переклад, поки не забере сторінку й не прочитає заголовок — позначка може подіяти лише після того запиту, який могла б заощадити.

У що це обходиться

Дешевше, ніж можна подумати з розділу вище. Ці 1 689 запитів збирачів до сторінок блогу — 0,5 відсотка від 373 019 запитів, на які цей vhost відповів за два дні, і 19,9 МБ із 4 363 МБ, які він надіслав. Сторінка блогу повертається приблизно за десяту частку секунди, отже весь одинадцятикратний збір коштує близько вісімдесяти секунд процесорного часу на день.

Мапа сайту обходиться трохи дорожче, ніж я очікував. У ній 3 136 адрес із 13 248 підвішеними до них мовними позначками: 1,85 МБ XML, 35 КБ після стиснення. Вона перезбирається не частіше ніж раз на шість годин, тому допис, що вийшов о десятій хвилині на другу, потрапляє до неї цілком лише кількома годинами пізніше, а не одразу.

Жодне з цих чисел не варте правки. Єдиний важіль, який зменшив би збір, — не мати цих адрес, а адреси і є весь сенс.

Читачі та збирачі хочуть різного

Ті самі два дні в розрізі мов показують дві доволі різні звички.

Збирачі розподіляються майже порівну: від 5,5 до 10,5 відсотка їхніх запитів до блогу припало на кожну з одинадцяти версій із префіксом, плюс 16 відсотків на ту, що без. Схоже на когось, хто йде за списком.

Читачі порівну не розподіляються. 38 відсотків їхніх запитів пішло на адресу без префікса і ще 18 відсотків на /en/, тобто більш ніж половина прийшла англійською або через узгодження. Решта ділиться на десять мов: найбільше німецької — 7 відсотків, найменше французької — 2.

Ці решта 44 відсотки і є весь сенс мовних шляхів. Вони ж досить малі, щоб від тих шляхів легко було себе відмовити — а це та сама помилка, що й прочитати стовпчик збирачів і виснувати, ніби сторінки популярні.

Що тут узагальнюється

Правильна підказка — не вказівка. Усе в заголовку цих сторінок правильне, взаємне й перевірне, а п'ять збирачів із шести забирають так, ніби нічого цього нема. Специфікація описує, що позначка означає, а не що з нею зробить та чи інша програма.

Корисне питання, отже, ніколи не полягало в тому, чи правильна розмітка. Воно полягало в тому, скільки разів насправді приходить кожен, хто забирає, а на це може відповісти лише журнал — і після його відповіді чесний висновок такий: одинадцятикратний збір коштує пів відсотка, і його слід залишити у спокої.

Реклама