Merhaba arkadaşlar. Bazı arkadaşlarımızın isteği üzerine bugün uyumadım sözümü tutmak için sistemi hazırladım.
Konumuz ASP ile databaseden veri çekmek, bu verileri kullanarak sitemap oluşturmak. Aynı zamanda kendi belirleyeceğimiz limitle sitemap dolunca yeni bir sitemap oluşturmak ve oluşan tüm site haritalarını site haritası dizininde toplayarak google'a tek bir dosya sunmak.
Neyse işte size kodlar :
<!--#include file="baglanti.asp"-->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1254">
</head><%
sitemapbasi = 100
dosyasay = baglanti.execute("select count(id) as dosyasayisi from dosyalar")
dosyasayisi=dosyasay("dosyasayisi")
dosyasay.close
set dosyasay = nothing
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
FSO.createTextFile Server.Mappath("sitemapdizini.xml")
set haritadizin = FSO.openTextFile(Server.MapPath("sitemapdizini.xml"),2,0)
veri="<?xml version=""1.0"" encoding=""UTF-8""?>"
veri=veri&"<sitemapindex xmlns=""http://www.sitemaps.org/schemas/sitemap/0.9"">"
for L = 1 to round(dosyasayisi/sitemapbasi)
veri=veri&"<sitemap><loc>http://www.siteadi.com/sitemap"&L&".xml</loc></sitemap>"
next
haritadizinveri=veri&"</sitemapindex>"
haritadizin.write(haritadizinveri)
haritadizin.close
set haritadizin = nothing
'---------------------------------------- Buraya kadar site haritası dizinimizi oluşturduk.
for T = 1 to round(dosyasayisi/sitemapbasi)
FSO.createTextFile Server.Mappath("sitemap"&T&".xml")
set harita = FSO.openTextFile(Server.MapPath("sitemap"&T&".xml"),2,0)
haritaveri="<?xml version=""1.0"" encoding=""UTF-8""?>"
haritaveri=haritaveri&"<urlset xmlns=""http://www.sitemaps.org/schemas/sitemap/0.9"">"
set dosyalar = Server.CreateObject("Adodb.Recordset")
sutun = "select * from dosyalar order by id desc"
dosyalar.open sutun,baglanti,1,3
dosyalar.move (sitemapbasi*(T-1))
do while not dosyalar.eof
haritaveri=haritaveri&"<url><loc>http://www.siteadi.com/dosya.asp?id="&dosyalar("id")&"</loc></url>"
dosyalar.movenext
loop
dosyalar.close
set dosyalar = nothing
haritaveri=haritaveri&"</urlset>"
harita.write(haritaveri)
harita.close
set harita = nothing
next
set FSO = nothing
%>
İşlem Tamamlanmıştır! Aşağıdaki site haritaları oluşturulmuş ve <a href="sitemapdizini.xml"><u>Site Haritası Dizini</u></a> içerisine eklenmiştir.<br>
<%
for sayi = 1 to round(dosyasayisi/sitemapbasi)
%><br>
<a href="sitemap<%=sayi%>.xml"><u>Sitemap <%=sayi%></u></a>
<%
next
%>Denemek için database ve tabloları kendinize göre düzenleyin daha sonra mantığa göre geliştirmek size kalmış. PHP bilen arkadaşlar da aynı sistemi hazırlayıp eklerlerse birçok kişi kullanabilmiş olur. Umarım faydalı olur...