Analizar robots.txt
Una sola barra mal puesta en una línea disallow de robots.txt puede aislar por completo una sección del sitio frente a los buscadores, y es el tipo de error que nadie nota hasta que el tráfico de esa sección simplemente se apaga. Este endpoint analiza un archivo robots.txt regla por regla y lo prueba contra URLs reales para que sepa con precisión qué está permitido y qué no.
Ejecútela online
Ejecute esto en nuestros servidores con su cuenta. Las herramientas gratuitas corren en su navegador; esta cobra de su saldo del KIT según el precio de arriba.
Un archivo diminuto con consecuencias enormes
Robots.txt es anterior a casi todo lo demás en el SEO moderno; el Protocolo de Exclusión de Robots se propuso en 1994, y su sintaxis se ha mantenido deliberadamente mínima desde entonces: un puñado de directivas, sin condicionales, sin comentarios que los rastreadores estén obligados a respetar. Esa simpleza es también el peligro. Un Disallow: / que quedó de un entorno de pruebas, una barra final que convierte una regla estrecha en una amplia, o una regla ordenada de forma incorrecta frente a un Allow más específico, puede desindexar en silencio secciones enteras de un sitio en producción.
Qué cubre el análisis
La tarea obtiene el archivo robots.txt, analiza cada bloque de user-agent y cada directiva, y reporta el conjunto de reglas efectivo por rastreador, ya que distintos grupos de user-agent pueden tener permisos distintos y un mismo archivo puede comportarse de una forma para rastreadores generales y de otra para rastreadores específicos. Si se entrega una lista de URLs de muestra junto con el archivo, también prueba cada ruta contra las reglas analizadas y reporta, para cada una, si está permitida o bloqueada y por cuál directiva exacta, sin ninguna ambigüedad sobre qué línea es responsable.
Los cruces que la gente pasa por alto
Robots.txt solo controla el rastreo, no la indexación; una URL bloqueada puede seguir apareciendo en resultados de búsqueda sin fragmento de texto si otras páginas la enlazan, una distinción que confunde a equipos que intentan usar Disallow como sustituto de una etiqueta noindex. También suele entrar en conflicto con la directiva sitemap ubicada al final del mismo archivo: un sitemap que lista URLs que las reglas anteriores bloquean es un patrón contraproducente y frecuente que el análisis marca directamente.
De dónde vienen los errores
La mayoría de los incidentes con robots.txt se remontan a una canalización de despliegue que promueve el robots.txt de pruebas a producción, o a un complemento del gestor de contenidos que regenera el archivo y reordena las directivas de forma que cambia cuál regla gana para una ruta determinada. Como el archivo vive en una URL fija y predecible y es consultado por cada rastreador importante con su propio calendario, un error ahí puede persistir y agravarse durante días antes de que alguien lo revise manualmente.
Verificarlo de forma automática
Dado el alcance desproporcionado de este archivo, verificarlo después de cada despliegue es una de las salvaguardas más baratas disponibles: se envía la URL del robots.txt junto con un conjunto de rutas representativas, se recibe un task_id de inmediato, y el veredicto por ruta llega al webhook cuando termina el procesamiento. A 0.002 dólares por solicitud, verificarlo cuesta menos que explicar una semana de cobertura de rastreo perdida.
Qué puede hacer con ella
Verificación previa al despliegue
Correr el analizador contra el robots.txt de pruebas antes de promoverlo a producción para confirmar que no arrastra un Disallow general.
Auditoría de reglas por rastreador
Verificar que una regla pensada solo para el grupo de user-agent de un bot específico no se esté aplicando por error también a rastreadores generales.
Detección de conflictos con el sitemap
Detectar una directiva sitemap que lista rutas de URL que una regla Disallow anterior en el mismo archivo bloquea.
Verificación de lanzamiento de nueva sección
Antes de lanzar una nueva sección del sitio, confirmar que las rutas de URL previstas resuelven como permitidas en vez de heredar un bloqueo amplio y no intencionado.
Preguntas frecuentes
¿Qué hace exactamente una API de análisis de robots.txt?
Analiza cada bloque de user-agent y cada directiva de un archivo robots.txt y, dadas URLs de muestra, prueba cada una contra las reglas analizadas para reportar si está permitida o bloqueada y por cuál línea.
¿Bloquear una URL en robots.txt la elimina de los resultados de búsqueda?
No necesariamente. Robots.txt controla el rastreo, no la indexación, así que una URL bloqueada puede seguir apareciendo en resultados sin fragmento de texto si otras páginas la enlazan; la etiqueta noindex es la herramienta correcta para evitar la indexación.
¿Puede comprobar reglas para un user-agent específico?
Sí, el informe se desglosa por grupo de user-agent, ya que un mismo archivo robots.txt puede otorgar permisos distintos a rastreadores distintos.
¿Hay prueba gratuita para este endpoint?
No hay capa gratuita: las capas gratis se abusan y ralentizan a todos. El acceso funciona con un saldo prepago de ForHosting KIT: se recarga desde $10.00 (no caduca) y cada solicitud se cobra a su precio publicado, así que una llamada sin saldo devuelve HTTP 402. Sin suscripción, sin tokens ni créditos inventados, y una tarea fallida no se cobra.
¿Cuánto cuesta cada análisis?
0.002 dólares por solicitud, cobrados solo cuando el análisis se completa con éxito; las solicitudes fallidas se reintentan hasta tres veces sin costo antes de devolver un error.
¿Cómo se entregan los resultados?
Por webhook firmado, recomendado para verificaciones automatizadas, o mediante un enlace firmado válido por 24 horas.
¿Puede detectar un conflicto entre robots.txt y el sitemap que referencia?
Sí, marca los casos donde la directiva sitemap lista URLs que una regla Disallow anterior en el mismo archivo bloquea.
¿Puedo probar varias rutas de URL contra un mismo robots.txt en una sola solicitud?
Sí, se envía una lista de rutas junto con la URL del robots.txt y el informe cubre cada una individualmente.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, y pronto desde nuestra app, el email y Telegram.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/seo/robots-analyze \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"domain":"ejemplo.com"}'const res = await fetch("https://api.kit.forhosting.com/seo/robots-analyze", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"domain": "ejemplo.com"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/seo/robots-analyze",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"domain": "ejemplo.com"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/seo/robots-analyze", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"domain":"ejemplo.com"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"domain":"ejemplo.com"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/seo/robots-analyze", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"domain": "ejemplo.com"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "seo.robots_analyze",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |