Bu makalemde sitemap yapısını ve php ile dinamik sitemap yapımını anlatacağım. Ayrınca makalenin sonunda wordpresinize yaptığınız php sitemap ile Google‘dan nasıl performans alabilirsiniz onları anlatacağım.
Buradaki sitemap anlatımı sadece wordpress için geçerlidir. Kodlamada temel düzeyde iseniz kolayca kendi web sitenize veya portalınızada uyarlayabilirsiniz.
Aslında bu yazıyı 3 gün önce hazırlamıştım ancak Google Webmaster Tools‘ daki Sitemap kısmında bazı testler yaptım kesin sonuç aldım sizede öyle açıklamak istedim.
Sitemap’in Türkçe karşılığı site haritasıdır. Arama motorları bazen sitemizin ön sayfalarını indeksleseler bile bazı sayfalarımızı geçebilirler. Sitemap’in amacı eksiksiz olarak bütün içeriğimizi an ve an arama motorlarına indeksletmektir. Google‘ın prensiplerine göre öncelik Sitemap’ i olan sitelerin indekslenmesidir. Bu açıklamayı yapmıştır. O yüzden Google‘a yakın olmak istiyorsanız sitemap kullanmanızı şiddetle tavsiye ederim.
Temel olarak 2 tür sitemap vardır. Html ve xml;
Html sitemapleri genellikle web sitesi içerisinde kullanırız. Dinamik içerikli portal ve sitelerde kullanıcılara aradıklarını bulmada kolaylık olsun, ve arama motoru botları, tek bir sayfada bütün içeriklere ulaşabilsin diye kullanırız.
XML Sitemapleri ise Google Webmaster Tools kısmındaki Sitemap bölümüne okutup, bütün linklerimizi Google‘a indeksleriz. Diyelim ki 300 tane içeriğimiz var. Eğer sitemapimizi Google‘ın istediği gibi yapmışsak hatasız olarak 300′ünüde indeksler.. Ben xml kısmını anlatacağım.
Php editörünüzü açıp tagları açtıktan sonra ilk başta yapmamız gerekenler wordpressin ayar dosyasını sayfamıza çekmektir. Çünkü birtakım veritabanı işlemleri yapacağız.
-
include("wp-config.php");
Daha sonra sayfamızın xml standardını kullanmak istediğini belirtiyoruz.
-
header("Content-type: text/xml\n\n");
Site urlmizi alıyoruz.
-
$url = $_SERVER[‘HTTP_HOST’];
burada sadece www.alanadi.com adresimizi alırız. Başında http:// olmaz.
Daha sonra xml sayfa standardımızda olan kodları echo ile çıktı veriyoruz.
-
echo ‘<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">’;
Sonraki işlem; bir döngü başlatıp wordpresimizin posts tablosundaki post olan verilerimizi listeletmek.
-
$query =
mysql_query("SELECT post_name,post_date FROM wp_posts WHERE post_type=’post’ ORDER BY ID DESC");
-
-
$link = $export[‘post_name’]; #Postumuzun seo linki
-
$date = $export[‘post_date’]; #Post Tarihi
-
$date =
substr($date,
0,
7);
#Post tarihinden 7 haneyi aldık. Linkte kullanacağız.
-
$date =
str_replace("-",
"/",
$date);
#tarih arasındaki tireyi "/"’a dönüştürdük.Wordpress linki halini alacak.
-
-
-
<loc>http://’.$url.‘/’.$date.‘/’.$link.‘</loc>
-
<changefreq>monthly</changefreq>
-
<priority>0.5</priority>
-
</url>’;
-
}
En sonda da urlset tagımızı kapatıyoruz.
Yukarıdaki Loc parametresi içeriğin direkt urlsidir. Changefreq ise ne kadar periyotta bir değiştirilebileceği ayarıdır. İçeriklerinizi bir kere yazıp daha sonra değiştirmiyorsanız her ihtimale karşı montly (aylık) diyebilirsiniz.Priority de içeriklerin önem sırasıdır. 0.0 ile 1.0 arasında olur. Anasayfanız 1.0 diğerleri ise önem sırasına göre ayarlayabilirsiniz. Ben 0.5 yaptım. Ancak unutmayın ki her içeriğe 1.0 yapmanız Google’ın dikkatini çekecektir ve bir terslik olduğunu anlayacaktır. Her içeriğinizi 1.0 yapmayın.
En sonunda dosyamızı çalıştıralım. Aşağıdaki ekran görüntüsü gibi bir sayfa görmemiz gerekir.

Çok içeriğimiz varsa sayfa aşağıya doğru uzayıp gitmiş olacak.
Daha sonra Google Webmaster Tools’a üye değilseniz üye olup site haritası yükleyin. Aşağıdaki resimdeki dikdörtgen içerisine aldığım yerden site haritası dosyanızın ismini yazıp kaydedin.
Yaklaşık 1 saat sonra sitemap dosyanızda hata yoksa bütün linkleriniz indekslenmiş olacak. Benim 39 linkimin 39uda güncellendi bu sayede.

Resmin üzerine tıklayarak büyültebilirsiniz.