المساعدون للتعامل مع SEO-data ل ASP.NET ويب.
يوفر فئة SeoHelper التي يمكن الوصول إليها بسهولة في Controllers ، Views ومن خلال ActionFilterAttributes .
تعرض SeoHelper -class خصائص متعددة للحصول على أو تعيين بيانات متعددة متعلقة SEO:
LinkCanonical : يحصل أو يحدد الرابط الكنسي لصفحة الويب.
SiteUrl : يحصل أو تعيين عنوان URL الرئيسي لموقع الويب. تستخدم كقاعدة للرابط الكنسي. MetaDescription : يحصل أو يضع موصوفيًا لصفحة الويب.
MetaKeywords : يحصل أو يحدد الكلمات meta-key for صفحة الويب.
MetaRobots : Get Or 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} هي القيمة من SiteName .SetCustomMeta(string key, string value) : أضف أي علامة تلوي مخصصة.SetMetaRobots(bool index, bool follow) : حدد إرشادات الروبوتات. تحديث قيمة MetaRobots . يمكن تعيين LinkCanonical على أنه عنوان URL المطلق ( https://example.com/section/page.html ) ، باعتباره عنوان URL نسبيًا ( /section/page.html ) أو باستخدام url-url-format asp.net 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);
}
}
لتسجيل Helper SEO كخدمة لحقن التبعية ، تحتاج فقط إلى استخدام طريقة التمديد المقدمة من Framework في طريقة ConfigureServices داخل Startup.cs :
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddSeoHelper();
}
}
SeoHelper -فئة مع حقن التبعية المكوّنة ، يمكنك الوصول إلى SeoHelper -lass من خلال حقن المنشئ أو عن طريق الوصول إلى RequestServices -Object في HttpContext .
يوفر Framework طريقة تمديد لـ IServiceProvider للحصول على SeoHelper -instance:
public IActionResult Edit()
{
var seoHelper = HttpContext.RequestServices.GetSeoHelper();
// ...
}
تتوفر مساعدي العلامات لتقديم القيم المحددة من خلال SeoHelper -lass. كما أنها تعرض سمات لتجاوز أو تعيين القيم أثناء الطيران في الترميز.
أمثلة: <document-title /> يجعل PageTitle المشتركة واسم SiteName . <link-canonical /> يجعل عنوان URL الكنسي للصفحة. <og-url /> يجعل عنوان URL SET للصفحة ويعود إلى القيمة المستخدمة في <link-canonical /> .
لن يتم تقديم العلامات الفردية إذا لم تكن هناك بيانات صالحة مقدمة لهم ، إما من خلال SeoHelper -lass أو سمات مكشوفة.
لتعيين رابط الأساس الأساسي الافتراضي ل Aapplication والرابط الأساسي الافتراضي ، والذي يمكن تجاوزه إذا لزم الأمر ، يمكن استخدام التكوين أثناء تسجيل الخدمة لحقن التبعية:
public void ConfigureServices(IServiceCollection services)
{
// ...
services.AddSeoHelper(
siteName: "Website name",
siteUrl: "https://production-url.co/");
}
يتم إهمال دعم ASP.NET MVC الكلاسيكي.