<стр>Узнайте, как проверить свои теории SEO с помощью Python. Узнайте, какие шаги необходимо предпринять для предварительного тестирования факторов ранжирования в поисковых системах и проверки реализации на всем сайте.
<п>При работе с посещаемыми сайтами можно столько же потерять, сколько и выиграть от внедрения SEO-рекомендаций.п>
Недостаточный риск неудачной реализации SEO можно снизить с помощью моделей машинного обучения для предварительного тестирования факторов ранжирования в поисковых системах.
Не говоря уже о предварительном тестировании, сплит-тестирование — наиболее надежный способ проверить теории SEO, прежде чем принимать решение о развертывании реализации по всему сайту или нет.
<стр>Мы рассмотрим необходимые шаги по использованию Python для проверки своих теорий SEO.стр>
Выбор ранговых позиций
Одной из проблем тестирования теорий SEO является большой размер выборки, необходимый для того, чтобы выводы теста были статистически достоверными.
Сплит-тесты – популяризирован Уиллом Кричлоу из SearchPilot – отдавайте предпочтение показателям на основе трафика, таким как клики, и это нормально, если ваша компания корпоративного уровня или имеет большой трафик.
Если ваш сайт не обладает такой завидной роскошью, то трафик как показатель результата, вероятно, будет относительно редким явлением, а это означает, что запуск и тестирование ваших экспериментов займут слишком много времени.<60~p>Если ваш сайт не обладает такой завидной роскошью, то трафик как показатель результата, скорее всего, будет относительно редким явлением. ~/п> <п>Вместо этого рассмотрите ранговые позиции. Довольно часто страницы малых и средних компаний, стремящихся к росту, часто ранжируются по целевым ключевым словам, которые еще недостаточно высоко ранжируются для получения трафика.
<п>В течение периода вашего тестирования для каждой точки данных, например дня, недели или месяца, вероятно, будет несколько точек данных о позиции рейтинга для нескольких ключевых слов. По сравнению с использованием показателя трафика (который, скорее всего, будет содержать гораздо меньше данных на страницу за дату), что сокращает период времени, необходимый для достижения минимального размера выборки при использовании ранговой позиции.
Таким образом, позиция в рейтинге отлично подходит для клиентов, не являющихся корпоративными организациями, которые хотят провести сплит-тесты SEO и которые могут получить информацию гораздо быстрее.
Google Search Console — ваш друг
Решение использовать рейтинговые позиции в Google делает использование источника данных простым (и, что удобно, недорогим) решением в Google Search Console (GSC), при условии, что он настроен.< /п> <п>GSC здесь хорошо подходит, поскольку у него есть API, который позволяет извлекать тысячи точек данных с течением времени и фильтровать строки URL.
Хотя данные могут и не соответствовать евангельской истине, они, по крайней мере, будут последовательными, и это достаточно хорошо.
Заполнение недостающих данных
GSC сообщает данные только для URL-адресов, у которых есть страницы, поэтому вам нужно будет создать строки для дат и заполнить недостающие данные.
Используемые функции Python будут представлять собой комбинацию merge() (например, функцию VLOOKUP в Excel), используемую для добавления недостающих строк данных для каждого URL-адреса и заполнения данных, которые вы хотите ввести для этих недостающих дат в этих URL-адресах. .п> <п>Для показателей трафика это будет ноль, тогда как для позиций рейтинга это будет либо медиана (если вы предполагаете, что URL-адрес занимал рейтинг, когда не было показов), либо 100 (чтобы предположим, что это не рейтинг).
Здесь указан код.
Проверьте дистрибутив и выберите модель
Распределение любых данных отражает их природу с точки зрения того, где наиболее популярное значение (режим) для данной метрики, скажем, ранговая позиция (в нашем случае выбранная метрика) находится для данной выборочной совокупности. п>
Распределение также покажет нам, насколько близки остальные точки данных к середине (среднему или медиане), т.е. насколько разбросаны (или распределены) ранговые позиции в наборе данных.п><стр>Это очень важно, так как это повлияет на выбор модели при оценке вашего теста по теории SEO.стр>
Используя Python, это можно сделать как визуально, так и аналитически; визуально, выполнив этот код:
<п>ab_dist_box_plt = ( ggplot(ab_expanded.loc[ab_expanded['position'].between(1, 90)], aes(x = 'позиция')) + geom_histogram(alpha = 0,9, интервалы = 30, fill = “#b5de2b”) + geom_vline(xintercept=ab_expanded['position'].median(), color=”red”, альфа = 0,8, размер=2) + labs(y = '# Частота n', x = 'nПозиция Google') + Scale_y_continous(labels=lambda x: ['{:,.0f}'.format(label) для метки в x]) + #coord_flip() + theme_light() + theme(legend_position = 'дно', axis_text_y =element_text(поворот=0, hjust=1, размер = 12), Legend_title = element_blank() ) ) ab_dist_box_plt
Изображение автора, июль 2024 г.
Приведенная выше диаграмма показывает, что распределение имеет положительную перекос (представьте, что перекос направлен вправо), что означает, что большинство ключевых слов занимают более высокие позиции (показано слева от красной срединной линии). Чтобы запустить этот код, обязательно установите необходимые библиотеки с помощью команды pip install pandasplotnine:
Теперь мы знаем, какую тестовую статистику использовать, чтобы определить, стоит ли развивать теорию SEO. В этом случае имеется выбор моделей, подходящих для этого типа распределения.
Минимальный размер выборки
Выбранную модель также можно использовать для определения минимально необходимого размера выборки.
Требуемый минимальный размер выборки гарантирует, что любые наблюдаемые различия между группами (если таковые имеются) являются реальными, а не случайной удачей.
То есть разница в результате вашего SEO-эксперимента или гипотезы статистически значима, и вероятность того, что тест правильно сообщит о разнице, высока (так называемая мощность).
<п>Этого можно достичь путем моделирования ряда случайных распределений, соответствующих приведенной выше схеме как для теста, так и для контроля, и проведения тестов.
Здесь указан код.
При запуске кода мы видим следующее:
<п>(0,0, 0,05) 0 (9,667, 1,0) 10000 (17,0, 1,0) 20000 (23,0, 1,0) 30000 (28,333, 1,0) 40000 (38,0, 1,0) 50000 (39,333, 1,0) 60000 (41 667, 1,0) 70 000 (54,333, 1,0) 80000 (51 333, 1,0) 90 000 (59,667, 1,0) 100000 (63,0, 1,0) 110000 (68,333, 1,0) 120000 (72,333, 1,0) 130000 (76,333, 1,0) 140000 (79,667, 1,0) 150000 (81,667, 1,0) 160000 (82,667, 1,0) 170000 (85,333, 1,0) 180000 (91,0, 1,0) 190000 (88,667, 1,0) 200000 (90,0, 1,0) 210000 (90,0, 1,0) 220000 (92,0, 1,0) 230000
Чтобы разобрать, цифры обозначают следующее, используя пример ниже:
(39.333,: доля запусков моделирования или экспериментов, в которых будет достигнута значимость, т. е. последовательность достижения значимости и устойчивости.
1,0) : статистическая мощность, вероятность того, что тест правильно отвергнет нулевую гипотезу, т.е. эксперимент построен таким образом, что разница будет правильно обнаружена на этом уровне размера выборки.стр>
60000: размер выборки
<п>Вышеизложенное интересно и потенциально может сбить с толку неспециалистов в статистике. С одной стороны, это предполагает, что нам понадобится 230 000 точек данных (составленных из точек данных ранга за определенный период времени), чтобы с вероятностью 92% наблюдать эксперименты по SEO, которые достигают статистической значимости. Однако, с другой стороны, имея 10 000 точек данных, мы достигнем статистической значимости – итак, что нам делать?
<п>Опыт научил меня, что значимость может быть достигнута преждевременно, поэтому вам следует стремиться к размеру выборки, который с вероятностью будет удерживать по крайней мере 90 % времени – Нам понадобится 220 000 точек данных.
Это действительно важный момент, потому что, обучив несколько корпоративных SEO-команд, все они жаловались на проведение окончательных тестов, которые не дали желаемых результатов при внедрении успешных изменений тестов.п>
Следовательно, описанный выше процесс позволит избежать всей этой душевной боли, напрасной траты времени, ресурсов и ущерба репутации из-за незнания минимального размера выборки и слишком раннего прекращения тестирования.
Назначить и реализовать
Имея это в виду, теперь мы можем начать назначать URL-адреса между тестом и контролем, чтобы проверить нашу теорию SEO.
В Python мы бы использовали функцию np.where() (представьте себе расширенную функцию ЕСЛИ в Excel), где у нас есть несколько вариантов разделения наших тем: по шаблону строкового URL-адреса, типу контента, ключевым словам в заголовке или по другим параметрам, в зависимости от теории SEO, которую вы хотите проверить.
Используйте приведенный здесь код Python.
Строго говоря, вы бы запустили это для сбора данных в рамках нового эксперимента. Но вы можете проверить свою теорию ретроспективно, предполагая, что не было никаких других изменений, которые могли бы взаимодействовать с гипотезой и изменить достоверность теста.
Об этом следует помнить, поскольку это всего лишь предположение!
<х2>Тестч2>
Как только данные собраны или вы уверены, что у вас есть исторические данные, вы готовы провести тест.
В нашем случае ранговой позиции мы, скорее всего, будем использовать такую модель, как тест Манна-Уитни, из-за ее распределительных свойств.
Однако, если вы используете другой показатель, например клики, который распределяется по Пуассону, то вам понадобится совершенно другая статистическая модель.
Здесь приведен код для запуска теста.
<п>После запуска вы можете распечатать результаты теста:
U-тест Манна-Уитни Результаты испытаний Статистика МВУ: 6870,0 Значение P: 0,013576443923420183 Дополнительная сводная статистика: Тестовая группа: n = 122, среднее = 5,87, стандартное = 2,37. Контрольная группа: n = 3340, среднее = 22,58, стандартное = 20,59.
Выше приведены результаты эксперимента, который я провел, который показал влияние коммерческих целевых страниц с поддерживающими руководствами по блогам, внутренними ссылками на первые, по сравнению с неподдерживаемыми целевыми страницами.
В этом случае мы показали, что страницы предложений, поддерживаемые контент-маркетингом, имеют более высокий рейтинг в Google в среднем на 17 позиций (22,58 – 5,87). Разница также значительна — 98%!
Однако нам нужно больше времени, чтобы получить больше данных – в данном случае еще 210 000 точек данных. Как и в случае с текущим размером выборки, мы можем быть уверены только в том, что <10% случаев теория SEO воспроизводима.
Сплит-тестирование может продемонстрировать навыки, знания и опыт
<стр>В этой статье мы рассмотрели процесс тестирования ваших гипотез SEO, охватывая требования к мышлению и данным для проведения валидного SEO-теста.стр>
К настоящему моменту вы, возможно, поймете, что при разработке, запуске и оценке SEO-тестов нужно многое понять и принять во внимание. Мой видеокурс Data Science for SEO гораздо глубже (с большим количеством кода) посвящен науке SEO-тестов, включая разделение A/A и разделение A/B.
Как профессионалы в области SEO, мы можем воспринимать определенные знания как нечто само собой разумеющееся, например, о влиянии контент-маркетинга на эффективность SEO.
С другой стороны, клиенты часто бросают вызов нашим знаниям, поэтому методы сплит-тестирования могут быть наиболее полезны для демонстрации ваших навыков, знаний и опыта в области SEO!
<ул>