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:
Şimdi Özel belirteç oluştur akışıyla devam edin:
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:
Şimdi Continue to summary düğmesine tıklayın; özet şu şekilde görünmelidir:
Ş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
- Ahrefs'te Proje Ayarları → Bot Analytics bölümüne gidin.
- Yöntem olarak Cloudflare Worker seçin.
- Cloudflare API belirtecinizi yapıştırın ve Bağlan'a tıklayın.
Ahrefs, belirtecinizi şu amaçlarla kullanır:
- Projenizin alan adıyla eşleşen zone'u bulun.
- Ahrefs analiz çalışanını yayınlayın.
- 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
-
Cloudflare Dashboard'unuza gidin ve web sitenizin alan adını seçin.
-
Dashboard'da
$ACCOUNT_IDve$ZONE_IDdeğerlerinizi bulun. -
"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.