Rastreo e indexación en SEO técnico: control y diagnóstico

Capítulo 2

Tiempo estimado de lectura: 10 minutos

+ Ejercicio

Qué significa “rastreo” e “indexación” (y por qué se rompen)

Rastreo es el proceso por el que un bot solicita URLs (HTTP requests) para descubrir contenido y enlaces. Indexación es la decisión posterior del buscador de almacenar y servir una URL en resultados. Una URL puede ser rastreada pero no indexada (por calidad, duplicidad, noindex, canonical, soft-404, etc.), o puede estar “descubierta” pero no rastreada (por presupuesto de rastreo, bloqueos, errores, colas).

En SEO técnico, el objetivo es doble: controlar el acceso (qué pueden solicitar los bots) y diagnosticar por qué ciertas URLs no entran o salen del índice.

Control del acceso de bots: robots.txt, meta robots y cabeceras

robots.txt: controla el rastreo (no la indexación)

robots.txt indica a los bots qué rutas no deben rastrear. Importante: si una URL está bloqueada en robots.txt, el buscador puede seguir conociéndola por enlaces externos y potencialmente mostrarla sin contenido (según señales), pero no podrá ver su HTML para evaluar noindex o canonicals.

# https://tudominio.com/robots.txtUser-agent: *Disallow: /admin/Disallow: /cart/Disallow: /search/Allow: /blog/

Buenas prácticas:

  • Bloquea rutas de baja utilidad (búsquedas internas, filtros infinitos, carritos, parámetros que generan combinaciones sin valor).
  • No bloquees recursos críticos si afectan al renderizado (CSS/JS) cuando el bot los necesita para entender la página.
  • Evita bloquear URLs que deben desindexarse con noindex; en esos casos, deja rastrear y usa noindex.

Meta robots y X-Robots-Tag: controla indexación (y a veces rastreo)

Para decidir qué se indexa, usa <meta name="robots"> en HTML o la cabecera X-Robots-Tag (útil para PDFs, imágenes o respuestas no-HTML).

Continúa en nuestra aplicación.
  • Escuche el audio con la pantalla apagada.
  • Obtenga un certificado al finalizar.
  • ¡Más de 5000 cursos para que explores!
O continúa leyendo más abajo...
Download App

Descargar la aplicación

<meta name="robots" content="noindex,follow">
# Respuesta HTTPX-Robots-Tag: noindex

Cuándo usar cada uno:

  • Meta robots: páginas HTML.
  • X-Robots-Tag: cualquier tipo de recurso (PDF, endpoints, archivos) o cuando no controlas el HTML.

Nota: noindex requiere que el bot pueda rastrear la URL para ver la directiva. Si bloqueas en robots.txt, el bot no verá el noindex.

Autenticación, IP allowlist y entornos

En staging/desarrollo, lo habitual es impedir indexación con autenticación (HTTP Basic) o allowlist de IP. Si el entorno debe ser accesible, usa noindex + restricciones adicionales para evitar filtraciones.

Tipos de respuesta HTTP y su impacto en rastreo e indexación

CódigoSignificadoImpacto típico SEOUso recomendado
200OKIndexable si no hay bloqueos/noindex y el contenido es válidoContenido real y útil
301/308Redirección permanenteConsolida señales hacia el destino; el origen suele salir del índiceCambios definitivos de URL, http→https, www→non-www
302/307Redirección temporalEl buscador puede mantener el origen indexado más tiempoMovimientos temporales, tests limitados
404No encontradoSe desindexa con el tiempo; reduce rastreo futuro de esa URLContenido eliminado sin sustituto
410GoneDesindexación más rápida que 404Eliminación intencional y definitiva
429Too Many RequestsPuede reducir frecuencia de rastreo; riesgo de pérdida de cobertura si persisteRate limiting controlado (mejor con cabeceras y ventanas claras)
5xxError servidorImpide rastreo e indexación; si es persistente, puede desindexarDebe ser excepcional; monitorizar y corregir

Cadenas y bucles de redirección

Una cadena (A→B→C) consume presupuesto de rastreo y puede degradar señales. Un bucle (A→B→A) bloquea el acceso. Como regla práctica: máximo 1 salto en redirecciones críticas.

Soft-404 y páginas vacías: cómo se generan y cómo tratarlas

Qué es un soft-404

Un soft-404 ocurre cuando el servidor devuelve 200 (o a veces 3xx) pero el contenido indica “no hay nada” (página de error, listado vacío, producto inexistente). Los buscadores pueden tratarla como si fuera 404 y excluirla del índice.

Patrones comunes:

  • Producto agotado/eliminado que muestra “no disponible” pero responde 200 sin alternativas.
  • Búsqueda interna o categoría con 0 resultados que responde 200 y no ofrece navegación útil.
  • Página de error genérica servida con 200 (por ejemplo, “algo salió mal”).

Cómo decidir entre 404/410, 301 o 200 con contenido

  • Si no existe y no habrá sustituto: devuelve 404 o 410.
  • Si existe un sustituto claro (producto reemplazado, URL antigua): 301 al destino más relevante.
  • Si está temporalmente no disponible pero volverá: mantén 200 con contenido útil (alternativas, aviso, enlaces a categorías) y evita páginas “vacías”.
  • Si es un listado vacío: o bien 404 (si no tiene sentido indexarlo) o bien 200 con contenido editorial y navegación real (si aporta valor).

Checklist para evitar páginas vacías indexables

  • ¿Hay texto o información única que justifique la URL?
  • ¿Hay enlaces internos útiles (categorías, filtros limitados, productos relacionados)?
  • ¿La plantilla muestra el mismo mensaje en cientos de URLs (thin/duplicado)?
  • ¿La URL se genera por parámetros infinitos (orden, paginación extrema, filtros combinatorios)?

Enfoque de diagnóstico: de la cobertura a la causa

Un diagnóstico efectivo combina tres fuentes: (1) reportes de cobertura/indexación, (2) comprobación directa de respuestas HTTP y renderizado, (3) logs del servidor para ver el comportamiento real de los bots.

Paso 1: revisar cobertura e indexación (qué está pasando)

Objetivo: clasificar el problema por tipo antes de tocar configuraciones.

  • URLs excluidas: por noindex, duplicadas, canonical a otra, rastreada pero no indexada, descubierta pero no rastreada.
  • Errores: 404, soft-404, 5xx, redirecciones erróneas.
  • Válidas: confirmar que las importantes están dentro.

Acciones prácticas:

  • Elige un conjunto de URLs representativas (plantillas clave: home, categorías, fichas, blog, búsqueda, filtros).
  • Para cada plantilla, anota: estado esperado (index/noindex), canonical esperado, código HTTP esperado.

Paso 2: comprobar respuestas HTTP con curl (y detectar inconsistencias)

Con curl puedes verificar códigos, redirecciones y cabeceras sin depender del navegador.

# Ver cabeceras y códigoHTTP (sin descargar el body)curl -I https://tudominio.com/url# Seguir redirecciones y ver la cadena completacurl -IL https://tudominio.com/url# Ver cabeceras relevantes (ejemplo)curl -I https://tudominio.com/recurso.pdf

Qué mirar:

  • HTTP/1.1 200 vs 404 vs 5xx.
  • Location en 3xx (¿apunta al destino correcto? ¿hay cadenas?).
  • X-Robots-Tag (¿hay noindex accidental?).
  • Variaciones por user-agent (si sospechas cloaking o reglas específicas):
curl -I -A "Googlebot" https://tudominio.com/urlcurl -I -A "Mozilla/5.0" https://tudominio.com/url

Paso 3: usar DevTools para ver renderizado, recursos bloqueados y canonicals

En el navegador, revisa:

  • Network: códigos HTTP reales, redirecciones, recursos 404/5xx, tiempos.
  • Elements: presencia de <meta name="robots">, <link rel="canonical">, hreflang si aplica.
  • Application/Storage: si hay redirecciones basadas en cookies/geo que afecten a bots.

Patrones típicos a detectar:

  • Canonical apuntando a otra URL por error (por ejemplo, todas las fichas canonizan a la home).
  • Plantillas que devuelven 200 con contenido “vacío” (soft-404).
  • Recursos críticos bloqueados o fallando (JS/CSS) que impiden renderizar contenido.

Paso 4 (conceptual): analizar logs del servidor (qué hacen realmente los bots)

Los logs permiten validar si el bot rastrea lo que te importa, con qué frecuencia y qué errores encuentra. No necesitas “adivinar”: lo ves.

Qué campos son útiles (según formato): timestamp, método, URL, código, user-agent, IP, referer, bytes, tiempo de respuesta.

Qué buscar:

  • Bots: filtra por user-agent (Googlebot, Bingbot) y valida que sean reales si tu sistema lo requiere (a nivel conceptual: reverse DNS/allowlist).
  • Frecuencia: qué rutas reciben más rastreo (¿se está desperdiciando en filtros, parámetros, paginación infinita?).
  • Códigos: picos de 404/5xx, 429, redirecciones masivas.
  • Rutas: endpoints no deseados (búsqueda interna, URLs con parámetros), sitemaps, páginas huérfanas (si nunca aparecen en logs, quizá no están enlazadas).
  • Rendimiento: tiempos altos en rutas clave (pueden reducir rastreo efectivo).

Ejemplo de preguntas que los logs responden:

  • ¿Googlebot está intentando rastrear URLs con parámetros que queríamos bloquear?
  • ¿Hay 5xx intermitentes en fichas de producto durante picos de tráfico?
  • ¿Se rastrea el sitemap con regularidad y devuelve 200?
  • ¿Qué porcentaje del rastreo termina en 3xx (cadenas) o 404?

Criterios para decidir qué páginas deben indexarse (y cuáles bloquear/noindex)

Regla base: indexa lo que aporte valor único y demanda

Una URL candidata a indexación suele cumplir:

  • Intención clara: responde a una búsqueda real (informacional, transaccional, navegacional).
  • Contenido único: no es duplicado de otra URL (o tiene canonical bien definido).
  • Accesible: 200 estable, sin dependencias frágiles, sin 5xx/soft-404.
  • Enlazada internamente: forma parte de la arquitectura (no huérfana).

Cuándo usar noindex

  • Páginas necesarias para el usuario pero sin valor en buscadores: carritos, checkout, áreas privadas, resultados de búsqueda interna.
  • Variantes duplicadas que deben existir pero no competir: combinaciones de filtros, parámetros de tracking, ordenaciones.
  • Páginas de baja calidad inevitable (por ejemplo, perfiles vacíos) mientras no puedas mejorar contenido.

Implementación típica:

<meta name="robots" content="noindex,follow">

Cuándo bloquear con robots.txt

  • Para reducir rastreo en zonas que generan infinitas URLs o consumen presupuesto (filtros, parámetros, endpoints técnicos).
  • Para evitar que bots accedan a rutas que no deben ni solicitarse (por carga o seguridad operativa), siempre que no necesites que se procese noindex allí.

Ejemplo orientado a parámetros (conceptual; depende de tu routing):

User-agent: *Disallow: /*?sort=Disallow: /*?utm_

Cuándo devolver 404/410

  • Contenido eliminado sin equivalente.
  • URLs generadas por errores (typos, rutas antiguas sin mapeo).
  • Listados que no deberían existir (categorías inexistentes) para evitar soft-404 con 200.

Cuándo redirigir (301) en lugar de eliminar

  • Reestructuración de URLs (slug changes, migraciones).
  • Consolidación de duplicados reales (dos URLs para el mismo contenido) cuando no puedes resolver con canonical por sí solo.

Guía práctica paso a paso: control y diagnóstico en una URL problemática

1) Define el estado esperado

  • ¿Debe indexarse? (sí/no)
  • ¿Cuál es su canonical esperado?
  • ¿Qué código HTTP debe devolver? (200/301/404…)

2) Verifica el código y las cabeceras

curl -IL https://tudominio.com/url
  • Si ves 3xx: ¿hay más de un salto? ¿el destino final es 200?
  • Si ves 200: comprueba si hay X-Robots-Tag: noindex accidental.
  • Si ves 4xx/5xx: prioriza corrección (o mapeo a 301/410 según el caso).

3) Inspecciona el HTML renderizado (DevTools)

  • ¿Existe <meta name="robots" content="noindex">?
  • ¿El canonical apunta a sí misma o a otra URL?
  • ¿El contenido está realmente presente o es una plantilla vacía (soft-404)?

4) Decide la acción correcta

  • Indexable pero no indexada: mejora señales (contenido, enlazado interno), elimina noindex/canonical erróneo, corrige soft-404.
  • No debería indexarse: aplica noindex,follow (si quieres que pase autoridad por enlaces) o bloquea rastreo si el objetivo es ahorrar presupuesto y no necesitas que se procese el HTML.
  • URL inexistente: devuelve 404/410 o 301 a sustituto real.

5) Valida con logs (si tienes acceso)

  • Confirma que el bot vuelve a rastrear la URL tras el cambio.
  • Comprueba que el código servido al bot es el esperado (200/301/404) y que no hay 5xx intermitentes.
  • Verifica que el rastreo se concentra en rutas importantes y no en combinaciones infinitas.

Ahora responde el ejercicio sobre el contenido:

Quieres desindexar una página, pero actualmente está bloqueada en robots.txt. ¿Cuál es el enfoque correcto según el contenido?

¡Tienes razón! Felicitaciones, ahora pasa a la página siguiente.

¡Tú error! Inténtalo de nuevo.

Para que noindex funcione, el bot debe poder rastrear la URL y ver la directiva (meta robots o X-Robots-Tag). Si está bloqueada en robots.txt, el bot no podrá ver el HTML/cabeceras y no procesará el noindex.

Siguiente capítulo

Robots.txt en SEO técnico: reglas, riesgos y patrones seguros

Arrow Right Icon
Portada de libro electrónico gratuitaSEO técnico esencial para desarrolladores web
13%

SEO técnico esencial para desarrolladores web

Nuevo curso

15 páginas

Descarga la aplicación para obtener una certificación gratuita y escuchar cursos en segundo plano, incluso con la pantalla apagada.