Netpeak Spider 2.1.1.1: Глобальное изменение алгоритма сканирования

1
7
1
7
Netpeak Spider 2.1.1.1: Глобальное изменение алгоритма сканирования
Обновления

Коллеги, данным обновлением мы хотим показать наш ход мыслей при разработке Netpeak Spider как программы, алгоритмы которой максимально приближены к алгоритмам краулинга роботами поисковых систем. Речь пойдёт про решение нескольких глобальных проблем, с которыми сталкиваются программы/сервисы, основной частью которых является автоматизация проведения внутреннего SEO-аудита сайта.

1. Цель

Мы давно преследуем цель максимально повторить действия робота поисковых систем, который сканирует ваш сайт. При этом необходимо:

  • правильно обработать HTTP-заголовки ответа сервера;
  • учесть необходимые теги в блоке <head>;
  • показать это всё в удобном виде;
  • иметь основу для корректного расчёта внутреннего PageRank.

2. Проблемы

По этому поводу есть несколько трудностей:

  • поисковые системы нигде не показывают, как именно они прокраулили ваш сайт → какие теги обнаружили, как именно их обработали, передали ли ссылочный вес и т.д. Внутри нашей же программы вы должны это чётко видеть.
  • кастомизация сканирования за счёт большого числа настроек → в настройках сканирования вы можете включить/выключить определение любого параметра, а также учёт инструкций индексации – это наш конёк. Однако что делать, если вы выключили определение параметра, который влияет на индексацию и, в принципе, на попадание роботов поисковых систем на страницу? В таком случае вы будете видеть, что со страницей всё в порядке, однако это не так.

3. Решение

В итоге мы провели глобальное изменение алгоритма сканирования и добавили несколько новых фишек, с помощью которых становится более понятным ход работы Netpeak Spider:

3.1. Новые статус-коды

Была полностью переделана логика работы со статус-кодами (Status Code, код ответа сервера) – мы реализовали новые уникальные обозначения для самых распространённых ситуаций и теперь выводим их через символ &:

  • Disallowed → это означает, что данный URL заблокирован в файле robots.txt
  • Canonicalized → данный URL содержит тег Canonical, указывающий на другой URL (обратите внимание, что если на странице присутствует Canonical, указывающий сам на себя, то такого обозначения не будет)
  • Refresh Redirected → данный URL содержит тег Refresh (в HTTP-заголовках ответа сервера или Meta Refresh в блоке <head>), указывающий на другой URL (работает аналогично Canonical, то есть не показывается, если Refresh указан сам на себя)
  • Noindex / Nofollow → данный URL содержит инструкции, запрещающие индексацию и/или переход по ссылкам соответственно (сами инструкции расположены в HTTP-заголовках ответа сервера или в блоке <head>)

Таким образом, если страница отдаёт 200 код ответа сервера и при этом запрещена к индексации в файле robots.txt, то теперь вы в статус-коде увидите «200 OK & Disallowed»:

3.2. Учёт User Agent

Теперь будьте крайне внимательны, какой User Agent вы используете в настройках программы, потому что он стал учитываться во всех директивах, которые обращаются к роботам:

  • файл robots.txt → самый высокий уровень: если у вас запрещён URL в этом файле для определённого робота (например, Googlebot) и включён учёт инструкций из robots.txt в настройках, то Netpeak Spider даже обращаться к данному URL не будет. Будьте внимательны, так как это является достаточно распространённой ошибкой среди оптимизаторов – поставить на странице какие-то важные теги типа <meta name="robots" content="noindex, follow"> и закрыть такие страницы в файле robots.txt – в этом случае роботы поисковых систем данного тега не увидят.
  • X-Robots-Tag → следующий уровень: тег, полностью аналогичный Meta Robots, только позволяющий прописать соответствующие инструкции на уровне выше, а именно в HTTP-заголовках ответа сервера, чтобы быстрее дать рекомендации роботам поисковых систем об индексации контента на данной странице.
  • Meta Robots → самый низкий уровень: стандартный тег, расположенный в блоке <head> анализируемого документа.

Попробуйте воспользоваться предустановленными шаблонами User Agent для роботов поисковых систем или указать свои личные данные с помощью «Пользовательских настроек».

3.3. Продвинутые настройки

В настройках сканирования на вкладке «Продвинутые» теперь действует немного другая логика – учитывать:

  • Инструкции из файла robots.txt → теперь если страница закрыта от индексации в файле robots.txt и здесь включён учёт, то такую страницу вы в отчёте не увидите, так как Netpeak Spider блокирует добавление таких страниц в очередь. Исключением является только режим сканирования «По списку URL» – в рамках этого режима в финальном отчёте будут показаны полностью все страницы с припиской «& Disallowed».
  • Инструкции Canonical → если страница содержит этот тег, указывающий на другой URL, то в таблицу будут добавлены оба – начальный и конечный URL.
  • Refresh → аналогично Canonical: если указан Refresh на другой URL, то в отчёте будут обе страницы.
  • Инструкции из X-Robots-Tag → если страница закрыта от индексации с помощью noindex, то аналогично robots.txt – страница не попадёт в отчёт. Если указана инструкция nofollow, то программа заблокирует учёт всех ссылок со страницы. Исключение такое же – режим «По списку URL»: в этом случае в статус-коде будет приписка «& Noindex / Nofollow».
  • Инструкции из Meta Robots → полностью аналогично инструкциям из X-Robots-Tag.

3.4. Цепочки Canonical

В прошлых версиях программы мы показывали, как разбираемся с определением цепочек редиректов. Теперь пришло время покрыть ещё одну серьёзную ошибку → цепочки Canonical. Их учёт оказался непростым, потому мы специально разработали отдельную дополнительную таблицу для показа нужных данных.

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

3.5. Другие улучшения алгоритма сканирования

  • ссылки из Canonical, Meta Refresh и редиректов добавятся в очередь независимо от любых настроек
  • исходящие ссылки для страниц с Canonical и Refresh теперь фильтруются соответственно работе поисковых роботов → если вы включете настройку учёта этих инструкций, то в исходящих ссылках с этой страницы будет только одна ссылка, указанная в самом теге Canonical или Refresh
  • полностью переделана логика исключения ссылок → в данный момент настроены такие приоритеты по индексации и учёту ссылок со страницы: правила из настроек сканирования → инструкции из robots.txt → Canonical → Refresh → X-Robots-Tag → Meta Robots. Эти приоритеты означают, что если на странице стоит 2 тега: Canonical (указывающий на другой URL) и Meta Robots, то будет учитываться только Canonical, как тег с большим приоритетом.
  • оптимизирована логика получения данных из файла robots.txt

4. Дополнительные нововведения

4.1. Наличие в цепочках редиректов или Canonical страниц, запрещённых в файле robots.txt

Для того, чтобы решить эти проблемы, мы реализовали несколько новых проверок на ошибки – в отчёте они называются так:

  • Цепочка Canonical, заблокированная в Robots.txt
  • Редирект, заблокированный в Robots.txt

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

4.2. Проверка тега Base

В этой версии был добавлен отдельный параметр «Тег Base» и определение ошибки «Неправильный формат тега Base» – у оптимизаторов часто возникает проблема с этим тегом. Например, в теге <base> нельзя использовать относительные ссылки: оказывается, что в браузере переход по таким ссылкам пройдёт так, как вы ожидаете, а роботы поисковых систем с удовольствием заметят множество дубликатов и мусорных несуществующих страниц. Таким образом, обнаружить эту ошибку вручную крайне сложно.

4.3. Длина Title, Description, Keywords

Netpeak Spider достаточно давно проверяет страницы на ошибки, связанные со слишком длинными или короткими тегами Title и Description, однако только сейчас мы реализовали отдельные параметры, которые показывают текущую длину.

4.4. Изменение порядка параметров

Мы немного поработали над порядком параметров в настройках сканирования (вкладка «Параметры») и в самой таблице с результатами сканирования. Надеемся, вам понравится!

Коротко о главном

Мы решили основательно подготовиться к нашему следующему релизу, который позволит максимально точно рассчитывать внутренний PageRank. Для этого в Netpeak Spider был полностью переделан алгоритм сканирования, внедрены новые статус-коды и ошибки, которые помогут в наиболее удобном виде показать, как именно программа и роботы поисковых систем сканируют ваш сайт. Следите за обновлениями!

Читайте этот пост наанглийском языке