Вас цікавить оптимізація краулингового бюджету? Тоді ця тема для вас!
Днями в новинній стрічці промайнула замітка про те, що співробітник компанії Google Гері Илш у своєму твіттері відповів, що URL, закриті від індексації у файлі robots.txt, не впливають на краулинговый бюджет цього сайту:
Based on a question from @pierrefar , i just updated the Crawl Budget blog post to include the following:
Q: Do URLs I disallowed through robots.txt affect my crawl budget in any way?
A: No, disallowed URLs do not affect the crawl budget.https://t.co/kVYj6XaNn0— Gary “鯨理” Illyes (@methode) June 21, 2019
Разом з тим у відповіді на одне з питань до цього посту в твіттері Гері визнав, що якщо заборонити до індексації непотрібні сторінки, то краулинговый бюджет буде «повернуто» («will gain back») відкритим для індексації корисним сторінок:
Oh. Interesting. I understand that line the other way around, so if you disallow a useless directory, you will gain back crawl budget
— Gary “鯨理” Illyes (@methode) June 21, 2019
Всі ці «словесні кульбіти» наштовхнули мене на думку поміркувати на тему краулингового бюджету та його ефективного використання. Обмовлюся відразу, що тема оптимізації краулингового бюджету актуальна тільки для сайтів з великою кількістю сторінок – рахунок повинен йти на десятки, а то й сотні тисяч. Невеликим сайтів морочитися на цю тему сенсу не має – пошуковики їх будуть переіндексувати досить шустро в будь-якому випадку.
Отже, ввідні дані такі. Ми визначилися, які сторінки на сайті ми вважаємо корисними для індексації, а які – марними, тобто по суті сміттям, який, перебуваючи в індексі, може бути джерелом різного роду проблем. У термінах Google це називається low value-add URL. І наше завдання – прибрати з індексу непотрібні сторінки найбільш ефективним чином. В тому числі і з точки зору оптимізації краулингового бюджету.
Для початку уточнимо, що ж мається на увазі під краулинговим бюджетом? Якщо коротко, то це число сторінок з кодом статусу 200 OK, яке індексуючі робот пошукової системи відсканує за одну сесію. Це число (так само як і частота сканування) залежить від різних факторів, наприклад, таких як популярність сайту, вже наявне число сторінок в індексі і т.д.
I
Судячи з усього, Гері Илш, кажучи, що заборонені до індексації файлом robots.txt сторінки ніяк не впливають на краулинговий бюджет, мав на увазі те, що, так як пошукова система завідомо знає про те, що вони заборонені до індексування (а значить, індексуючому роботу не потрібно сканувати їх), то жодним чином не враховує їх при розрахунку краулингового бюджету.
У ситуації, що описується в наступному питанні, коли здійснюється заборона індексації вже відомих пошуковій системі сторінок, на які в тому числі витрачався краулинговий бюджет, відбудеться наступне – виділений краулинговий бюджет почне витрачатися тільки на ті сторінки, які не заборонені до індексації. Це Гері Илш і називає «поверненням» бюджету корисним сторінок, так як в питанні явно вказано, що відбувається закриття непотрібних сторінок. До речі, теоретично при закритті сторінок від індексації краулинговый бюджету в абсолютних цифрах може і зменшитися, так як зменшиться число проіндексованих сторінок на сайті, але він буде витрачатися більш ефективно саме для корисних сторінок.
Тому для оптимізації краулингового бюджету може бути дійсно гарним варіантом закриття до індексації файлом robots.txt даремних сторінок, що мають код статусу 200 ОК. Проте тут можуть бути нюанси. Так, наприклад, якщо якісь з цих сторінок мають вхідні посилання або ненульовий цільовий трафік, то виключення таких сторінок з індексу спричинить виключення з ранжирування цих значень, що теоретично може негативно позначитися на розрахункових показниках релевантності проіндексованих сторінок сайту. Загалом, заборона для індексації у файлі robots.txt може бути гарним рішенням для тих URL, які з точки зору посилальних і поведінкових чинників абсолютно нецікаві.
Також слід мати на увазі, що заборона індексації сторінок за допомогою мета-тега robots зі значенням noindex на оптимізацію краулингового бюджету суттєво не вплине. Тому що в цьому випадку закривається від індексації сторінка має код статусу 200 ОК, і пошуковик виключить її з індексу тільки після того, як індексуючі робот її просканує. І в подальшому індексуючі робот буде все одно змушений такі сторінки переобходить. Єдине, на що можна сподіватися – так це на те, що він це буде робити з меншою частотою, ніж для сторінок, які не були заборонені до індексування за допомогою мета-тега robots. Ну хоча б принаймні для тих сторінок, які мають такий заборона на індексацію протягом декількох сканувань поспіль. Хоча, на мій погляд, подібні надії ґрунтуються на дуже хиткому грунті.
II
Тому я вважаю, що найкращий спосіб виключити непотрібні сторінки з краулингового бюджету – це змінити для них код статусу з 200 ОК на 301 Moved Permanently з перенаправленням на дозволену до індексації корисну сторінку, має відгук 200 ОК. У такому разі сторінка з кодом статусу 301 повинна «підклеїтися» до сторінки, на яку веде редирект з неї, причому з передачею деяких характеристик, які відносяться до не текстових факторів ранжирування (наприклад, такі як смітники або поведінкові). Google називає це консолідацією URL. Запам’ятаємо цей термін і будемо його в подальшому застосовувати. До речі, у разі Яндекса необхідно мати на увазі наступний нюанс – підклеїти сторінки до сторінки, розташованої на іншому піддомені сайту, у загальному випадку не вийде.

Так, мабуть, це було б ідеальне рішення, оптимально закриває два завдання – позбавлення індексу від даремних сторінок і оптимізації краулингового бюджету. Наприклад, воно добре застосувати для розв’язання проблеми застарілих сторінок, які колись мали трафік і досі мають вхідні посилання. Але, на жаль, воно застосовується далеко не у всіх випадках. Є маса варіантів, коли сторінка з точки зору власника сайту повинна по тій або іншій причині мати код статусу 200 ОК, але при цьому з точки зору пошукової системи її можна вважати марною, наприклад:
- дублікати чіткі, наприклад, відрізняються тільки наявністю get-параметрів URL, які важливі власнику сайту з точки зору веб-аналітики;
- нечіткі дублікати, наприклад, результати багатокритеріальної фільтрації лістингів товарів інтернет-магазину, за фактом слабо відрізняють один від одного по набору задовольняють різним значенням фільтрів товарів;
- сторінки пагінации лістингів товарів в інтернет-магазинах
і т. п.
З точки зору склеювання сторінок з супутньою їй консолідацією, тут є прекрасний замінник 301-му редіректу – директива canonical. Однак з точки зору краулингового бюджету це не самий оптимальний варіант, так як неканонічна сторінка повинна мати код статусу 200 ОК.
III
У цьому випадку краулинговий бюджет можна оптимізувати за допомогою спеціальної обробки запитів від пошуковика, мають заголовок If-Modified-Since. Алгоритм дій наступний – переконавшись, що пошуковик порахував конкретну сторінку неканонічною (це можна зробити через сервіси Яндекс.Вебмайстер і Google Search Console), необхідно запам’ятати дату, і надалі на запити індексуючого робота із заголовком If-Modified-Since, що містить дату пізніше запам’ятованної, віддавати код статусу 304 Not Modified замість 200 ОК. Сторінки з кодом статусу 304 не будуть витрачати краулинговый бюджет.
До речі, той же самий прийом можна застосувати для оптимізації краулингового бюджету у випадку, про який я писав трохи вище – коли непотрібні сторінки з тієї чи іншої причини закриваються від індексації за допомогою мета-тега robots зі значенням noindex. У цьому випадку нам потрібно запам’ятати дату, коли пошукач виключив заборонену до індексації сторінку з індексу, щоб потім використовувати її при спеціальній обробці запитів від індексуючого робота із заголовком If-Modified-Since.
Загалом-то, спеціальна обробка запиту If-Modified-Since дуже корисна з точки оптимізації краулингового бюджету і для корисних сторінок з сайту, для яких відома дата останнього редагування їх вмісту. Всім запитам яких індексується роботів пошукових систем з заголовком If-Modified-Since, що містить дату пізніше відомої нам дати останньої зміни вмісту сторінки, слід віддавати код статусу 304 Not Modified. Однак тут теж є один нюанс – такі сторінки позбавляються можливості потрапляти в так звану «швидкоботівську» домішку для свіжих результатів. Тому для тих сторінок, які релевантні запитами, мають швидкоботівську домішку, все-таки я б рекомендував віддавати завжди код статусу 200 ОК. Бо можливість попадання в топ видачі як свіжий результат набагато важливіший оптимізації краулингового бюджету.