Giriş ve Amaç
Günümüzde SEO optimizasyonunun temel taşlarından biri, web sayfalarının meta description etiketlerinin doğru ve özgün olmasıdır. Birden fazla sayfayı manuel kontrol etmek zaman alıcı ve hataya açık olabiliyor. Bu noktada Python'un sunduğu otomasyon imkanları devreye giriyor. Bu yazıda, Python kullanarak bir liste veya CSV dosyası içindeki web sayfalarının meta description'larını toplu şekilde kontrol etmeyi, boş veya eksik olanları tespit etmeyi ve sonuçları raporlamayı ele alacağız.
Çalışma Prensibi ve Adımlar
İlk adım olarak, Python'un
requests ve
BeautifulSoup kütüphaneleri ile web sayfalarını çekip analiz edeceğiz. Bu kütüphaneler, sayfa içeriğini almak ve HTML içinden meta description etiketini çıkarmak için idealdir.
İkinci aşamada, hedef URL listesini bir liste veya CSV dosyasından okuyacağız. Her URL için şu işlemleri yapacağız:
Sayfayı HTTP GET isteği ile indirecek
Sayfa içeriğinden <meta name="description" ...> etiketini arayacak
Eğer meta description varsa, içeriği alıp uzunluğunu kontrol edecek
Yoksa veya boş ise, bu durumu raporlayacak
Üçüncü adımda ise, tüm sonuçları bir rapor halinde çıktı veya CSV dosyasına kaydedeceğiz. Bu rapor, özellikle SEO açısından kritik olan eksik veya hatalı meta description'ları kolayca tespit etmeye imkan sağlar.
Örnek Kod Parçası ve Uyarılar
Aşağıda temel bir örnek kod yer almakta:
1234567891011121314151617181920212223242526272829303132333435python
import requests
from bs4 import BeautifulSoup
import csv
urls = ['https://ornek1.com', 'https://ornek2.com']
sonuclar = []
for url in urls:
try:
response = requests.get(url, timeout=10)
response.raise_for_status()
soup = BeautifulSoup(response.text, 'html.parser')
meta_desc = soup.find('meta', attrs={'name':'description'})
if meta_desc and meta_desc.get('content'):
desc = meta_desc['content'].strip()
uzunluk = len(desc)
if uzunluk == 0:
durum = 'Boş'
else:
durum = f'Dolu ({uzunluk} karakter)'
else:
desc = 'Meta description yok'
durum = 'Eksik'
except Exception as e:
desc = f'Hata: {str(e)}'
durum = 'Hata'
sonuclar.append({'url': url, 'description': desc, 'durum': durum})
[b]Sonuçları CSV'ye kaydetme[/b]
with open('meta_description_raporu.csv', 'w', newline='', encoding='utf-8') as f:
writer = csv.DictWriter(f, fieldnames=['url', 'description', 'durum'])
writer.writeheader()
writer.writerows(sonuclar)
Sonuç ve Uygulama Alanları
Bu yöntem, büyük ölçekli web siteleri veya portföylerde meta description durumu hakkında hızlı ve doğru bilgi sağlar. Ayrıca, SEO denetim araçlarının temel aşamalarını otomatik hale getirerek zaman tasarrufu sağlar. Bu temelde, farklı URL listeleri veya dinamik içeriklere uyarlayarak, sürekli güncel meta bilgisi kontrolü yapmak da mümkündür.
Meta description'ların optimizasyonunun SEO başarısındaki önemi göz önüne alındığında, otomasyon ile düzenli kontroller yapmak, web sitesi performansını ve arama motoru görünürlüğünü artıracaktır.