Docs
Cerca nella documentazione...⌘K

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:

Crea token

Ora procedi con il flusso Crea token personalizzato:

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ì:

Configurazione token

Ora fai clic sul pulsante Continua al riepilogo; il riepilogo dovrebbe apparire così:

Riepilogo token

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

  1. In Ahrefs, vai su Impostazioni del Progetto → Bot Analytics.
  2. Seleziona Cloudflare Worker come metodo.
  3. Incolla il tuo Token API di Cloudflare e fai clic su Connetti.

Ahrefs userà il tuo Token per:

  1. Trovare la zona corrispondente al dominio del tuo Progetto.
  2. Distribuisci il worker di analisi di Ahrefs.
  3. 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

  1. Vai alla tua Dashboard di Cloudflare (https://dash.cloudflare.com/) e seleziona il dominio del tuo sito web.

  2. Trova il tuo $ACCOUNT_ID e $ZONE_ID nella Dashboard.

  3. 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.