Docs
Dokümanlarda ara...⌘K

Cloudflare Çalışanı

Bir Cloudflare Worker, Ahrefs'e veri gönderen her istekte bir betik çalıştırır. Bu yöntem, Ücretsiz dahil her Cloudflare planıyla çalışır.

Ön koşullar

  • Web sitenizin alan adının bir zone olarak eklendiği bir Cloudflare hesabı.
  • Aşağıdaki izinlere sahip bir Cloudflare API Belirteci:
    • Hesap → Workers Komut Dosyaları → Düzenle
    • Bölge → Workers Rotaları → Düzenle
    • Bölge → Bölge → Oku

Cloudflare API belirteci alınıyor

Cloudflare Dashboard’da doğru hesapla oturum açtığınızdan emin olun. Ardından https://dash.cloudflare.com/profile/api-tokens sayfasına gidin, sağ üst köşedeki Belirteç Oluştur düğmesini bulun ve tıklayın:

Belirteç oluştur

Şimdi Özel belirteç oluştur akışıyla devam edin:

Özel belirteç oluştur

Aşağıdaki bilgileri girin:

  • API belirteci adı: ahrefs-bot-analytics
  • Aşağıdaki izinleri verin:
    • Bot ziyaretlerini izlemek için worker script'ini yükleyebilmemiz adına Hesap / Workers Script / Düzenle
    • Worker script'ini isteklerde çalışacak şekilde atayabilmemiz adına Bölge / Workers Routes / Düzenle
    • Yapılandırılacak bölgeyi bulabilmemiz adına Bölge / Bölge / Oku
  • Hesap Kaynakları Dahil Et / Tüm Hesaplar olarak ayarlanabilir; alternatif olarak, web sitesini barındıran hesapla sınırlandırın.
  • Bölge Kaynakları Dahil Et / Tüm Bölgeler olarak ayarlanabilir; alternatif olarak web sitenizin alan adıyla eşleşen bölgeyi seçin.

Doldurulmuş form şöyle görünmelidir:

Belirteç yapılandırması

Şimdi Continue to summary düğmesine tıklayın; özet şu şekilde görünmelidir:

Belirteç özeti

Şimdi Belirteç oluştur düğmesine tıklayın ve sonraki adımlarda kullanmak üzere oluşturulan belirteci panoya kopyalayın.

Ek bilgi için API belirteci oluşturma hakkında Cloudflare dokümantasyonuna göz atın.

Otomatik kurulum

  1. Ahrefs'te Proje Ayarları → Bot Analytics bölümüne gidin.
  2. Yöntem olarak Cloudflare Worker seçin.
  3. Cloudflare API belirtecinizi yapıştırın ve Bağlan'a tıklayın.

Ahrefs, belirtecinizi şu amaçlarla kullanır:

  1. Projenizin alan adıyla eşleşen zone'u bulun.
  2. Ahrefs analiz çalışanını yayınlayın.
  3. Tüm isteklerde çalışacak bir rota ayarlayın.

info

Belirteciniz bir kez kullanılır ve saklanmaz.

Manuel kurulum

Bir API Belirteci sağlamayı tercih etmiyorsanız, worker'ı Cloudflare API'sini kullanarak manuel olarak dağıtabilirsiniz.

Adım 1 — Hesap Kimliğinizi, Bölge Kimliğinizi ve API Belirtecinizi alın

  1. Cloudflare Dashboard'unuza gidin ve web sitenizin alan adını seçin.

  2. Dashboard'da $ACCOUNT_ID ve $ZONE_ID değerlerinizi bulun.

  3. "API belirtecinizi alın" seçeneğine tıklayın ve şu izinlerle yeni bir belirteç oluşturun:

    • Hesap → Workers Komut Dosyaları → Düzenle
    • Bölge → Workers Rotaları → Düzenle
    • Bölge → Bölge → Oku

    Ayrıntılı talimatlar için API belirteci edinme bölümüne bakın.

Adım 2 — Worker'ı dağıtın

Projenizin ayrıntılarıyla önceden doldurulmuş komutları Proje Ayarları → Bot Analytics → Manuel olarak ayarla bölümünde bulabilirsiniz.

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 ifadesini alan adınızla değiştirin.

warning

WA_CF_DATA_KEY ve rota deseni projenize özeldir. Doğru değerleri kullandığınızdan emin olmak için, komutların aynısını Proje Ayarları → Bot Analytics sayfanızdan kopyalayın.

Adım 3 — Bağlantıyı doğrulayın

Worker'ı dağıttıktan ve rotayı oluşturduktan sonra, Ahrefs'te Proje Ayarları → Bot Analytics bölümüne geri dönün ve verilerin alındığını doğrulamak için Durumu kontrol et seçeneğine tıklayın.