Trabajador de Cloudflare
Un Cloudflare Worker ejecuta un script en cada solicitud que envía datos a Ahrefs. Este método funciona con cualquier plan de Cloudflare, incluido el gratuito.
Requisitos previos
- Una cuenta de Cloudflare con el dominio de tu sitio web añadido como zona.
- Un Token de API de Cloudflare con los siguientes permisos:
- Cuenta → Workers Scripts → Editar
- Zona → Workers Routes → Editar
- Zona → Zona → Leer
Obtención del token de la API de Cloudflare
Asegúrate de haber iniciado sesión en el Dashboard de Cloudflare con la cuenta correcta. Luego, navega a la página https://dash.cloudflare.com/profile/api-tokens, localiza y haz clic en el botón Crear token en la esquina superior derecha:
Ahora continúa con el flujo de Crear token personalizado:
Rellena la siguiente información:
- Nombre del token de la API: ahrefs-bot-analytics
- Concede los siguientes permisos:
- Cuenta / Script de Workers / Editar para que podamos subir el script del worker para hacer el seguimiento de las visitas de bots
- Zona / Rutas de Workers / Editar para que podamos asignar el script del worker para que se ejecute en las solicitudes
- Zona / Zona / Lectura para que podamos localizar la zona que hay que configurar
- Los recursos de la cuenta se pueden configurar como Incluir / Todas las cuentas; como alternativa, limita el alcance a la que aloja el sitio web.
- Los recursos de zona se pueden configurar como Incluir / Todas las zonas; como alternativa, selecciona la zona que corresponde al dominio de tu sitio web.
El formulario rellenado debería verse así:
Ahora haz clic en el botón Continue to summary; el resumen debería verse así:
Ahora haz clic en el botón Crear token y copia el token generado en el portapapeles para usarlo en los siguientes pasos.
Consulta la documentación de Cloudflare sobre cómo crear un token de API para obtener más información.
Configuración automática
- En Ahrefs, ve a Configuración del proyecto → Bot Analytics.
- Selecciona Cloudflare Worker como método.
- Pega tu token de API de Cloudflare y haz clic en Conectar.
Ahrefs usará tu token para:
- Encontrar la zona que coincida con el dominio de tu proyecto.
- Implementa el Worker de análisis de Ahrefs.
- Configura una ruta para que se ejecute en todas las solicitudes.
info
Tu token se usa una vez y no se almacena.
Configuración manual
Si prefieres no proporcionar un Token de API, puedes desplegar el worker manualmente mediante la API de Cloudflare.
Paso 1 — Obtén tu ID de cuenta, ID de zona y Token de API
-
Ve a tu Dashboard de Cloudflare y selecciona el dominio de tu sitio web.
-
Busca tu
$ACCOUNT_IDy$ZONE_IDen el Dashboard. -
Haz clic en "Consigue tu token de API" y crea un nuevo token con los siguientes permisos:
- Cuenta → Workers Scripts → Editar
- Zona → Workers Routes → Editar
- Zona → Zona → Leer
Consulta Obtaining API token para ver instrucciones detalladas.
Paso 2 — Despliega el worker
Puedes encontrar los comandos exactos rellenados previamente con los detalles de tu Proyecto en Configuración del Proyecto → Analítica 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"}'
Sustituye yourwebsite.com por tu dominio.
warning
La WA_CF_DATA_KEY y el patrón de ruta son únicos para tu Proyecto. Copia los comandos exactos de tu página Configuración del Proyecto → Analítica de bots para asegurarte de que los valores sean correctos.
Paso 3 — Verifica la conexión
Después de desplegar el worker y crear la ruta, vuelve a Configuración del Proyecto → Analítica de bots en Ahrefs y haz clic en Comprobar estado para verificar que se están recibiendo datos.