Worker Cloudflare
Un Cloudflare Worker esegue uno script su ogni richiesta che invia dati ad Ahrefs. Questo metodo funziona con qualsiasi piano Cloudflare, incluso Free.
Prerequisiti
- Un account Cloudflare con il dominio del tuo sito web aggiunto come zona.
- Un Token API di Cloudflare con le seguenti autorizzazioni:
- Account → Script worker → Modifica
- Zona → Percorsi worker → Modifica
- Zona → Zona → Lettura
Ottenimento del token API di Cloudflare
Assicurati di aver effettuato l’accesso alla Dashboard di Cloudflare con l’account corretto. Quindi vai alla pagina https://dash.cloudflare.com/profile/api-tokens, individua e fai clic sul pulsante Crea token in alto a destra:
Ora procedi con il flusso Crea token personalizzato:
Inserisci le seguenti informazioni:
- Nome del token API: ahrefs-bot-analytics
- Concedi le seguenti autorizzazioni:
- Account / Workers Script / Edit per consentirci di caricare lo script Worker per tracciare le visite dei bot
- Zone / Workers Routes / Edit per consentirci di assegnare lo script Worker in modo che venga eseguito sulle richieste
- Zone / Zone / Read per consentirci di individuare la zona da configurare
- Le risorse dell’account possono essere impostate su Include / All Accounts; in alternativa, limita l’ambito a quello che ospita il sito web.
- Le risorse della zona possono essere impostate su Include / All Zones; in alternativa, seleziona la zona che corrisponde al dominio del tuo sito web.
Il modulo compilato dovrebbe apparire così:
Ora fai clic sul pulsante Continua al riepilogo; il riepilogo dovrebbe apparire così:
Ora fai clic sul pulsante Crea token e copia il token generato negli appunti per usarlo nei passaggi successivi.
Per ulteriori informazioni, consulta la documentazione di Cloudflare su come creare un token API.
Configurazione automatica
- In Ahrefs, vai su Impostazioni del Progetto → Bot Analytics.
- Seleziona Cloudflare Worker come metodo.
- Incolla il tuo Token API di Cloudflare e fai clic su Connetti.
Ahrefs userà il tuo Token per:
- Trovare la zona corrispondente al dominio del tuo Progetto.
- Distribuisci il worker di analisi di Ahrefs.
- Imposta un percorso (rotta) da eseguire su tutte le richieste.
info
Il tuo token viene usato una sola volta e non viene memorizzato.
Configurazione manuale
Se preferisci non fornire un Token API, puoi distribuire il worker manualmente usando l'API di Cloudflare.
Passaggio 1 — Ottieni il tuo ID account, ID zona e Token API
-
Vai alla tua Dashboard di Cloudflare (https://dash.cloudflare.com/) e seleziona il dominio del tuo sito web.
-
Trova il tuo
$ACCOUNT_IDe$ZONE_IDnella Dashboard. -
Fai clic su "Ottieni token API" e crea un nuovo token con le seguenti autorizzazioni:
- Account → Script worker → Modifica
- Zona → Percorsi worker → Modifica
- Zona → Zona → Lettura
Consulta Ottenere un token API per istruzioni dettagliate.
Passaggio 2 — Distribuisci il worker
Puoi trovare i comandi esatti precompilati con i dettagli del tuo progetto in Impostazioni del Progetto → Bot Analytics → Configura 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"}'
Sostituisci yourwebsite.com con il tuo dominio.
warning
Il WA_CF_DATA_KEY e il pattern della route sono univoci per il tuo progetto. Copia i comandi esatti dalla pagina Impostazioni del Progetto → Bot Analytics per assicurarti che i valori siano corretti.
Passaggio 3 — Verifica la connessione
Dopo aver distribuito il worker e creato la route, torna in Impostazioni del Progetto → Bot Analytics in Ahrefs e fai clic su Controlla stato per verificare che i dati vengano ricevuti.