Docs
Cari dokumen...⌘K

Cloudflare Worker

Cloudflare Worker menjalankan skrip pada setiap permintaan yang mengirim data ke Ahrefs. Metode ini berfungsi dengan paket Cloudflare apa pun, termasuk Free.

Prasyarat

  • Akun Cloudflare dengan domain situs web Anda yang sudah ditambahkan sebagai zona.
  • Token API Cloudflare dengan izin berikut:
    • Akun → Skrip Workers → Edit
    • Zona → Rute Workers → Edit
    • Zona → Zona → Baca

Mendapatkan token API Cloudflare

Pastikan Anda masuk ke Dashboard Cloudflare dengan akun yang benar. Lalu buka halaman https://dash.cloudflare.com/profile/api-tokens, temukan dan klik tombol Create Token di kanan atas:

Buat Token

Sekarang lanjutkan dengan alur Buat Token Kustom:

Buat Token Kustom

Isi informasi berikut:

  • Nama token API: ahrefs-bot-analytics
  • Berikan izin berikut:
    • Account / Workers Script / Edit agar kami dapat mengunggah skrip worker untuk melacak kunjungan bot
    • Zone / Workers Routes / Edit agar kami dapat menetapkan skrip worker untuk dijalankan pada permintaan
    • Zone / Zone / Read agar kami dapat menemukan zone yang akan dikonfigurasi
  • Account Resources dapat diatur ke Include / All Accounts; sebagai alternatif, batasi cakupannya ke akun yang meng-host situs web tersebut.
  • Zone Resources dapat diatur ke Include / All Zones; sebagai alternatif, pilih Zone yang sesuai dengan domain situs web Anda.

Formulir yang sudah diisi seharusnya terlihat seperti ini:

Konfigurasi Token

Sekarang klik tombol Continue to summary; ringkasannya seharusnya terlihat seperti ini:

Ringkasan Token

Sekarang klik tombol Create Token dan salin token yang dihasilkan ke clipboard untuk digunakan pada langkah-langkah berikutnya.

Lihat dokumentasi Cloudflare tentang cara membuat token API untuk informasi tambahan.

Penyiapan otomatis

  1. Di Ahrefs, buka Pengaturan Proyek → Bot Analytics.
  2. Pilih Cloudflare Worker sebagai metode.
  3. Tempel Token API Cloudflare Anda lalu klik Connect.

Ahrefs akan menggunakan token Anda untuk:

  1. Menemukan zona yang sesuai dengan domain Proyek Anda.
  2. Tempatkan worker analytics Ahrefs.
  3. Siapkan rute untuk dijalankan pada semua permintaan.

info

Token Anda digunakan sekali dan tidak disimpan.

Penyiapan manual

Jika Anda memilih untuk tidak memberikan token API, Anda dapat men-deploy worker secara manual menggunakan API Cloudflare.

Langkah 1 — Dapatkan Account ID, Zone ID, dan Token API Anda

  1. Buka Dashboard Cloudflare Anda dan pilih domain situs web Anda.

  2. Temukan $ACCOUNT_ID dan $ZONE_ID Anda di Dashboard.

  3. Klik "Dapatkan token API Anda" dan buat token baru dengan izin berikut:

    • Akun → Skrip Workers → Edit
    • Zona → Rute Workers → Edit
    • Zona → Zona → Baca

    Lihat Mendapatkan token API untuk petunjuk terperinci.

Langkah 2 — Deploy worker

Anda dapat menemukan perintah yang sudah diisi dengan detail Proyek Anda di Pengaturan Proyek → Bot Analytics → Siapkan secara manual.

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

Ganti yourwebsite.com dengan domain Anda.

warning

WA_CF_DATA_KEY dan pola rute bersifat unik untuk Proyek Anda. Salin perintah yang tepat dari halaman Pengaturan Proyek → Bot Analytics untuk memastikan nilainya benar.

Langkah 3 — Verifikasi koneksi

Setelah men-deploy worker dan membuat rute, kembali ke Pengaturan Proyek → Bot Analytics di Ahrefs dan klik Periksa status untuk memverifikasi bahwa data sudah diterima.