Forum

Asp ile Dinamik Sit...
 
Bildirimler
Hepsini Temizle

Asp ile Dinamik Site Haritası Oluşturmak

11 Yazılar
2 Üyeler
0 Reactions
641 Görüntüleme
(@GokhanBurucu)
Gönderiler: 22
Eminent Member
Konu başlatıcı
 

Bulduğum bir şablonu tek tablodan çekecek şekilde çalıştırdım. Yanlız union all komutuyla 2 tablodan çektiremedim. Yapmaya çalıştığım kodlar aşağıda bi bakarmısınız neresi yanlış olmuş? Ayrıca ben bu dosyayı sitemap.asp olarak kaydediyorum ve bunu google a  gönderdiğimizde sitemap.xml kadar performans verecekmidir. Bu şekilde bir sitemap.asp dosyasından randuman alabilirmiyim? Doğru yoldamıyım?

 

<?xml version="1.0" encoding="UTF-8" ?><urlset xmlns="http://www.google.com/schemas/sitemap/0.84" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.google.com/schemas/sitemap/0.84 http://www.google.com/schemas/sitemap/0.84/sitemap.xs d">
<%
Response.Buffer = True
Response.ContentType = "text/xml"

Set baglan = Server.CreateObject("ADODB.Connection")
baglan.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("veritabani.mdb") 

Function cevir(data) 
data = Replace (data ,"http://www.youtube.com/watch?v=","",1,-1,1)
data = Replace (data ,"ı","i",1,-1,1) 
data = Replace (data ,"ğ","g",1,-1,1) 
data = Replace (data ,"ü","u",1,-1,1) 
data = Replace (data ,"ş","s",1,-1,1) 
data = Replace (data ,"ö","o",1,-1,1) 
data = Replace (data ,"ç","c",1,-1,1) 
data = Replace (data ,"I","i",1,-1,1) 
data = Replace (data ,"Ğ","g",1,-1,1) 
data = Replace (data ,"Ü","u",1,-1,1) 
data = Replace (data ,"Ş","s",1,-1,1) 
data = Replace (data ,"İ","i",1,-1,1) 
data = Replace (data ,"Ç","c",1,-1,1) 
data = Replace (data ,"Ö","o",1,-1,1) 
data = Replace (data ," ","-",1,-1,1)
data = Replace (data ,">","",1,-1,1) 
data = Replace (data ,"<","",1,-1,1) 
data = Replace (data ,"*","",1,-1,1) 
data = Replace (data ,"%","",1,-1,1) 
data = Replace (data ,"'","",1,-1,1) 
data = Replace (data ,"/","",1,-1,1)
data = Replace (data ,"\","",1,-1,1)
data = Replace (data ,".","",1,-1,1)
data = Replace (data ,"","",1,-1,1)
data = Replace (data,",","")
data = Replace (data,"?","")
data = Replace (data,"[","")
data = Replace (data,"]","")
data = Replace (data,"!","")
data = Replace (data,"(","")
data = Replace (data,")","")
data = Replace (data,":","")
data = Replace (data ,"`","")
data = Replace (data ,"=","")
data = Replace (data ,"&","")
data = Replace (data ,"%","")
data = Replace (data ,"#","")
data = Replace (data ,"And","")
data = Replace (data ,Chr(34),"")
data = Replace (data ,Chr(39),"")

cevir=data 
End Function 

' ---------- Start Configuration --------

' Valid change frequency values: always, hourly, daily, weekly, monthly, yearly, never
Const strCategoryChangeFreq = "weekly" 'Change frequency of category pages
Const strCategoryPriority = "0.8" 'Priority of category pages
Const strForumChangeFreq = "weekly" 'Change frequency of forums pages
Const strForumPriority = "0.6" 'Priority of forum pages
Const strTopicChangeFreq = "daily" 'Change frequency of topic pages
Const strTopicPriority = "0.4" 'Priority of topic pages
'
' ---------- End Configuration ----------

Function FormatDate(byVal strDate)
If strDate = "" OR IsDate(strDate) = False Then Exit Function

strYear = Year(strDate)
strMonth = Month(strDate)
strDay = Day(strDate)
If Len(strMonth) < 2 Then strMonth = "0"& strMonth
If Len(strDay) < 2 Then strDay = "0"& strDay

' Output: YYYY-MM-DD
FormatDate = strYear &"-"& strMonth &"-"& strDay

End Function
'Declare variables
Dim strYear
Dim strMonth
Dim strDay
Dim rsCategory
Dim rsForums
Dim rsTopics
Dim strCategoryLastMod
Set rsforums = Server.CreateObject("adodb.RecordSet")
sql = ""
sql = sql & "SELECT id,baslik,aciklama,tarih From haber WHERE baslik ORDER BY tarih ASC "
sql = sql & "Union All "
sql = sql & "SELECT id,baslik,aciklama,tarih From makale WHERE baslik ORDER BY tarih ASC "
rsforums.open sql, baglanti, 1, 3
If Not rsForums.Eof Then
Do While Not rsForums.Eof
strCategoryLastMod = rsForums("tarih")

Response.Write(vbCrLf &"<url>" & _
vbCrLf & "<loc> http://www.siteadi.com /"& rsForums("id") &"-"& cevir(rsForums("baslik")) &".html</loc>" & _ 
vbCrLf & "<lastmod>"& FormatDate(rsForums("tarih")) &"</lastmod>" & _ 
vbCrLf & "<changefreq>"& strForumChangeFreq &"</changefreq>" & _ 
vbCrLf & "<priority>"& strForumPriority &"</priority>" & _ 
"</url>")

' List topics

rsForums.Movenext
Loop
End If
%>

</urlset> 

 
Gönderildi : 11/09/2011 20:56

(@RagipUNAL)
Gönderiler: 171
Estimable Member
 

işe öncelikle (plesk panel kullanıyorsan tabi ki diğerlerinde nasıl yapıldığını hiç araştırmadım) 404 uyarısı için özelleştirme yaparak başlanman gerek. server a 404.asp diye bir dosya yükle ve 404 hatası verdiğinde 404.asp ye gitmesi için panele 404.asp dosyasının yolunu gir.

404.asp dosyasına sitemap.xml dosyası çağırıldığıda böyle bir dosya olmadığı için sitemap.asp dosyasına gitmesini söyle

404.asp

IF Request.ServerVariables("URL") = "/sitemap.xml" THEN
Response.Redirect "sitemap.asp"
ELSE
Response.Write "HATA: BÖYLE BİR SAYFA YOK."
END IF

Daha önceki sorduğun soruda union ile birleştirme yapmıştın sanırım.

If Not rsForums.Eof Then u kullanman gereksiz geldi bana. Çünkü zaten Do While Not rsForums.Eof   ile kayıt boş değilse while yaptırmışsın. Bu şekilde çalışması lazım.

Set baglan = Server.CreateObject("ADODB.Connection")
baglan.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("veritabani.mdb")

Sayfanın en başında mdb yi baglan ile obje yapmışsın ama sql de tablo verisi listelerken rsforums.open sql, baglanti, 1, 3 kullanmışın yani baglanti değil baglan yapmalısın. Hata vermesi normal.

Lütfen dediklerimi deneyip, feedback yaparmısın. Cevabını bekliyorum.

 
Gönderildi : 12/09/2011 20:55

(@GokhanBurucu)
Gönderiler: 22
Eminent Member
Konu başlatıcı
 

hocam dediinizi yaptım kod aşağıdaki gibi oldu. yanlız ben iis7 win7 kullanıyorum ve localde çalıştırıyorum. Bu kodu çalıştırdıgımda böle bir hata alıyorum chrome da ...

 

This page contains the following errors:

error on line 5 at column 6: Encoding error

Below is a rendering of the page up to the first error.

 

<?xml version='1.0' encoding='UTF-8'?>
<urlset xmlns="http://www.google.com/schemas/sitemap/0.84" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.google.com/schemas/sitemap/0.84 http://www.google.com/schemas/sitemap/0.84/sitemap.xs d">
<%
Response.Buffer = True
Response.ContentType = "text/xml"

Set baglan = Server.CreateObject("ADODB.Connection")
baglan.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("veritabani.mdb")

Function cevir(data)
data = Replace (data ,"http://www.youtube.com/watch?v=","",1,-1,1)
data = Replace (data ,"ı","i",1,-1,1)
data = Replace (data ,"ğ","g",1,-1,1)
data = Replace (data ,"ü","u",1,-1,1)
data = Replace (data ,"ş","s",1,-1,1)
data = Replace (data ,"ö","o",1,-1,1)
data = Replace (data ,"ç","c",1,-1,1)
data = Replace (data ,"I","i",1,-1,1)
data = Replace (data ,"Ğ","g",1,-1,1)
data = Replace (data ,"Ü","u",1,-1,1)
data = Replace (data ,"Ş","s",1,-1,1)
data = Replace (data ,"İ","i",1,-1,1)
data = Replace (data ,"Ç","c",1,-1,1)
data = Replace (data ,"Ö","o",1,-1,1)
data = Replace (data ," ","-",1,-1,1)
data = Replace (data ,">","",1,-1,1)
data = Replace (data ,"<","",1,-1,1)
data = Replace (data ,"*","",1,-1,1)
data = Replace (data ,"%","",1,-1,1)
data = Replace (data ,"'","",1,-1,1)
data = Replace (data ,"/","",1,-1,1)
data = Replace (data ,"\","",1,-1,1)
data = Replace (data ,".","",1,-1,1)
data = Replace (data ,"","",1,-1,1)
data = Replace (data,",","")
data = Replace (data,"?","")
data = Replace (data,"[","")
data = Replace (data,"]","")
data = Replace (data,"!","")
data = Replace (data,"(","")
data = Replace (data,")","")
data = Replace (data,":","")
data = Replace (data ,"`","")
data = Replace (data ,"=","")
data = Replace (data ,"&","")
data = Replace (data ,"%","")
data = Replace (data ,"#","")
data = Replace (data ,"And","")
data = Replace (data ,Chr(34),"")
data = Replace (data ,Chr(39),"")

cevir=data
End Function

' ---------- Start Configuration --------
'
' Valid change frequency values: always, hourly, daily, weekly, monthly, yearly, never
Const strCategoryChangeFreq = "weekly" 'Change frequency of category pages
Const strCategoryPriority = "0.8" 'Priority of category pages
Const strForumChangeFreq = "weekly" 'Change frequency of forums pages
Const strForumPriority = "0.6" 'Priority of forum pages
Const strTopicChangeFreq = "daily" 'Change frequency of topic pages
Const strTopicPriority = "0.4" 'Priority of topic pages
'
' ---------- End Configuration ----------

Function FormatDate(byVal strDate)
If strDate = "" OR IsDate(strDate) = False Then Exit Function

strYear = Year(strDate)
strMonth = Month(strDate)
strDay = Day(strDate)
If Len(strMonth) < 2 Then strMonth = "0"& strMonth
If Len(strDay) < 2 Then strDay = "0"& strDay

' Output: YYYY-MM-DD
FormatDate = strYear &"-"& strMonth &"-"& strDay

End Function
'Declare variables
Dim strYear
Dim strMonth
Dim strDay
Dim rsCategory
Dim rsForums
Dim rsTopics
Dim strCategoryLastMod
Set rsforums = Server.CreateObject("adodb.RecordSet")
sql = ""
sql = sql & "SELECT id,baslik,aciklama,tarih From haber WHERE baslik ORDER BY tarih ASC "
sql = sql & "Union All "
sql = sql & "SELECT id,baslik,aciklama,tarih From makale WHERE baslik ORDER BY tarih ASC "
rsforums.open sql, baglan, 1, 3
Do While Not rsForums.Eof
strCategoryLastMod = rsForums("tarih")

Response.Write(vbCrLf &"<url>" & _
vbCrLf & "<loc> http://www.siteadi.com /"& rsForums("id") &"-"& cevir(rsForums("baslik")) &".html</loc>" & _
vbCrLf & "<lastmod>"& FormatDate(rsForums("tarih")) &"</lastmod>" & _
vbCrLf & "<changefreq>"& strForumChangeFreq &"</changefreq>" & _
vbCrLf & "<priority>"& strForumPriority &"</priority>" & _
"</url>")

' List topics

rsForums.Movenext
Loop
%>
</urlset>  

 

 
Gönderildi : 13/09/2011 00:07

(@RagipUNAL)
Gönderiler: 171
Estimable Member
 

sanırım sayfa başında cache yapmadığın için böyle bir hata alıyorsun. Yada sayfa üst bilgisini sayfanın üstünde belirtmediğin için oluyor. Bir deneme yapalım.

<%
Response.Buffer = True
Response.ContentType = "text/xml" 
%> 
<?xml version='1.0' encoding='UTF-8'?>
<urlset xmlns="http://www.google.com/schemas/sitemap/0.84" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.google.com/schemas/sitemap/0.84 http://www.google.com/schemas/sitemap/0.84/sitemap.xs d">
<%
Set baglan = Server.CreateObject("ADODB.Connection")
baglan.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("veritabani.mdb")
.

.

.

şeklinde yap eğer gene hata alıyorsan

deneme yapalım.

<%
Response.Buffer = True
Response.ContentType = "text/xml"
%>

kısmını kaldırıp tekrar denemelisin.

 
Gönderildi : 13/09/2011 01:39

(@RagipUNAL)
Gönderiler: 171
Estimable Member
 

göndermiş olduğun kodu xp iis 5.1 de denedim tabi sql kısmını kaldırarak sorunsuz çalıştı bir hata vermedi. Başka bir sorun olmasın, hangi sayfada vermişti bu hatayı bir bakın derim. Bir de xml de taglar arası boşluk olunca verebiliyormuş ama sorun çıkarması lazım.

Denediğim kod aşağıdaki gibi ve hata vermedi xml sayfası açıldı.

deneme.asp

<?xml version='1.0' encoding='UTF-8'?>
<urlset xmlns=" http://www.google.com/schemas/sitemap/0.84 " xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance " xsi:schemaLocation=" http://www.google.com/schemas/sitemap/0.84 http://www.google.com/schemas/sitemap/0.84/sitemap.xsd ">
<%
Response.Buffer = True
Response.ContentType = "text/xml"

Function cevir(data)
data = Replace (data ," http://www.youtube.com/watch?v =","",1,-1,1)
data = Replace (data ,"ı","i",1,-1,1)
data = Replace (data ,"ğ","g",1,-1,1)
data = Replace (data ,"ü","u",1,-1,1)
data = Replace (data ,"ş","s",1,-1,1)
data = Replace (data ,"ö","o",1,-1,1)
data = Replace (data ,"ç","c",1,-1,1)
data = Replace (data ,"I","i",1,-1,1)
data = Replace (data ,"Ğ","g",1,-1,1)
data = Replace (data ,"Ü","u",1,-1,1)
data = Replace (data ,"Ş","s",1,-1,1)
data = Replace (data ,"İ","i",1,-1,1)
data = Replace (data ,"Ç","c",1,-1,1)
data = Replace (data ,"Ö","o",1,-1,1)
data = Replace (data ," ","-",1,-1,1)
data = Replace (data ,">","",1,-1,1)
data = Replace (data ,"<","",1,-1,1)
data = Replace (data ,"*","",1,-1,1)
data = Replace (data ,"%","",1,-1,1)
data = Replace (data ,"'","",1,-1,1)
data = Replace (data ,"/","",1,-1,1)
data = Replace (data ,"\","",1,-1,1)
data = Replace (data ,".","",1,-1,1)
data = Replace (data ,"","",1,-1,1)
data = Replace (data,",","")
data = Replace (data,"?","")
data = Replace (data,"[","")
data = Replace (data,"]","")
data = Replace (data,"!","")
data = Replace (data,"(","")
data = Replace (data,")","")
data = Replace (data,":","")
data = Replace (data ,"`","")
data = Replace (data ,"=","")
data = Replace (data ,"&","")
data = Replace (data ,"%","")
data = Replace (data ,"#","")
data = Replace (data ,"And","")
data = Replace (data ,Chr(34),"")
data = Replace (data ,Chr(39),"")

cevir=data
End Function

' ---------- Start Configuration --------
'
' Valid change frequency values: always, hourly, daily, weekly, monthly, yearly, never
Const strCategoryChangeFreq = "weekly" 'Change frequency of category pages
Const strCategoryPriority = "0.8" 'Priority of category pages
Const strForumChangeFreq = "weekly" 'Change frequency of forums pages
Const strForumPriority = "0.6" 'Priority of forum pages
Const strTopicChangeFreq = "daily" 'Change frequency of topic pages
Const strTopicPriority = "0.4" 'Priority of topic pages
'
' ---------- End Configuration ----------

Function FormatDate(byVal strDate)
If strDate = "" OR IsDate(strDate) = False Then Exit Function

strYear = Year(strDate)
strMonth = Month(strDate)
strDay = Day(strDate)
If Len(strMonth) < 2 Then strMonth = "0"& strMonth
If Len(strDay) < 2 Then strDay = "0"& strDay

' Output: YYYY-MM-DD
FormatDate = strYear &"-"& strMonth &"-"& strDay

End Function
'Declare variables
Dim strYear
Dim strMonth
Dim strDay
Dim rsCategory
Dim rsForums
Dim rsTopics
Dim strCategoryLastMod

%>
</urlset> 

 
Gönderildi : 13/09/2011 01:51

(@GokhanBurucu)
Gönderiler: 22
Eminent Member
Konu başlatıcı
 

hocam bu kod bu şekilde tam istediğim gibi çalışıyor çok teşekkür ederim.sayfanın en aaltına koydum çalışan kodu. kaç gündür benimle uğraşıosun inş soru sormakla sana sıkıntı vermıyorumdur. çünkü ben epey bi soru sorarım 😀 son olarak ben .html e uzanti die birşey ekledim malum asp de 404 lu seolar için rastlanılan bi durum yanlız bu kod normade çalışıyor ama buraya ekleyınce çalışmadı bu kodu ben bu şekilde ekledim. Birde biliyorum fazla uzattım ama şimdi sitemap.xml i 404 den sitemap.asp ye yönlendirdiğim vebu dosyayı www.siteadi.com/sitemap.asp die googlea koydugumda hiç bir sorunum olmayacak değilmi?

End Function

'Declare variables

Dim strYear

Dim strMonth

Dim strDay

Dim rsCategory

Dim rsForums

Dim rsTopics

Dim strCategoryLastMod

Set rsforums = Server.CreateObject("adodb.RecordSet")

sql = ""

sql = sql & "SELECT id,baslik,aciklama,tarih,tip From haber WHERE baslik ORDER BY tarih ASC "

sql = sql & "Union All "

sql = sql & "SELECT id,baslik,aciklama,tarih,tip From makale WHERE baslik ORDER BY tarih ASC "

rsforums.open sql, baglan, 1, 3

    Do While Not rsforums.eof 

    if rsforums("tip")="1" Then

    Uzanti="makale"

    ELseIf rsforums("tip")="2" Then

    Uzanti="html"

    Else

    Uzanti="html" 

    ENd If

    

    strCategoryLastMod = rsForums("tarih")

Response.Write(vbCrLf &"<url>" & _

vbCrLf & "<loc> http://www.siteadi.com /"& rsForums("id") &"-"& cevir(rsForums("baslik")) &"."& rsForums("uzanti") &"</loc>" & _ 

vbCrLf & "<lastmod>"& FormatDate(rsForums("tarih")) &"</lastmod>" & _ 

vbCrLf & "<changefreq>"& strForumChangeFreq &"</changefreq>" & _ 

vbCrLf & "<priority>"& strForumPriority &"</priority>" & _ 

"</url>")

' List topics

rsForums.Movenext

Loop

%>

</urlset> 

 

-------------------------------------------------------------------------------------------------------------------------

ÇALIŞAN KOD; 

 

<?xml version='1.0' encoding='UTF-8'?>

<urlset xmlns="http://www.google.com/schemas/sitemap/0.84" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.google.com/schemas/sitemap/0.84 http://www.google.com/schemas/sitemap/0.84/sitemap.xs d">

<%

Response.Buffer = True

Response.ContentType = "text/xml"

Set baglan = Server.CreateObject("ADODB.Connection")

baglan.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("veritabani.mdb")

Function cevir(data) 

data = Replace (data ,"http://www.youtube.com/watch?v=","",1,-1,1)

data = Replace (data ,"ı","i",1,-1,1) 

data = Replace (data ,"ğ","g",1,-1,1) 

data = Replace (data ,"ü","u",1,-1,1) 

data = Replace (data ,"ş","s",1,-1,1) 

data = Replace (data ,"ö","o",1,-1,1) 

data = Replace (data ,"ç","c",1,-1,1) 

data = Replace (data ,"I","i",1,-1,1) 

data = Replace (data ,"Ğ","g",1,-1,1) 

data = Replace (data ,"Ü","u",1,-1,1) 

data = Replace (data ,"Ş","s",1,-1,1) 

data = Replace (data ,"İ","i",1,-1,1) 

data = Replace (data ,"Ç","c",1,-1,1) 

data = Replace (data ,"Ö","o",1,-1,1) 

data = Replace (data ," ","-",1,-1,1)

data = Replace (data ,">","",1,-1,1) 

data = Replace (data ,"<","",1,-1,1) 

data = Replace (data ,"*","",1,-1,1) 

data = Replace (data ,"%","",1,-1,1) 

data = Replace (data ,"'","",1,-1,1) 

data = Replace (data ,"/","",1,-1,1)

data = Replace (data ,"\","",1,-1,1)

data = Replace (data ,".","",1,-1,1)

data = Replace (data ,"","",1,-1,1)

data = Replace (data,",","")

data = Replace (data,"?","")

data = Replace (data,"[","")

data = Replace (data,"]","")

data = Replace (data,"!","")

data = Replace (data,"(","")

data = Replace (data,")","")

data = Replace (data,":","")

data = Replace (data ,"`","")

data = Replace (data ,"=","")

data = Replace (data ,"&","")

data = Replace (data ,"%","")

data = Replace (data ,"#","")

data = Replace (data ,"And","")

data = Replace (data ,Chr(34),"")

data = Replace (data ,Chr(39),"")

cevir=data 

End Function 

' ---------- Start Configuration --------

' Valid change frequency values: always, hourly, daily, weekly, monthly, yearly, never

Const strCategoryChangeFreq = "weekly" 'Change frequency of category pages

Const strCategoryPriority = "0.8" 'Priority of category pages

Const strForumChangeFreq = "weekly" 'Change frequency of forums pages

Const strForumPriority = "0.6" 'Priority of forum pages

Const strTopicChangeFreq = "daily" 'Change frequency of topic pages

Const strTopicPriority = "0.4" 'Priority of topic pages

'

' ---------- End Configuration ----------

Function FormatDate(byVal strDate)

If strDate = "" OR IsDate(strDate) = False Then Exit Function

strYear = Year(strDate)

strMonth = Month(strDate)

strDay = Day(strDate)

If Len(strMonth) < 2 Then strMonth = "0"& strMonth

If Len(strDay) < 2 Then strDay = "0"& strDay

' Output: YYYY-MM-DD

FormatDate = strYear &"-"& strMonth &"-"& strDay

End Function

'Declare variables

Dim strYear

Dim strMonth

Dim strDay

Dim rsCategory

Dim rsForums

Dim rsTopics

Dim strCategoryLastMod

Set rsforums = Server.CreateObject("adodb.RecordSet")

sql = ""

sql = sql & "SELECT id,baslik,aciklama,tarih From haber WHERE baslik ORDER BY tarih ASC "

sql = sql & "Union All "

sql = sql & "SELECT id,baslik,aciklama,tarih From makale WHERE baslik ORDER BY tarih ASC "

rsforums.open sql, baglan, 1, 3

Do While Not rsForums.Eof

strCategoryLastMod = rsForums("tarih")

Response.Write(vbCrLf &"<url>" & _

vbCrLf & "<loc> http://www.siteadi.com /"& rsForums("id") &"-"& cevir(rsForums("baslik")) &".html</loc>" & _ 

vbCrLf & "<lastmod>"& FormatDate(rsForums("tarih")) &"</lastmod>" & _ 

vbCrLf & "<changefreq>"& strForumChangeFreq &"</changefreq>" & _ 

vbCrLf & "<priority>"& strForumPriority &"</priority>" & _ 

"</url>")

' List topics

rsForums.Movenext

Loop

%>

</urlset>  

 
Gönderildi : 13/09/2011 02:53

(@RagipUNAL)
Gönderiler: 171
Estimable Member
 

Sizin sorunlarınızı çözerken bende birşeyler öğrenmiş bilgimi tazelemiş oluyorum.

Sorunu tam anlamadım ama anladığım kadarına cevap vereyim.

404.asp seosu yapığında sitemap.xml url sini sitemap.asp dosyasına yönlendirdiğinde sorun çıkmaz. Ben daha once bu şekilde seo yaptım gayetde iyi çalıtış. Google a ister sitemap.xml olarak ekle ister sitemap.asp olarak ekle. Bu uzantı google için pek önemli değil. Önemli olan xml deki içeriğin google'ın anlayacağı şekilde seo etmen olacaktır. Eğer sql den dataları doğru birşekilde çekip düzgün bir sayfa oluşuyorsa yayınlama aşamasına geçebilirisin.

 
Gönderildi : 13/09/2011 14:45

(@GokhanBurucu)
Gönderiler: 22
Eminent Member
Konu başlatıcı
 

açıklaman için çok teşekkür ederim aklımdaki soru işaretleri gitti. üstde verdiğim çalışan kod dediğim union la tablosu birleştirilmiş sorunsuz çalışan bir sitemap kodu. üste verdiğim kodda yeni karşılaştıgım bir sorun ben sitem de 404 deki linklerim şöle haber lerin linklerinin sonuna .html geliyor makalelerin sonuna .makale geliyor. bu yaptıgımız kodda hepsının sonuna .html geliyor o yüzden makaleden çekilenler problem verecektir. bende bu altda verdiğim koddaki gibi ek yaptım tip özelliği ekledim bu normal bir asp sayfasında çalışıyor ama burda çalıştıramadım.

 

End Function

'Declare variables

Dim strYear

Dim strMonth

Dim strDay

Dim rsCategory

Dim rsForums

Dim rsTopics

Dim strCategoryLastMod

Set rsforums = Server.CreateObject("adodb.RecordSet")

sql = ""

sql = sql & "SELECT id,baslik,aciklama,tarih,tip From haber WHERE baslik ORDER BY tarih ASC "

sql = sql & "Union All "

sql = sql & "SELECT id,baslik,aciklama,tarih,tip From makale WHERE baslik ORDER BY tarih ASC "

rsforums.open sql, baglan, 1, 3

    Do While Not rsforums.eof 

    if rsforums("tip")="1" Then

    Uzanti="makale"

    ELseIf rsforums("tip")="2" Then

    Uzanti="html"

    Else

    Uzanti="html" 

    ENd If

    

    strCategoryLastMod = rsForums("tarih")

Response.Write(vbCrLf &"<url>" & _

vbCrLf & "<loc> http://www.siteadi.com /"& rsForums("id") &"-"& cevir(rsForums("baslik")) &"."& rsForums("uzanti") &"</loc>" & _ 

vbCrLf & "<lastmod>"& FormatDate(rsForums("tarih")) &"</lastmod>" & _ 

vbCrLf & "<changefreq>"& strForumChangeFreq &"</changefreq>" & _ 

vbCrLf & "<priority>"& strForumPriority &"</priority>" & _ 

"</url>")

' List topics

rsForums.Movenext

Loop

%>

</urlset>  

 
Gönderildi : 13/09/2011 16:21

(@RagipUNAL)
Gönderiler: 171
Estimable Member
 

if rsforums("tip")="1" Then

    Uzanti="makale"

    ELseIf rsforums("tip")="2" Then

    Uzanti="html"

    Else

    Uzanti="html" 

    ENd If

 

sanırım kodun bu kısmında sorun var. rsforums("tip") şeklindeki bir veri çekmeyi 2 kez tekrarlaman asp de sorun yapacaktır. Niye böyle bir sorun yapar bilmiyorum ama ben çok rastladım. heralde programcılığın kuralına uymuyor. bu değeri bir nesneye bağlayalım.

 '  Do While Not rsforums.eof  den hemen sonra aşağıdaki gibi yapmanı tavsiye ederim.

forum_tip = rsforums("tip")

 

    if forum_tip ="1" Then

    Uzanti="makale"

    ELseIf forum_tip  ="2" Then

    Uzanti="html"

    Else

    Uzanti="html" 

    ENd If

'buraya aradaki kodları yaz.

 

forum_tip = ""

uzanti = ""

'forum tip ve Uzanti nesnesini boşatıyorm. Bunu NULL değeri vererek de boşaltabilirsin. Niye bunu yaptım dersen diğer kayda geçtiği vakit bir önceki değeri
yazabiliyor. Özellikle uzantida bu sorunu yaşayabilirsin. Mutlaka bu tür işlemlerde nesneleri boşalt veya kapat. Bu şekilde id hatası verdiğindede kodlarımızdaki
'hatanın kaynağını anlayabiliyoruz.

rsForums.Movenext

Loop

' bu deşilde kodların devam etsin.

 
Gönderildi : 13/09/2011 20:02

(@GokhanBurucu)
Gönderiler: 22
Eminent Member
Konu başlatıcı
 

teşekkürler hocam yardımınla bu problemımıde çözmüş oldun. çok saol

 
Gönderildi : 14/09/2011 01:45

(@RagipUNAL)
Gönderiler: 171
Estimable Member
 

Merhaba,

Ben teşekkür ederim faydalı olabildiysem ne ala.

İyi günler.

 
Gönderildi : 14/09/2011 14:10

Paylaş: