Conjunto de herramientas SEO para la línea de comandos

El comando seohead expone todas las herramientas principales para scripts, CI y trabajo en terminal. Los comandos que muestra la documentación se comprueban en CI.

Qué hace

Apto para scripts

La salida es JSON en stdout, así que puedes enviarla a jq, a un script o a un paso de CI. El código de salida 0 indica que el comando terminó y 1 que no pudo terminar, con el motivo en el JSON. Las entradas pueden ser flags, un objeto JSON con --input o JSON por stdin. La mayoría de los comandos que escriben archivos necesitan una ruta o un flag explícito, como --out o --apply.

  • Presupuestos explícitos: crawl-site acepta --max-urls, --max-depth y --max-urls-per-second
  • El código de salida 2 solo lo usa log-scan, para una ejecución cuyas propias cifras no coinciden
  • Los comandos que aparecen en la documentación se ejecutan sobre datos de prueba en CI

Catálogo de herramientas

tool-catalog busca qué hace cada comando, si usa la red, si escribe archivos o si puede gastar dinero. Filtra antes de paginar, así que una consulta como redirect devuelve una lista corta. Añade --include-arguments si necesitas la forma de los argumentos. Funciona sin conexión y no escribe nada.

  • Los efectos se marcan como offline, network, writes o paid
  • Los comandos de proveedores de pago muestran una estimación sin conexión y necesitan confirmación explícita
  • seohead doctor comprueba los requisitos de Python, navegador, MCP y SQLite sin escribir nada

Un manejador, dos caras

Cada capacidad pública es un único manejador. Se expone como comando seohead y como herramienta MCP con el mismo nombre, así que crawl-site se convierte en seo_crawl_site. Lo que pruebas en la terminal es lo que llama un agente. Las formas agrupadas son alias: scan list equivale a scan-list.

  • seohead mcp inicia el servidor MCP local por stdio
  • Los comandos sf son los puntos de entrada del flujo de auditoría de Screaming Frog
  • La CLI funciona en macOS, Linux y Windows desde un entorno virtual

Tres pasos, un análisis guardado

  1. Elige un comando

    Ejecuta seohead --help o busca con tool-catalog. Cada comando tiene una sola función y una única entrada en el catálogo.

  2. Lee el JSON y el código de salida

    La salida es siempre JSON por stdout. El código de salida 0 indica que el comando terminó. El código 1 indica que no pudo terminar, y el motivo está en el JSON.

  3. Los mismos comandos para agentes de IA

    seohead mcp inicia un servidor MCP local. Cada comando también es una herramienta llamada seo_<comando>, por ejemplo seo_crawl_site.

Comprobaciones de esta función

ComprobaciónQué significaGravedadEvidencia
BROKEN_PAGE_4XXLa página devuelve una respuesta 4xx.CriticalCódigo de respuesta por URL de crawl-site
SERVER_ERROR_5XXLa página devuelve una respuesta 5xx.CriticalCódigo de respuesta por URL de crawl-site
BLOCKED_BY_ROBOTSrobots.txt bloquea la URL.ImportantRegla de robots.txt que coincide con la URL de crawl-site
SITEMAP_URL_4XX_5XXEl sitemap lista una URL que devuelve 4xx o 5xx.CriticalEntradas del sitemap de sitemap-crawl
SITEMAP_DESYNCEl conjunto de URL del sitemap y el de URL rastreadas no coinciden.ImportantSitemap de sitemap-crawl comparado con crawl-site
URL_NOT_IN_SITEMAPFalta en el sitemap una página indexable.TipResultado del rastreo comparado con el conjunto de URL del sitemap

Un solo comando

bash
seohead tool-catalog --query redirect --limit 5

Primero, instala SpiderHead: guía de instalación. Cada comando también funciona como herramienta MCP para agentes de IA.

Qué necesitas

  • Python 3.10 o posterior y un entorno virtual con el kit instalado
  • Una URL, un archivo de escaneo guardado o una carpeta de proyecto, según el comando
  • Extras opcionales para MCP, informes, PDF y renderizado
  • Claves de proveedor solo para los comandos de pago o que dependen de una cuenta

Límites

  • Los comandos marcados como «network» envían peticiones. Ejecuta tool-catalog para ver cuáles son
  • La salida está pensada, primero, para máquinas. No hay un flujo interactivo de preguntas, salvo el observador de terminal
  • El rastreo nativo no equivale a Screaming Frog completo. Algunas comprobaciones salen como omitidas, nunca como «limpias» por error
  • Las fuentes de pago y las que requieren cuenta necesitan tus propias claves, que el kit no proporciona

Preguntas

¿La CLI necesita una cuenta o un servicio alojado?
No. La CLI se ejecuta en tu máquina. Los comandos sin conexión, como tool-catalog y los comandos de escaneos guardados, leen solo datos locales. Los comandos marcados como network envían peticiones al sitio o a un proveedor de datos.
¿Cómo sé si un comando cuesta dinero?
Ejecuta tool-catalog. Cada entrada indica si el comando usa la red, escribe archivos o cuesta dinero. Los comandos semánticos de pago necesitan confirmación explícita, y la versión MCP se niega a ejecutarse sin confirm_paid=true.
¿Un rastreo cambiará mi sitio?
No. Los rastreos envían peticiones de solo lectura. Los archivos se escriben solo en la ruta que indiques, como --scan-out o --out-dir. Por defecto, un rastreo guarda su escaneo en ./scans/.
¿Qué significa un código de salida distinto de cero?
El código de salida 1 significa que el comando no pudo completarse. Su JSON tiene ok en false, o una línea de error va a stderr si el proceso falló. El código de salida 2 lo usa solo log-scan.
¿Puedo pasar una entrada compleja sin muchos flags?
Sí. La mayoría de los comandos acepta --input con un objeto JSON que se asigna a los argumentos del manejador, y algunos leen JSON desde stdin.
¿Qué sistemas operativos son compatibles?
macOS, Linux y Windows usan el mismo paquete de Python. En Windows, usa explícitamente el intérprete dentro del entorno virtual. El CI ejecuta en Windows las comprobaciones de archivos de bloqueo, proyectos, escaneos y una sesión MCP real.

Pruébalo en tu propio sitio