Cómo utilizar Python para probar teorías de SEO (y por qué debería hacerlo)

Cómo utilizar Python para probar teorías de SEO (y por qué debería hacerlo)


Cuando se trabaja en sitios con tráfico, hay tanto que perder como ganar al implementar recomendaciones de SEO.

El riesgo negativo de que una implementación de SEO salga mal se puede mitigar utilizando modelos de aprendizaje automático para probar previamente los factores de clasificación en los motores de búsqueda.

Dejando a un lado las pruebas previas, las pruebas divididas son la forma más confiable de validar las teorías de SEO antes de tomar la decisión de implementar la implementación en todo el sitio o no.

Revisaremos los pasos necesarios sobre cómo usaría Python para probar sus teorías de SEO.

Elija posiciones de clasificación

Uno de los desafíos de probar las teorías de SEO son los grandes tamaños de muestra necesarios para que las conclusiones de la prueba sean estadísticamente válidas.

Las pruebas divididas, popularizadas por Will Critchlow de SearchPilot, favorecen las métricas basadas en el tráfico, como los clics, lo cual está bien si su empresa es de nivel empresarial o tiene mucho tráfico.

Si su sitio no tiene ese envidioso lujo, entonces el tráfico como métrica de resultado probablemente sea un evento relativamente raro, lo que significa que sus experimentos tardarán demasiado en ejecutarse y probarse.

En su lugar, considere las posiciones de rango. Muy a menudo, en el caso de las pequeñas y medianas empresas que buscan crecer, sus páginas suelen clasificarse según palabras clave objetivo que aún no tienen una clasificación lo suficientemente alta como para generar tráfico.

Durante el período de su prueba, para cada punto de datos, por ejemplo, día, semana o mes, es probable que haya múltiples puntos de datos de posición de clasificación para múltiples palabras clave. En comparación con el uso de una métrica de tráfico (que probablemente tenga muchos menos datos por página por fecha), esto reduce el período de tiempo necesario para alcanzar un tamaño de muestra mínimo si se utiliza la posición de clasificación.

Por lo tanto, la posición en el ranking es excelente para clientes que no son de tamaño empresarial y que buscan realizar pruebas divididas de SEO que puedan obtener información mucho más rápido.

Google Search Console es tu amigo

Decidir utilizar posiciones de clasificación en Google hace que utilizar la fuente de datos sea una decisión sencilla (y convenientemente de bajo costo) en Google Search Console (GSC), suponiendo que esté configurada.

GSC encaja bien aquí porque tiene una API que le permite extraer miles de puntos de datos a lo largo del tiempo y filtrar por cadenas de URL.

Si bien los datos pueden no ser la verdad del evangelio, al menos serán consistentes, lo cual es bastante bueno.

Completar datos faltantes

GSC solo informa datos de URL que tienen páginas, por lo que deberá crear filas para las fechas y completar los datos que faltan.

Las funciones de Python utilizadas serían una combinación de merge() (piense en la función BUSCARV en Excel) utilizada para agregar filas de datos faltantes por URL y completar los datos que desea ingresar para esas fechas faltantes en esas URL.

Para las métricas de tráfico, será cero, mientras que para las posiciones de clasificación, será la mediana (si va a asumir que la URL estaba clasificada cuando no se generaron impresiones) o 100 (para asumir que no estaba clasificada). ).

El código se proporciona aquí.

Consulta la distribución y selecciona el modelo.

La distribución de cualquier dato representa su naturaleza, en términos de dónde está el valor (moda) más popular para una métrica determinada, digamos la posición de clasificación (en nuestro caso, la métrica elegida) para una población de muestra determinada.

La distribución también nos dirá qué tan cerca están el resto de los puntos de datos del medio (media o mediana), es decir, qué tan dispersas (o distribuidas) están las posiciones de clasificación en el conjunto de datos.

Esto es fundamental ya que afectará la elección del modelo al evaluar su prueba teórica de SEO.

Usando Python, esto se puede hacer tanto visual como analíticamente; visualmente ejecutando este código:

ab_dist_box_plt = (

ggplot(ab_expanded.loc[ab_expanded['position'].between(1, 90)], 

aes(x = 'position')) + 

geom_histogram(alpha = 0.9, bins = 30, fill = "#b5de2b") +
geom_vline(xintercept=ab_expanded['position'].median(), color="red", alpha = 0.8, size=2) +

labs(y = '# Frequency n', x = 'nGoogle Position') + 

scale_y_continuous(labels=lambda x: ['{:,.0f}'.format(label) for label in x]) + 

#coord_flip() +

theme_light() +

theme(legend_position = 'bottom', 

axis_text_y =element_text(rotation=0, hjust=1, size = 12),

legend_title = element_blank()

) 

)

ab_dist_box_plt
Imagen del autor, julio de 2024.

El gráfico anterior muestra que la distribución está sesgada positivamente (piense en un pincho que apunta hacia la derecha), lo que significa que la mayoría de las palabras clave se clasifican en las posiciones mejor clasificadas (que se muestran hacia la izquierda de la línea mediana roja). Para ejecutar este código, asegúrese de instalar las bibliotecas necesarias mediante el comando pip instalar pandas plotnine:

Ahora sabemos qué estadística de prueba utilizar para discernir si vale la pena seguir la teoría SEO. En este caso, existe una selección de modelos apropiados para este tipo de distribución.

Tamaño mínimo de muestra

El modelo seleccionado también se puede utilizar para determinar el tamaño mínimo de muestra requerido.

El tamaño de muestra mínimo requerido garantiza que cualquier diferencia observada entre grupos (si la hay) sea real y no aleatoria.

Es decir, la diferencia como resultado de su experimento o hipótesis de SEO es estadísticamente significativa y la probabilidad de que la prueba informe correctamente la diferencia es alta (lo que se conoce como poder).

Esto se lograría simulando una serie de distribuciones aleatorias que se ajusten al patrón anterior tanto para la prueba como para el control y la realización de pruebas.

El código se proporciona aquí.

Al ejecutar el código, vemos lo siguiente:

(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) 70000

(54.333, 1.0) 80000

(51.333, 1.0) 90000

(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

Para desglosarlo, los números representan lo siguiente usando el siguiente ejemplo:

(39.333,: proporción de ejecuciones de simulación o experimentos en los que se alcanzará significancia, es decir, consistencia para alcanzar significancia y robustez.

1.0) : poder estadístico, la probabilidad de que la prueba rechace correctamente la hipótesis nula, es decir, el experimento está diseñado de tal manera que se detecte correctamente una diferencia en este nivel de tamaño de muestra.

60000: sample size

Lo anterior es interesante y potencialmente confuso para los no estadísticos. Por un lado, sugiere que necesitaremos 230.000 puntos de datos (compuestos de puntos de datos de clasificación durante un período de tiempo) para tener un 92% de posibilidades de observar experimentos de SEO que alcancen significación estadística. Sin embargo, por otro lado, con 10.000 puntos de datos alcanzaremos significación estadística; entonces, ¿qué debemos hacer?

La experiencia me ha enseñado que se puede alcanzar significancia prematuramente, por lo que conviene apuntar a un tamaño de muestra que probablemente se mantenga al menos el 90% de las veces; lo que necesitaremos son 220.000 puntos de datos.

Este es un punto realmente importante porque después de haber capacitado a algunos equipos de SEO empresariales, todos se quejaron de realizar pruebas concluyentes que no produjeron los resultados deseados al implementar los cambios de prueba ganadores.

Por lo tanto, el proceso anterior evitará todos esos dolores de cabeza, pérdida de tiempo, recursos y credibilidad dañada por no conocer el tamaño mínimo de la muestra y detener las pruebas demasiado pronto.

Asignar e implementar

Con eso en mente, ahora podemos comenzar a asignar URL entre prueba y control para probar nuestra teoría de SEO.

En Python, usaríamos el función np.dónde() (piense en la función IF avanzada en Excel), donde tenemos varias opciones para dividir nuestros temas, ya sea en un patrón de URL de cadena, tipo de contenido, palabras clave en el título u otras, dependiendo de la teoría de SEO que desea validar.

Utilice el código Python que se proporciona aquí.

Estrictamente hablando, ejecutaría esto para recopilar datos en el futuro como parte de un nuevo experimento. Pero podrías probar tu teoría retrospectivamente, asumiendo que no hubo otros cambios que pudieran interactuar con la hipótesis y cambiar la validez de la prueba.

Algo a tener en cuenta, ¡ya que es una suposición!

Prueba

Una vez que se hayan recopilado los datos, o esté seguro de que tiene los datos históricos, estará listo para ejecutar la prueba.

En nuestro caso de posición de rango, probablemente usaremos un modelo como la prueba de Mann-Whitney debido a sus propiedades distributivas.

Sin embargo, si utiliza otra métrica, como los clics, que tiene una distribución de Poisson, por ejemplo, necesitará otro modelo estadístico completamente diferente.

El código para ejecutar la prueba se proporciona aquí.

Una vez ejecutada, puede imprimir la salida de los resultados de la prueba:

Mann-Whitney U Test Test Results

MWU Statistic: 6870.0

P-Value: 0.013576443923420183

Additional Summary Statistics:

Test Group: n=122, mean=5.87, std=2.37

Control Group: n=3340, mean=22.58, std=20.59

Lo anterior es el resultado de un experimento que realicé, que mostró el impacto de las páginas de destino comerciales con guías de blogs de soporte vinculadas internamente a las primeras frente a las páginas de destino no compatibles.

En este caso, demostramos que las páginas de ofertas respaldadas por marketing de contenidos disfrutan de una clasificación de Google más alta en 17 posiciones (22,58 – 5,87) en promedio. ¡La diferencia también es significativa: 98%!

Sin embargo, necesitamos más tiempo para obtener más datos; en este caso, otros 210.000 puntos de datos. Al igual que con el tamaño de muestra actual, solo podemos estar seguros de que <10% de las veces la teoría de SEO es reproducible.

Las pruebas divididas pueden demostrar habilidades, conocimientos y experiencia

En este artículo, recorrimos el proceso de probar sus hipótesis de SEO, cubriendo los requisitos de pensamiento y datos para realizar una prueba de SEO válida.

A estas alturas, es posible que se dé cuenta de que hay mucho que analizar y considerar al diseñar, ejecutar y evaluar pruebas de SEO. Mi curso en vídeo sobre ciencia de datos para SEO profundiza mucho más (con más código) en la ciencia de las pruebas de SEO, incluida la división A/A y la división A/B.

Como profesionales de SEO, podemos dar por sentado ciertos conocimientos, como el impacto que tiene el marketing de contenidos en el rendimiento de SEO.

Los clientes, por otro lado, a menudo cuestionarán nuestro conocimiento, por lo que los métodos de prueba dividida pueden ser más útiles para demostrar sus habilidades, conocimientos y experiencia en SEO.

Más recursos:


Imagen de portada: UnderhilStudio/Shutterstock

Related Posts
Leave a Reply

Your email address will not be published.Required fields are marked *