Python ile Toplu Sitemap Kontrolü

0 Yanıt 0 Görüntülenme
·
Katılımcılar
Konuyu Açan #1
[B]Günümüzde web sitesi yönetiminde, özellikle büyük ölçekli projelerde sitemap dosyalarının güncelliği ve doğruluğu kritik bir öneme sahiptir. Birden fazla sitemap dosyasını aynı anda kontrol etmek, manuel çalışmaların yerine otomasyon sağlayarak zaman ve emek tasarrufu sağlar. Bu noktada, Python’un sunduğu güçlü kütüphaneler ve fonksiyonlar, toplu sitemap kontrolü için ideal çözümler sunar.

İlk adım olarak, sitemap URL'lerini içeren bir liste hazırlamak gerekir. Bu liste, genellikle şirketin veya web sitesinin sitemap indeksleri veya ayrı sitemap dosyaları olabilir. Python’da bu listeyi basitçe bir dizi olarak tanımlayabiliriz. Ardından, her bir sitemap dosyasını HTTP istekleri ile çekip, içeriğini analiz etmek gerekir. Bunun için requests ve xml.etree.ElementTree kütüphaneleri oldukça kullanışlıdır.

Örneğin, aşağıdaki kod parçası, verilen sitemap URL’lerini tek tek kontrol eder ve her birinde bulunan URL'leri listeleyerek erişilebilirlik durumlarını raporlar:

KOD
1234567891011121314151617181920212223242526  
import requests  
import xml.etree.ElementTree as ET

sitemap_urls = [  
    'https://example.com/sitemap1.xml',  
    'https://example.com/sitemap2.xml',  
    # Diğer sitemap URL'leri  
]

for url in sitemap_urls:  
    try:  
        response = requests.get(url, timeout=10)  
        if response.status_code == 200:  
            root = ET.fromstring(response.content)  
            urls = [loc.text for loc in root.findall('.//loc')]  
            print(f"{url} adresindeki toplam URL sayısı: {len(urls)}")  
            # Her URL'nin erişimini kontrol edebilirsiniz  
            for link in urls:  
                link_response = requests.head(link, allow_redirects=True, timeout=10)  
                if link_response.status_code != 200:  
                    print(f"Hata: {link} erişilebilir değil (Durum: {link_response.status_code})")  
        else:  
            print(f"Hata: {url} dosyasına erişilemiyor (Durum: {response.status_code})")  
    except Exception as e:  
        print(f"İstisna oluştu: {url} - {str(e)}")  


Bu script, sitemap dosyasını indirir, içeriğini parse eder ve tüm URL’leri listeler. Ek olarak, her URL’ye HEAD isteği göndererek erişilebilirlik durumunu denetler. Bu otomasyon, özellikle büyük sitelerde sitemap’lerin güncelliğini ve erişilebilirliğini düzenli takip etmek için oldukça faydalıdır.

Tüm bu süreçleri düzenli hale getirmek veya raporlama yapmak için, çıktıların bir dosyaya veya veritabanına kaydedilmesi de mümkündür. Ayrıca, sitemap indekslerini takip ederek, yeni veya değişmiş sitemap’leri otomatik algılayıp kontrol listesine eklemek de gelişmiş bir kullanım senaryosudur.

Sonuç olarak, Python kullanımıyla toplu sitemap kontrolleri, hem zaman kazandırır hem de sitenizin SEO ve erişilebilirlik performansını korumaya yardımcı olur. Bu yöntemleri kendi projelerinizde nasıl uyarladığınız veya hangi ek özellikleri eklediğiniz konusundaki deneyimleriniz, bu alandaki bilgi paylaşımını zenginleştirecektir.

Yanıt vermek için giriş yapmış olmalısınız.

0 alıntı seçildi