İçeriğe geç
SEO

Python ile SEO Analizi ve Otomasyon Rehberi

18 Ağustos 2026 Kerem Kırbıyık 3 dk okuma
Python programlama dili ile teknik SEO analizi ve veri otomasyonu süreçlerini gösteren terminal arayüzü

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üphaneKullanım AlanıSEO Senaryosu
Requests / HTTPXHTTP istekleri ve durum kodu kontrolü.Kırık linkler (404), yönlendirme zincirleri (301) ve yanıt sürelerini ölçme.
BeautifulSoup4HTML ayrıştırma (DOM Parsing).Meta etiketleri, canonical, hreflang, H1-H6 hiyerarşisini çekme.
PandasVeri 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 APIArama 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

Daha kapsamlı destek için: SEO Danışmanlığı hizmetimize göz atın.

Bu yazı faydalı oldu mu?