WordPress'te ads.txt'yi iki şekilde ekleyebilirsin: alan adının sunulduğu klasöre ads.txt adında gerçek bir dosya yüklersin ya da bir eklentinin üretmesine izin verirsin. İkisi de çalışıyor. Sorun, ikisini birden kullandığında başlıyor. Gerçek dosya kazanıyor ve eklentide düzenlediğin satırlar Google'a hiç ulaşmıyor. Tek bir yöntem seç, Google satırını içine koy ve canlı adresi kontrol et.
Kendi yayıncı kimliğinle satırın kendisi (ads.txt rehberi):
google.com, pub-1234567890123456, DIRECT, f08c47fec0942fa0
Reklam kodundaki ca-pub- değil, pub- kullan. Diğer ağların satırları aynı dosyaya girer. Her alanın anlamı ads.txt kurulumu rehberinde.
1. yöntem: dosyayı yükle
- Düz metin editöründe (Word ya da Google Dokümanlar değil)
ads.txtoluştur. Satırını yapıştır, UTF-8 olarak kaydet. - Hosting'inin dosya yöneticisini aç (cPanel'de Dosyalar → Dosya Yöneticisi) ya da SFTP ile bağlan.
- Dosyayı alan adının web köküne yükle, yani
https://ornekblog.com/adresini sunan klasöre. Standart kurulumda bu,wp-config.phpvewp-admin/klasörünü içeren klasör, çoğu zamanpublic_html. https://ornekblog.com/ads.txtadresini aç ve yalnızca kendi satırlarını gördüğünü kontrol et.
Alt klasör tuzağı
WordPress bir alt klasörde de çalışabilir: ya ornekblog.com/blog/ altına kurmuşsundur ya da site kökten sunulurken WordPress'e "kendi klasörünü" vermişsindir (Genel ayarlar). Google /ads.txt'yi yalnızca kök alan adında okuyor (tarama kuralları). Yani dosya, ornekblog.com/ adresine yanıt veren klasörde olmalı ve bu her zaman wp-config.php'nin olduğu klasör değil. Ayarlar → Genel altında WordPress adresi (URL) ile Site adresi (URL) alanlarını karşılaştır: farklılarsa dosya, Site adresinin gösterdiği yere gider.

ornekblog.com/ adresini sunan klasördeki dosya geçerli.2. yöntem: eklenti
AdSense'in kendi SSS'si bu yolu öneriyor: WordPress'te ads.txt'yi bir eklentiyle oluşturmayı düşün. Reklam yerleştirmek için zaten bir eklenti kullanıyorsan onda da ads.txt özelliği olabilir (ads.txt SSS).
Yaygın kullanılan özel bir eklenti 10up'ın Ads.txt Manager eklentisi. Etkinleştirdikten sonra Ayarlar → Ads.txt sayfasına git, satırlarını yapıştır ve kaydet. Eklenti dosyayı WordPress üzerinden sunuyor, böylece dosya yüklemene gerek kalmıyor (eklenti sayfası).
Site Kit by Google AdSense kodunu senin yerine yerleştiriyor, ama dokümanında bir ads.txt özelliği anlatılmıyor. Dosyayı oluşturduğunu varsayma (Site Kit AdSense dokümanı).
Fiziksel dosya neden her eklentiyi eziyor?
Bir eklentinin ads.txt'si diskte duran bir dosya değil. WordPress onu, istek PHP'ye ulaştığında üretiyor. Ama WordPress'in standart rewrite kuralları isteği ancak yolla eşleşen gerçek bir dosya yoksa PHP'ye gönderiyor. Diskteki bir ads.txt doğrudan sunuluyor ve eklentiye hiç sorulmuyor. Ads.txt Manager sayfası da aynı şeyi söylüyor: web kökünde zaten bir dosya varsa, WordPress panelinde yaptığın değişiklikler fiziksel dosyanın içeriğini değiştirmiyor.

WordPress'teki en yaygın ads.txt gizemi buradan çıkıyor: "Satırı eklentiye ekledim ama AdSense hâlâ eksik diyor." Yıllar önce başka bir eklenti ya da eski bir reklam ağı bir dosya oluşturmuş. Çözüm: fiziksel dosyayı sil ya da adını değiştir, veya eklentiyi bırakıp dosyayı düzenle. Asla iki kaynak tutma.
3. yöntem: WordPress.com
WordPress.com'un kendi kuralları var (ads.txt dosyanı yönet):
- Eklenti destekli paketi olmayan sitelerde ads.txt'yi özelleştirmek gerekmiyor, çünkü WordAds onu otomatik yönetiyor.
- Eklenti destekli bir pakette AdSense için WordPress.com aynı Ads.txt Manager eklentisini (Ayarlar → Ads.txt) ya da dosyayı SFTP ile sitenin kök klasörüne yüklemeyi öneriyor.
AdSense kodunu eklemek Personal paketten itibaren mümkün (başlığa kod ekleme). WordPress kurulumunun geri kalanı WordPress AdSense rehberinde.
Kendin kontrol et
curl -sI https://ornekblog.com/ads.txt | grep -iE "^HTTP|content-type"
curl -s https://ornekblog.com/ads.txt
curl -sI http://ornekblog.com/ads.txt | grep -iE "^HTTP|location"
Görmek istediğin: 200 (ya da HTTPS köke tek yönlendirme), text/plain ve etrafında HTML olmadan Google satırın. ads.txt kontrol aracı aynı kontrolleri yapıyor ve yayıncı kimliğini sayfalarındaki AdSense koduyla karşılaştırıyor.
| Gördüğün | WordPress'teki olası neden | Çözüm |
|---|---|---|
| Temanın 404 sayfası | Dosya da eklenti de yok ya da dosya alt klasörde | Web köküne yükle ya da eklentiyi etkinleştir |
| Artık kullanmadığın bir ağın eski satırları | Fiziksel dosya eklentiyi eziyor | Dosyayı sil ya da adını değiştir |
| Satırlarının etrafında HTML | Önbellek, bakım ya da güvenlik eklentisi adresi yakalıyor | /ads.txt'yi o eklentinin dışında bırak |
| 403 Forbidden | Güvenlik eklentisi ya da hosting güvenlik duvarı botları engelliyor | /ads.txt'ye ve doğrulanmış Google botlarına izin ver |
| robots.txt'de engelli | Disallow: /ads gibi bir kural /ads.txt'yi de kapsıyor |
Allow: /ads.txt ekle, robots.txt test aracında dene |
www çalışıyor, çıplak alan adı çalışmıyor |
İki adres arasında yönlendirme yok | Çıplak alan adını yönlendir (cPanel rehberi) |
Düzeltmeden sonra Google'a zaman tanı. Değişikliklerin yansıması birkaç gün, az reklam isteği alan sitelerde bir aya kadar sürebiliyor (ads.txt rehberi).
Dosya doğru göründüğünde ücretsiz taramayı çalıştır. ads.txt'yi HTTP ve HTTPS üzerinden, www'li ve www'siz çekiyor ve WordPress sitenin geri kalanını da aynı anda kontrol ediyor.
Eskimiş ya da yanlış bir şey mi gördün? Bize yaz, düzeltelim.
Bu rehberi İngilizce oku →Kendi sitende kontrol et. Ücretsiz, kayıt yok.
Bunun için ücretsiz araçlar
- /tools/ads-txt-checkerads.txt Kontrol Aracı/ads.txt dosyasının her satırını doğrular, Google'ın senin yayıncı kimliğinle listelendiğini kontrol eder.Aracı aç
- /tools/robots-txt-testerrobots.txt Test AracıBir adresi AdSense botu, Googlebot ve AdsBot için robots.txt kurallarına karşı test eder.Aracı aç
Ücretsiz tarama
Kendi siteni kontrol et
Ücretsiz tarama: uygunluk puanı ve tüm sorunlar, genelde birkaç dakikada.