Aspnet MVC ToSeoUrl
Asp.net MVC de linkimizi seoya uygun hale çeviren ToSeoUrl() metottunu yapacağız. Daha önce Aspnet MVC x zaman önce metotu yazmıştık yine aynı şekilde olucak. Bu kullanacağımız metot bizim yardımcı metotumuz olacağından Aspnet.net MVC projemize gelip yeni bir klasör oluştuyoruz. İsmini Helper yapıyoruz. Ve altında Helper adında bir class oluşturup ToSeoUrl metotumuzu buraya tanımlıyoruz.
Helper.cs
public static class Helper
{
public static string ToSeoUrl(this string url)
{
string encodeURL = (url ?? "").ToLower();
encodeURL = encodeURL.Replace("ç", "c")
.Replace("ı", "i")
.Replace("ş", "s")
.Replace("ğ", "g")
.Replace("ü", "u")
.Replace("ö", "o")
.Replace("+", "plus")
.Replace("#", "sharp");
encodeURL = Regex.Replace(encodeURL, @"\&+", "ve");
encodeURL = encodeURL.Replace("'", "");
encodeURL = Regex.Replace(encodeURL, @"[^a-z0-9]", "-");
encodeURL = Regex.Replace(encodeURL, @"-+", "-");
encodeURL = encodeURL.Trim('-');
return encodeURL;
}
}
Metottumuzu tanımladık. Biraz yapacağı işten bahsedecek olursak. Bir makale başlığımız var "Aspnet MVC ToSeoUrl" bu başlığı sitemizin urlsinde böylece kullanamayız (kullanırız ama seo açısından iyi olmayabilir) onun için bu başlığımızı seo uygun hale getirmemiz gerekir işte burada bizim yazmış olduğumuz ToSeoUrl() metodumuz devreye girmektedir. Ben burada çok geniş kapsamlı yapmadım bu metodu geliştirmek editlemek size kalmış.
Kullanımı;
Kullanmak istediğimiz yerde using [ProjeAdi].Helper; dahil etmemiz gerekli dahil ettikden sonra istediğimiz gibi kullanabiliriz.
Index.cshtml içerisine;
//Helper classımızı dahil ettik
@using [ProjeAdı].Helper;
@{
//Örnek Bir Başlık
string baslik= "Aspnet MVC ToSeoURl";
}
//ToSeoUrl metodumuzu kullanıyoruz
@baslik.ToSeoUrl();
//çıktımız : aspnet-mvc-toseourl
Bildiğim kadarıyla bir şeyler yazmaya çalıştım inşallah birilerinin faydalanması dileğiyle..