Pembantu untuk menangani SEO-data untuk aplikasi web ASP.NET.
Menyediakan kelas SeoHelper yang mudah diakses dalam Controllers , Views dan melalui ActionFilterAttributes .
SeoHelper -Class memperlihatkan beberapa properti untuk mendapatkan atau mengatur beberapa data terkait SEO:
LinkCanonical : Mendapat atau mengatur tautan kanonik untuk halaman web.
SiteUrl : Mendapat atau menetapkan URL utama untuk situs web. Digunakan sebagai dasar untuk tautan kanonik. MetaDescription : Mendapat atau mengatur meta-deskripsi untuk halaman web.
MetaKeywords : Mendapat atau mengatur meta-keywords untuk halaman web.
MetaRobots : Mendapat atau mengatur instruksi web halaman web.
OgDescription : Mendapat atau mengatur deskripsi grafik terbuka untuk halaman web. Jatuh kembali pada nilai dalam MetaDescription .
OgImage : Mendapat atau mengatur gambar grafik terbuka untuk halaman web.
OgSiteName : Mendapat atau mengatur nama situs grafik terbuka untuk halaman web. Jatuh kembali pada nilai di SiteName .
OgTitle : Mendapat atau mengatur judul grafik terbuka untuk halaman web. Jatuh kembali pada nilai di PageTitle .
OgType : Mendapat atau mengatur jenis grafik terbuka untuk halaman web.
OgUrl : Mendapat atau mengatur URL grafik terbuka untuk halaman web. Kembali pada nilai di LinkCanonical .
PageTitle : Mendapat atau mengatur judul untuk halaman web.
SiteName : Mendapat atau menetapkan nama untuk situs web. Digunakan sebagai basis untuk DocumentTitle . DocumentTitle : Mendapatkan judul dokumen untuk halaman web. Menggabungkan PageTitle dan SiteName .
DocumentTitleFormat : Mendapat atau mengatur format untuk judul dokumen. Nilai default adalah {0} - {1} , di mana {0} adalah nilai dari PageTitle dan {1} adalah nilai dari SiteName .SetCustomMeta(string key, string value) : Tambahkan meta-tag khusus.SetMetaRobots(bool index, bool follow) : Tentukan instruksi untuk robot. Memperbarui nilai untuk MetaRobots . LinkCanonical dapat ditetapkan sebagai URL absolut ( https://example.com/section/page.html ), sebagai url relatif ( /section/page.html ) atau menggunakan format URL-relatif ASP.NET ( ~/section.page.html ). URL relatif akan secara otomatis dikonversi ke URL absolut , baik dari SiteUrl yang disediakan atau dari dasar URL yang diminta.
Properti yang diekspos oleh SeoHelper -Class semuanya memiliki atribut-filter aksi yang sesuai tersedia untuk pengontrol dan aksi pengontrol.
Misalnya, [PageTitle] dapat digunakan untuk suatu tindakan, jika tidak ada logika yang diperlukan untuk nilainya, sedangkan [SiteName] dapat digunakan untuk pengontrol. Menggunakan [SiteName] lain -Attribute pada suatu tindakan akan mengesampingkan yang digunakan pada pengontrol.
Contoh penggunaan atribut:
[SiteName("Website name")]
[SiteUrl("https://production-url.co/")]
public class InfoController : SeoController
{
[PageTitle("Listing items")]
[MetaDescription("List of the company's product-items")]
public ActionResult List()
{
var list = GetList();
if (list.Any())
{
Seo.PageTitle += $" (Total: {list.Count})";
Seo.LinkCanonical = "~/pages/list.html";
}
else
{
Seo.SetMetaRobots(index: false, follow: true);
}
return View(model);
}
}
Untuk mendaftarkan seo-helper sebagai layanan untuk injeksi ketergantungan, Anda hanya perlu menggunakan metode ekstensi yang disediakan kerangka kerja dalam metode ConfigureServices di dalam Startup.cs :
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddSeoHelper();
}
}
SeoHelper Dengan injeksi ketergantungan yang dikonfigurasi, Anda dapat mengakses kelas SeoHelper melalui injeksi konstruktor atau dengan mengakses RequestServices -Object di HttpContext .
Kerangka kerja menyediakan metode ekstensi untuk IServiceProvider untuk mendapatkan SeoHelper -instance:
public IActionResult Edit()
{
var seoHelper = HttpContext.RequestServices.GetSeoHelper();
// ...
}
Pembantu tag tersedia untuk membuat nilai -nilai yang ditetapkan melalui kelas SeoHelper . Mereka juga mengekspos atribut untuk mengganti atau mengatur nilai dengan cepat dalam markup.
Contoh: <document-title /> merender kombinasi PageTitle dan SiteName . <link-canonical /> membuat URL kanonik untuk halaman ini. <og-url /> membuat URL set untuk halaman dan kembali ke nilai yang digunakan dalam <link-canonical /> .
Tag individual tidak akan diterjemahkan jika tidak ada data yang valid yang disediakan untuk mereka , baik melalui kelas SeoHelper atau atribut yang terbuka.
Untuk mengatur tautan kanonik dasar-judul dan default Webb-Application, yang dapat ditimpa jika diperlukan, konfigurasi selama mendaftarkan layanan untuk injeksi ketergantungan dapat digunakan:
public void ConfigureServices(IServiceCollection services)
{
// ...
services.AddSeoHelper(
siteName: "Website name",
siteUrl: "https://production-url.co/");
}
Dukungan untuk ASP.NET MVC klasik sudah usang.