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:
Sekarang lanjutkan dengan alur 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:
Sekarang klik tombol Continue to summary; ringkasannya seharusnya terlihat seperti ini:
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
- Di Ahrefs, buka Pengaturan Proyek → Bot Analytics.
- Pilih Cloudflare Worker sebagai metode.
- Tempel Token API Cloudflare Anda lalu klik Connect.
Ahrefs akan menggunakan token Anda untuk:
- Menemukan zona yang sesuai dengan domain Proyek Anda.
- Tempatkan worker analytics Ahrefs.
- 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
-
Buka Dashboard Cloudflare Anda dan pilih domain situs web Anda.
-
Temukan
$ACCOUNT_IDdan$ZONE_IDAnda di Dashboard. -
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.