Helfer für die Behandlung der SEO-Daten für ASP.NET-Webanwendungen.
Bietet eine SeoHelper -Klasse, die bei Controllers , Views und durch ActionFilterAttributes leicht zugänglich ist.
Die SeoHelper -Klasse enthält mehrere Eigenschaften, um mehrere SEO -bezogene Daten zu erhalten oder festzulegen:
LinkCanonical : Holt oder legt den kanonischen Link für Webseiten ab oder legt sie fest.
SiteUrl : Holt oder legt die Haupt-URL für die Website ab. Wird als Basis für den kanonischen Glied verwendet. MetaDescription : Holt oder legt die Meta-Deschreibung für die Webseite ab oder setzt oder legt sie fest.
MetaKeywords : Holt oder legt die Meta-Schlüsselwörter für Webseiten ab oder legt sie fest.
MetaRobots : Holt oder setzt Meta-Robots-Anweisungen Web-Page.
OgDescription : Holt oder legt die offene Grafikbeschreibung für die Webseite ab oder legt sie fest. Fällt auf den Wert in MetaDescription zurück.
OgImage : Holt oder legt das offene Diagrammbild für die Webseite ab oder legt sie fest.
OgSiteName : Erhält oder legt den Open-Graph-Site-Namen für die Webseite ab oder legt sie fest. Fällt auf den Wert in SiteName zurück.
OgTitle : Holt oder legt den Open-Graph-Titel für die Webseite ab oder legt sie fest. Fällt in PageTitle zurück.
OgType : Ruft oder legt den offenen Graphentyp für die Webseite ab oder legt sie fest.
OgUrl : Holt oder legt die offene Grafik-URL für Webseiten ab oder legt sie fest. Fällt in LinkCanonical zurück.
PageTitle : Holt oder setzt den Titel für eine Webseite.
SiteName : Holt oder legt den Namen für die Website ab. Wird als Basis für DocumentTitle verwendet. DocumentTitle : Holt sich das Dokumenttitel für eine Webseite. Kombiniert PageTitle und SiteName .
DocumentTitleFormat : Holt oder legt das Format für das Dokumenttitel ab. Der Standardwert ist {0} - {1} , wobei {0} der Wert von PageTitle ist und {1} der Wert von SiteName .SetCustomMeta(string key, string value) : Fügen Sie alle benutzerdefinierten Meta-Tags hinzu.SetMetaRobots(bool index, bool follow) : Geben Sie die Anweisungen für Roboter an. Aktualisiert den Wert für MetaRobots . LinkCanonical kann als absolute URL ( https://example.com/section/page.html ) als relative URL ( /section/page.html ) oder mit ASP.NETs App-Relative URL-Format ( ~/section.page.html ) festgelegt werden. Relative URLs werden automatisch in absolute URLs konvertiert , entweder von der bereitgestellten SiteUrl oder von der Basis der angeforderten URL.
Die von der SeoHelper -Klasse aufgedeckten Eigenschaften haben entsprechende Aktion-Filter-Attributes für Controller und Controller-Actions.
Beispielsweise kann [PageTitle] für eine Aktion verwendet werden, wenn für den Wert keine Logik benötigt wird, während [SiteName] für einen Controller verwendet werden kann. Die Verwendung eines anderen [SiteName] -Attribute auf eine Aktion überschreibt den auf dem Controller verwendeten.
Beispiele für die Attributnutzung:
[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);
}
}
So registrieren Sie den SEO-Helper als Service für die Abhängigkeitsinjektion, Sie müssen nur die bereitgestellte Erweiterung des Framework in der Methode ConfigureServices innerhalb von Startup.cs verwenden:
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddSeoHelper();
}
}
SeoHelper -Klasse Mit der konfigurierten Abhängigkeitsinjektion können Sie durch Konstruktorinjektion oder durch den Zugriff auf das RequestServices -objekt im HttpContext auf die SeoHelper -Klasse zugreifen.
Das Framework bietet einen Erweiterungs -Methode für IServiceProvider , um die SeoHelper -Instanz zu erhalten:
public IActionResult Edit()
{
var seoHelper = HttpContext.RequestServices.GetSeoHelper();
// ...
}
Tag -Helfer stehen zur Verfügung, um die Werte durch die SeoHelper -Klasse zu rendern. Sie setzen auch Attribute aus, um die Werte im Markup zu überschreiben oder festzustellen .
Beispiele: <document-title /> rendert den kombinierten PageTitle und SiteName . <link-canonical /> rendert die kanonische URL für die Seite. <og-url /> rendert die festgelegte URL für die Seite und fällt wieder dem Wert zurück, der in <link-canonical /> verwendet wird.
Einzelne Tags werden nicht gerendert, wenn keine gültigen Daten für sie vorgesehen sind , weder über die SeoHelper -Klasse noch über exponierte Attribute.
So setzen Sie den Standard-Basistit- und Standard-kanonischen Link der Webb-Application, der bei Bedarf überschrieben werden kann, die Konfiguration während der Registrierung des Dienstes für die Abhängigkeitsinjektion verwendet werden:
public void ConfigureServices(IServiceCollection services)
{
// ...
services.AddSeoHelper(
siteName: "Website name",
siteUrl: "https://production-url.co/");
}
Die Unterstützung des klassischen ASP.NET MVC ist veraltet.