Docs
Szukaj w dokumentacji...⌘K

Cloudflare Worker

Cloudflare Worker uruchamia przy każdym żądaniu skrypt, który wysyła dane do Ahrefs. Ta metoda działa w każdym planie Cloudflare, w tym Free.

Wymagania wstępne

  • Konto Cloudflare z domeną Twojej witryny dodaną jako strefa.
  • Token API Cloudflare z następującymi uprawnieniami:
    • Konto → Skrypty Worker → Edytuj
    • Strefa → Trasy skryptów Worker → Edytuj
    • Strefa → Strefa → Odczyt

Uzyskiwanie tokenu API Cloudflare

Upewnij się, że jesteś zalogowany(-a) do panelu Cloudflare Dashboard na właściwym koncie. Następnie przejdź na stronę https://dash.cloudflare.com/profile/api-tokens, znajdź i kliknij przycisk Utwórz token w prawym górnym rogu:

Utwórz token

Teraz przejdź do procesu Create Custom Token:

Utwórz niestandardowy Token

Wypełnij poniższe informacje:

  • Nazwa tokena API: ahrefs-bot-analytics
  • Przyznaj następujące uprawnienia:
    • Account / Workers Script / Edit — abyśmy mogli przesłać skrypt workera do śledzenia wizyt botów
    • Zone / Workers Routes / Edit — abyśmy mogli przypisać skrypt workera do uruchamiania dla żądań
    • Zone / Zone / Read — abyśmy mogli odnaleźć strefę do skonfigurowania
  • W polu Account Resources możesz ustawić Include / All Accounts; ewentualnie zawęź zakres do konta, na którym hostowana jest witryna.
  • W polu Zone Resources możesz ustawić Include / All Zones; ewentualnie wybierz strefę odpowiadającą domenie Twojej witryny.

Wypełniony formularz powinien wyglądać tak:

Konfiguracja tokena

Teraz kliknij przycisk Continue to summary; podsumowanie powinno wyglądać tak:

Podsumowanie tokena

Teraz kliknij przycisk Create Token i skopiuj wygenerowany token do schowka, aby użyć go w kolejnych krokach.

Więcej informacji znajdziesz w dokumentacji Cloudflare: jak utworzyć token API.

Automatyczna konfiguracja

  1. W Ahrefs przejdź do Ustawienia Projektu → Analiza botów.
  2. Wybierz Cloudflare Worker jako metodę.
  3. Wklej Token API Cloudflare i kliknij Połącz.

Ahrefs użyje Tokena, aby:

  1. Znaleźć strefę pasującą do domeny Twojego projektu.
  2. Wdróż skrypt Worker w ramach analityki Ahrefs.
  3. Skonfiguruj trasę, aby uruchamiała się przy każdym żądaniu.

info

Twój token zostanie użyty tylko raz i nie będzie przechowywany.

Konfiguracja ręczna

Jeśli wolisz nie podawać tokenu API, możesz wdrożyć workera ręcznie za pomocą Cloudflare API.

Krok 1 — Uzyskaj Account ID, Zone ID i Token API

  1. Przejdź do swojego Dashboard w Cloudflare i wybierz domenę swojej witryny.

  2. Znajdź swoje $ACCOUNT_ID i $ZONE_ID w Dashboard.

  3. Kliknij opcję „Uzyskaj swój token API” i utwórz nowy token z następującymi uprawnieniami:

    • Konto → Skrypty Worker → Edytuj
    • Strefa → Trasy skryptów Worker → Edytuj
    • Strefa → Strefa → Odczyt

    Szczegółowe instrukcje znajdziesz w sekcji Obtaining API token.

Krok 2 — Wdróż workera

Dokładne polecenia, wstępnie uzupełnione danymi Twojego projektu, znajdziesz w Ustawienia projektu → Bot Analytics → Skonfiguruj ręcznie.

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"}'

Zastąp yourwebsite.com swoją domeną.

warning

WA_CF_DATA_KEY i wzorzec trasy są unikalne dla Twojego projektu. Aby mieć pewność, że wartości są poprawne, skopiuj dokładne polecenia ze strony Ustawienia projektu → Bot Analytics.

Krok 3 — Sprawdź połączenie

Po wdrożeniu workera i utworzeniu trasy wróć do Ustawienia projektu → Bot Analytics w Ahrefs i kliknij Sprawdź status, aby potwierdzić, że dane są odbierane.