Docs
Pesquisar na documentação...⌘K

Worker da Cloudflare

Um Cloudflare Worker executa um script em cada solicitação que envia dados para a Ahrefs. Este método funciona com qualquer plano da Cloudflare, inclusive o Free.

Pré-requisitos

  • Uma conta da Cloudflare com o domínio do seu site adicionado como uma zona.
  • Um Token de API da Cloudflare com as seguintes permissões:
    • Conta → Scripts dos Workers → Editar
    • Zona → Rotas dos Workers → Editar
    • Zona → Zona → Leitura

Obtendo token de API do Cloudflare

Verifique se você está conectado ao Dashboard do Cloudflare com a conta correta. Em seguida, navegue até a página https://dash.cloudflare.com/profile/api-tokens, localize e clique no botão Criar Token no canto superior direito:

Criar token

Agora prossiga com o fluxo de Criar token personalizado:

Criar token personalizado

Preencha as seguintes informações:

  • Nome do token de API: ahrefs-bot-analytics
  • Conceda as seguintes permissões:
    • Conta / Script do Workers / Editar para que possamos enviar o script do worker para rastrear visitas de bots
    • Zona / Rotas do Workers / Editar para que possamos atribuir o script do worker para ser executado nas solicitações
    • Zona / Zona / Ler para que possamos localizar a zona a ser configurada
  • Os recursos da conta podem ser definidos como Incluir / Todas as contas; como alternativa, restrinja ao que hospeda o site.
  • Os recursos da zona podem ser definidos como Incluir / Todas as zonas; como alternativa, selecione a zona que corresponde ao domínio do seu site.

O formulário preenchido deve ficar assim:

Configuração do token

Agora clique no botão Continue to summary; o resumo deve ficar assim:

Resumo do token

Agora clique no botão Criar token e copie o token gerado para a área de transferência para usar nas próximas etapas.

Consulte a documentação da Cloudflare sobre como criar um token de API para obter informações adicionais.

Configuração automática

  1. No Ahrefs, vá para Configurações do Projeto → Análise de Bots.
  2. Selecione Cloudflare Worker como o método.
  3. Cole seu Token de API do Cloudflare e clique em Conectar.

O Ahrefs vai usar seu token para:

  1. Encontrar a zona que corresponde ao domínio do seu projeto.
  2. Implantar o worker do Ahrefs analytics.
  3. Configure uma rota para executar em todas as solicitações.

info

Seu token é usado uma vez e não é armazenado.

Configuração manual

Se você preferir não fornecer um Token de API, poderá implantar o worker manualmente usando a API da Cloudflare.

Etapa 1 — Obtenha seu ID da conta, ID da zona e Token de API

  1. Acesse seu Dashboard do Cloudflare e selecione o domínio do seu site.

  2. Encontre seu $ACCOUNT_ID e $ZONE_ID no Dashboard.

  3. Clique em "Obtenha seu token de API" e crie um novo token com as seguintes permissões:

    • Conta → Scripts dos Workers → Editar
    • Zona → Rotas dos Workers → Editar
    • Zona → Zona → Leitura

    Consulte Como obter token de API para instruções detalhadas.

Etapa 2 — Implante o worker

Você pode encontrar os comandos exatos, já preenchidos com os detalhes do seu projeto, em Configurações do Projeto → Análises de bots → Configurar manualmente.

Step 1: Upload the worker script

curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/workers/scripts/ahrefs--bot-analytics" \
  -X PUT \
  -H "Authorization: Bearer $CF_TOKEN" \
  -H "Content-Type: application/javascript" \
  --data-binary '
const WA_ENDPOINT = "https://analytics.ahrefs.com/api/cf_worker";
const WA_SCRIPT = "https://analytics.ahrefs.com/analytics.js";
const WA_CF_DATA_KEY = "YOUR_DATA_KEY";
const WA_DATA_KEY = "";
async function handleBotAnalytics(event, response) {
  let request = event.request;
  event.waitUntil(sendAnalytics(request, response));
  return response;
}

async function sendAnalytics(request, response) {
  try {
    let referer = request.headers.get("referer") || "";
    let userAgent = request.headers.get("user-agent") || "";
    let ip = request.headers.get("cf-connecting-ip") || "";
    let contentType = response.headers.get("content-type") || "";
    let payload = {
      n: "serverpageview",
      u: request.url,
      ip: ip,
      ua: userAgent,
      ct: contentType,
      m: request.method,
      s: response.status,
      k: WA_CF_DATA_KEY,
      r: referer,
    }
    let analyticsResponse = await fetch(WA_ENDPOINT, {
      method: "POST",
      body: JSON.stringify(payload)
    })
    if (!analyticsResponse.ok) {
      console.error("ahrefs bot analytics error:", analyticsResponse.status, analyticsResponse.statusText)
    }
  } catch (error) {
    console.error("ahrefs bot analytics error:", error.message)
  }
}
addEventListener("fetch", event => {
  event.respondWith((async () => {
    let response = await fetch(event.request);
    response = await handleBotAnalytics(event, response);
    return response;
  })());
});
'

Step 2: Create the route

curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/workers/routes" \
  -X POST \
  -H "Authorization: Bearer $CF_TOKEN" \
  -H "Content-Type: application/json" \
  --data-binary '{"pattern":"*youwebsite.com/*","script":"ahrefs--bot-analytics"}'

Substitua yourwebsite.com pelo seu domínio.

warning

O WA_CF_DATA_KEY e o padrão de rota são exclusivos do seu Projeto. Copie os comandos exatos da sua página Configurações do Projeto → Análises de bots para garantir os valores corretos.

Etapa 3 — Verificar a conexão

Depois de implantar o worker e criar a rota, volte para Configurações do Projeto → Análises de bots na Ahrefs e clique em Verificar status para confirmar que os dados estão sendo recebidos.