URLRewriting.NET ile SEO Uyumlu URL Oluşturmak
Bu yazımda ASP.NET ile URLRewriting.Net kütüphanesinin nasıl kullanacağımızı ve nasıl “Search Engine Optimization” URL tasarlayabileceğimizi anlatacağım.
Öncelikle URLRewriting.Net kütüphanesi IIS tarafına erişimi olmayanlar için çok kullanışlı bir araç, kütüphaneyi projemize ekleyerek başka bir işlem yapmadan kullanabiliyoruz. ISAPI Rewrite’a alternatif olarak kullanılabilir.
Öncelikle buradan kütüphanemizi indiriyoruz.
UrlRewritingNet.UrlRewriter.dll bin klasörümüze kopyalıyoruz.
References sekmesinden “Add Reference” bölümünden “Browse” sekmesine giriyoruz. bin klasörümüzün altından “UrlRewritingNet.UrlRewriter.dll” seçip ekliyoruz.
Şimdi sıra Web.config ayarlarımızı yapmaya geldi,
<system.web> altında eğer <httpModules> etiketi var ise
<add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />
yok ise
<httpModules> <add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" /> </httpModules>
ekliyoruz.
Not: İki veya daha fazla aynı tag mevcut olursa Web.config dosyanızda hata meydana gelecektir.
Diğer ekleyeceğimiz Rewrite kurallarıdır. <configration> altına ekleyeceğimiz kuralların örneği şu şekilde dir.
<urlrewritingnet rewriteOnlyVirtualUrls="true" contextItemsPrefix="QueryString" defaultPage="Default.aspx" xmlns="http://www.urlrewriting.net/schemas/config/2006/07"> <rewrites> <add name="SanatciDetay" virtualUrl="^~/Sanatci/(.*)/(.*).aspx" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/SanatciDetay.aspx?sanatciId=$1&sanatciAd=$2" ignoreCase=" true"/> <add name="AlbumDetay" virtualUrl="^~/Album/(.*)/(.*).aspx" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/AlbumDetay.aspx?albumId=$1&albumAd=$2" ignoreCase=" true"/> <add name="Dinle" virtualUrl="^~/Dinle/(.*)/(.*).aspx" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/Dinle.aspx?parcaId=$1&parcaAd=$2" ignoreCase=" true"/> </rewrites> </urlrewritingnet>
Ayrıca </sectionGroup>’tan sonra
<section name="urlrewritingnet" restartOnExternalChanges="true" requirePermission="false" type="UrlRewritingNet.Configuration.UrlRewriteSection,UrlRewritingNet.UrlRewriter"/>
ekliyoruz.
Şimdi bir müzik portalı için yazdığım bu kuralları inceleyecek olursak;
SanatciDetay adına sahip bir kuralımız var
virtualUrl=”^~/Sanatci/(.*)/(.*).aspx” : (.*) ile işaretlenmiş yerlere QueryString’deki verilerimiz geliyor.
destinationUrl=”~/SanatciDetay.aspx?sanatciId=$1&sanatciAd=$2″ : $1 $2 .. olarak giden alanlar ise QS parametrelerimizi temsil ediyor.
Örnek: http://www.muzik.com/Sanatci/12/Sagopa_Kajmer.aspx
Aslında: http://www.muzik.com/SanatciDetay.aspx?parcaId=12&parcaAd=Sagopa_Kajmer
Özet olarak virtualUrl’deki formata uygun bir giriş gerçekleştirildiği zaman destinationUrl’deki formata cevrilip ele alınıyor.
Dikkat edilmesi gereken önemli noktalar:
Bu kütüphane hakkında yazılarım devam edecektir.
İyi Çalışmalar diliyorum.Kaynak dosyayı indirmek için tıklayın