• 11-09-2007, 16:39:29
    #1
    Üyeliği durduruldu
    404hata.asp
    <%
    Dim istekurl
    Dim istekbolum
    Dim istek1
    Dim istek2
    istek1="video"
    istek2="videoarsiv"
    Set istekurl = Request.ServerVariables("QUERY_STRING") 
    istekbolum = Split(istekurl,"/")
    If istekbolum("3") = istek1 Then
    	Server.Execute("video.asp")
    Elseif istekbolum("3") = istek2 Then
    	Server.Execute("videoarsiv.asp")
    Else
    Response.Write ("Aradığınız sayfa bulunamadı")
    End if
    %>
    video.asp
    <%
    Set istekurl = Request.ServerVariables("QUERY_STRING") 
    istekbolum = Split(istekurl,"/")
    ID = istekbolum("4")
    If Not Isnumeric(ID) Then Response.Redirect "index.asp"
    filePath = Server.MapPath("database.mdb")
    Set dbcon = Server.CreateObject("ADODB.Connection")
    dbcon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filePath
    Set rs = Server.CreateObject("Adodb.Recordset")
    sql="SELECT * FROM tblvideo WHERE idno="&ID&" "
    rs.Open sql,dbcon,1
    If rs.Eof Then
    Response.Write ("Aradığınız Video Bulunamadı")
    Else
    Response.Write rs("videoadi")
    End if
    rs.Close
    Set rs = Nothing
    %>
    videoarsiv.asp
    <%
    Set istekurl = Request.ServerVariables("QUERY_STRING") 
    istekbolum = Split(istekurl,"/")
    filePath = Server.MapPath("database.mdb")
    Set dbcon = Server.CreateObject("ADODB.Connection")
    dbcon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filePath
    Set rs = Server.CreateObject("Adodb.Recordset")
    sql="SELECT * FROM tblvideo ORDER BY idno DESC"
    rs.Open sql,dbcon,1
    On error Resume Next
    page = CInt(istekbolum("4"))
    If (page ="" or page = 0) Then page = 1 Else page=page
    rs.pageSize= 10
    rs.absolutePage=page
    Do While Not rs.Eof and i<rs.pagesize
    i=i+1
    Response.Write ("<br><a href=""http://www.siteadi.com/video/"&rs("idno")&"/"&cevir(rs("videoadi"))&".htm"">"&rs("videoadi")&"</a>")
    rs.Movenext
    Loop
    If page = 1 Then
    Response.Write " "
    Else
    a = page -1
    Response.Write "<a  href=" & a & qstring &"><<  Önceki    </a> "
    End If
    If page + 5 > rs.pagecount Then
    b = rs.pagecount
    Else
    b = page + 5
    End If
    If page < 5 Then
    c = 1
    Else
    c = page - 5
    End If
    For j = c To b
    If j = page Then
    Response.Write "[<b>" & j & "</b>]  "
    Else
    Response.Write "<a href=" & j & qstring &">" & j & "</a>  "
    End If
    Next
    If page = rs.pagecount Then
    Response.Write " "
    Else
    a = page + 1
    Response.Write "<a href=" & a & qstring &">    Sonraki >></a> "
    End If
    %>
    Yukarıda Kullanmış olduğumuz cevir fonksiyonu için
    cevir.asp
    <%
    Function cevir(data)
    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)
    cevir=data
    End Function
    %>
    Şimdi 404 mantığı ile asp de SEO uyumu yapmayı anlatmaya başlayalım.
    Bilindiği gibi Linux ve .php kullandığınız zaman SEO uyumu yapmak için .htaccess dosyasından faydalanılır eğer Windows ve .asp kullanıyorsanız bu işlemi gerçekleştirmek için 404 sayfa bulunamadı hatasından faydalanmak gerekir, Öncelikle 404 hatasını anlatalım.
    Eğer sunucu yönetim paneliniz Plesk ise Ayarlar kısmından özel hata sayfa kullanımı açmanız daha sonra webdizinlerine girip hata sayfaları kısmına geçip 404 not found ayarını açıp ayarını URL yapıp kutucuğuna
     /404hatasi.asp
    yazıp onaylamanız gerekiyor, eğer URL olarak seçmezseniz .asp dosyası düz metin olarak algılanacaktır.
    Unutulmaması gereken 404 hata dosyamız ilgili sayfa bulunamadığı zaman çalışacaktır.
    Sıra geldi cevir.asp nin işlevine, bilindiği gibi web tarayıcılarında Türkçe karakter destek yoktur, zaten internette ingilizce hariç bir dil kullanımı yoktur, global Dünyadaki işlevsel nedenine burada değinmeyeceğiz.
    cevir fonksiyonu Türkçe karakterleri inglizce karakterlerlere çevirecek.
    Sıra geldi video.asp ye, Tüm .asp cilerin vede .php cilerin bildiği gibi bir sayfa veritabanından bilgi alacağımız ve ekrana göstereceğimizde Request fonksiyonunu kullanırız, ÖRN : video.asp?id=1 burada id=1 de yere alan 1 i kullanarak veritabanından 1 nolu kaydı ekrana yazdırırız,
    artık Request.QueryString yerine Request.ServerVariables("QUERY_STRING") i kullanacağız ve Web tarayısından gelen yazıları alacağız.
    ornek.com de biz Request.ServerVariables("QUERY_STRING") imizi video.asp?id=1 yerine kullanmak istiyoruz ve / ları sayıyoruz ve 4. / dan sonra gelen isteği aldırmak için
    <%
    Set istekurl = Request.ServerVariables("QUERY_STRING") 
    istekbolum = Split(istekurl,"/")
    ID = istekbolum("4") '4. / dan sonrasını al
    %>
    kullanıyoruz.
    Burada http://www.ornek.com/video/1/ornek-video.htm şeklinde SEO uyumu yapmayı öğrendik, Eğer http://www.ornek.com/video-1-ornek-video.htm şeklinde yapmak istersek, 404hatasi.asp dosyamızda, video.asp dosyamızda ve videoarsiv.asp dosyamızda birtakım değişiklikler yapmamız gerekir, Nedir bunlar , Ne şekilde olacak ?
    404hatasi.asp
    <%
    Dim istekurl
    Dim istekbolum
    Dim istekbolum2
    Dim parcala
    Dim isteksayfa
    Dim istek1
    Dim gostersayfa1
    Dim gostersayfa2
    gostersayfa1="video"
    gostersayfa2="videoarsiv"
    Set istekurl = Request.ServerVariables("QUERY_STRING") 
    istekbolum = Split(istekurl,"/")
    istekbolum2=istekbolum(3)
    parcala=split(istekbolum2,"-")
    isteksayfa=parcala(0)
    If isteksayfa=gostersayfa1 Then
    	Server.Execute("video.asp")
    Elseif isteksayfa=gostersayfa2 Then
    	Server.Execute("videoarsiv.asp")
    Else
    Response.Write ("Aradığınız sayfa bulunamadı")
    End if
    %>
    video.asp
    <%
    Set istekurl = Request.ServerVariables("QUERY_STRING") 
    istekbolum = Split(istekurl,"/")
    istekbolum2=istekbolum(3)
    parcala=split(istekbolum2,"-")
    IDno=parcala(1)
    If Not Isnumeric(IDno) Then Response.Redirect "index.asp"
    filePath = Server.MapPath("database.mdb")
    Set dbcon = Server.CreateObject("ADODB.Connection")
    dbcon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filePath
    Set rs = Server.CreateObject("Adodb.Recordset")
    sql="SELECT * FROM tblvideo WHERE idno="&IDno&" "
    rs.Open sql,dbcon,1
    If rs.Eof Then
    Response.Write ("Aradığınız Video Bulunamadı")
    Else
    Response.Write rs("videoadi")
    End if
    rs.Close
    Set rs = Nothing
    %>
    videoarsiv.asp
    <%
    On error Resume Next
    Set istekurl = Request.ServerVariables("QUERY_STRING") 
    istekbolum = Split(istekurl,"/")
    istekbolum2=istekbolum(3)
    parcala=split(istekbolum2,"-")
    page=parcala(1)
    filePath = Server.MapPath("database.mdb")
    Set dbcon = Server.CreateObject("ADODB.Connection")
    dbcon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filePath
    Set rs = Server.CreateObject("Adodb.Recordset")
    sql="SELECT * FROM tblvideo ORDER BY idno DESC"
    rs.Open sql,dbcon,1
    If (page ="" or page = 0) Then page = 1 Else page=page
    rs.pageSize= 10
    rs.absolutePage=page
    Do While Not rs.Eof and i<rs.pagesize
    i=i+1
    Response.Write ("<br><a href=""http://www.siteadi.com/video-"&rs("idno")&"-"&cevir(rs("videoadi"))&".htm"">"&rs("videoadi")&"</a>")
    rs.Movenext
    Loop
    If page = 1 Then
    Response.Write " "
    Else
    a = page -1
    Response.Write ("<a  href=http://www.ornek.com/videoarsiv-" & a & qstring &".htm><<  Önceki    </a> ")
    End If
    If page + 5 > rs.pagecount Then
    b = rs.pagecount
    Else
    b = page + 5
    End If
    If page < 5 Then
    c = 1
    Else
    c = page - 5
    End If
    For j = c To b
    If j = page Then
    Response.Write "[<b>" & j & "</b>]  "
    Else
    Response.Write "<a href=http://www.ornek.com/videoarsiv-" & j & qstring &".htm>" & j & "</a>  "
    End If
    Next
    If page = rs.pagecount Then
    Response.Write " "
    Else
    a = page + 1
    Response.Write "<a href=http://www.ornek.com/videoarsiv-" & a & qstring &".htm>    Sonraki >></a> "
    End If
    %>
    Şeklinde değişiklik yaparız.
    Artık .asp de SEO uyumunu kullanmayı öğreniyoruz ve mutlu oluyoruz,
  • 11-09-2007, 22:51:47
    #2
    çok güzel hazırlanmış bir döküman teşekkür ederim arkadaşım
  • 12-09-2007, 08:45:03
    #3
    Misafir
    asp kullanıcıları için guzel bir döküman
  • 12-09-2007, 10:58:00
    #4
    teşekkürler Güzel Döküman Not: Alıntı Değildir kendisi elle yazdı hepsini tek tek şahidim
  • 12-09-2007, 21:35:37
    #5
    Üyeliği durduruldu
    Faydalı bir döküman olur umarım.
  • 15-09-2007, 00:44:40
    #6
    piyasadaki bütün asp seo anlatımlarının hepsi örnekleyile aynı her yerde aynı dökümanı vermişler ilk defa farklı bir dökümana rastladım bu sebepten dolayı Tuncsoft nickli arkadaşa teşekkür ediyorum...

    bide sorum olacak..

    arkadaşlar mesela yukarıda video için anlatılmış diyelim ki benim sitemde

    video, haber, fıkra, v.s şeklinde bölümlerim var.. video için bunu yaptım haber içinde yapmam gerekiyor bu 404hata.asp sayfası nasıl olacak hangisi için yada nasıl düzenlenecek..
  • 15-09-2007, 13:17:34
    #7
    Üyeliği durduruldu
    404hatasi.asp dosyasını düzenlemen lazım

    <%
    Dim istekurl
    Dim istekbolum
    Dim istek1
    Dim istek2
    Dim istek3
    Dim istek4
    Dim istek5
    Dim istek6
    Dim istek7
    Dim istek8
    
    istek1="video"
    istek2="videoarsiv"
    istek3="haber"
    istek4="haberarsiv"
    istek5="resim"
    istek6="resimarsiv"
    istek7="muzik"
    istek8="muzikarsiv"
    
    'Ekle eklemek istediğin kadar
    
    Set istekurl = Request.ServerVariables("QUERY_STRING") 
    istekbolum = Split(istekurl,"/")
    
    If istekbolum("3") = istek1 Then
        Server.Execute("video.asp")
    
    Elseif istekbolum("3") = istek2 Then
        Server.Execute("videoarsiv.asp")
    
    Elseif istekbolum("3") = istek3 Then
        Server.Execute("haber.asp")
    
    Elseif istekbolum("3") = istek4 Then
        Server.Execute("haberarsiv.asp")
    
    Elseif istekbolum("3") = istek5 Then
        Server.Execute("resim.asp")
    
    Elseif istekbolum("3") = istek6 Then
        Server.Execute("resimarsiv.asp")
    
    Elseif istekbolum("3") = istek7 Then
        Server.Execute("muzik.asp")
    
    Elseif istekbolum("3") = istek8 Then
        Server.Execute("muzikarsiv.asp")
    'Elseif lere ekle eklemek istediğin kadar
    
    Else
    
    Response.Write ("Aradığınız sayfa bulunamadı")
    
    End if
    %>
    Kodu iyi okursan anlarsın
  • 15-09-2007, 14:48:40
    #8
    çok teşekkür ederim yardımların için ben bu şekilde bi deniyim.. inşallah yapabilirim..
  • 19-09-2007, 03:18:08
    #9
    Üyeliği durduruldu
    Peki ya arama motorları?

    404.asp sayfasına yönlendirilirken HTTP header bilgilerinde bir de 404 hata kodu yer alması sitenin indekslenmesinde problem oluşturmayacak mı? Yani hata kodunu alan arama motoru geri dönerse?

    Test etmedim ama daha önce böyle bir durumun söz konusu olduğunu bir yerde okumuştum. Buraya eklemek isterdim ama bulamadım.