En esta charla se explican casos de uso concretos para agilizar análisis SEO utilizando programación, en este caso, R y Rstudio, como por ejemplo:
- Sustituir tareas tediosas y repetitivas de excel
- Fusionar datos entre distintas herramientas SEO, que por defecto, no nos dan y crear visualizaciones automáticamente
- Trabajar series temporales para entender mejor tendencias, ciclos y eventos externos que afecten
- Atacar APIs de distintos servicios, útiles para SEO, como SISTRIX, Google Analytics, Google Search Console, Google Trends, Twitter, etc.
Próximamente compartiré una guía paso a paso para iniciarse en R y agilizar los análisis SEO.
26. 20/6/22 26
@mjcachon
#SOB2022
¿CÓMO LO HARÍAMOS CON EXCEL?
1. Abrir ficheros uno a uno y fusionarlos en uno solo
2. Usar filtros o fórmulas avanzadas para ir sustituyendo celdas vacías
3. Quitar duplicados en base a la columna keywords
4. Ordenar por volumen (o criterio elegido)
5. ¿Queremos incluso, clusterizar por temas?
33. 20/6/22 33
@mjcachon
#SOB2022
1.Abrir ficheros uno a uno y fusionarlos en uno solo.
setwd("~/Downloads/nueva/")
lst <- list.files()
df <- data.frame()
for(table in lst){
dataFromExcel <- read_excel(table)
df <- rbind(df,dataFromExcel)
}
34. 20/6/22 34
@mjcachon
#SOB2022
2.Usar filtros o fórmulas avanzadas para ir sustituyendo
celdas vacías
3. Quitar duplicados en base a la columna keywords
4. Ordenar por volumen (o criterio elegido)
df <- df %>% mutate_if(is.numeric , replace_na, replace = 1)
df <- df %>% mutate_if(is.character , replace_na, replace = "unknown")
df <- df %>% mutate_if(is.logical , replace_na, replace = "unknown")
df <- df[!duplicated(df[,c('Keywords')]),]
df_limpio <- df[with(df, order(-df$`Search Volume (Average)`)), ]
35. 20/6/22 35
@mjcachon
#SOB2022
2. Usar filtros o fórmulas avanzadas para ir sustituyendo celdas vacías
3.Quitar duplicados en base a la columna keywords
4. Ordenar por volumen (o criterio elegido)
df <- df %>% mutate_if(is.numeric , replace_na, replace = 0)
df <- df %>% mutate_if(is.character , replace_na, replace = "unknown")
df <- df %>% mutate_if(is.logical , replace_na, replace = "unknown")
df <- df[!duplicated(df[,c('Keywords')]),]
df_limpio <- df[with(df, order(-df$`Search Volume (Average)`)), ]
36. 20/6/22 36
@mjcachon
#SOB2022
2. Usar filtros o fórmulas avanzadas para ir sustituyendo celdas vacías
3. Quitar duplicados en base a la columna keywords
4.Ordenar por volumen (o criterio elegido)
df <- df %>% mutate_if(is.numeric , replace_na, replace = 1)
df <- df %>% mutate_if(is.character , replace_na, replace = "unknown")
df <- df %>% mutate_if(is.logical , replace_na, replace = "unknown")
df <- df[!duplicated(df[,c('Keywords')]),]
df_limpio <- df[with(df, order(-df$`Search Volume (Average)`)), ]
66. 20/6/22 66
@mjcachon
#SOB2022
Rango de visibilidad según rankings
Otros posibles cruces de datos:
1. Search Intent
2. Tipo de keyword
3. Rango de volumen/competencia
4. Tipo de url
https://www.mjcachon.com/blog/analizar-visibilidad-sistrix-r/
70. 20/6/22 70
@mjcachon
#SOB2022
1. ¿Rumores de Update?
12 de enero https://www.seroundtable.com/google-algorithm-update-january-12-30748.html
27 de enero https://www.seroundtable.com/small-google-search-ranking-algorithm-update-30843.html
8 de febrero https://www.seroundtable.com/google-search-ranking-algorithm-update-30898.html
17 de febrero https://www.seroundtable.com/google-search-ranking-algorithm-update-february-17th-30944.html
2 y 3 de marzo https://www.seroundtable.com/google-search-ranking-algorithm-update-31028.html
6 y 7 de marzo https://www.seroundtable.com/google-search-ranking-algorithm-instability-update-31047.html
11 de marzo https://www.seroundtable.com/google-search-ranking-update-last-night-31067.html
30 de marzo https://www.seroundtable.com/google-search-ranking-algorithm-update-31167.html
30 de abril https://www.seroundtable.com/google-ranking-algorithm-update-product-reviews-related-31348.html
7 y 9 de mayor https://www.seroundtable.com/google-search-ranking-algorithm-tremors-31389.html
13 de mayo https://www.seroundtable.com/google-search-ranking-algorithm-update-31415.html
19 y 20 de mayo https://www.seroundtable.com/google-search-ranking-algorithm-update-31452.html
22 de mayo https://www.seroundtable.com/google-algorithm-update-huge-31464.html
CONJETURAS INICIALES
71. 20/6/22 71
@mjcachon
#SOB2022
2. SISTRIX
- Ya sabéis que SISTRIX solo se fija en 1.000.000 de palabras, por lo que en sectores con
cierto volumen de palabras, el gráfico en ocasiones puede estar desalineado con el tráfico orgánico (no digo
que sea el caso).
- Todas las herramientas atraviesan por bugs y momentos en los que los datos pueden
fluctuar por dichos errores puntuales
CONJETURAS INICIALES
77. 20/6/22 77
@mjcachon
#SOB2022
LECTURAS E INTERPRETACIONES
1. La tendencia se ha frenado, pero sigue siendo ascendente, no hay caída como tal, pero
desaceleramos.
2. En la última fila se ve que en 2020, los meses de marzo abril y mayo, mayoritariamente,
tienen unos picos que no son medibles en la serie temporal, pero que podemos asociar al
confinamiento (15 de marzo a 21 de junio).
3. Más recientemente, se ve que en mayo hay un pico imprevisible, que quizás puede ser
debido a los rumores de update, pero esto es solo una hipótesis o conjetura, no sé si
vosotros podéis ubicar algún otro fenómeno o suceso en mayo que pueda ser externo a
Analytics.
81. 20/6/22 81
@mjcachon
#SOB2022
API DE SISTRIX
https://api.sistrix.com/domain.sichtbarkeitsindex
?api_key=[API_KEY]
&country=es
&date=2022-06-17
&mobile=yes
&domain=seonthebeach.es
“ENTRAR A COGER DATOS DE SISTRIX SIN USAR LA INTERFAZ DE SISTRIX”
https://www.mjcachon.com/blog/api-sistrix-r-usos/