четверг, 4 июля 2019 г.

Оптимизация краулингового бюджета

На днях в новостной ленте промелькнула заметка о том, что сотрудник компании Google Гэри Илш в своем твиттере ответил, что URL, закрытые от индексации в файле robots.txt, не влияют на краулинговый бюджет этого сайта:

Вместе с тем в ответе на один из вопросов к этому посту в твиттере Гэри признал, что если запретить к индексации бесполезные страницы, то краулинговый бюджет будет «возвращен» («will gain back»), открытым для индексации полезным страницам:

Все эти «словесные кульбиты» натолкнули меня на мысль порассуждать на тему краулингового бюджета и его эффективного использования. Оговорюсь сразу, что тема оптимизации краулингового бюджета актуальна только для сайтов с достаточно большим числом страниц – счет должен идти на десятки, а то и сотни тысяч. Небольшим сайтам заморачиваться на эту тема смысла не имеет – поисковики их будут переиндексировать довольно шустро в любом случае.
Итак, вводные данные следующие. Мы определились, какие страницы на сайты мы считаем полезными для индексации, а какие – бесполезными, т.е. по сути мусором, который, находясь в индексе, может являться источником различного рода проблем. В терминах Google это называется low-value-add URL. И наша задача – убрать из индекса бесполезные страницы наиболее эффективным образом. В том числе и с точки зрения оптимизации краулингового бюджета. 
Для начала уточним, что же подразумевается под краулинговым бюджетом? Если коротко, то это число страниц с кодом статуса 200 ОК, которое индексирующий робот поисковой системы отсканирует за одну сессию. Это число (равно как и частота сканирования) зависит от различных факторов, например, таких как популярность сайта, уже имеющееся число страниц в индексе и т.п. 
Судя по всему, Гэри Илш, говоря, что запрещенные к индексации файлом robots.txt страницы никак не влияют на краулинговый бюджет, имел в виду то, что, так как поисковая система заведомо знает о том, что они запрещены к индексированию (а значит, индексирующему роботу не нужно их сканировать), то никоим образом не учитывает их при расчете краулингового бюджета. 
В ситуации же описываемой в последующем вопросе, когда осуществляется запрет к индексации уже известных поисковой системе страниц, на которые в том числе расходовался краулинговый бюджет, произойдет следующее – выделенный краулинговый бюджет начнет расходоваться только на страницы, которые не запрещены к индексации. Это Гэри Илш и называет «возвращением» бюджета полезным страницам, т.к. в вопросе явно указано, что происходит закрытие бесполезных страниц. Кстати, теоретически при закрытии страниц от индексации краулинговый бюджет в абсолютных цифрах может и уменьшиться, т.к. уменьшится число проиндексированных страниц на сайте, но он будет расходоваться более эффективно именно для полезных страниц.
Поэтому для оптимизации краулингового бюджета может быть действительно хорошим вариантом закрытие к индексации файлом robots.txt бесполезных страниц, имеющих код статуса 200 ОК. Однако здесь могут быть нюансы. Так, например, если какие-то их этих страниц имеют входящие ссылки или ненулевой целевой трафик, то исключение таких страниц из индекса повлечет исключение из ранжирования этих значений, что теоретически может негативно сказаться на расчетных показателях релевантности проиндексированных страниц сайта. В общем, запрет для индексации в файле robots.txt может быть хорошим решением только для тех URL, которые с точки зрения ссылочных и поведенческих факторов абсолютно неинтересны. 
Также следует иметь в виду, что запрет к индексации страниц с помощью мета-тега robots со значением noindex на оптимизацию краулингового бюджета существенно не повлияет.  Потому что этом случае закрываемая от индексации страница имеет код статуса 200 ОК, и поисковик исключит ее из индекса только после того, как индексирующий робот ее просканирует. И в последующем индексирующий робот будет все равно вынужден такие страницы переобходить. Единственное, на что можно надеяться – так это на то, что он это будет делать с меньшей частотой чем для страниц, которые не были запрещены к индексированию с помощью мета-тега robots. Ну, хотя бы по крайней мере для тех страниц, которые имеют такой запрет на индексацию на протяжении нескольких сканирований подряд. Хотя, на мой взгляд, подобные надежды основываются на очень зыбкой почве.
Поэтому, на мой взгляд, наилучший способ исключить бесполезные страницы из краулингового бюджета – это изменить для них код статуса с 200 ОК на 301 Moved Permanently с редиректом на разрешенную к индексации полезную страницу, имеющую отклик 200 ОК. В таком случае страница с кодом статуса 301 должна «подклеиться» к странице, на которую ведет редирект с нее, причем с передачей некоторых характеристик, которые относятся к нетекстовым факторам ранжирования (например, такие как ссылочные или поведенческие). Google называет это консолидацией URL. Запомним этот термин и будем его в последующем применять. Кстати, в случае Яндекса необходимо иметь в виду следующий нюанс – подклеить страницу к странице, расположенной на другом поддомене сайта, в общем случае не получится. 
Да, пожалуй, это было бы идеальное решение, оптимально закрывающее две задачи – избавления индекса от бесполезных страниц и оптимизации краулингового бюджета. Например, оно хорошо применимо для решения проблемы устаревших страниц, которые когда-то имели трафик и до сих пор имеют входящие ссылки. Но, к сожалению, оно применимо далеко не во всех случаях.  Есть масса вариантов, когда страница с точки зрения владельца сайта должна по той или иной причине иметь код статуса 200 ОК, но при этом с точки зрения поисковика ее можно считать бесполезной, например:
  • дубликаты четкие, например, отличающиеся только наличием get-параметров в URL, которые важны владельцу сайта с точки зрения веб-аналитики;
  • дубликаты нечеткие, например, результаты многокритериальной фильтрации листингов товаров интернет-магазина, по факту слабо отличающие друг от друга по набору удовлетворяющих различным значениям фильтров товаров;
  • страницы пагинации листингов товаров в интернет магазинах
и т.п.
С точки зрения склейки страниц с сопутствующей ей консолидацией тут есть прекрасный заменитель 301-му редиректу – директива canonical. Однако с точки зрения краулингового бюджета это не самый оптимальный вариант, т.к. неканоническая страница должна иметь код статуса 200 ОК
В этом случае краулинговый бюджет можно оптимизировать с помощью специальной обработки запросов от поисковика, имеющих заголовок 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 ОК. Ибо возможность попадания в топ выдачи как свежий результат намного важнее оптимизации краулингового бюджета.


Share this


4 Comments
avatar

Сергей, а что вы думаете об использовании для консолидации таких инструментов, как параметры url для гугл и clean-param в Яндекс применительно к краулинговому бюджету? Поисковые системы их сейчас корректно учитывают, правда, их поддерживать в актуальности сложнее (новые параметры надо отслеживать). Поэтому каноникал и удобен.

Reply
avatar

Инструменты рабочие. Но, к сожалению, в отличие, от каноникла, не универсальные.

Reply
avatar

Спасибо. Сейчас почитал по ним хэлпы (надо было сразу это сделать, не подумал) - там явно указано, что они помогают убрать из обхода страницы с параметрами, т.е., для оптимизации краулингового бюджета подходят в отличие от каноникал, как вы правильно пишете. Ну и они всё-таки очень гибкие.

А насчет If-Modified-Since и 304 Not Modified, вы предлагаете их использовать для всех User Agent или только для роботов поисковых систем?

Reply
avatar

Для роботов, естественно.

Reply

Технологии Blogger.