Log Dosyası Analizi: SEO'nun En Güçlü Ama En Az Kullanılan Aracı
E-ticaret SEO dünyasında çoğu uzman anahtar kelime araştırması, backlink inşası ve içerik optimizasyonuna odaklanırken sunucu log dosyaları çoğunlukla göz ardı edilir. Oysa log dosyaları, Googlebot'un sitenizle olan gerçek etkileşimini gösteren tek birincil veri kaynağıdır.
Google Search Console size Googlebot'un ne gördüğünü söyler. Log dosyaları ise Googlebot'un gerçekte ne yaptığını gösterir. Bu iki kaynak arasındaki fark, tespit edilmesi çok güç teknik sorunları ortaya çıkarabilir.
Sunucu Loglarını Nerede Bulursunuz?
Log dosyalarına erişim yöntemi sunucu türüne ve hosting yapısına göre değişir:
Apache Sunucular:Log dosyaları genellikle /var/log/apache2/access.log veya /var/log/httpd/access_log konumundadır. cPanel kullanıyorsanız "Logs" menüsünden erişebilirsiniz.
Varsayılan konum /var/log/nginx/access.log şeklindedir. Nginx yapılandırma dosyasında (nginx.conf) özel log formatı tanımlanmış olabilir.
CDN'lerin kendi log dışa aktarma araçları vardır. Cloudflare Enterprise ve Cloudflare Workers kullanıcıları Logpush özelliğiyle log akışını S3 veya BigQuery'ye yönlendirebilir.
E-ticaret Platformları:Shopify, WooCommerce gibi hosted çözümlerde ham log erişimi kısıtlı olabilir. Bu durumda Cloudflare gibi bir proxy katmanı eklemek log erişimi sağlar.
Log Formatını Anlamak
Standart bir Apache Combined Log Format satırı şu şekilde görünür:
66.249.68.200 - - [18/Feb/2026:14:23:45 +0300] "GET /urunler/laptop/gaming-laptop-x1 HTTP/1.1" 200 45231 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
Bu satır bize şunları söylüyor:
- IP:
66.249.68.200(Googlebot IP aralığı) - Tarih/Saat: 18 Şubat 2026, 14:23:45
- Metot: GET
- URL:
/urunler/laptop/gaming-laptop-x1 - HTTP Durum Kodu: 200 (başarılı)
- Yanıt Boyutu: 45.231 byte
- User-Agent: Googlebot 2.1
Crawl Bütçesi: Sınırlı Kaynağı Akıllıca Kullanmak
Crawl bütçesi, Googlebot'un belirli bir zaman diliminde sitenizi kaç sayfa tarayacağını belirleyen değerdir. Google bu kavramı iki bileşenle açıklar:
Crawl Rate Limit (Tarama Hızı Sınırı): Sunucunuzun aşırı yüklenmemesi için Googlebot'un eşzamanlı istek sayısını ve hızını sınırlaması. Crawl Demand (Tarama Talebi): Google'ın bir sayfayı ne sıklıkla yeniden taramak istediği — popülerlik ve güncellik sinyallerine bağlı.Küçük siteler (birkaç bin sayfa) için crawl bütçesi genellikle sorun değildir. Ancak on binlerce ürün sayfasına sahip büyük e-ticaret sitelerinde crawl bütçesi kritik bir kısıt haline gelir.
Hangi Sayfalar Crawl Bütçesi Çalar?
Log analizi sırasında şu URL kategorilerini tespit etmeniz gerekir:
1. Faceted Navigation URL'leri:Filtre kombinasyonları patlama yaratır. /urunler?renk=kirmizi&beden=42&siralama=fiyat-artan gibi binlerce URL, değerli crawl bütçesini tüketir.
/sepet?sessionid=abc123 veya /urun?utm_source=email&utm_medium=... formatındaki URL'ler duplicate içerik ve crawl israfına yol açar.
/kategori/sayfa-847 gibi çok derin sayfalama URL'leri.
/arama?q=kırmızı+elbise formatındaki arama sayfaları.
Az ürünlü veya içeriksiz kategori sayfaları.
Log Analizi Araçları: Büyük Veriyi Anlamlandırmak
Orta büyüklükte bir e-ticaret sitesinin günlük log dosyası birkaç GB olabilir. Bu veriyi manuel inceleme imkansız olduğundan özel araçlara ihtiyaç duyulur.
Screaming Frog Log File Analyser
Screaming Frog'un ayrı log analizi aracı, ham log dosyalarını yükleyerek Googlebot davranışını görselleştirir. Temel özellikler:
- Bot türüne göre (Googlebot Desktop, Googlebot Mobile, Bingbot) filtreleme
- HTTP durum kodu dağılımı
- En çok/en az taranan sayfalar
- Taranan ama indexlenmemiş sayfalar
- Crawl frekansı trendi
ELK Stack (Elasticsearch, Logstash, Kibana)
Kurumsal ölçekteki siteler için açık kaynaklı ELK Stack güçlü bir çözümdür. Logstash ile logları parse edip Elasticsearch'e aktarır, Kibana ile görsel dashboardlar oluşturursunuz.
Örnek Logstash konfigürasyonu:
filter {
grok {
match => { "message" => "%{COMBINEDAPACHELOG}" }
}
grok {
match => { "agent" => "(?<bot_name>Googlebot|Bingbot|AhrefsBot)" }
}
date {
match => [ "timestamp", "dd/MMM/yyyy:HH:mm:ss Z" ]
}
}
Python ile Hızlı Log Analizi
Basit bir Python scripti ile Googlebot ziyaretlerini filtreleyebilirsiniz:
import pandas as pd
import re
def parse_log_line(line):
pattern = r'(\S+) \S+ \S+ \[([^\]]+)\] "(\S+) (\S+) \S+" (\d+) \S+ "\S+" "([^"]+)"'
match = re.match(pattern, line)
if match:
return {
'ip': match.group(1),
'datetime': match.group(2),
'method': match.group(3),
'url': match.group(4),
'status': int(match.group(5)),
'user_agent': match.group(6)
}
return None
## Log dosyasını oku ve Googlebot isteklerini filtrele
logs = []
with open('access.log', 'r') as f:
for line in f:
parsed = parse_log_line(line)
if parsed and 'Googlebot' in parsed.get('user_agent', ''):
logs.append(parsed)
df = pd.DataFrame(logs)
print(df['status'].value_counts())
print(df['url'].value_counts().head(20))
Crawl Tuzakları: Sitenizi Tüketen Gizli Tehlikeler
Crawl tuzakları (crawl traps), Googlebot'u sonsuz bir döngüde ya da giderek derinleşen bir URL yapısında sıkıştıran sayfa gruplarıdır.
Sonsuz Takvim Tuzağı
Birçok e-ticaret sitesi, blog veya ürün inceleme modüllerine tarih tabanlı navigasyon ekler. Googlebot önceki aylara, sonra önceki yıllara, oradan daha öncesine gitmeye devam eder:
/blog/2026/02/
/blog/2026/01/
/blog/2025/12/
...
/blog/2010/01/ ← 15 yıl önce
robots.txt ile engelleyin.
Sıralama ve Filtre Kombinasyon Tuzağı
/kategori?siralama=fiyat-artan&renk=kirmizi
/kategori?siralama=fiyat-artan&renk=mavi
/kategori?siralama=fiyat-azalan&renk=kirmizi
/kategori?siralama=fiyat-azalan&renk=mavi
4 sıralama seçeneği x 20 renk x 15 beden = 1.200 URL (tek bir kategori için!)
Çözüm: Filtre parametrelerinirobots.txt ile engelleyin veya Google Search Console'un URL parametreleri aracından işaretleyin.
Arama Sayfası Tuzağı
Dahili arama özelliği olan sitelerde Googlebot sonsuz sorgu kombinasyonları oluşturabilir:
/arama?q=kirmizi+elbise
/arama?q=kirmizi+elbise+36
/arama?q=kirmizi+elbise+36+pamuk
?q= parametreli URL'leri robots.txt ile engelleyin.
Log Analizinden Çıkarılan Kritik Bulgular
Log dosyalarını incelediğinizde aşağıdaki bulgulara odaklanın:
1. Googlebot Bant Genişliği Kullanımı
Googlebot toplam crawl isteğinizin yüzde kaçını gereksiz URL'lere harcıyor? Eğer tarama isteklerinin %40'ından fazlası filtre URL'leri, session parametreleri veya ince içerikli sayfalarsa ciddi bir crawl israfı yaşanıyor demektir.
2. HTTP 4xx ve 5xx Oranları
Googlebot'un karşılaştığı 404 hatalarının listesini çıkarın. Yüksek 404 oranı:
- Silinmiş ürün sayfaları (301 yönlendirme eksik)
- Hatalı iç bağlantılar
- Dış kaynaklı broken backlink'ler anlamına gelir.
3. Crawl Frekansı ve Güncelleme Uyumu
Google, daha sık güncellenen sayfaları daha sık tarar. Eğer günlük güncellediğiniz fiyat sayfalarınız ayda bir taranıyorsa, bir sorun var demektir. Bunun olası nedenleri:
- PageRank değeri düşük sayfalar
- Yavaş sayfa yükleme hızı
- Çok sayıda düşük kaliteli URL nedeniyle crawl bütçesi tükenmesi
4. Mobil vs Desktop Googlebot Dağılımı
Google, 2019'dan bu yana mobile-first indexing kullanıyor. Log dosyasında Googlebot-Mobile ve Googlebot (desktop) isteklerinin oranını kontrol edin. Eğer hala desktop taramalar çok ağır basıyorsa eski bir yapıyla karşı karşıya olabilirsiniz.
Aksiyon Planı: Log Bulgularını SEO İyileştirmelerine Dönüştürmek
- Googlebot'un hiç taramadığı önemli sayfaları tespit edin ve iç bağlantı yapısını güçlendirin.
- Gereksiz tarama bütçesi tüketen URL kategorilerini robots.txt veya canonical tag ile yönetin.
- Yüksek 404 sayısı varsa bir yönlendirme denetimi yapın ve kritik URL'ler için 301 redirect uygulayın.
- Yavaş yanıt süreleri Googlebot'u geri çeviriyorsa sunucu kapasitesini artırın veya önbellekleme stratejinizi gözden geçirin.
- Crawl bütçe raporunu aylık düzenli olarak inceleme protokolünüze ekleyin.
Log dosyası analizi, bir kez yapılan değil; düzenli aralıklarla tekrarlanan bir teknik SEO sürecidir. Googlebot'un sitenizle ilişkisini yakından takip ettiğinizde, rakiplerinizin fark etmeden yaşadığı sorunları siz çoktan çözmüş olursunuz.