Oytun Yüksel

kişisel bi mesele

ASP ile SEO

Eylül 6, 2007 ASP

Evet sizlere ASP ile SEO linkler yapımının mantığını anlatacağım.
ASP de .html linkler için genellikle 404 hatası kullanılır. mantık şudur, o adres aslında olmadığı için 404 hata sayfası gösterilir. biz bu 404 hata sayfasını kendi 404.asp mizle değiştirerek linkteki bilgileri alıcağız. ve böylece hata sayfası çıktığında istediğimiz yere yönlendirebileceğiz.
Ana mantık bu. Şimdi hafiften kodlamaya geçelim.

ilk olarak 404.asp mizi oluşturalım..
linkler domain.com/video-269-Seoyu-kapicam-ben.html tarzında olsun.
Yani “-” ile böldüğümüzde ilk kısım video kategorisi olduğunu , 2. kısım id i , 3. kısım ismi versin.
404.asp

<%
set adres = Request.ServerVariables("QUERY_STRING")
bolum = split(adres,"/")
istedimiz=bolum(3)
istedimiz=split(id,"-")
ne=istedimiz(0)
id=istedimiz(1)
%>

404.asp bu haldeyken domain.com/video-269-Seoyu-kapicam-ben.html linkindeki video kısmını <%=ne%> ile,296 kısmını <%=id%> ile aldık. ismi almamıza gerek yok zaten :)
şimdi bu aldıklarımızı nasıl kullanıcağımıza geldik.
mesela şöyle yaparsak

<%
set adres = Request.ServerVariables("QUERY_STRING")
bolum = split(adres,"/")
istedimiz=bolum(3)
istedimiz=split(id,"-")
ne=istedimiz(0)
id=istedimiz(1)
%>
<% if ne="video" then %>
<%
set pp=server.createobject("adodb.recordset")
pp="select * from video where kimlik=" &id
pp.open sqll,baglanti,1,3
%>
<%=pp("videoisim")%>
<% else %>
video kategorisi dışındaki kategori.. şuanda bu kdr kasmadım abii =)
<% end if %>

peki şimdi ne yaptık. <%=ne%> den video geliosa video sayfamı göster dedik. video tablosundaki kimliği <%=id%> e eşit olan veriyi çektik..
<%=ne%> den video gelmiosa “video kategorisi dışındaki kategori.. şuanda bu kdr kasmadım abii =)” yazdırdık. siz bunun yerine if leri arttırarak başka kategorilerin verisini sunucaksınız. :)
peki herşey güzelde domain.com/video-269-Seoyu-kapicam-ben.html şeklinde linkleri nsl oluşturucam?
buda basit.
şöyle bir filtre koyuyoruz asp sayfamızın başına

<%
Function cevir(metin)
metin = Replace(metin,"ş","s")
metin = Replace(metin,"Ş","s")
metin = Replace(metin,".","")
metin = Replace(metin,",","")
metin = Replace(metin,"-","")
metin = Replace(metin," ","-")
metin = Replace(metin,"!","")
metin = Replace(metin,"(","")
metin = Replace(metin,")","")
metin = Replace(metin,"'","")
metin = Replace(metin,"ğ","g")
metin = Replace(metin,"Ğ","g")
metin = Replace(metin,"İ","i")
metin = Replace(metin,"ı","i")
metin = Replace(metin,"ç","c")
metin = Replace(metin,"Ç","c")
metin = Replace(metin,"ö","o")
metin = Replace(metin,"Ö","o")
metin = Replace(metin,"ü","u")
metin = Replace(metin,"Ü","u")
metin = Replace (metin ,"`","")
metin = Replace (metin ,"=","")
metin = Replace (metin ,"&","")
metin = Replace (metin ,"%","")
metin = Replace (metin ,"!","")
metin = Replace (metin ,"#","")
metin = Replace (metin ,"<","")
metin = Replace (metin ,">","")
metin = Replace (metin ,"*","")
metin = Replace (metin ,"And","")
metin = Replace (metin ,"'","")
metin = Replace (metin ,Chr(34),"")
metin = Replace (metin ,Chr(39),"")
cevir = metin
End Function
%>

böylece cevir filtresinden “seoyu kapıcam ben” i geçirdiğimizde “Seoyu-kapicam-ben” diye çıkar. mesela örnek asp link

domain.com/video-<%=pp(”kimlik”)%>-<%=cevir(pp(”isim”))%>.html
peki 404.asp i nasıl hata sayfası olarak ayarlarım?
plesk panel için anlatıyorum. soran olursa iis den ayarlamayıda yazarım.
plesk panelde web dizinlerine giriyoruz. ordan hata sayfalarına giriyoruz. 404 hatasını buluyoruz. 2. sayfada da olabilir ilk sayfada bulamazsanız. girip /404.asp yazıyoruz. tabi bunu yazdıysak 404.asp i domain.com/404.asp şekildeki gibi ana dizine atmış olmanız gerek.. daha sonra orda url i seçim. tamam diyoruz. bu kadar..
Takıldığınız yerlerde çekinmeyin sorun..

27 Yorumlar

  1. WannaBeDie on Eylül 7, 2007 3:10 am

    Daha çok ders bekliyoruz senden :)

  2. turuncu on Eylül 14, 2007 2:42 am

    Hocam benim comments tablom var, category tablom var ve mesela ben.asp ve yazilar.asp sayfalarida var. Kullandığım bloguda yazayım. Uğraşıyorum, uğraşıyorum ama yapamıyorum :(
    Lblog: http://www.aspindir.com/Goster/4633

    Zahmet olmazsa bakabilir misin? Birde sonu .html değilde hiç olmasa mesela aspindirdeki gibi…

    Mesela /comments.asp?id=105 yerine /iznik-tiles-today olsa dosya gibi…

    /category.asp?id=10 yerine /etiketler/gezi-yazilari olsa…

    /ben.asp yerine /ben olsa…

    Çok güzel olurdu :) Zahmet olmazsa bakarsanız çoooooook sevinirim

  3. tosih+ on Eylül 14, 2007 5:20 am

    Usta sen istiyosunki ben LBlog a SEO yaması yapiyim sana veriyim :) Bu makalem ASP’de belli bi yere ulaşmış kişiler için. ASP bilgin azsa anlamamış olabilirsin :) söz vermiyim ama zamanım olursa yapar burda yayınlarım. oki :)

  4. turuncu on Eylül 14, 2007 5:53 am

    Aynen öyle :) tamam hocam ben söz vermişsin gibi bekliyorum o zaman :) Çünkü sadece category ve comments bölümünü var yapılması gereken ve yapılamayan :(

  5. MahmutCan on Eylül 15, 2007 3:03 am

    oytun paylaş yafrum :D

  6. nihat on Ekim 5, 2007 5:55 pm

    merhaba kardeşim dediğin gibi yaptım ama anlamadığım bu kodlar browsera nasıl bu linki yazdıracak
    örnek verdiğin link i nereye yazacam 404.asp yemi default.asp yemi ayrıca default.asp den linkleri nasıl değiştirecem.yani bu kodlamaları doğru yaptım denedim haralı sayfa yazdım browsera ürün ismi çıktı hemen ama o browserda nasıl yazacak

  7. tosih+ on Ekim 8, 2007 7:11 pm

    peki herşey güzelde domain.com/video-269-Seoyu-kapicam-ben.html şeklinde linkleri nsl oluşturucam?
    sorusunun altında default.asp sayfana koyucağın kodlar la alakalı yazı var :)

  8. kral oyun on Aralık 4, 2007 4:47 am

    Sayın Hocam
    Emeklerinizden dolayı teşşekkürler…
    Yukarıda anlattığınız SEO uygulmasının bir örneğini ZİP leseniz çok sevinirim. SEO ile klasör şeklinde link vermeyi kral–oyun.com da yaptım. Bir download sitem var, html şeklinde linkler vermeye uğraşıyorum yani bu çalışmaya ihtiyacım var.
    Saygılarımla…

  9. cengiz on Aralık 6, 2007 8:52 am

    Birçok yerde bu konuyu araştırdım en açıklayıcı ve yayarlı anlatım bu bence.Artık düşüncem şu bu olayı bende yapmalıyım.

  10. cengiz on Aralık 6, 2007 9:31 am

    Şöyle bir hatayla karşılaştım çözemedim yardımlarınızı bekliyorum.
    Adresim şu şeklide:
    http://localhost/video-33-Borcka-Karagol-Video.html

    hata sayfası:
    Hata Tipi:
    Microsoft VBScript çalışma hatası (0×800A0009)
    Alt simge aralık dışı: ‘[number: 0]‘
    /404.asp, line 6

  11. tosih+ on Aralık 6, 2007 10:59 am

    cengiz bu hata olmayan kısmı çekmekle alakalı :) tam çözüm yolu var ama biraz daha karışık . sen kısaca 404.asp sayfana < % On Error Resume Next %> kodunu ekle. düzelmesi lazım :)

  12. cengiz on Aralık 6, 2007 11:41 am

    bu defada else kısmından sonrasını döndürdü.

  13. tosih+ on Aralık 6, 2007 12:48 pm

    nasıl yani anlamadım. 404.asp sayfasının en başına az önce verdiğim kodu eklediniz. tam olarak ne hata verdi? hata verdiği satırı yazarmısın bide :)

  14. cengiz on Aralık 6, 2007 2:15 pm

    bu defa hata yok else den sonraki

    video kategorisi dışındaki kategori.. şuanda bu kdr kasmadım abii =) kısmını yazdırıyor sayfaya

  15. tosih+ on Aralık 8, 2007 7:28 am

    verdiğim 2. kod kısmındaki
    < % if ne="video" then %>
    kodunu kendinize göre düzenleyin. sayfadan video-57-videoadi.html gibi bişi gelmedi lazımki elseden öncesi gelsin :) yani sende izle-84-aswqf.html gibi bişiyse , < % if ne="izle" then %> olması lazım. anlatabildim umarım :)

  16. engin ayhan on Ağustos 25, 2008 11:20 am

    http://www.yesillik.net/index.php/2008/08/asp-kullanarak-seo-yapmak-google-optimizasyonhtml-linkler/
    bu yöntemi kullanarak 404 sayfaları yerine bir ddl ve bir ini kullanarak phpdeki htacces e çok yakın bir yöntem elde edersiniz

  17. tosih on Ağustos 26, 2008 8:10 pm

    farklı bi yöntem. paylaştığınız için teşekkürler :)

  18. jeolok on Eylül 22, 2008 9:44 pm

    selam kodda çevir bölümünde hata var yorumları okumadım ama yazayım dedim belki birinin işine yarar alttaki bölümde

    metin = Replace (metin ,”Chr(34)”,”")
    metin = Replace (metin ,”Chr(39)”,”")
    cevir = metin
    End Function
    %>

    “Chr(34)” ler tırnak içinde olmayacak dire yazılacak
    Chr(34) yoksa metin olarak algılar…

  19. soner on Ekim 27, 2008 11:09 pm

    eline emeğine sağlık adamım harika anlatmışsın hemen uyguluyorum…

  20. tosih on Mart 11, 2009 3:12 am

    yazıyı güncelledim ve hatalı kısımları düzelttim. yararlı olur umarım :)

  21. ahmet on Nisan 1, 2009 2:27 pm

    mrb tosih+ arkadaşım ya ben bişey isyecektim bu seo ada

    /1-deneme-deneme
    yerine
    /deneme-deneme
    diye seo yu nasıl yapabliliriz yardımcı olursan sevnirim .

    şimdiden teşekkürler.

  22. tosih on Nisan 6, 2009 4:58 pm

    mrb. ahmet.
    öyle birşey yapmak içinde veritabanında, isimseo gibi bi sütun oluşturup, isimlerin cevir filtresinden geçmiş halini oraya kaydediceksin. örnek isim sütununda “ahmet video çekti” yazıyorsa isimseo sütununda “ahmet-video-cekti” yazıcak. daha sonra linkleri http://www.domain.com/ahmet-seo-cekti şekline uyarlarsın ve 3. / den sonrasını isimseo sütunu ile eşitlersin fln. anlatabildim umarım :)

  23. UĞUR on Nisan 7, 2009 1:02 pm

    +sg xD

  24. ahmet on Nisan 15, 2009 4:52 pm

    merhaba,

    “cengiz bu hata olmayan kısmı çekmekle alakalı tam çözüm yolu var ama biraz daha karışık .”

    demişşsin.

    bu yolu kısaca biraz anlatabilir misin

  25. tosih on Nisan 30, 2009 2:43 pm

    kısacık bişi olsa anlatırdım. :)
    ama şöyle özet geçeyim, hata vermesinin sebebi, örneğin urlde “-” yok iken bizim “-” ile split etmemiz yani bölmemiz. bunu önlemek için mesela önce instr ile - içerik içermediği bulunur, ardında içeriyorsa - ile bölünür. gibi gibi çözümler üretmek mümkün. ama bunları tek tek yazmam şu sıralar mümkün değil malesef.

  26. tolga on Ekim 14, 2009 2:31 pm

    bu 404 işini çok araştırdım. genelde de mesaj bıraktım fakat bir türlü sonuca ulaşamadım. belli bir yere geldim kaldım. nette bu konu için genelde bir yerdeki bilgileri kopyala yapıştır yapmışlar. sorulan sorulara da genelde cevap vermemişler. sizin burada son cevap tarihi bu yıl içinde olduğundan cevap verebileceğini düşünerek aşağıdaki soruyu soruyorum. olumlu veya olumsuz bir cevap verir iseniz memnun olurum.

    Kolay gelsin.

    bu 404 konusunb da yardımcı olabilirmisiniz acaba.

  27. tosih on Ekim 28, 2009 5:59 pm

    tabiki =) sorununuzu paylaşırsanız bildiğim kadarıyla yardımcı olmaya çalışırım.

Yorum Yaz