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:
Agora prossiga com o fluxo de 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:
Agora clique no botão Continue to summary; o resumo deve ficar assim:
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
- No Ahrefs, vá para Configurações do Projeto → Análise de Bots.
- Selecione Cloudflare Worker como o método.
- Cole seu Token de API do Cloudflare e clique em Conectar.
O Ahrefs vai usar seu token para:
- Encontrar a zona que corresponde ao domínio do seu projeto.
- Implantar o worker do Ahrefs analytics.
- 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
-
Acesse seu Dashboard do Cloudflare e selecione o domínio do seu site.
-
Encontre seu
$ACCOUNT_IDe$ZONE_IDno Dashboard. -
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.