IndexNow explicado: notifique os mecanismos de pesquisa ao publicar

Atualize as URLs de push nos motores de busca após a implantação.

Conteúdo da página

Sites estáticos e blogs mudam sempre que você faz o deploy. Motores de busca que suportam IndexNow podem aprender sobre essas mudanças sem esperar pelo próximo rastreamento cego.

Esta página aborda por que isso importa, o que o protocolo faz e como integrá-lo em um fluxo de trabalho real, incluindo padrões que você pode reutilizar em sua própria automação ou em um pequeno CLI em Go.

Monitoramento da web e infraestrutura

Por que usar IndexNow em um site estático ou Hugo

Se você fazer deploy do Hugo para S3 ou similar, você já entrega HTML e um sitemap.xml. Os rastreadores eventualmente lerão o sitemap, mas o timing não está sob seu controle. Após uma migração ou um lote de novos posts, você se preocupa mais com indexação fresca do que com “algum dia na próxima semana”.

O IndexNow é um canal de empurrão (push). Você faz um POST com uma lista de URLs canônicas das quais você se importa. Motores participantes (incluindo Microsoft Bing e outros listados em indexnow.org) podem priorizar a busca por essas URLs. Isso não substitui redirecionamentos de URLs adequados ou linkagem interna, mas fecha o ciclo entre git push e consciência do motor de busca.

O que o IndexNow faz

Em alto nível, cada submissão é um POST HTTPS com JSON como este conceitualmente:

  • host - seu hostname do site (por exemplo www.exemplo.com)
  • key - sua string secreta pré-gerada
  • keyLocation (opcional) - URL completa do arquivo de verificação se não estiver no caminho padrão
  • urlList - uma ou mais URLs absolutas naquele host que você deseja sinalizar

Os motores rejeitam chaves inválidas, hosts incorretos ou payloads malformados. O sucesso é geralmente HTTP 200 ou 202, dependendo do endpoint.

Você pode ler todas as regras e a lista de parceiros no site oficial. O modelo mental importante é prova de propriedade do domínio via um arquivo de texto mais lista explícita de URLs, não palavras-chave ou conteúdo da página.

Como preparar seu site

Arquivo de chave e hostname

  1. Escolha uma chave - uma string aleatória longa (trate como um segredo).
  2. Publique https://seu-domínio/<chave>.txt com apenas a chave como corpo (uma linha).
  3. Use a mesma chave em seu CLI ou automação quando fizer o POST.
  4. Envie apenas URLs naquele host que você deseja que sejam rerastreadas (novos posts, páginas atualizadas ou alvos de redirecionamento).

Após mover muitas URLs de uma vez, você pode querer notificar em lote os caminhos. O IndexNow aceita múltiplas URLs em uma única solicitação, sujeito aos limites de cada motor.

Formas de enviar URLs

  • POST manual - bom para depuração, use curl com JSON.
  • Plugins - alguns CMS e painéis de hospedagem incluem opções de IndexNow.
  • Seu script de deploy - após hugo e upload, chame um pequeno binário com a lista de URLs alteradas ou sua URL do sitemap.

Para um fluxo de trabalho Hugo, os gatilhos naturais são “após build” ou “após sincronização com o bucket”. Passe URLs HTTPS completas que correspondam ao seu site ao vivo, incluindo www vs ápice, se for isso que você serve.

Um pequeno CLI em Go (opcional)

Funcionalidades que você pode implementar

Uma ferramenta de linha de comando Go mínima se encaixa bem no IndexNow porque o payload é um POST JSON pequeno e você pode integrá-lo em scripts de deploy. Um design típico inclui:

  • URL única ou múltiplas como argumentos posicionais
  • --sitemap para buscar um sitemap.xml e submeter cada <loc> (com --limit opcional)
  • Vários motores em paralelo via --engines (por exemplo indexnow para o agregador global, ou endpoints por provedor)
  • Flags ou variáveis de ambiente como INDEXNOW_KEY, INDEXNOW_WEBSITE_URL e INDEXNOW_ENGINES
  • Saída verbosa com -v para depurar respostas 403 ou 422

Construa com go build ou go install, instale o binário em seu PATH, depois chame-o após a publicação:

indexnow --key SUA_CHAVE --website https://www.exemplo.com https://www.exemplo.com/novo-post/

Para uma atualização completa do site após o deploy, você pode passar --sitemap com sua URL pública do sitemap. Documente códigos de resposta e listas de motores em seu próprio README e mantenha um trecho de shell publicar-depois-indexar junto com o que aciona seu deploy estático.

O post Melhores LLMs para OpenCode - testado localmente usou “implementar um notificador IndexNow em Go” como um benchmark de codificação - útil se você quiser ver como diferentes modelos lidam com a mesma especificação e tarefas estruturadas.

Dicas práticas

  • Prefira o alvo de motor indexnow quando quiser que uma submissão se propague através da infraestrutura compartilhada (veja searchengines.json e espelhe essa lista em seu próprio cliente se suportar múltiplos endpoints).
  • 429 significa desacelerar. 403 geralmente significa chave ou hostname incompatíveis. Corrija primeiro a localização do arquivo de chave ou o hostname.
  • O IndexNow não substitui redirecionamentos 301 quando você renomeia caminhos. Notifique após os redirecionamentos estarem ativos.

Veja também