Ayudantes para manejar los datos SEO para aplicaciones web ASP.NET.
Proporciona una clase SeoHelper que es fácilmente accesible en Controllers , Views y a través de ActionFilterAttributes .
La clase SeoHelper expone múltiples propiedades para obtener o establecer múltiples datos relacionados con SEO:
LinkCanonical : obtiene o establece el enlace canónico para la página web.
SiteUrl : obtiene o establece la URL principal para el sitio web. Utilizado como base para el enlace canónico. MetaDescription : Obtiene o establece la meta descripción para la página web.
MetaKeywords : obtiene o establece las palabras meta-keyking para la página web.
MetaRobots : obtiene o establece instrucciones de meta-robots web página web.
OgDescription : obtiene o establece la descripción del gráfico abierto para la página web. REALIZA EN VALOR EN MetaDescription .
OgImage : obtiene o establece la imagen de gráfico abierto para la página web.
OgSiteName : obtiene o establece el nombre de sitio de gráfico abierto para la página web. Se vuelve al valor en SiteName .
OgTitle : obtiene o establece el título de gráfico abierto para la página web. Se vuelve al valor en PageTitle .
OgType : obtiene o establece el tipo de gráfico abierto para la página web.
OgUrl : obtiene o establece la URL de gráfico abierto para la página web. REALIZA VALOR EN LinkCanonical .
PageTitle : obtiene o establece el título para una página web.
SiteName : obtiene o establece el nombre del sitio web. Utilizado como base para DocumentTitle . DocumentTitle : Obtiene el título del documento para una página web. Combina PageTitle y SiteName .
DocumentTitleFormat : obtiene o establece el formato para el título de documento. El valor predeterminado es {0} - {1} , donde {0} es el valor de PageTitle y {1} es el valor de SiteName .SetCustomMeta(string key, string value) : agregue cualquier meta-etiqueta personalizada.SetMetaRobots(bool index, bool follow) : especifique las instrucciones para los robots. Actualiza el valor para MetaRobots . LinkCanonical se puede establecer como URL absoluta ( https://example.com/section/page.html ), como URL relativa ( /section/page.html ) o utilizando el formato de URL-Relativo de APP ASP.NET ( ~/section.page.html ). Las URL relativas se convertirán automáticamente en URL absolutas , ya sea de SiteUrl proporcionadas o desde la base de la URL solicitada.
Las propiedades expuestas por la clase SeoHelper tienen todos los atributos de filtro de acción correspondientes están disponibles para controladores y controladores de controladores.
Por ejemplo, [PageTitle] se puede usar para una acción, si no se necesita lógica para el valor, mientras que [SiteName] puede usarse para un controlador. El uso de otro [SiteName] -Attribute en una acción anulará el utilizado en el controlador.
Ejemplos de uso de atributos:
[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);
}
}
Para registrar el SEO-Helper como un servicio para la inyección de dependencia, solo necesita utilizar el método de extensión provisto por el marco en el método ConfigureServices dentro de Startup.cs :
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddSeoHelper();
}
}
SeoHelper Con la inyección de dependencia configurada, puede acceder a la clase SeoHelper a través de la inyección del constructor o accediendo al RequestServices -object en el HttpContext .
El marco proporciona un método de extensión para IServiceProvider para obtener el SeoHelper -Instance:
public IActionResult Edit()
{
var seoHelper = HttpContext.RequestServices.GetSeoHelper();
// ...
}
Los ayudantes de etiquetas están disponibles para representar los valores establecidos a través de la clase SeoHelper . También exponen atributos a anular o establecer los valores en la mosca en el marcado.
Ejemplos: <document-title /> representa el PageTitle combinado y SiteName . <link-canonical /> representa la URL canónica para la página. <og-url /> representa la URL establecida para la página y se vuelve al valor utilizado en <link-canonical /> .
Las etiquetas individuales no se representarán si no se les proporcionan datos válidos , ya sea a través de los atributos SeoHelper -Clase o expuestos.
Para establecer el título base predeterminado de la aplicación Webb y el enlace canónico base predeterminado, que se puede anular si es necesario, se puede usar la configuración durante el registro del servicio para la inyección de dependencia:
public void ConfigureServices(IServiceCollection services)
{
// ...
services.AddSeoHelper(
siteName: "Website name",
siteUrl: "https://production-url.co/");
}
El soporte para el clásico ASP.NET MVC está en desuso.