Malem malem iseng ah buat tulisan, yang mungkin bisa berguna buat rekan rekan yang lagi belajar mendalami ASP.NET MVC, dan saya sendiri juga masih belajar banyak kok, lah orang masih newbie ya pasti masih harus banyak belajar lah, tp apa salahnya lah seorang newbie kyk saya berbagi sedikit ilmu :).
Kita dapat menggunakan berbagai macam trik di ASP.NET MVC untuk menggunakan query string yang mungkin dapat mudah di temukan oleh search engine seperti Google, Bing, Yahoo atau yang lainya. Seperti Contoh kita mempunyai alamat URL seperti http://localhost/WebTest/Berita/1/Android%20Ada%20Update%20Terbaru dari contoh url yang saya berikan ini merupakan sebuah custom URL routing yang sudah di set dari Web.Config ASP.Net MVC yang sebenarnya artikel tersebut di ambil dari Controller Berita dengan Reference ID Berita 1. namun untuk apa informasi yang ada setelah ID Berita 1 tersebut. Kalimat yang ada di belakang ID Berita tersebut di tujukan untuk SEO Optimatization sehingga nantinya artikel tersebut dapat dengan mudah di temukan oleh search engine karena mengandung kata kata yang mudah di pahami.
Namun dari contoh URL di atas apakah ada sesuatu yang masih kurang, tentu saja, karena pada kalimat tersebut masih terdapat url encoding %20 yang menggantikan 'spasi' sehingga url tersebut masih belum optimize dan mudah untuk di temukan oleh search engine. kita dapat mengganti spasi tersebut dengan beberapa karakter yang nantinya dapat dengan mudah di temukan oleh search engine seperti "-","_",".". bagaimana cara mengubah url tersebut, caranya cukup mudah, kita hanya membutuhkan 1 helper class yang di gunakan untuk mereplace 'spasi' dengan spesial karakter lain. berikut caranya:
- Buat Static Class HtmlHelpers dalam folder Helper di dalam project
- Tuliskan code di bawah ini dalam class HtmlHelpers yang telah di buat (COPAS jg boleh kok)
public static string ToSeoUrl(this HtmlHelper helper, string url)
{
// make the url lowercase
string encodedUrl = (url ?? "").ToLower();
// replace & with and
encodedUrl = Regex.Replace(encodedUrl, @"\&+", "_and_");
// remove characters
encodedUrl = encodedUrl.Replace("'", "\"");
// remove invalid characters
//encodedUrl = Regex.Replace(encodedUrl, @"[^a-z0-9]", "-");
//Remove space to underscore character
encodedUrl = Regex.Replace(encodedUrl, @" ", "_");
// remove duplicates
encodedUrl = Regex.Replace(encodedUrl, @"-+", "-");
// trim leading & trailing characters
encodedUrl = encodedUrl.Trim('-');
return encodedUrl;
}
public static string ToFormatSeoUrl(this string url)
{
// make the url lowercase
string encodedUrl = (url ?? "").ToLower();
// replace & with and
encodedUrl = Regex.Replace(encodedUrl, "_and_", @"\&+");
// remove characters
encodedUrl = encodedUrl.Replace("\"", "'");
// remove invalid characters
encodedUrl = Regex.Replace(encodedUrl, @"_", " ");
// remove duplicates
//encodedUrl = Regex.Replace(encodedUrl, @"-+", "-");
// trim leading & trailing characters
encodedUrl = encodedUrl.Trim('-');
return encodedUrl;
}
Setelah itu Build codenya. dan Begini Cara Pakainya:- pada kita dapat menggunkan class HtmlHelpers yang telah kita buat dengan cara memanggilnya dari view HtmlHelpers.ToSeoUrl(UrlRouteLink) untuk memformat url string kita yang masih mengukanan 'spasi' dan di ganti dengan karakter '_', untuk memformatnya kembali menjadi semula dalam controller kita dapat menggukan HtmlHelpers.ToFormatSeoUrl dan URL parameter akan dikembalikan seperti asalnya. nantinya url yang akan di tampilkan pada browser adalah http://localhost/WebTest/Berita/1/Android_Ada_Update, tentunya url ini lebih mudah di cari oleh search engine
Penggunaan Pada View
<%= Html.RouteLink(Html.Encode(article[i].Title), "ArticleDetailsRoute", new { id = article[i].PostId, title= Html.ToSeoUrl(article[i].Title) })%>
Sekian Artikel Dari Saya Semoga Bermanfaat.maaf buat kata katanya yang masih berantakan. namanya juga newbie. kalau ada yang ingin ditanyakan silahkan komen atau YM saya.
Salam,
Muhamad Albaijuri


Tidak ada komentar:
Posting Komentar