Como Criar um Sistema para Envio em Massa de URLs para o Índice do Google e Verificação de Indexação de Sites


Neste artigo, explicaremos em detalhes como criamos o sistema, os passos que seguimos e forneceremos exemplos de código funcionais.


Introdução

Todo proprietário de site, especialmente aqueles voltados para o público português, enfrenta a necessidade de monitorar a indexação de páginas e acelerar a adição de novas URLs ao Google. Em um ambiente altamente competitivo, como o mercado de e-commerce e conteúdo em Portugal, é crucial que novas páginas de conteúdo ou produtos apareçam nos resultados de pesquisa o mais rápido possível, em vez de esperar semanas para que um robô de busca as descubra.

Verificar a indexação manualmente e enviar links pelo Google Search Console rapidamente se torna uma tarefa tediosa e demorada, especialmente se você gerencia uma loja online com centenas de produtos ou um blog com postagens regulares em português.

Decidimos automatizar esse processo usando as ferramentas do Google. Para o envio em massa de URLs ao índice, usamos a API de Indexação do Google, e para verificar posteriormente a presença de páginas nos resultados de pesquisa — a API de Pesquisa Personalizada do Google. Essa abordagem permite:

  • simplificar a indexação em massa de novas páginas para domínios portugueses;

  • verificar instantaneamente quais páginas estão nos resultados de pesquisa e quais não estão, com geolocalização específica para Portugal;

  • monitorar a eficácia dos esforços de SEO no mercado português.



1. Criando um Projeto no Google e Conta de Serviço

O primeiro passo — preparar uma conta para uso da API:

  1. Crie um projeto no Google Cloud Console

    1. Acesse console.cloud.google.com e crie um novo projeto (por exemplo, portugal-index). - link

Criando um projeto no Google

Nome do projeto

2. Crie uma Conta de Serviço
Na seção IAM & Admin → Service Accounts, crie uma nova conta de serviço.

  • Atribua um nome (por exemplo, portugal-site-pt),

  • Selecione a função Owner  

 

Configuração

A próxima janela aparecerá, onde você não precisa especificar nada; apenas clique no botão Concluído.

Clique em Concluído

Crie e Baixe a Chave JSON
Após criar a conta de serviço, gere uma chave no formato JSON. Ela contém:

  • client_email — e-mail da conta de serviço,

  • private_key — chave privada,

  • outros dados de autenticação.

 

Criando uma chave

Criando uma chave

 

Criando JSON

Exemplo de chave:

 {
  "type": "service_account",
  "project_id": "portugal-index",
  "private_key_id": "abc123",
  "private_key": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n",
  "client_email": "example@portugal-index.iam.gserviceaccount.com",
  ...
}

 

2. Ative a API de Indexação do Google
     Na seção APIs & Services → Library, encontre Indexing API e ative-a para o projeto. aqui

API de Indexação e ativação para o projeto

Script Node.js para Enviar URLs ao Índice do Google

Usamos Node.js e a biblioteca googleapis para autenticação via JWT. Para sites portugueses, certifique-se de que seu domínio está verificado no Google Search Console para Portugal (google.pt).

 

const fs = require('fs'); const { google } = require('googleapis'); const request = require('request'); const key = require('./service_account.json'); const jwtClient = new google.auth.JWT( key.client_email, null, key.private_key, ['https://www.googleapis.com/auth/indexing'] ); const batch = fs.readFileSync('urls.txt').toString().split('\n'); jwtClient.authorize((err, tokens) => { if (err) return console.error('Erro de autenticação:', err); const items = batch.map(url => ({ 'Content-Type': 'application/http', 'Content-ID': '', body: 'POST /v3/urlNotifications:publish HTTP/1.1\n' + 'Content-Type: application/json\n\n' + JSON.stringify({ url, type: 'URL_UPDATED' }) })); const options = { url: 'https://indexing.googleapis.com/batch', method: 'POST', headers: { 'Content-Type': 'multipart/mixed' }, auth: { bearer: tokens.access_token }, multipart: items }; request(options, (err, resp, body) => { if (err) return console.error('Erro ao enviar em lote:', err); console.log('✅ Resposta da API de Indexação do Google:\n', body); }); });

Após executar o script, cada link é enviado ao Índice do Google. Exemplo de resposta:

{ "urlNotificationMetadata": { "url": "https://exemplo.pt/produto/bluebonnet-nutrition-120" } }

Verificando a Indexação com a API de Pesquisa Personalizada

Para verificar se uma URL está no índice, use parâmetros específicos para Portugal, como gl=pt para geolocalização:

Crie um Motor de Pesquisa Personalizado (CSE):

Crie aqui - aqui 

  • Insira o site exemplo.pt,

  • Restrinja a pesquisa apenas a este domínio.

Motor de Pesquisa Personalizado

Motor de Pesquisa Personalizado cx

 

Obtenha a Chave da API  (identificador do motor de pesquisa).

https://console.cloud.google.com/apis/credentials

obter api

número da api

Você deve obter:


Chave da API = AIzaSyAk3234234234d-gZAk8wmJE4IGFo_w8
CX = e35e2de1234566c5

Script para verificar a indexação no Google: 


const fs = require('fs');
const axios = require('axios');
const urls = fs.readFileSync('urls.txt').toString().split('\n');
const apiKey = 'SUA_CHAVE_API';
const cx = 'SEU_CX';

(async () => {
  for (const url of urls) {
    try {
      const resp = await axios.get('https://www.googleapis.com/customsearch/v1', {
        params: { key: apiKey, cx, q: `site:${url}`, gl: 'pt' }
      });

      const status = resp.data.items && resp.data.items.length > 0 ? '✅ Indexado' : '❌ Não indexado';
      console.log(`${url} — ${status}`);
      fs.appendFileSync('index-check-results.txt', `${url} — ${status}\n');
      
      // Pausa de 1 segundo para evitar exceder limites
      await new Promise(r => setTimeout(r, 1000));
    } catch (e) {
      console.error('Erro na verificação:', e.response?.data || e.message);
    }
  }
})();

Limites e Cotas

  • API de Indexação do Google — 200 solicitações por dia por padrão (aplica-se globalmente, incluindo sites portugueses).

  • API de Pesquisa Personalizada — cota gratuita de 100 solicitações por dia; para volumes maiores, use a API Restrita a Sites, limitada a 10 sites.

  • Para evitar exceder os limites:

    • Use pausas entre solicitações,

    • Divida as URLs em lotes,

    • Solicite um aumento de cota pelo Google Cloud Console.

 

Criamos um processo totalmente automatizado adequado para sites portugueses:

  • Envio de URLs ao Índice do Google,

  • Verificação de indexação para cada página com foco em Portugal,

  • Salvamento dos resultados em um arquivo,

  • Opção de integração com outros sistemas (CMS, bot do Telegram, Google Sheets).

Isso acelera os processos de SEO para sites portugueses, economiza tempo e torna o monitoramento de indexação transparente.

Após obter todas as APIs e Chaves

Preparamos um arquivo pronto para uso onde você só precisa inserir as chaves obtidas.
 
Link para download  - aqui

 

Instruções para Instalação e Uso do Script de Verificação de Indexação e Envio de URLs

Requisitos

  1. Node.js (versão 18+) instalado.
    Baixe aqui: https://nodejs.org/.
    Após a instalação, verifique:

     
    node -v npm -v
  2. Uma conta no Google Cloud Console, com seu domínio português verificado no Google Search Console.

    • API de Indexação ativada.

    • Conta de Serviço criada e chave JSON baixada.

    • API de Pesquisa Personalizada ativada e um motor de pesquisa (CSE) criado para seu site, com gl=pt para resultados específicos de Portugal.

Instalação

  1. Descompacte o arquivo em uma pasta conveniente.

    Por exemplo:

     
    cd ~/Desktop/portugal-exemplo

    2. Instale as dependências:

     
    npm install

    🔑 Configuração de Chaves

    1. Chave da Conta de Serviço (API de Indexação)

    • No arquivo service_account.json, insira sua chave JSON da Conta de Serviço do Google.

    • Exemplo de conteúdo:

     
    { "type": "service_account", "project_id": "portugal-index", "private_key_id": "abc123", "private_key": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n", "client_email": "your-service-account@project-id.iam.gserviceaccount.com" }

    ⚠️ Este arquivo não deve ser compartilhado publicamente; é apenas para seu uso.

    Chaves da API de Pesquisa Personalizada

    Abra o arquivo chekindex.js e substitua as linhas:

     
    const apiKey = "SUA_CHAVE_API"; // Chave da API do Google const cx = "SEU_CX"; // ID do Motor de Pesquisa Personalizado

    com seus valores. Adicione gl: 'pt' para resultados específicos de Portugal.