ASP.NET WebアプリケーションのSEO-DATAを処理するためのヘルパー。
Controllers 、 Views 、およびActionFilterAttributesで簡単にアクセスできるSeoHelper -Classを提供します。
SeoHelper -Classは、複数のSEO関連データを取得または設定するために複数のプロパティを公開します。
LinkCanonical :Webページの正規リンクを取得または設定します。
SiteUrl :WebサイトのメインURLを取得または設定します。標準リンクのベースとして使用されます。 MetaDescription :Webページのメタ説明を取得または設定します。
MetaKeywords :Webページのメタキーワードを取得または設定します。
MetaRobots :Meta-Robots命令Webページを取得または設定します。
OgDescription :Webページのオープングラフ説明を取得または設定します。 MetaDescriptionの価値に戻ります。
OgImage :Webページの開いたグラフ画像を取得または設定します。
OgSiteName :Webページの開いたグラフサイト名を取得または設定します。 SiteNameで価値に戻ります。
OgTitle :Webページの開いたグラフタイトルを取得または設定します。 PageTitleの価値に戻ります。
OgType :Webページの開いたグラフタイプを取得または設定します。
OgUrl :Webページの開いたグラフURLを取得または設定します。 LinkCanonicalの価値に戻ります。
PageTitle :Webページのタイトルを取得または設定します。
SiteName :Webサイトの名前を取得または設定します。 DocumentTitleのベースとして使用されます。 DocumentTitle :Webページのドキュメントタイトルを取得します。 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 )として設定するか、 ASP.NETのアプリ関連URL-Format ( ~/section.page.html )を使用して設定できます。相対URLは、提供されたSiteUrlまたは要求されたURLのベースから、絶対URLに自動的に変換されます。
SeoHelper -Classによって暴露されるプロパティはすべて、対応するアクションフィルターアトリビュートを持っています。
たとえば、 [PageTitle] 、値にロジックが必要ない場合はアクションに使用できますが、 [SiteName]コントローラーに使用できます。別の[SiteName]を使用すると、アクションにアトリブすると、コントローラーで使用されているものがオーバーライドされます。
属性-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);
}
}
SEO-Helperを依存噴射のためのサービスとして登録するには、 Startup.cs内のConfigureServicesメソッドでフレームワークの提供された拡張法を使用する必要があります。
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddSeoHelper();
}
}
SeoHelper -Classへのアクセス構成された依存関係インジェクションを使用すると、 Constructor -Injectionを介してSeoHelper -Classにアクセスするか、 HttpContextのRequestServices -objectにアクセスできます。
このフレームワークは、 SeoHelper -instanceを取得するためのIServiceProviderの拡張メソッドを提供します。
public IActionResult Edit()
{
var seoHelper = HttpContext.RequestServices.GetSeoHelper();
// ...
}
タグヘルパーは、 SeoHelper -Classを介して設定された値をレンダリングするために利用できます。また、属性を公開して、マークアップ内のその場で値をオーバーライドまたは設定します。
例: <document-title />組み合わせたPageTitleとSiteNameをレンダリングします。 <link-canonical />ページのCanonical URLをレンダリングします。 <og-url />ページのセットURLをレンダリングし、 <link-canonical />で使用される値に戻ります。
SeoHelper -ClassまたはExposed属性を介して、有効なデータが提供されていない場合、個々のタグはレンダリングされません。
必要に応じてオーバーライドできるWebb-ApplicationのデフォルトのベースタイトルおよびデフォルトのベースCanonicalリンクを設定するには、依存噴射のためのサービスの登録中の構成を使用できます。
public void ConfigureServices(IServiceCollection services)
{
// ...
services.AddSeoHelper(
siteName: "Website name",
siteUrl: "https://production-url.co/");
}
古典的なASP.NET MVCのサポートは非推奨です。