Saltar al contenido

/ Documentación del Crawler

ThatSEOAgentBot

That SEO Agent hace dos tipos de peticiones a sitios externos, cada uno con un identificador diferente. Esta página explica cuáles son, cuándo se usa cada uno y cómo configurar tu servidor para permitirlos o bloquearlos.

Cadenas de user agent

That SEO Agent realiza dos tipos de peticiones a URLs externas, cada una con su propio user agent.

Crawler de sitio
ThatSEOAgentBot/1.0 (+https://thatseoagent.com/en/seo-bot)

Lo usa la herramienta crawl_site para hacer un rastreo BFS completo del sitio. Detecta enlaces rotos, páginas poco accesibles, contenido escaso y metadatos duplicados. Solo se activa cuando un usuario autenticado lo solicita desde su cliente MCP.

Auditor de página
ThatSEOAgentBot/1.0 (page-audit; +https://thatseoagent.com/en/seo-bot)

Lo usan las auditorías de página y todos los checks on-page (título, meta, schema, E-E-A-T, GEO score, rastreabilidad, security headers). Hace una sola petición GET o HEAD por URL por llamada de herramienta.

Qué verifica el crawler

Al ejecutar crawl_site, ThatSEOAgentBot hace un rastreo BFS que empieza desde la homepage. Por cada página que visita, recopila:

  • 01Código de estado HTTP y cadena de redirecciones
  • 02Título de página y meta description (para detectar duplicados en todo el sitio)
  • 03URL canónica y directiva noindex
  • 04Encabezados H1
  • 05Conteo de palabras (sin marcado HTML)
  • 06Todos los enlaces internos (para descubrir las siguientes páginas en la cola)
  • 07Profundidad BFS (número de clics desde la homepage)

El bot no ejecuta JavaScript, no renderiza páginas ni descarga recursos externos. Solo procesa el HTML sin formato.

Comportamiento del rastreo

ConcurrenciaMáximo 3 peticiones en paralelo
Pausa entre lotes300 ms entre grupos de peticiones para no saturar tu servidor
Timeout por página12 segundos (crawler de sitio) / 30 segundos (auditor de página)
RedireccionesSeguidas automáticamente
Tipo de contenidoSolo HTML. Envía Accept: text/html, application/xhtml+xml
Robots.txtLo descarga y analiza antes de cada petición, tanto en rastreos como en auditorías de página. Cualquier URL bloqueada para User-agent: * o User-agent: ThatSEOAgentBot no se pide. La lectura se cachea una vez por sitio.
Caché en memoriaLas respuestas de auditoría de página se almacenan en caché por 60 segundos dentro de un turno de agente. Si varias herramientas revisan la misma URL, comparten una sola petición HTTP.
ActivaciónSolo bajo demanda: los rastreos y auditorías se ejecutan únicamente cuando un usuario autenticado los solicita desde su cliente MCP.

Cómo permitir ThatSEOAgentBot

Si tu servidor o firewall bloquea user agents desconocidos, agrega una excepción para las dos cadenas. Aquí van algunos ejemplos.

robots.txt
# One token covers both the crawler and the page-audit fetcher
User-agent: ThatSEOAgentBot
Allow: /
Cloudflare WAF
# Firewall Rule: Skip for ThatSEOAgentBot
# Field: http.user_agent
# Operator: contains
# Value: ThatSEOAgentBot
# Action: Skip

# One rule is enough — both variants carry the same token
Nginx
# Inside your server block
if ($http_user_agent ~* "ThatSEOAgentBot") {
    # Remove any rate-limit or block rules
    set $skip_limit 1;
}
Apache
# In .htaccess or VirtualHost
<If "%{HTTP_USER_AGENT} =~ /ThatSEOAgentBot/">
    # Exempt from mod_evasive or rate limits
</If>

Cómo bloquear ThatSEOAgentBot

Si no quieres que That SEO Agent toque tu sitio, agrega una regla Disallow en robots.txt. Una sola regla cubre todo: el crawler y el fetcher de auditorías usan el mismo token, y ambos consultan el archivo antes de pedir nada.

robots.txt
User-agent: ThatSEOAgentBot
Disallow: /

Las auditorías de página las inicia un usuario, pero un Disallow igual las detiene: no tratamos a un usuario autenticado como permiso para saltarnos tu robots.txt.

Cómo verificar el user agent

Las peticiones legítimas de That SEO Agent siempre coinciden exactamente con una de las dos cadenas de user agent listadas arriba. Si alguna petición dice ser ThatSEOAgentBot con una cadena diferente, no viene de este servicio.

  • Las peticiones del crawler incluyen el header Accept: text/html, application/xhtml+xml
  • Las peticiones de auditoría de página usan GET o HEAD
  • Todas las peticiones se originan en la infraestructura serverless de Vercel, sin una IP fija

Verificación criptográfica (Web Bot Auth)

Un user agent es una afirmación, no una prueba: cualquiera puede enviarlo. Todas nuestras peticiones llevan una firma Ed25519 que sí puedes verificar, según draft-meunier-web-bot-auth sobre RFC 9421. Firman tanto el crawler como el fetcher de auditorías.

Clave pública (JWKS)

https://thatseoagent.com/.well-known/http-message-signatures-directory
  • Signature-Agent: "https://thatseoagent.com", identifica quién emitió la petición
  • Signature-Input: sig1=("@authority" "@method" "@path" "signature-agent") más created, expires, keyid, alg="ed25519" y tag="web-bot-auth"
  • Signature: sig1=:<firma Ed25519 en base64>:
  • keyid coincide con el kid publicado en el JWKS de arriba
  • Las firmas caducan 300 segundos después de emitirse, así que una cabecera capturada no se puede reutilizar más tarde

Las peticiones a las APIs de Google, Wikipedia y Wikidata van sin firma a propósito: ya se autentican por OAuth o con una API key, y una segunda identidad solo añadiría ruido.

Preguntas o reportes de abuso

Si crees que That SEO Agent está haciendo peticiones que no corresponden a lo descrito aquí, escríbenos a support@thatseoagent.com.

/ ThatSEOAgentBot

Audita cualquier página en menos de 2 minutos.

8 verificaciones. Datos en vivo. Sin copiar y pegar.

Ver precios

Conecta tu sitio y corre tu primera auditoría desde cualquier IA compatible con MCP.