SEO
Denis Grammakov
3085

Автоматизация тестирования в SEO, или как не проспать катастрофу

Привет! Я Денис, занимаюсь SEO и в свободное время работаю над сервисом Seobots.io. И сегодня я расскажу, как автоматизировать тестирование в SEO, чтобы спокойно жить, зная, что у ваших проектов ничего не отвалилось.

В закладки

А не случайно обнаружить, что уже два месяца как у вас не работают канониклы, заголовки H1 превратились в H5, а sitemap.xml редиректит на sitemap.html (упс, как же так вышло?).

Суть проблемы

Думаю почти у каждого из нас бывало такое, что работаешь спокойно, тут решаешь проверить robots.txt, например, а он отдает 404, или на страницах подкатегорий пропали H2 теги, начинаешь копать и оказывается что они отвались уже как две недели назад, и, конечно же, никто ничего не знает.

Если ваш сайт это небольшой блог на Вордпрессе, и вся команда это два с половиной человека, то тут проблем не так много. Риск чему-то отвалиться есть, но он достаточно мал, и такие вещи быстро ловятся дежурным обходом (который, кстати, тоже есть смысл автоматизировать).

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

Тестирование нам поможет

Чтобы свести потенциальные потери к минимуму, есть два пути.

Первый — проверять ручками ваши сайты каждый день/час/неделю в рамках технического аудита, и смотреть ничего ли не съехало (на тестовом сервере или уже в продакшене).

Второй — автоматизировать такие проверки на разных уровнях и, в случае чего, получать уведомления о возникшей проблеме. Если проект реально серьезный, как и его разработчики, то опытный читатель может сказать что-то вроде «Ну так разрабам надо дать ТЗ на написание тестов SEO модулей». На бумаге это 100% правильные слова, но на практике я такого почти нигде не встречал по нескольким основным причинам.

Во-первых, кодерам это нафиг не уперлось. У них и так полно задач, а писать тесты на канониклы они скорее всего не будут, а если и будут то точно не сегодня.

Во-вторых, даже если тесты на SEO написать согласятся (wow), их вам тоже придется проверять / модифицировать / апдейтить / отправлять на фикс, а это время.

В третьих — тесты вообще на практике пишет не так много разработчиков, как кажется после просмотра докладов с конференций о TDD на ютубе, поэтому не удивляйтесь, если на уместный вопрос о тестировании кода вам в ответ многозначительно промолчат.

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

Дальше все упирается конкретно в ваши хотелки, а также ваш технический скилл, так как предложений на рынке слава богу не много, но есть: можно самостоятельно кодить, а можно настраивать через графический интерфейс — что хотите то и воротите.

Теперь вкратце по опциям.

Вариант для неленивых со знаниями

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

Запускать тесты через свою консоль тоже рабочий вариант, но не без ограничений. Шарить его с коллегами не очень удобно, да и подключать оповещения тоже не получится в два клика.

Вариант для неленивых с деньгами

Если код писать вы не умеете (а зря, самое время заглянуть на codecademy.com или udemy.com, вы ведь наверняка сейчас все свободное время проводите дома?), то есть варианты попроще, но, в принципе, не хуже. Например, ghostinspector.com позволяет создавать тесты в удобном личном кабинете, вручную. «Зайти на страницу А», «Нажать на кнопку Б», «Убедиться, что элемент В не исчез» и все в таком духе. Я считают такой подход весьма удобным.

К сожалению, цена также начинается от $100 в месяц, что подойдет не всем. Однако, если бюджет все-таки получится выбить, то с помощью такого сервиса члены команды смогут не только проверять SEO-составляющую проекта, но и полноценно тестировать и другие части вашего приложения, в том числе те, что требуют пользовательской аутентификации, тем самым значительно разгрузив QA.

Вариант для ленивых с деньгами

Есть совсем крутые «всё включено» сервисы, например ContentKingApp, которые присматривают за вашим сайтом практически в реальном времени, и отправляют вам уведомление, если что-то по их мнению сломалось. У них огромное количество фич, помимо прочего сервис своевременно сообщит вам о наличии ошибок на сайте, изменениях в Search Console, битых ссылках и многом другом.

Dashboard веб-приложения ContentKing

Вообще я рекомендую этот сервис, уж очень он хорош, но, конечно же, дороговат (120 Евро за 5000 страниц). Если можете себе позволить — пользуйтесь.

Наверняка есть дешевые аналоги, но я о таких не знаю. Если знаете пример — кидайте в комментарии.

Варианты для всех остальных

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

Итак, с подходами разобрались, теперь давайте разберемся, что же нам нужно тестировать.

Мониторинг доступности документов

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

Такой метод проверки, к примеру, по-умолчанию встроен в Яндекс.Метрику — если ваш сайт падает и перестает открываться, Яндекс любезно пришлет вам уведомление, что что-то пошло не так. Для Uptime мониторинга вообще полно сервисов, включая Радар от Топвизора, Мониторус, URL Availability Monitor от SEOBOTS и прочие ресурсы.

Минимальный функционал который вам нужен — это проверка на доступность выбранного URL и своевременное оповещение в случае его недоступности. Для всех своих и клиентских проектов я настроил ежедневную проверку следующих документов:

  • XML карта сайта
  • Robots.txt
  • Несколько «важных» страниц (главная, категорийная, страница товара)

Это далеко от стопроцентного покрытия, однако на практике вполне достаточно. В случае, если что-то из вышеперечисленного отваливается, я получаю уведомление в Телеграм, либо вся команда видит Алерт в соответствующем Slack канале:

Пример ​Slack нотификации

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

Мониторинг элементов сайта

Цель данной проверки — удостовериться, что в теле документа присутствует необходимый нам элемент. Или отсутствует. Для этого я использую инструмент Element Checker, который проверяет документы на наличие необходимых селекторов, а также на наличие/отсутствие специфического контента в этих самых селекторах. Например можно настроить его отслеживать такие вещи как:

  • Корректность отображения канонических тегов
  • Содержимое H1 тега
  • Наличие meta description на странице

И многое другое.

Несколько раз в день я проверяю свои и чужие проекты на предмет наличия и соответствия H1, тайтлов, дескрипшенов и прочих составляющих. Можно указывать точный элемент используя классы или айдишники.

Пример отчета о найденной ошибке

Если вдруг после деплоя в пятницу вечером ваши title теги превратились в тыкву, вся dev команда получит своевременное уведомление. Бесценно.

Мониторинг настроенных редиректов

Редиректы, пожалуй, одни из самых недооцененных предметов тестирования. Если у вас ни разу в жизни не отваливались редиректы — снимаю шляпу. У меня такое случалось, и, думаю, еще пару раз точно предстоит. Это может быть банальный редирект с поддомена вроде blog.site.com на site.com/blog который вдруг перестал работать, или что-то более серьезное, например редирект с недавно купленного жирного домена стал отправлять пользователей не туда куда нужно.

Для мониторинга такого типа событий есть отдельный бот — Redirect Chain Monitor, задача которого следить, что редирект с документа А отправляет на документ Б, и сообщать мне об эксцессах в случае поломки.

Пример отчета об успешной проверке настроенного редиректа

Мониторинг уровня трафика

Критическое падение трафика ниже определенного уровня часто является следствием технической неисправности на сайте. Например, программист случайно выкатил на боевой сервер закрытый Robots.txt из дев-окружения, и уровень органики резко снизился, скажем, на 99%, но при этом все элементы сайта исправны и находятся на своих местах, поэтому DOM и аптайм проверки ничего не заметят. Конечно, такой сценарий не произойдет одномоментно, но ничего лучше мне сегодня в голову не пришло, можете описать свой личный фейл в комментариях.

Для мониторинга уровней трафика можно использовать StatsGlitch или Traffic Alerts Monitor, которые могут не только сообщать о падении, но и о росте трафика, либо о его нахождении в пределах заданных уровней:

Эти инструменты берут данные для анализа из Google Analytics, так что в вашем распоряжении еще один независимый источник данных, а значит шанс предотвратить апокалипсис возрастает.

Бонус: Мониторинг размещенных ссылок

Этот пункт идет бонусом, так как к внутренней оптимизации он отношения не имеет, зато позволяет держать руку на пульсе на случай, если ссылка с «дружественного блога» на ваш ресурс бесследно пропала. Помимо использования собственного бота, я пробовал только пару аналогичных сервисов: ЛинкЧекер от Seoprofy (рекомендую) и уже упомянутый выше Топвизор.

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

Итог

Не пренебрегайте тестированием, особенно если выражение «одно лечим другое калечим» вам знакомо, и даже если нет — все равно внедрите его. Вы сэкономите время на проверках, еженедельных обходах, и будете более уверенно себя чувствовать при деплое программистами новых фич.

Вы тестируете SEO составляющие на своих проектах? Поделитесь, что именно и какими сервисами пользуетесь. И раз уж вы дочитали до самого конца, то вот вам небольшой бонус — при регистрации на SEOBOTS.io я добавлю вам дополнительно 1000 кредитов на тесты. Просто напишите в коментах свой user ID (он отображается в разделе Settings) или киньте мне сообщение в твиттер.

Экономьте свое время. Работу должны делать роботы.

{ "author_name": "Denis Grammakov", "author_type": "self", "tags": [], "comments": 8, "likes": 12, "favorites": 48, "is_advertisement": false, "subsite_label": "seo", "id": 116267, "is_wide": false, "is_ugc": true, "date": "Wed, 01 Apr 2020 12:14:36 +0300", "is_special": false }
Онлайн-интенсив «10 секретов эффективного маркетинга e-commerce»
23 июня Онлайн Бесплатно
Объявление на vc.ru
0
8 комментариев
Популярные
По порядку
Написать комментарий...
2

Пусть работает робот  —  он железный!
Всё правильно.

Ответить
2

Мониторинг уровня трафика насколько я знаю можно сделать через оповещения в Google analytics без использования сторонних сервисов 

Ответить
0

На Sitedozor.ru есть функция автопостановки задач по результатам проверки сайта. Проверка по расписанию - ежедневно или еженедельно. Плюс сервис своего рода комбайн для контроля, seo и развития сайта. Из того, что самое удобное навскидку - экспресс-аудит сайта. Комплексный анализ всех страниц разом по расписанию или вручную. Автоматическая отправка новых и старых страниц с сайта в переобход Яндекса. Сравнение контента  страницы с конкурентами - видно у кого какие слова у сайтов в топе и чего не хватает на твоей странице. Проверка вхождения LSI запросов на страницах - выдает есть ли слова на странице или нет. Подбор места на сайте для размещения ключей - находит, где поставить ссылку на непродвигаемых страницах для передачи веса. Проверка неработающих ссылок - тоже постранично или всех страниц в комплексном анализе.  Автоматическая проверка сайта на вирусы. Проверка форм связи сайта по расписанию для контроля их работоспособности, чтобы не пропустить момент, когда на хостинге что-то перестало работать, а ты сидишь и ждешь заказы. Управление проектами: задачи, чек-листы, идеи, контент-маркетинг. 

Ответить
0

хм... в бесплатном тарифе - всего одна страница на проверку O_o, а как можно проверить работу сервера? вдруг там баг на баге, и багом погоняет? Как-то странно - вы пробуйте, но мы вам при этом ничего не покажем.

Ответить
0

О! Прям как ответ на мой вопрос - письмо: http://prntscr.com/rs28eq. Правда пришло запоздало: http://prntscr.com/rs28yh. Ну да ладно. Коллеги - налетай, разбирай: подешевело!)))

Ответить
0

Тс, а можете написать бота под Фейсбук?

Ответить
0

Смотря какого! Пишите на denis@seobots.io

Ответить
0

Я пользуюсь вот этой SEO-CRM https://seo-crm.ru/ в ней есть все что необходимо для продвижения сайта, полноценная CRM система, а так же мониторинг сайтов. В случае каких-либо изменений на сайте, прилетает алерт.

Ответить

Прямой эфир