Una charla con técnicas de indexación muy poco conocidas (con bastante parte de cosecha propia) y que nos permitirán avanzar en nuestro trabajo de indexación de forma más ágil y sin pedir tantos cambios como solemos demandar a la gente de IT
5. #ClinicSEO @ikhuerta#ClinicSEO @ikhuerta
Elección de Keywords y temáticas
Content Marketing
Optimización de Contenidos
Priorización del HTML
Marcado Semántico (HTML5 & Schema)
Links de temáticas recibidos
Links Entrantes
Link Sculpting
Crecimiento (Natural, Building & Baiting)
Links Tóxicos
Velocidad de Carga
Calidad del contenido
Señales Sociales y Marca
Crawling
Priorización de la indexación
Velocidades de rastreo
Redirecciones y Canonicals
Orientación hacia distintos bots
Restricciones y ayudas a las arañas
Indexación
Semántica Autoridad
Calidad
11. #ClinicSEO @ikhuerta#ClinicSEO @ikhuerta
Acabé contigo,
preséntame a tus
amigas…
LINK LINK LINK
LINK
LINK
LINK LINK LINK
LINK
LINK
LINK
LINK
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
12. #ClinicSEO @ikhuerta#ClinicSEO @ikhuerta
Y ahora las amigas de
tus amigas…
LINK LINK LINK
LINK
LINK
LINK LINK LINK
LINK
LINK
LINK
LINK
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
KL
I
N
K
L
I
N
K
L
I
N
K
L
I
N
KL
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
L
I
N
K
13. #ClinicSEO @ikhuerta
Válidas
Total
de URLs a
Rastrear
Robots
Allowed 200 code
(& 304)
Texto
HTML
Robots Disallowed
Descubiertas sin rastrear
400 code
300 code
500 code
Indexables Canónicas
Aparece
en los
SERPs
Baja calidad
Canónicalizadas
Duplicadas
NoIndex
Códigos front
…y algo de
texto
NoHTML
Contenidos “alternate”
Multimedia
… a rastrear las nuevas URLs …
¿código HTTP?
¿tipo archivo?
Perdida, no se trabaja
Referencia a otra URL
Provoca retraso en rastreo
Termina indexando
pero es poco útil
¿meta robots?
¿canonical?
¿robots.txt?
Soft 404
Etiquetadas o
asignadas
Etiquetadas
“index” o no
etiquetadas
Factores Externos
(links desde otras webs)
URLs
solo con info
externa (links) y
sin rastreo
14. #ClinicSEO @ikhuerta
Válidas
Total
de URLs a
Rastrear
Robots
Allowed 200 code
(& 304)
Texto
HTML
Robots Disallowed
Descubiertas sin rastrear
400 code
300 code
500 code
Indexables Canónicas
Aparece
en los
SERPs
Baja calidad
Canónicalizadas
Duplicadas
NoIndex
Códigos front
…y algo de
texto
NoHTML
Contenidos “alternate”
Multimedia
… a rastrear las nuevas URLs …
¿código HTTP?
¿tipo archivo?
Perdida, no se trabaja
Referencia a otra URL
Provoca retraso en rastreo
Termina indexando
pero es poco útil
¿meta robots?
¿canonical?
¿robots.txt?
Thin content
Paginaciones
URLs sin autoridad
otros soft404
401
404
410
Soft 404
js
css
otros xml & feeds
versiones doc/pdf
otros
Robots.txt disallow
Denegación desde server
meta robots
http x-robots-tag
externas
y no canonizables
301
302
307
Etiquetadas
Asignadas por Google
Etiquetadas o
asignadas
Etiquetadas
“index” o no
etiquetadas
images
videos
otros…
Factores Externos
(links desde otras webs)
URLs
solo con info
externa (links) y
sin rastreo
16. #ClinicSEO @ikhuerta
URLs
Rastreables
URLs Reales
del Site
URLs
Rastreadas
URLs
Indexadas
URLs
que traen
Tráfico
SEO
¿Qué hacemos en SEO?
Rastreo Índice Resultado
Mejoramos la
disponibilidad
Mejoramos el
rastreo
Mejoramos la
indexación
17. #ClinicSEO @ikhuerta
URLs
Rastreables
URLs Reales
del Site
URLs
Rastreadas
URLs
Indexadas
URLs
que traen
Tráfico
SEO
• En realidad nunca sabe nadie exactamente cuantas URLs tiene
un site mínimamente grande.
• Conjuntamente con IT podemos intentar estimarlo y solo eso.
Rastreo Índice Resultado
18. #ClinicSEO @ikhuerta
URLs
Rastreables
URLs Reales
del Site
URLs
Rastreadas
URLs
Indexadas
URLs
que traen
Tráfico
SEO
Crawlers • Nuestra limitación es la capacidad de proceso
de la herramienta (o $$$).
• Sites muy grandes no siempre pueden ser
rastreados completamente.
Rastreo Índice Resultado
19. #ClinicSEO @ikhuerta
URLs
Rastreables
URLs Reales
del Site
URLs
Rastreadas
URLs
Indexadas
URLs
que traen
Tráfico
SEO
• Si queremos podemos saberlo
TODO.
• Pero por coste y conocimientos
suelen dejar este análisis solo
para trabajo en SEO avanzado.
Crawlers
Rastreo Índice Resultado
20. #ClinicSEO @ikhuerta
Rastreo Índice Resultado
URLs
Rastreables
URLs Reales
del Site
URLs
Rastreadas
URLs
Indexadas
URLs
que traen
Tráfico
SEO
Si queremos podemos saberlo
TODO.
Pero por coste y/o conocimientos
suelen dejar este análisis solo
para trabajo en SEO avanzado.
<autoPromo>
¿Conoceis la solución de análisis
de LOGs de IKAUE?
</autopromo>
https://es.slideshare.net/ikhuerta
/seo-y-big-data-rastreando-lo-
que-google-rastrea-clinic-seo-
eshow
Crawlers
21. #ClinicSEO @ikhuerta
URLs
Rastreables
URLs Reales
del Site
URLs
Rastreadas
URLs
Indexadas
URLs
que traen
Tráfico
SEO
GSC y “site:”solo nos
dan totales.
¡Pero eso vamos
a mejorarlo!
+ Rastreo de site:dominio
Crawlers
Rastreo Índice Resultado
27. #ClinicSEO @ikhuerta
En realidad no son mala gente,
solo es tienen el foco en su trabajo y no en el tuyo…
Coste
Beneficio
Tareas que
deben realizarse
Tareas que
no deberían
realizarse
Tareas que
dependen de
la priorización
33. #ClinicSEO @ikhuerta
Esto me paso hace muy poco…
Me dejé este fragmento escrito como
etiqueta HTML en la primera versión del
documento y no os creerás lo que pasó a
continuación…
34. #ClinicSEO @ikhuerta
Esto me paso hace muy poco…
Google no llegó a indexar el post.
Pero además:
- Desindexó todos los tags que contenían el post.
- Y la propia home del blog
¡Había interpretado la etiqueta robots
estando en medio del documento!
41. #ClinicSEO @ikhuerta
Y también funciona con…
- Canonicals
- Next/Prev
- Hreflang
- Etc…
E incluso con las generadas por JS
✓ Document.write
✓ Etiquetas añadidas con JS
interno
✓ Etiquetas añadidas con
librerias JS externo
✓ GTM
42. #ClinicSEO @ikhuerta
Y también funciona con…
- Canonicals
- Next/Prev
- Hreflang
- Etc…
E incluso con las generadas por JS
✓ Document.write
✓ Etiquetas añadidas con JS
interno
✓ Etiquetas añadidas con
librerias JS externo
✓ GTM
Prácticamente cualquier directriz o etiquetado especializado que la araña pueda leer en
cualquier parte se interpreta.
Con lo que no acaba de funcionar es con conflictos con una misma etiqueta:
- Cuando existen 2 del mismo tipo
- O cuando reescribimos con JS el valor
43. #ClinicSEO @ikhuerta
Nuestra nueva técnica:
Detectamos
necesidad
de
etiquetado
¿Puede IT
aplicarlo en
un tiempo
aceptable?
Aplicamos el
etiquetado como toca
Sí
No usemos
parches si no
los necesitamos
44. #ClinicSEO @ikhuerta
Nuestra nueva técnica:
Detectamos
necesidad
de
etiquetado
¿Puede IT
aplicarlo en
un tiempo
aceptable?
Aplicamos el
etiquetado como toca
Lo aplicamos en
cualquier parte con el
CMS y esperamos
Lo volvemos a
eliminar
NO
Sí
49. #ClinicSEO @ikhuerta
Con acceso de Administrador a Google Search Console
Con acceso de Administrador a Google Search Console
cliente
proveedor
50. #ClinicSEO @ikhuerta
Con acceso de Administrador a Google Search Console
Con acceso de Administrador a Google Search Console
cliente
proveedor
@
Mismo
Usuario de
GSC
51. #ClinicSEO @ikhuerta
Con acceso de Administrador a Google Search Console
Con acceso de Administrador a Google Search Console
cliente
proveedor
@
Mismo
Usuario de
GSC
Sitemaps-URLs-Dominio-Cliente-1
Sitemaps-URLs-Dominio-Cliente-2
57. #ClinicSEO @ikhuerta
¿Y que hacemos con esto?
Subir por nuestra cuenta todo lo que
debe ser tan inmediato y/o efímero que
no tenga sentido esperar a IT.
58. #ClinicSEO @ikhuerta
¿Y que hacemos con esto?
Usos efímeros:
1. Forzar rastreo de todo en redirecciones y cambios.
2. Ayudar a la indexación de zonas nuevas o AMP
3. Solucionar “pollos” varios
59. #ClinicSEO @ikhuerta
¿Y que hacemos con esto?
Ayudas a la indexación (en espera de implemetarse)
1. Marcar la URL a indexar en Canibalizaciones.
2. Marcar hreflangs que no tiene tu web etiquetados
3. Indicar URLs a las que no llegan las arañas
66. #ClinicSEO @ikhuerta
Dominio Cliente:
Aquel que queremos analizar o indexar.
Dominio Proveedor SEO:
Uno propio al que tenemos acceso y podemos subir los archivos que
deseemos.
Con acceso de Administrador a Google Search Console
Con acceso de Administrador a Google Search Console
cliente
proveedor
@Mismo
Usuario de
GSC
71. #ClinicSEO @ikhuerta
1.Añadimos filtros al excel
2.Filtramos solo HTML y con los 200
3.Vamos filtrando por los criterios de los que queremos
analizar la indexación y cortando y pegando.
Ejemplos:
- Por niveles - Por cantidad de enlaces
- Por tipologías de URLs - Por tiempos de respuesta
- Por cantidad de contenido - Por incidencias en el HTML
- Etc…
72. #ClinicSEO @ikhuerta
Como no gestionamos
priority, lastMod,etc…
NO NOS HACE
FALTA UN XML
…con un listado de
URLs en un archivo .txt
Google ya va a
entenderlo
73. #ClinicSEO @ikhuerta
Listado de URLs total
rastreadas
cliente
Distancia de rastreo 1 .txt (Level = 0 – 1 )
Ejemplos de uso:
creación de
sitemaps
distancia/niveles
de rastreo
Distancia de rastreo 2 .txt (Level = 2)
Distancia de rastreo 3 .txt (Level = 3 )
Distancia de rastreo n .txt …
78. #ClinicSEO @ikhuerta
97%
87%
77%
Etc…
Esto lo estamos haciendo sin que el cliente cambie nada en su web y sin
grandes alardes técnicos.
- Hemos creado archivos TXT simples, a partir de screaming frog y Excel
- Y los hemos subido a nuestro propio servidor y a nuestro GSC sin que
el cliente realmente vea ni note nada raro.
Las URLs a 1 Click de la HOME se indexan en un…
Las URLs a 2 Clicks de la HOME se indexan en un…
Las URLs a 3 Clicks de la HOME se indexan en un…
82. #ClinicSEO @ikhuerta
Listado de URLs Total
rastreadas
cliente
Muy poco enlazada .txt (Inlinks = 0-10)
Otros Ejemplos:
Por cantidad
de enlaces
entrantes
Poco enlazadas .txt (Inlinks = 11-100)
Bastante enlazadas .txt (Inlinks = 101-500)
Muy Enlazadas .txt (inlinks = >500)
83. #ClinicSEO @ikhuerta
Listado de URLs Total
rastreadas
cliente
Thin content.txt (Carácteres = 0-50)
Otros Ejemplos:
Por cantidad
de texto de
contenido
Poco contenido.txt (Carácteres = 51-500)
Contenido Mínimo.txt (Carácteres= 501-3.000)
Contenido decente.txt (Carácteres = >3.000)
84. #ClinicSEO @ikhuerta
Listado de URLs Total
rastreadas
cliente
articulos-0-1-mes.txt
Otros Ejemplos:
Por fecha de
publicación
articulos-2-6-meses.txt
articulos-7-12-meses.txt
Articulos-12+meses.txt
85. #ClinicSEO @ikhuerta
¿Y qué hacemos con el nuevo
Search Console?
Lo bueno:
Para cada sitemap que subamos podemos,
analizarlo a un nivel de detalle de url mucho mayor
que antes:
Errores
Advertencias ¡Y con sus motivos!
Excluidas
Válidas
Lo malo:
1.) Los sitemaps multidominio no ofrecen datos.
Tenemos que subirlos en el propio dominio.
2.) Los índices de sitemap no desglosan (aun) la
información por cada sitemap por separado.
Tenemos que sunir cada fragmento uno a uno
87. #ClinicSEO @ikhuerta
Nuestros informes pueden filtrarse para cada sitemap:
NOTAS:
✓ Seguimos pudiendo subir xml o txt sueltos
✓ Seguimos pudiendo trocear e incluso subir
las mismas URLs varias veces (pero ahora
sin sitemapindex)
• Seguimos teniendo un retraso en los datos
y sin verlo todo al 100%
91. #ClinicSEO @ikhuerta
Qué es una cabecera HTTP
Ordenador Servidor Web
1. Pedimos una URL
Pero no solo enviamos la URL,
enviamos más datos…
Cookies, Tipo petición, variables
de formulario, etc.
92. #ClinicSEO @ikhuerta
Qué es una cabecera HTTP
Ordenador Servidor Web
1. Pedimos una URL
2. Nos devuelve el HTML
93. #ClinicSEO @ikhuerta
Qué es una cabecera HTTP
Ordenador Servidor Web
1. Pedimos una URL
Pero en realidad vienen más cosas
que el HTML
Cookies, Tipo petición, datos sobre
como interpretar la página…
2. Nos devuelve el HTML
98. #ClinicSEO @ikhuerta
Ejemplos: El .htaccess de Wordpress
<IfModule>
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Mod Rewrite
99. #ClinicSEO @ikhuerta
¿Para qué usamos los SEO mod rewrite?
301RewriteRule ^url-a-redirigir$ /pagina-redirigida [R=301,L]
RewriteRule ^page/([0-9])+$ /pagina/$1 [R=301,L]
¿Te suenan estos tres números?
101. #ClinicSEO @ikhuerta
Pero también nos permite crear
cabeceras…
Header set X-Robots-Tag "noindex,follow"
El problema está en conseguir hacer estas cabeceras a medida,
sólo para las páginas que las queremos
102. #ClinicSEO @ikhuerta
La fórmula: Usar entornos condicionales
3 líneas a añadir a tu .htaccess para cada definición SEO
1. Condición: a que URLs aplicamos esta definición
2. Nombre del entorno: Que nombre le ponemos para identificarlo
3. Cabecera HTTP: Definirmos la directriz SEO que queremos aplicar
103. #ClinicSEO @ikhuerta
La fórmula: Usar entornos condicionales
RewriteCond %{THE_REQUEST} "^(GET|POST) {Regex URLs a aplicar} HTTP“
RewriteRule .* - [ENV={nombre-del-entorno}:true]
Header set {nombre cabecera} “{valor}" env={nombre-del entorno}
3 líneas a añadir a tu .htaccess para cada definición SEO
1. Condición: a que URLs aplicamos esta definición
2. Nombre del entorno: Que nombre le ponemos para identificarlo
3. Cabecera HTTP: Definirmos la directriz SEO que queremos aplicar
104. #ClinicSEO @ikhuerta
Así controlamos la indexación:
# GESTION DIRECTIVAS x-robots-tags
RewriteCond %{THE_REQUEST} "^(GET|POST) /aviso-legal HTTP“
RewriteRule .* - [ENV=NOINDEXNOFOLLOWPAGES:true]
Header set X-Robots-Tag "noindex,nofollow" env=NOINDEXNOFOLLOWPAGES
1) No indexar ni seguir links del aviso legal
.htaccesscode
105. #ClinicSEO @ikhuerta
Así controlamos la indexación:
# GESTION DIRECTIVAS x-robots-tags
RewriteCond %{THE_REQUEST} "^(GET|POST) /(tema/[a-z-]+/)?page/([3-9]|[1-9][0-9]+)
HTTP“
RewriteRule .* - [ENV=NOINDEXFOLLOWPAGES:true]
Header set X-Robots-Tag "noindex,follow" env=NOINDEXFOLLOWPAGES
2) No indexar, pero seguir, páginación a partir de
tercera página
.htaccesscode
112. #ClinicSEO @ikhuerta
¡Cuidado con tener más de una cabecera link!
Google en teoría lo entiende, pero la mayoría de herramientas SEO se lían
Ejemplo: Wordpress genera la etiqueta link para indicar su API (y no sirve para nada)
113. #ClinicSEO @ikhuerta
¡Cuidado con tener más de una cabecera link!
Google en teoría lo entiende, pero la mayoría de herramientas SEO se lían
Ejemplo: Wordpress genera la etiqueta link para indicar su API (y no sirve para nada)
Lo eliminamos añadiendo la siguiente línea al archivo functions.php
remove_action( 'template_redirect', 'rest_output_link_header', 11, 0 );
114. #ClinicSEO @ikhuerta
No hay que tener miedo
Y no hay excusas…
Podemos avanzar en SEO sin
molestar apenas a IT y dejándoles solo
aquellas tareas para el largo plazo o
para las que si o sí necesitamos los
cambios