Büyük ölçekli web sitelerinde, binlerce sayfadan oluşan e-ticaret platformlarında ve çok dilli portallarda manuel SEO denetimi yapmak sürdürülebilir değildir. Modern teknik SEO uzmanlığı, veriyi manuel tablolara kopyalamak yerine Python betikleri ve API entegrasyonlarıyla otomatik analiz akışları kurmayı gerektirir.
Python; zengin kütüphane ekosistemi (requests, BeautifulSoup, pandas, advertools, Playwright) sayesinde geniş URL listelerini tarayabilir, Search Console verilerini harmanlayabilir ve teknik sorunları sistematik olarak raporlayabilir.
1. Python SEO Analizinde Kullanılan Temel Kütüphaneler
| Kütüphane | Kullanım Alanı | SEO Senaryosu |
|---|---|---|
| Requests / HTTPX | HTTP istekleri ve durum kodu kontrolü. | Kırık linkler (404), yönlendirme zincirleri (301) ve yanıt sürelerini ölçme. |
| BeautifulSoup4 | HTML ayrıştırma (DOM Parsing). | Meta etiketleri, canonical, hreflang, H1-H6 hiyerarşisini çekme. |
| Pandas | Veri analizi ve manipülasyonu. | Search Console ve analitik verilerini birleştirip filtreleme. |
| Advertools | Özel SEO araçları ve sitemap parser. | XML site haritalarını ve robots.txt kurallarını toplu analiz etme. |
| Google Search Console API | Arama analitiği veri çekimi. | 1.000 satır arayüz sınırına takılmadan ham tıklama/gösterim verisi alma. |
2. Uygulama: Toplu HTTP Durum Kodu ve Meta Başlık Denetimi
Aşağıdaki Python betiği, verilen URL listesini tarayarak durum kodunu, yanıt süresini ve meta başlığını CSV dosyasına aktarır:
import requests
from bs4 import BeautifulSoup
import pandas as pd
import time
urls = [
"https://seobify.com/",
"https://seobify.com/hizmetlerimiz/seo-danismanligi/",
"https://seobify.com/hizmetlerimiz/web-gelistirme/",
"https://seobify.com/blog/"
]
results = []
headers = {
"User-Agent": "SeobifyBot/1.0 (+https://seobify.com)"
}
for url in urls:
start_time = time.time()
try:
response = requests.get(url, headers=headers, timeout=10)
elapsed = round(time.time() - start_time, 2)
soup = BeautifulSoup(response.text, "html.parser")
title = soup.title.string.strip() if soup.title else "Başlık Yok"
h1 = soup.h1.text.strip() if soup.h1 else "H1 Yok"
results.append({
"URL": url,
"Status": response.status_code,
"ResponseTime_s": elapsed,
"Title": title,
"H1": h1
})
except Exception as e:
results.append({"URL": url, "Status": "Hata", "ResponseTime_s": None, "Title": str(e), "H1": None})
df = pd.DataFrame(results)
df.to_csv("seo_audit_results.csv", index=False, encoding="utf-8-sig")
print("Tarama tamamlandı. Sonuçlar 'seo_audit_results.csv' dosyasına kaydedildi.")
3. Search Console API ile 1.000 Satır Sınırını Aşma
Search Console kullanıcı arayüzü yalnızca ilk 1.000 anahtar kelimeyi dışa aktarmaya izin verir. Python ile Google Search Console API’sine bağlanarak sitenizin on binlerce sorgu verisini çekebilir ve kanibalizasyon analizleri yapabilirsiniz:
# GSC API ile sorgu-sayfa eşleştirme mantığı
# google-api-python-client ve oauth2client kütüphaneleri kullanılır.
request = {
"startDate": "2026-05-01",
"endDate": "2026-08-01",
"dimensions": ["query", "page"],
"rowLimit": 25000
}
Bu veri seti pandas üzerinde gruplandığında; aynı anahtar kelimede farklı sayfaların sıralama yarışı yaptığı (Keyword Cannibalization) durumlar tek bir komutla tespit edilir.
4. Log Dosyalarının Python ile İncelenmesi
Sunucu log dosyalarını Python ile ayrıştırarak Googlebot’un sitenizdeki gerçek tarama frekansını ölçebilirsiniz:
- Hangi sayfalar her gün taranıyor?
- Hangi sayfalar son 90 gündür bot tarafından hiç ziyaret edilmedi?
- Googlebot taramalarının ne kadarı 200 OK, ne kadarı 301 veya 404 dönüyor?
Bu analiz, büyük e-ticaret sitelerinde tarama bütçesini %40’a varan oranda verimli hale getirir.
Sıkça Sorulan Sorular
Python ile SEO analizi yapmak için ileri düzey yazılımcı olmak gerekir mi?
Hayır. Temel Python sözdizimi, veri yapıları ve pandas kütüphanesini öğrenmek, günlük SEO denetimlerinizi otomatikleştirmek için yeterlidir.
JavaScript tabanlı (SPA) siteleri Python ile tarayabilir miyim?
Evet. requests kütüphanesi statik HTML çekerken; istemci tarafında render edilen React/Vue siteleri için Playwright veya Selenium kütüphaneleri kullanılarak tam DOM çıktısı taranabilir.
Stratejik Sonuç
SEO’da veri büyüdükçe manuel yöntemler yetersiz kalır. Python destekli analiz süreçleri, teknik hataları erken aşamada yakalayarak arama performansını güvenceye alır. Mühendislik odaklı dijital ve SEO projeleri için SEO danışmanlığı çözümlerimizi inceleyebilirsiniz.
İlgili Yazılar
- ChatGPT ile İleri Düzey SEO Analizi ve Özel Prompt Teknikleri
- Yerel SEO Nedir? Google İşletme Profili ve Bölgesel Görünürlük
- Teknik SEO Nedir? Tarama, İndeksleme ve Site Hızı Rehberi
- SEO Ajansı Nedir? Ne İş Yapar, Nasıl Seçilir?
- İçerik SEO Nedir? Arama Niyeti ve Cluster Kurulumu Rehberi
Daha kapsamlı destek için: SEO Danışmanlığı hizmetimize göz atın.