Docs
Пошук документації...⌘K

Cloudflare Worker

Cloudflare Worker запускає скрипт для кожного запиту, який надсилає дані до Ahrefs. Цей метод працює з будь-яким планом Cloudflare, зокрема Free.

Передумови

  • Обліковий запис Cloudflare, у якому домен вашого сайту додано як зону.
  • Токен Cloudflare API з такими дозволами:
    • Обліковий запис → Workers Scripts → Edit
    • Зона → Workers Routes → Edit
    • Зона → Zone → Read

Отримання API-токена Cloudflare

Переконайтеся, що ви ввійшли до Cloudflare Dashboard з правильним обліковим записом. Потім перейдіть на сторінку https://dash.cloudflare.com/profile/api-tokens, знайдіть і натисніть кнопку Create Token у верхньому правому куті:

Створити токен

Тепер перейдіть до процесу Створення власного токена:

Створити власний токен

Заповніть таку інформацію:

  • Назва API-токена: ahrefs-bot-analytics
  • Надайте такі дозволи:
    • Account / Workers Script / Edit — щоб ми могли завантажити скрипт worker для відстеження відвідувань ботів
    • Zone / Workers Routes / Edit — щоб ми могли призначити скрипт worker для виконання запитів
    • Zone / Zone / Read — щоб ми могли знайти зону для налаштування
  • Account Resources можна встановити як Include / All Accounts або обмежити до облікового запису, на якому розміщено сайт.
  • Zone Resources можна встановити як Include / All Zones або вибрати Zone, що відповідає домену вашого сайту.

Заповнена форма має виглядати так:

Налаштування токена

Тепер натисніть кнопку Continue to summary, підсумок має виглядати так:

Підсумок токена

Тепер натисніть кнопку Create Token і скопіюйте згенерований токен у буфер обміну, щоб використати його на наступних кроках.

Додаткову інформацію дивіться в документації Cloudflare: як створити API-токен.

Автоматичне налаштування

  1. В Ahrefs перейдіть до Налаштування проєкту → Bot Analytics.
  2. Виберіть Cloudflare Worker як метод.
  3. Вставте свій токен Cloudflare API і натисніть Підключити.

Ahrefs використає ваш токен, щоб:

  1. Знайти зону, що відповідає домену вашого проєкту.
  2. Розгорнути Worker для аналітики Ahrefs.
  3. Налаштуйте маршрут для виконання для всіх запитів.

info

Токен використовується один раз і не зберігається.

Ручне налаштування

Якщо ви не хочете надавати API-токен, можете розгорнути воркер вручну через Cloudflare API.

Крок 1 — Отримайте свій Account ID, Zone ID та API-токен

  1. Перейдіть до Cloudflare Dashboard і виберіть домен вашого вебсайту.

  2. Знайдіть $ACCOUNT_ID і $ZONE_ID у Dashboard.

  3. Клацніть на «Отримати API-токен» і створіть токен із такими дозволами:

    • Обліковий запис → Workers Scripts → Edit
    • Зона → Workers Routes → Edit
    • Зона → Zone → Read

    Детальні інструкції див. у розділі Отримання API-токена.

Крок 2 — Розгорніть воркер

Точні команди, уже заповнені даними вашого проєкту, можна знайти в розділі Налаштування проєкту → Аналітика ботів → Налаштувати вручну.

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

Замініть yourwebsite.com на свій домен.

warning

WA_CF_DATA_KEY і шаблон маршруту унікальні для вашого проєкту. Скопіюйте точні команди зі сторінки Налаштування проєкту → Аналітика ботів, щоб використати правильні значення.

Крок 3 — Перевірте підключення

Після розгортання воркера та створення маршруту поверніться до Налаштування проєкту → Аналітика ботів в Ahrefs і натисніть Перевірити статус, щоб підтвердити, що дані надходять.