Aiders pour gérer les données SEO pour les applications Web ASP.NET.
Fournit une classe SeoHelper qui est facilement accessible dans Controllers , Views et via ActionFilterAttributes .
La classe SeoHelper expose plusieurs propriétés pour obtenir ou définir plusieurs données liées au référencement:
LinkCanonical : obtient ou définit le lien canonique pour la page Web.
SiteUrl : obtient ou définit l'URL principale du site Web. Utilisé comme base pour le lien canonique. MetaDescription : obtient ou définit la méta-description de la page Web.
MetaKeywords : Obtient ou définit les mots méta-touches de la page Web.
MetaRobots : obtient ou définit les instructions Meta-Robots Page.
OgDescription : obtient ou définit la description du graphique ouvert de la page Web. Retour sur la valeur dans MetaDescription .
OgImage : obtient ou définit l'image du graphique ouvert pour la page Web.
OgSiteName : obtient ou définit le nom de site Open Graph pour la page Web. Retombe sur la valeur dans SiteName .
OgTitle : obtient ou définit le titre du graphique ouvert pour la page Web. Retombe sur la valeur dans PageTitle .
OgType : obtient ou définit le type de graphique ouvert pour la page Web.
OgUrl : obtient ou définit l'URL du graphique ouvert pour la page Web. Retourne la valeur dans LinkCanonical .
PageTitle : obtient ou définit le titre d'une page Web.
SiteName : obtient ou définit le nom du site Web. Utilisé comme base pour DocumentTitle . DocumentTitle : obtient le titre de document pour une page Web. Combine PageTitle et SiteName .
DocumentTitleFormat : obtient ou définit le format pour le titre de document. La valeur par défaut est {0} - {1} , où {0} est la valeur de PageTitle et {1} est la valeur de SiteName .SetCustomMeta(string key, string value) : ajoutez n'importe quelle méta-tag personnalisée.SetMetaRobots(bool index, bool follow) : Spécifiez les instructions pour les robots. Met à jour la valeur des MetaRobots . LinkCanonical peut être défini sous forme d'URL absolue ( https://example.com/section/page.html ), en tant qu'URL relative ( /section/page.html ) ou en utilisant un format URL d'application-relatives d'ASP.net ( ~/section.page.html ). Les URL relatives seront automatiquement converties en URL absolues , soit à partir de SiteUrl fournis ou à partir de la base de l'URL demandée.
Les propriétés exposées par la classe SeoHelper ont toutes des attributs d'action-filtre correspondants sont disponibles pour les contrôleurs et les actions de contrôleur.
Par exemple, [PageTitle] peut être utilisé pour une action, si aucune logique n'est nécessaire pour la valeur, tandis que [SiteName] peut être utilisé pour un contrôleur. L'utilisation d'un autre Attribute [SiteName] sur une action remplacera celle utilisée sur le contrôleur.
Exemples d'attribut-usage:
[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);
}
}
Pour enregistrer le SEO-Helper en tant que service d'injection de dépendance, vous avez juste besoin d'utiliser la méthode d'extension fournie par le cadre dans la méthode ConfigureServices à l'intérieur Startup.cs :
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddSeoHelper();
}
}
SeoHelper Avec l'injection de dépendance configurée, vous pouvez accéder au SeoHelper -Class via l'injection du constructeur ou en accédant à l'objectif RequestServices dans le HttpContext .
Le framework fournit une méthode d'extension pour IServiceProvider pour obtenir l'instance SeoHelper :
public IActionResult Edit()
{
var seoHelper = HttpContext.RequestServices.GetSeoHelper();
// ...
}
Les aides à la balise sont disponibles pour rendre les valeurs définies via la classe SeoHelper . Ils exposent également des attributs pour remplacer ou définir les valeurs à la volée dans le balisage.
Exemples: <document-title /> rend le PageTitle et SiteName . <link-canonical /> rend l'URL canonique pour la page. <og-url /> rend l'URL définie pour la page et retombe à la valeur utilisée dans <link-canonical /> .
Les balises individuelles ne seront pas rendues s'il n'y a pas de données valides fournies pour eux , soit via les attributs de classe SeoHelper ou exposés.
Pour définir le lien de base par défaut de base de base de WebB et de base par défaut, qui peut être remplacé si nécessaire, la configuration lors de l'enregistrement du service pour l'injection de dépendance peut être utilisée:
public void ConfigureServices(IServiceCollection services)
{
// ...
services.AddSeoHelper(
siteName: "Website name",
siteUrl: "https://production-url.co/");
}
La prise en charge de Classic ASP.NET MVC est obsolète.