Kit de SEO para linha de comando

O comando seohead expõe todas as ferramentas principais para scripts, CI e trabalho no terminal. Os comandos mostrados na documentação são testados no CI.

O que faz

Pronto para scripts

A saída é JSON na stdout, então você pode enviá-la para o jq, para um script ou para uma etapa de CI. Código de saída 0 significa que o comando terminou; 1 significa que ele não conseguiu terminar, com o motivo no JSON. As entradas podem ser flags, um objeto JSON com --input ou JSON pela stdin. A maioria dos comandos que gravam arquivos precisa de um caminho explícito ou de uma flag como --out ou --apply.

  • Orçamentos explícitos: o crawl-site aceita --max-urls, --max-depth e --max-urls-per-second
  • Código de saída 2 é usado só pelo log-scan, para uma execução cujos próprios números não batem
  • Os comandos mostrados na documentação rodam com fixtures de teste no CI

Catálogo de ferramentas

O tool-catalog pesquisa o que cada comando faz, se usa a rede, se grava arquivos ou se pode custar dinheiro. Ele filtra antes de paginar, então uma busca como redirect retorna uma lista curta. Adicione --include-arguments quando precisar da forma dos argumentos. Ele funciona offline e não grava nada.

  • Os efeitos são marcados como offline, rede, gravação ou pago
  • Comandos de provedores pagos mostram uma estimativa offline e exigem confirmação explícita
  • O seohead doctor verifica Python, navegador, MCP e pré-requisitos do SQLite sem gravar nada

Um handler, duas faces

Cada capacidade pública é um único handler. Ele é exposto como comando do seohead e como ferramenta MCP com o mesmo nome, então crawl-site vira seo_crawl_site. O que você testa no terminal é o que um agente de IA chama. Formas agrupadas são apenas aliases: scan list é o mesmo que scan-list.

  • seohead mcp inicia o servidor MCP local via stdio
  • Os comandos sf são os pontos de entrada fluxo de auditoria do Screaming Frog
  • A CLI roda em macOS, Linux e Windows a partir de um ambiente virtual

Três passos, um rastreamento salvo

  1. Escolha um comando

    Execute seohead --help ou pesquise com o tool-catalog. Cada comando tem uma única tarefa e uma única entrada no catálogo.

  2. Leia o JSON e o código de saída

    A saída é sempre JSON na stdout. Código de saída 0 significa que o comando terminou. Código de saída 1 significa que ele não conseguiu terminar, e o motivo está no JSON.

  3. Os mesmos comandos para agentes de IA

    seohead mcp inicia um servidor MCP local. Cada comando também é uma ferramenta com nome seo_<command>, por exemplo seo_crawl_site.

Verificações deste recurso

VerificaçãoO que significaGravidadeEvidência
BROKEN_PAGE_4XXA página responde com 4xx.CriticalCódigo de resposta por URL, do crawl-site
SERVER_ERROR_5XXA página responde com 5xx.CriticalCódigo de resposta por URL, do crawl-site
BLOCKED_BY_ROBOTSO robots.txt bloqueia a URL.ImportantRegra do robots.txt que corresponde à URL, no crawl-site
SITEMAP_URL_4XX_5XXO sitemap lista uma URL que responde com 4xx ou 5xx.CriticalEntradas do sitemap, do sitemap-crawl
SITEMAP_DESYNCO conjunto de URLs do sitemap e o conjunto de URLs rastreadas não batem.ImportantSitemap do sitemap-crawl comparado com o crawl-site
URL_NOT_IN_SITEMAPUma página indexável está fora do sitemap.TipResultado do rastreamento comparado com o conjunto de URLs do sitemap

Um comando

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

Instale primeiro: guia de instalação. Todo comando também funciona como ferramenta MCP para agentes de IA.

O que você precisa

  • Python 3.10 ou mais recente e um ambiente virtual com o kit instalado
  • Uma URL, um arquivo de scan salvo ou uma pasta de projeto, conforme o comando
  • Extras opcionais para MCP, relatórios, PDF e renderização
  • Chaves de provedores apenas para comandos pagos ou que exigem conta

Limites

  • Comandos marcados como de rede enviam requisições. Execute o tool-catalog para ver quais são
  • A saída é feita primeiro para máquinas. Não há fluxo de perguntas interativo, exceto pelo observador do terminal
  • O rastreamento nativo não tem paridade total com o Screaming Frog. Algumas verificações voltam como ignoradas, nunca como falsamente sem problemas
  • Fontes pagas e que exigem conta precisam das suas próprias chaves, que o kit não fornece

Perguntas

A CLI precisa de conta ou de um serviço hospedado?
Não. A CLI roda na sua máquina. Comandos offline, como o tool-catalog e os comandos de scans salvos, leem apenas dados locais. Comandos marcados como de rede enviam requisições para o site ou para um provedor de dados.
Como saber se um comando custa dinheiro?
Execute o tool-catalog. Cada entrada mostra se o comando usa a rede, grava arquivos ou custa dinheiro. Comandos semânticos pagos exigem confirmação explícita, e a versão MCP se recusa a rodar sem confirm_paid=true.
Um rastreamento vai alterar meu site?
Não. Os rastreamentos enviam apenas requisições de leitura. Os arquivos são gravados somente no caminho que você informa, como --scan-out ou --out-dir. Por padrão, um rastreamento salva seu scan em ./scans/.
O que significa um código de saída diferente de zero?
Código de saída 1 significa que o comando não conseguiu terminar. O JSON dele tem ok como false, ou uma linha de erro vai para o stderr se o processo travou. Código de saída 2 é usado só pelo log-scan.
Dá para passar uma entrada complexa sem muitas flags?
Sim. A maioria dos comandos aceita --input com um objeto JSON que corresponde aos argumentos da função, e alguns leem JSON da stdin.
Quais sistemas operacionais são suportados?
macOS, Linux e Windows usam o mesmo pacote Python. No Windows, use explicitamente o interpretador dentro do ambiente virtual. O CI roda as verificações de Windows para bloqueios (locks), projetos, scans e uma sessão MCP real.

Teste no seu próprio site