Site haritası (sitemap), arama motorlarının web sitenizi daha iyi tarayabilmesi için oluşturulan bir XML dosyasıdır. Bunu PHP kullanarak dinamik bir şekilde oluşturabilirsiniz.
1. XML Site Haritası Oluşturma
Öncelikle, sitemap.php adlı bir dosya oluşturun ve aşağıdaki kodu ekleyin:
sitemap.php
<?php header("Content-Type: application/xml; charset=UTF-8"); echo '<?xml version="1.0" encoding="UTF-8"?>'; echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'; $pdo = new PDO("mysql:host=localhost;dbname=veritabani_adi;charset=utf8", "kullanici_adi", "sifre"); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $query = $pdo->query("SELECT slug, updated_at FROM news WHERE status = 1 ORDER BY updated_at DESC"); while ($row = $query->fetch(PDO::FETCH_ASSOC)) { echo '<url>'; echo '<loc>https://www.siteadi.com/' . htmlspecialchars($row['slug']) . '</loc>'; echo '<lastmod>' . date(DATE_W3C, strtotime($row['updated_at'])) . '</lastmod>'; echo '<changefreq>daily</changefreq>'; echo '<priority>0.8</priority>'; echo '</url>'; } echo '</urlset>'; ?>
Bu dosya, news tablosundaki aktif (status = 1) haberleri çeker ve SEO dostu URL’ler (slug) üzerinden XML formatında çıktı verir.
2. Robots.txt Dosyanıza Sitemap Ekleme
Google ve diğer arama motorlarının site haritanızı bulabilmesi için robots.txt dosyanızın içine şu satırı ekleyin:
Sitemap: https://www.siteadi.com/sitemap.php
3. Google Search Console’a Sitemap Ekleme
- Google Search Console‘a gidin.
- Web sitenizi ekleyin ve doğrulayın.
- Sitemap bölümüne gidin.
- sitemap.php yolunu ekleyin ve gönderin.
4. Site Haritasını Otomatik Güncelleme
- sitemap.php’yi belirli aralıklarla çalıştırmak için bir cron job ekleyebilirsiniz.
- Örneğin, her gece 02:00’de güncellemek için SSH terminalinde şu komutu ekleyin:
crontab -e
Ve şu satırı ekleyin:
0 2 * * * /usr/bin/php /path/to/sitemap.php > /path/to/sitemap.xml
Böylece sitemap.xml dosyanız belirli aralıklarla otomatik olarak güncellenecektir.
Bunu uyguladıktan sonra, Google’ın site haritanızı daha iyi indeksleyebilmesi için Google Search Console üzerinden tekrar göndermeyi unutmayın. 🚀