Помощники для обработки SEO-DATA для веб-применений ASP.NET.
Предоставляет класс SeoHelper , который легко доступен в Controllers , Views и через ActionFilterAttributes .
Класс SeoHelper раскрывает несколько свойств, чтобы получить или установить несколько данных, связанных с SEO:
LinkCanonical : получает или устанавливает каноническую ссылку для веб-страницы.
SiteUrl : получает или устанавливает основной URL для веб-сайта. Используется в качестве базы для канонической связи. MetaDescription : Получает или устанавливает мета-описание для веб-страницы.
MetaKeywords : получает или устанавливает мета-ключ для веб-страницы.
MetaRobots : получает или устанавливает инструкции по мета-роботам веб-страницы.
OgDescription : получает или устанавливает описание открытого графа для веб-страницы. Падает на ценность в MetaDescription .
OgImage : получает или устанавливает изображение Open Graph для веб-страницы.
OgSiteName : получает или устанавливает имя сайта Open Graph для веб-страницы. Падает на ценность в SiteName .
OgTitle : Получает или устанавливает заголовок Open Graph для веб-страницы. Отпадает на ценность в 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 ) или с использованием приложений App.net, обращающегося к URL-формату ( ~/section.page.html ). Относительные URL -адреса автоматически будут преобразованы в абсолютные URL -адреса , либо из предоставленного SiteUrl , либо из базы запрошенного URL.
Свойства, выявленные SeoHelper -Class, имеют соответствующие атрибуты с помощью действий, доступны для контроллеров и контроллеров.
Например, [PageTitle] может использоваться для действия, если для значения не требуется логика, в то время как [SiteName] можно использовать для контроллера. Использование другого [SiteName] -ttribute на действие переопределяет тот, который используется на контроллере.
Примеры использования атрибутов:
[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 в качестве услуги для впрыска зависимостей, вам просто нужно использовать предоставленные рамки, предоставленные Method, в методе ConfigureServices Inside Startup.cs :
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddSeoHelper();
}
}
SeoHelper С помощью настроенной инъекции зависимостей вы можете получить доступ к классу SeoHelper через конструктор -впрыскивание или путем доступа к RequestServices -объекту -объекту в 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 , ни обнаженные атрибуты.
Чтобы установить базовую цитунку и базовую ссылку по умолчанию по умолчанию и базовую ссылку по умолчанию, которая может быть переопределена при необходимости, можно использовать конфигурацию во время регистрации службы для инъекции зависимостей:
public void ConfigureServices(IServiceCollection services)
{
// ...
services.AddSeoHelper(
siteName: "Website name",
siteUrl: "https://production-url.co/");
}
Поддержка классического ASP.NET MVC устарела.