A/B, или сплит-тест в SEO: как не уснуть со скуки
Цель A/B теста достаточно проста – определить наилучший вариант из двух или нескольких возможных. После этой фразы обычно идет описание инструментов тестирования, примеры на английском, анализ данных... Я тоже раньше скептически относилась к данным тестам, пока наконец не разобрала суть и плюсы данного метода.
К слову, не обещаю, что при чтении моей статьи вы тоже не заскучаете. Но это попытка разжевать и объяснить доступным языком классную фишку в SEO.
Определение A/B теста
A/B тестирование — это сплит-тест, который проводится путем деления аудитории на сегменты. Например, группе "1" показываем новую категорию сайта с внедренной фильтрацией, а группе "2" – старую версию, которой пользовались до этого все юзеры (или наоборот). Эффективность наших изменений оцениваем по группе "1", группа "2" служит нам стандартным значением.
Проще говоря, мы поделили их на A и B группы.
1 пользователь = 1 сегмент. Вы можете присвоить для разных визитов на 2 версии свои utm-метки и отслеживать данные в Метрике или Analytics, отсеивая случайные заходы, внутренние переходы и своих сотрудников.
Как вы их создаете и разделяете сегменты, зависит только от вас. Однако важно помнить, что страницы, которые вы тестируете должны иметь (желательно) схожие показатели трафика или конверсии . Также, безусловно, имеет смысл учитывать внешние факторы, которые могут повлиять на результаты вашего эксперимента.
Создание гипотезы
Гипотеза — это предсказание результатов вашего эксперимента. Если ваша цель — поднять позиции в поиске, повысить количество и качество трафика, иногда все же необходимо проводить тесты A/B в SEO.
Например, вы стараетесь повысить позиции в Яндексе, переписывая мета-теги, текст, внедряя коммерческие факторы... Однако алгоритмы Яндекса могут работать совершенно по-разному в различных нишах. Одинаково одно – сайт/страница должны быть релевантными.
Учитывая это, мы предполагаем, что дав пользователю качественный контент и выбор, мы повысим релевантность страницы, что, возможно, повлияет на результаты по трафику или конверсии.
С чего можно начать в сплит-тестировании?
Title и description в тестировании
Допустим, мы написали мы симпатичных мета-тегов для страниц по продаже кухонь:
Вместо CTR вы можете выбрать любой удобный для себя показатель: количество переходов, достижение цели, заказ обратного звонка – смотря, каких целей вы добиваетесь и на что ориентирован ваш тест. Сейчас нам важно проверить, какие мета-теги "заходят" не только поисковым системами, но и потенциальным клиентам.
Что по итогу показал сплит-тест:
Сразу отвечая на возможные вопросы: это не CTR отдельного мета-тега, а CTR страницы с данным мета-тегом. То есть учитывайте, что вам придется выводить среднее значение, если вы тестируете сразу оба элемента.
Благодаря именно срезу кликабельности, а не перебирая возможные мета-теги в попытке угадать настроение поисковой системы и пользователей, страница сейчас на 4 месте в Яндексе по Уфе:
К слову, хорошо парсит теги из ТОПа выдачи данный инструмент, что избавит вас от подборов вручную. Впрочем, что-то делать вручную в SEO – это уже почти моветон :)
A/B в Google Analytics
А что там по Аналитике, которая предоставляет даже более точный срез и спектр исследований? Как раз его можно использовать, если вам нужно протестировать элементы на странице, а не текстовые факторы.
Переходим в исследования и создаем тест:
Например, мне недавно нужно было понять количество пользователей на сайте Реформа, которые выбирают Jivosite в качестве связи с менеджером, и которые кликают по номеру в шапке сайта. В принципе, это можно примерно посмотреть в Метрике, или запросить информацию у колл-центра, но нам же интересно наложение сегментов.
Выбираем необходимые параметры и запускаем тест:
Также можно сразу в A/B тестировании сравнить статистику пользователей по потокам, но это для продвинутых SEO-специалистов (впрочем, на VC все такие):
Зачем нужно эти непонятные циферки, спросят обычные пользователи? Чтобы идентифицировать каждый поток и собирать с него статистику действий на сайте:
И все-таки, когда нужно проводить тестирование?
Если вы провели эксперимент правильно, то в итоге позиции (или другой показатель) сайта могут вырасти.
Но если нам так важны результаты, почему бы не провести тестирование в одном разделе, а затем применить получившиеся данные ко всему сайту?
Во-первых, без грамотного A/B теста не обходится ни один крупный интернет-магазин или маркетплейс. Необходимо понять, что больше понравится потребителю: карточка товара "Сахар 5кг" с описанием вплоть до качества крупинок, либо карточка с сухим указанием производителя и цены за 100гр/1кг.
Во-вторых, вы ставите теорию, придумываете гипотезу и получаете результаты эксперимента. Если вы остановитесь только на первом пункте, можете потерять время, трафик и потенциальных клиентов.
В третьих, сплит-тест можно провести в любом масштабе и объеме. Можете анализировать весь сайт, а можете отдельные страницы. Последнее сильно не повлияет на общий трафик.
A/B тест + Python = ❤
Здесь абзац для тех, кто более-менее понимает в питоне. Если для вас данный язык программирования пока незнаком, рекомендую перейти к следующему разделу.
В принципе, почти любой алгоритм в SEO сейчас можно "запитонить". Если взять группы A и B, присвойте им свои переменные. Но аккуратнее: единственным различием между группами будет являться то, что вы измеряете. Так что сложных тестов здесь проводить не нужно – но выборка может быть огромная.
Для зависимой переменной (т. е. что мы пытаемся измерить) фиксируем значение X (что меряем) rate.
- 0 – Пользователь совершил конверсию
- 1 – Пользователь не совершил конверсию.
Устанавливаем переменные для нужных значений:
- Статистическая разница между группами в тесте, когда разница действительно присутствует. Допустим, вы ее установили на уровне 0,8.
- Критическое значение, которое зависит от уровня достоверности. Допустим, он равен 90%, значит, ваше критическое значение – 0,1.
- Эффективность — насколько велика ожидаемая разница между коэффициентами.
Пример скрипта тут. Далее выгружаем статистические данные в DataFrame? вам еще нужно будет установить переменные для ваших групп – думаю, если вы дошли до данного этапа, с выгрузкой и анализом данных вы уже справитесь.
Огромный плюс в том, что данный метод позволяет анализировать действительно огромные выборки и маркетплейсы.
Когда лучше избежать сплит-теста?
- Не запускайте тестирование, когда на трафик влияет сезонность. Получите неверные данные и расстроитесь.
- То же самое относится и к глобальным изменениям на сайте. Захотите переделать сайт и провести тест – пожалуйста, но после внедрения всех изменений и индексирования их поисковыми системами.
- Если не сохранилась исходная страница со старыми данными.
- Не установлен тег rel=canonical" для страниц. Каноникл указывает исходную страницу, которую следует проиндексировать. Это помогает избежать случайной индексации другой дублирующей тестовой страницы.
- И наконец, вы убеждены на все 100%, что ваши страницы индексируют обе поисковые системы. Ну, мало ли что бывает.
Допом хорошие статьи по A/B тестированию:
Резюмирую: не бойтесь изучать новое в своей сфере, иногда это очень полезно и интересно :)
Ничего не понял, но очень интересно)
Я бы сказал, что сплит-тесты в SEO в целом сильно осложняются тем, что тот же Яндекс работает апдейтами - текстовыми, поведенческими и т.п., и очень сложно контролировать причинно-следственную связь. Ну для примера: вот я внёс правки в тайтлы, спустя неделю сайт вырос - это тайтлы сработали или наконец-то Яша отрендерил js-контент и ему понравилось? А потом рухнуло - потому что с ПФ нарисовались траблы, или запрос по корпусу сместился?
В общем, тема перспективная, но я её баюс.
Яндекс в js не умеет
Умеет, если не извращаться с фронтендом. Но таки надо проверять - хоть с помощью Screaming Frog вместе с контролем кэшей.
По моим наблюдениям, важный контент вылетает из скана совсем уж редко - в основном, на кривых конструкторах.
Лягушки нет. Смотрю сохраненки https://disk.yandex.ru/d/sGloVjHzb850Sw
Ну тогда лайфхак: в Screaming Frog эмулируете Яндексбота (хотя это в принципе неважно) и парсите страничку в режиме рендеринга JS. Смотрите, что рендерится (визуально). Потом сопоставляете raw HTML и рендер (там можно поставить галочку выделять разницу). И уже видно, что конкретно выводится средствами JS. В нормальном случае - какие-нибудь видосы с ютуб, отзывы на товар, комментарии.
Потом смотрите на сохраненку и ищете то, что рендерится JS. если нету - таки Яша (пока или уже) не справился. Как минимум, понятно, что ключи там на текстовые метрики ещё (или уже) не повлияли.
По моим наблюдениям, всё это залетает в индекс - только сильно позже первичной индексации, речь может идти о месяцах.
Ну, и с AJAX оно никак не справляется, поэтому только хардкор, только рендер на стороне сервера.
Да нету у меня лягушки и у многих теперь тоже не будет. Зато есть плагин https://chrome.google.com/webstore/detail/view-rendered-source/ejgngohbdedoabanmclafpkoogegdpob
Не понял, как может попасть в индекс, если бот в принципе JS не обрабатывает?
Ну явно же не стоит доверять разговорам саппорта Яндекса. Там в основном бот отписки отправляет. да и клиентские скрипты клиентским скриптам рознь.
Как вариант - смотреть, что смог прочитать эмулятор в плагине и сверять с сохраненкой.
Чаще всего проблемы бывают с меню на JS, айфреймами, сторонними сервисами, чатботами, ну, и коронное - это "потоки" Тильды, которые в принципе не сканируемы, судя по всему.
Факт, что без оценки такого контента не стоит морочиться текстовым анализом - выпадать может и больше половины контента. Формально - вот оно, вижу. По факту - в индекс тупо не попадает и не оценивается.
А как измерен CTR мета-тега? Понятно, что количеством переходов, но у вас % а не число переходов.
уточнила в статье, что это ctr страницы с данным мета-тегом, чтобы не было путаницы
Это и так в статье было написано. Мой вопрос не связан с вашим ответом.
Что вы подразумеваете под CTR страницы с данным мета-тегом? Вопрос не в принципе подхода, а в вычислениях. Что вы мерите, чтобы получить %?
Отношение конверсий к кол-ву переходов или отношение переходов к среднему числу переходов? Или другое что-то?
Под CTR традиционно понимается исключительно соотношение показов и кликов на выдаче. В данном случае: сниппет в таком-то виде и с такой то формулировкой обеспечил CTR в 3%. В таком - 7.
Конверсии тут совсем ни при чём, вы пока просто пытаетесь привести на водопой чуть больше лошадей. Как они будут пить (если будут вообще) - совсем другая тема, которой занимается не SEO, а CRO, хотя методы там ровно те же - сплит-тесты и т.п.
То есть ответ заключается в формуле показы / клики. Спасибо.
Но мне кажется такой метод не совсем подходит. Если речь про показы на основании GSC (консоль гугла) и ЯВ (веб-мастер Яши), то там эти данные обновляются долго.
Такой метод мне кажется хорошо подошел бы для рекламы) в целом там он и используется чаще.
Да, там как минимум эта метрика считается специально.
Ну, по реализации на практике вопросов может быть много. Но тут не настолько важна точная информация, притом день в день, ПС всё равно всё нормализуют и обобщают. Важнее учитывать тренды, кмк.
Как правило, такие статьи несут в себе общую, не привязанную к реальности информацию. Именно поэтому рассказывать такие детали нужно, иначе как определить ценность этого подхода?
Тренд - более реальная метрика, нежели показы в органическом поиске. И если так в реальности и мерилось, то автор сделал то, что делать не должен. А если он здесь так сделал, то есть сомнения, что статью стоит читать далее.
Ну вот именно в этой практике меня лично больше смущает другой момент: выводился ли в серп именно заданный сниппет, соответствующий тайтлу и дескрипу. Вовсе не обновления в панелях ПС - это всё проверяется в один клик.
Если уж придираться - то я бы сопоставлял кликабельность с целевым трафиком, и по итогам - да, с конверсиями. Но вообще это уже выходит за рамки темы статьи - речь-то про сплит-тесты и их применение в сеошке.
Важны идеи, а не рецепты.
Да, если в серп не выводится, то не стоит засчитывать результат в табличке. В принципе, как это обычно и делается в SEO.
С конверсиями именно у данного сайта сложно, все делается на заказ, конверсионная воронка у них долгая и обычная не заканчивается на "добавить в корзину", а оффлайн у менеджера. Здесь конверсии с сайта можно поставить на второй план.
По сути, в Яше и Гугле мета-теги различаются - http://joxi.ru/4Ak6qVaHj7BMJ2 и http://joxi.ru/ZrJKM6GiQo01jm (сорри за фиолетовые ссылочки, лень лезть в инкогнито)
В книге https://exiterra.com/blog/prodvizhenie-sajta/optimizatsiya-tekstov-7-shagov-seo-optimizatsii-stati-posta-youtube-rolika/, узнал не мало нового. Думаю, прекрасно дополнит тему этой статьи.