Показаны сообщения с ярлыком Полезные советы. Показать все сообщения

вторник, 7 марта 2023 г.

О внутренней перелинковке

 Важная вещь, о которой часто забывают.

Значимость внутренней страницы сайта для поисковой системы во многом определяется двумя факторами: 

1) Количеством входящих ссылок.

2) Длиной самой короткой цепочкой ссылок от главной страницы (чем короче, тем лучше).

Не допускайте, чтобы большое количество страниц сайта находилось очень далеко от главной.

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

Совершенствуйте рубрикаторы, делайте более плотную перекрестную перелинковку. 

Если не можете цепочку кликов до определенных страниц уменьшить, а количество входящих ссылок на них - увеличить, то крепко подумайте, нужны ли эти страницы в индексе.

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

Даже если адепты модного "силосования" пытаются вас убедить в обратном.


суббота, 25 февраля 2023 г.

Про индексацию страниц пагинации

Мысли про пагинацию. Индексировать или не индексировать?

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

Сделать это можно двумя способами:

1) Директива canonical со всех страниц пагинации на первую страницу.

2) Мета robots со значением noindex, follow для страниц пагинации кроме первой.

Первый способ, на мой взгляд, предпочтительней. Про рекомендацию Google не использовать первую страницу пагинации в качестве канонической знаю, однако опыт подсказывает обратное. Но могут быть нюансы, когда поисковик игнорирует canonical, но массово выкидывает страницы пагинации из индекса как малоценные или дубли. Тогда использовать второй способ.

Закрывать пагинацию от индексации в robots.txt с помощью директив Disallow или Clean-param (в Яндексе, если пагинация задается get-параметром в URL) категорически не рекомендую.


вторник, 3 марта 2020 г.

Очистка органической выдачи Яндекса от примесей


Одной из важных задач SEO-аналитики является корректная идентификация документов в поисковой выдаче Яндекса, которые не являются органическими результатами поиска, получаемыми в результате штатной работы основного алгоритма ранжирования. Такие документы принято называть примесью к органике, и они являются ненужным шумом при решении различных аналитических задач, например, задачи текстового анализа документов из топа выдачи. Идентифицировав примесь, мы можем очистить от нее органические результаты поиска для дальнейшего использования их при решении подобных задач.

Можно выделить два типа документов, которые не являются органическими результатами поиска. Первый тип (я бы назвал его внешней примесью) – это документы, которые отсутствуют в результатах выдачи сервиса Яндекс.XML. В обычной выдаче их можно визуально отличить от органики по различным признакам. К внешней примеси можно отнести:
  1. Рекламные места в результатах поиска (контекстная реклама).
Сотрудники Яндекса, несомненно, очень бы хотели, чтоб рекламные места на странице поисковой выдачи ничем бы не отличались от органики. Однако, им все-таки приходится помечать контекстную рекламу. В «Правилах показа Яндекс.Директ» указывается, что «Показ Рекламных объявлений (далее по тексту также — «объявления») на Рекламных местах может сопровождаться пометкой: "Яндекс.Директ", "Директ", "Реклама", "₽" или "Р"». Причем, с любопытной оговорочкой: «В связи с техническими ограничениями пометка может быть сокращена либо отсутствовать». 
На страницах поисковой выдачи на данный момент для маркировки рекламных объявлений используется слово «реклама», написанное более мелким шрифтом, чем шрифт, используемый в объявлении. И в некоторых случаях эта пометка действительно может практически исчезать, вырождаясь буквально до одной буквы. Например, в мобильной выдаче:
В остальном же рекламные объявления практически ничем не отличаются от сниппетов органики. Ну, разве что, у рекламных объявлений никогда не бывает ссылки «Читать ещё >». Впрочем, она не всегда присутствует и в органических сниппетах, так что этот признак нельзя считать надежным средством идентификации рекламы в обычной выдаче. Также следует учитывать, что рекламные объявления могут показываться не только до или после органических результатов, но и между ними.

  1. Поисковые колдунщики, фактовые и объектные ответы.
Поисковые колдунщики - это специальным образом оформленные ответы, найденные на собственных сервисах Яндекса. Подробнее о них можно прочесть на сайте Технологии Яндекса
Фактовый и объектный ответы – это специальные карточки с кратким ответом на вопрос, расположенные над результатами поиска и справа от них соответственно. 
Ввиду специфики представления спутать эти элементы с органическими результатами поиска очень сложно.
Впрочем, как уже указывалось ранее, если у Вас есть возможность получать выдачу от сервиса Яндекс.XML, то задача идентификации внешней примеси становится неактуальной – таких документов в XML выдаче просто нет.
Второй тип примеси к органике (назовем его внутренней примесью) находится в результатах поиска, получаемых от сервиса Яндекс.XML. К нему можно отнести:
  1. Витальные ответы. 
Это документы, считающиеся однозначно лучшим ответом на запрос, например, главная страница официального сайта компании по запросу ее бренда. По сути это органические результаты, получающие огромный искусственный буст к рассчитанному основным алгоритмом значению релевантности запросу, который прочно ставит их на первые места выдачи. По внешнему виду витальные ответы не отличимы от органических сниппетов. Их идентификация возможно только по анализу выдачи сервиса Яндекс.XML. У витальных ответов значение поля name параметра <categ> содержит специальный идентификатор, включающий в себя подстроку UngroupVital, например, <categ attr="d" name="UngroupVital59.ru"/>. Причем, витальных ответов может быть несколько:
  1. Свежие результаты
    Свежие результаты показываются в ответ на «событийные запросы», для которых по мнению Яндекса важны свежие ответы. В сеошной среде для таких ответов используется термин «быстроботовская примесь». Это результаты, составленные из документов, индексируемых специальным роботом – быстроботом – и в течение очень короткого времени попадающих в индекс.  Ранжирование их осуществляется специальным алгоритмом, и поэтому очистка органики от подобных результатов актуальна при анализе работы основного алгоритма. Идентифицитовать быстроботовскую примесь можно по наличию специальных меток свежести документа («N минут назад», «N часов назад», «вчера», «позавчера»):
  1. Разгруппированные результаты
По умолчанию результаты поиска с одного сайта группируются в поисковой выдаче, и мы видим только один результат с каждого сайта, самый релевантный запросу. B XML выдаче у сгруппированных по сайту органических результатов значение поля name параметра <categ> представляет собой доменное имя, например, <categ attr="d" name="yandex.ru"/>. Но иногда Яндекс оказывает преференции отдельным страницам с отдельных сайтов и показывает их в выдаче вне группировки по сайту. Так, например, по запросу геморрой можно увидеть два результата c сайта kp.ru:
В XML выдаче один из этих результатов имеет в качестве значения поля name параметра <categ> доменное имя, а вот второй – малопонятную конструкцию MiddleUngroup_kp.ru_68.ru:
Также в качестве значения поля name параметра <categ> может фигурировать не доменное имя сайта, а URL документа. И это тоже может быть признаком того, что такие результаты не являются органическими.
Так, например, в последнее время сайт принадлежащего Яндексу сервиса Едадил замечен в топах по огромному количеству запросов, причем, зачастую контент страниц сайта этим запросам совершенно нерелевантен. Такое впечатление, что документы с этого сайта получили значительный буст к своему регулярному значению релевантности запросам. Типичный пример:
 
В XML выдаче в значение поля name параметра <categ> для этого результата содержит именно URL документа, а не доменное имя сайта:

Я рекомендую все результаты, которые в XML выдаче имеют значение поля name параметра <categ>, отличное от доменного имени сайта, на котором находятся, исключать из анализа органической выдачи, так как есть определенные основания считать, что эти результаты либо обрабатываются не основным алгоритмом ранжирования либо получают некоторый буст к значению релевантности, вычисленному основным алгоритмом.

  1. Собственные проекты Яндекса
Так как есть определенные основания утверждать, что Яндекс может давать буст к органическому значению релевантности запросу, вычисленному основным алгоритмом для документов собственных проектов (как расположенных на домене yandex.ru, например, Яндекс.Район, Яндекс.Дзен или Яндекс.Коллекции, так и на других доменах, например, Едадил, Кинопоиск или Авто.ру), то рекомендую такие ответы исключать из анализа органической выдачи в любом случае, даже если в качестве значения поля name параметра <categ> XML выдачи содержится доменное имя сайта. 

четверг, 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 ОК. Ибо возможность попадания в топ выдачи как свежий результат намного важнее оптимизации краулингового бюджета.



вторник, 15 августа 2017 г.

Чистка поискового индекса сайта


Нередки ситуации, когда поисковые системы индексируют на сайте большое количество страниц, не несущих с их точки зрения полезной информации – четкие или нечеткие дубликаты страниц, технический мусор, служебные страницы и т.п. Эти страницы могут стать препятствием для своевременной переиндексации и корректного ранжирования сайта, поэтому очень желательно минимизировать их количество в индексе. Сделать это можно разными способами, которые можно разбить на две большие группы: запрет к индексации и склейка с другими страницами сайта. Рассмотрим особенности каждого из способов и предпочтительные варианты их применения.
Основное различие запрета и склейки заключается в том, что в случае склейки нетекстовые характеристики подклеиваемой страницы (назовем ее неканонической), такие как значения ссылочных, поведенческих и временных факторов, будут суммированы со значениями соответствующих факторов целевой страницы (назовем ее канонической). В случае же запрета индексации вся эта информация будет просто потеряна. Поэтому запрещать к индексации в первую очередь имеет смысл те страницы, которые не имеют сколько-либо значимых значений нетекстовых характеристик, например, отсутствуют ссылки, ведущие на них, а количество трафика на этих страницах пренебрежимо мало. Как правило, это служебные страницы, например, rss-лента, личные кабинеты пользователей или результаты поиска по сайту.
Запрет индексации страницы можно осуществить следующими способами:
  1. С помощью директивы Disallow в секции для соответствующего юзер-агента поисковика файла robots.txt.
  2. С помощью значения noindex директивы content мета тега robots.
В первом случае не будет расходоваться краулинговый бюджет, выделенный на переиндексацию страниц сайта, имеющих отклик 200 OK, т.к. индексирующий робот просто не будет обращаться к запрещенным в файле robots.txt страницам. Поэтому этот способ в общем случае более предпочтителен. Во втором случае робот будет скачивать страницы, и только после их скачки будет обнаружена запрещающая индексацию директива. Таким образом, краулинговый бюджет сайта будет частично расходоваться на постоянную переиндексацию подобных страниц. Частично эту проблему можно решить с помощью корректной настройки обработки запроса If-Modified-Since (подробнее см. в моей статье «Заголовки Last-Modified и If-Modified-Since»). Более того, во втором случае запрещенные к индексации страницы на некоторое время могут попадать в индекс. Причем это время может быть и не таким уж их краткосрочным, имеют место случаи, когда счет идет даже не на дни, а на месяцы. Поэтому второй способ целесообразно использовать только в следующих случаях:
  1. Если число таких страниц достаточно велико, а особенности их URL таковы, что не представляется возможным достаточно компактно перечислить их в директивах файла robots.txt с помощью правил стандарта исключений для роботов и поддерживаемых поисковиками его расширений (например, см. соответствующую документацию для Яндекса и Google). Так, Яндекс имеет ограничение на размер файла robots.txt в 32 кб, а Google - в 500 кб.
  2. Если запрещаемые к индексации страницы в силу каких-либо причин являются единственным источником внутренних ссылок на те страницы сайта, которые должны находиться в поисковом индексе. В этом случае директива content мета тега robots кроме значения noindex должна иметь также значение follow, разрешающее поисковому роботу переходить по ссылкам на странице.
Как уже было сказано выше, склейка страниц, в отличие от запрета к индексации, позволяет суммировать значения нетекстовых факторов подклеиваемой (неканонической) страницы с соответствующими значениями целевой (канонической) страницей. Склейку можно осуществить следующими способами:
  1. С помощью редиректа с откликом 301 Moved Permanently.
  2. С помощью директивы Clean-param в файле robots.txt (только для специальных случаев URL с динамическими параметрами).
  3. С помощью атрибута rel="canonical" тега link.
301-й редирект применим в тех случаях, когда содержимое неканонической страницы полностью идентично содержимому канонической, поэтому в этом случае пользователя можно просто перенаправить с одного URL на другой. В этом случае при обращении к неканоническому URL не происходит расхода краулингового бюджета, т.к. он имеет отклик, отличный от 200. Следует иметь ввиду, что в случае использования редиректа с откликом 302 склейки не произойдет.
Этот способ целесообразно применять, к примеру, при смене структуры URL сайта или для склейки дублей URL со слэшом на конце и без него. Если же по неканоническому URL необходимо отдавать пользователю содержимое, т.е. он должен иметь отклик 200, то в этом случае необходимо использовать два других способа склейки.
Использование директивы Clean-param в файле robots.txt ограничивается только страницами, имеющими в URL динамические параметры. Это могут быть как параметры, не влияющие на содержимое (например, идентификаторы сессий или рефереры), так и влияющие (например, режимы сортировки). Неканонический URL подклеивается к каноническому, который образован путем удаления указанных в директиве параметров. Естественно, что такой канонический URL должен иметь отклик 200, иначе никакой склейки не произойдет. Данный способ также не приводит к расходу краулингового бюджета, т.к. в этом случае поисковый робот просто не будет скачивать неканонический URL. Однако, надо иметь в виду, что по этой же причине поисковику будут неизвестны ссылки, находящиеся на неканоническом URL. Поэтому целесообразно применять этот способ в случаях, когда «обрезаемые» параметры не влияют на содержимое страницы либо значений этих параметров может быть достаточно много, чтоб оказать заметное влияние на расход краулингового бюджета (например, результаты поиска по сайту).
И, наконец, третий вариант, который мне представляется во многих случаях наиболее предпочтительным - это использование атрибута rel="canonical" тега link. К плюсам этого метода относится то, что, как и при любой склейке, происходит суммирование нетекстовых факторов неканонической и канонической страниц (что, кстати, непосредственно подтверждено сотрудником Яндекса Александром Смирновым на Шестой Вебмастерской) плюс происходит учет ссылок, находящихся на неканонической странице (что также было непосредственно подтверждено в блоге собирательного образа службы поддержки Яндекса Платона Щукина).
Единственный минус этого метода - это то, что неканонические страницы в силу того, что они имеют отклик 200, так же, как и в случае с noindex в мета-теге robots, будут выбирать краулинговый бюджет. И так же неканоническая страница может довольно продолжительное время находится в индексе до того момента, как будет склеена с канонической. Но тем не менее данный способ отлично подходит, например, для склейки страниц пагинации, различных вариантов сортировки, результатов применения фильтров к спискам и т.п., а также «обрезания» динамических параметров URL. Кстати, что касается пагинации, то сотрудники Google рекомендуют использовать атрибуты rel="next" и rel="prev" тега link. Однако Яндекс не поддерживает эти директивы. Поэтому я все-таки рекомендую использовать rel="canonical" для обоих поисковиков, тем более, что практика показывает, что эта директива прекрасно работает и в Google. Есть различие между Яндексом и Google и непосредственно в обработке директивы rel="canonical" - Яндекс, в отличие от Google, не поддерживает кросс-доменность этой директивы, то есть нельзя склеить страницы, находящиеся на различных поддоменах.

И в заключение хотелось бы отметить, что следует избегать многократного последовательного применения директив склейки. Например, цепочек редиректов или указания в качестве канонической страницы, которая сама содержит директиву rel="canonical" на с указанием третью страницу. Равно как и последовательно комбинировать различные методы склейки. Например, когда URL, получающийся в результате «обрезания» параметров с помощью директивы Clean-param, в свою очередь является неканоническим. В подобных случаях поисковик может просто проигнорировать директивы.

Blog Archive

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