ผู้ช่วยสำหรับการจัดการ SEO-data สำหรับแอพพลิเคชั่นเว็บ ASP.NET
ให้ SeoHelper -class ซึ่งสามารถเข้าถึงได้ง่ายใน Controllers Views และผ่าน ActionFilterAttributes
SeoHelper -class เปิดเผยคุณสมบัติหลายอย่างเพื่อรับหรือตั้งค่าข้อมูลที่เกี่ยวข้องกับ SEO หลายรายการ:
LinkCanonical : รับหรือตั้งค่าลิงค์ Canonical สำหรับหน้าเว็บ
SiteUrl : รับหรือตั้งค่า URL หลักสำหรับเว็บไซต์ ใช้เป็นฐานสำหรับลิงก์ที่เป็นที่ยอมรับ MetaDescription : รับหรือตั้งค่าการอธิบายอภิมานสำหรับหน้าเว็บ
MetaKeywords : รับหรือตั้งค่า meta-keywords สำหรับหน้าเว็บ
MetaRobots : รับหรือตั้งค่าเว็บเพจ Meta-Robots
OgDescription : รับหรือตั้งค่าคำอธิบายกราฟเปิดสำหรับหน้าเว็บ กลับมามีค่าใน MetaDescription
OgImage : รับหรือตั้งค่าภาพกราฟเปิดสำหรับหน้าเว็บ
OgSiteName : รับหรือตั้งค่าชื่อเว็บไซต์กราฟเปิดสำหรับหน้าเว็บ กลับมามีค่าใน SiteName
OgTitle : รับหรือตั้งค่าชื่อกราฟเปิดสำหรับหน้าเว็บ กลับไปที่มูลค่าใน PageTitle
OgType : รับหรือตั้งค่าประเภทกราฟเปิดสำหรับหน้าเว็บ
OgUrl : รับหรือตั้งค่า URL แบบเปิดสำหรับหน้าเว็บ กลับมามีค่าใน LinkCanonical
PageTitle : รับหรือตั้งค่าชื่อสำหรับหน้าเว็บ
SiteName : รับหรือตั้งชื่อสำหรับเว็บไซต์ ใช้เป็นฐานสำหรับ DocumentTitle DocumentTitle : รับเอกสารเอกสารสำหรับหน้าเว็บ รวม PageTitle และ SiteName
DocumentTitleFormat : รับหรือตั้งค่ารูปแบบสำหรับเอกสารเอกสาร ค่าเริ่มต้นคือ {0} - {1} โดยที่ {0} คือค่าจาก PageTitle และ {1} คือค่าจาก SiteNameSetCustomMeta(string key, string value) : เพิ่ม meta-tag ที่กำหนดเองใด ๆSetMetaRobots(bool index, bool follow) : ระบุคำแนะนำสำหรับหุ่นยนต์ อัปเดตค่าสำหรับ MetaRobots LinkCanonical สามารถตั้งค่าเป็น URL สัมบูรณ์ ( https://example.com/section/page.html ) ในฐานะ URL ที่สัมพันธ์กัน ( /section/page.html ) หรือใช้ URL-format ของ APP.NET ( ~/section.page.html ) URL ที่สัมพันธ์กันจะได้รับการแปลงเป็น URL แบบสัมบูรณ์โดยอัตโนมัติ ไม่ว่าจะเป็นจาก SiteUrl ที่ให้ไว้หรือจากฐานของ URL ที่ร้องขอ
คุณสมบัติที่เปิดเผยโดย SeoHelper -class ทั้งหมดมีการกระทำที่สอดคล้องกับแอ็คชั่นที่สอดคล้องกันนั้นพร้อมใช้งานสำหรับคอนโทรลเลอร์และคอนโทรลเลอร์แอ็คชั่น
ตัวอย่างเช่น [PageTitle] สามารถใช้สำหรับการดำเนินการหากไม่จำเป็นต้องใช้ตรรกะสำหรับค่าในขณะที่ [SiteName] สามารถใช้สำหรับคอนโทรลเลอร์ การใช้ [SiteName] -แอ็ตทริสต์ในการกระทำจะแทนที่สิ่งที่ใช้กับคอนโทรลเลอร์
ตัวอย่างของคุณลักษณะการใช้งาน:
[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);
}
}
ในการลงทะเบียน SEO-helper เป็นบริการสำหรับการฉีดขึ้นอยู่กับการพึ่งพาคุณเพียงแค่ใช้เครื่องมือส่วนขยายที่ให้ไว้ในวิธี ConfigureServices ภายใน Startup.cs :
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddSeoHelper();
}
}
SeoHelper -class ด้วยการฉีดขึ้นอยู่กับการพึ่งพาที่กำหนดค่าคุณสามารถเข้าถึง SeoHelper -class ผ่าน การฉีดคอนสตรัคเตอร์ หรือโดยการเข้าถึง RequestServices -Object ใน HttpContext
เฟรมเวิร์กจัดเตรียมวิธีการขยายสำหรับ IServiceProvider สำหรับการรับ SeoHelper -instance:
public IActionResult Edit()
{
var seoHelper = HttpContext.RequestServices.GetSeoHelper();
// ...
}
ผู้ช่วยแท็กมีให้เพื่อแสดงค่าที่ตั้งค่าผ่าน SeoHelper -class พวกเขายังเปิดเผย แอตทริบิวต์เพื่อแทนที่หรือตั้งค่าที่แมลงวัน ในมาร์กอัป
ตัวอย่าง: <document-title /> แสดงผล PageTitle และ SiteName รวมกัน <link-canonical /> แสดงผล URL ที่เป็นที่ยอมรับสำหรับหน้า <og-url /> แสดงผล URL ที่ตั้งไว้สำหรับหน้าและกลับไปเป็นค่าที่ใช้ใน <link-canonical />
แต่ละแท็กจะไม่แสดงผลหากไม่มีข้อมูลที่ถูกต้องสำหรับพวกเขา ไม่ว่าจะผ่าน SeoHelper -class หรือคุณลักษณะที่เปิดเผย
ในการตั้งค่าฐานฐานเริ่มต้นของ Webb-Application และฐานข้อมูลเริ่มต้นที่เป็นมาตรฐานซึ่งสามารถแทนที่ได้หากจำเป็นการกำหนดค่าระหว่างการลงทะเบียนบริการสำหรับการฉีดพึ่งพาอาศัยกันสามารถใช้งานได้:
public void ConfigureServices(IServiceCollection services)
{
// ...
services.AddSeoHelper(
siteName: "Website name",
siteUrl: "https://production-url.co/");
}
การสนับสนุนสำหรับคลาสสิก ASP.NET MVC เลิกใช้แล้ว