Ajudadores para lidar com o Seo-Data para ASP.NET Web-Applications.
Fornece uma classe SeoHelper , que é facilmente acessível em Controllers , Views e através ActionFilterAttributes .
A classe SeoHelper expõe várias propriedades para obter ou definir vários dados relacionados a SEO:
LinkCanonical : obtém ou define o link canônico para a página da web.
SiteUrl : Gets ou define o URL principal para o site. Usado como base para o link canônico. MetaDescription : recebe ou define a meta-descrição para a página da web.
MetaKeywords : obtém ou define as meta-keywords para a página da web.
MetaRobots : recebe ou define as instruções de meta-robôs.
OgDescription : Gets ou define a descrição do gráfico aberto para a página da web. Volta ao valor na MetaDescription .
OgImage : recebe ou define a imagem do gráfico aberto para a página da web.
OgSiteName : Gets ou define o nome do gráfico aberto para a página da web. Volta ao valor em SiteName .
OgTitle : recebe ou define o título do gráfico aberto para a página da web. Volta ao valor em PageTitle .
OgType : recebe ou define o tipo de gráfico aberto para a página da web.
OgUrl : recebe ou define o URL do gráfico aberto para a página da web. Volta ao valor em LinkCanonical .
PageTitle : recebe ou define o título de uma página da web.
SiteName : recebe ou define o nome do site da Web. Usado como base para DocumentTitle . DocumentTitle : Obtém o título de documentos para uma página da web. Combina PageTitle e SiteName .
DocumentTitleFormat : obtém ou define o formato para o título de documentos. O valor padrão é {0} - {1} , onde {0} é o valor de PageTitle e {1} é o valor do SiteName .SetCustomMeta(string key, string value) : Adicione qualquer meta-tag personalizada.SetMetaRobots(bool index, bool follow) : Especifique as instruções para os robôs. Atualiza o valor para MetaRobots . LinkCanonical pode ser definido como URL absoluto ( https://example.com/section/page.html ), como um URL relativo ( /section/page.html ) ou usando o URL-Format Relativo App.NET ( ~/section.page.html ). Os URLs relativos serão convertidos automaticamente em URLs absolutos , seja do SiteUrl fornecido ou da base do URL solicitado.
As propriedades expostas pela classe SeoHelper têm todos os atributos de ação de ação correspondentes estão disponíveis para controladores e ações controladoras.
Por exemplo, [PageTitle] pode ser usado para uma ação, se nenhuma lógica for necessária para o valor, enquanto [SiteName] poderá ser usado para um controlador. O uso de outro [SiteName] -atribute em uma ação substituirá a usada no controlador.
Exemplos 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 o helper de SEO como um serviço para injeção de dependência, você só precisa usar o método de extensão fornecido pela estrutura no método ConfigureServices dentro Startup.cs :
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddSeoHelper();
}
}
SeoHelper Com a injeção de dependência configurada, você pode acessar a classe SeoHelper por meio da injeção de construtor ou acessar o Objeto RequestServices -Object no HttpContext .
A estrutura fornece um método de extensão para IServiceProvider para obter o SeoHelper -InStance:
public IActionResult Edit()
{
var seoHelper = HttpContext.RequestServices.GetSeoHelper();
// ...
}
Os ajudantes de tags estão disponíveis para renderizar os valores definidos através da classe SeoHelper . Eles também expõem atributos para substituir ou definir os valores em tempo real na marcação.
Exemplos: <document-title /> Renderiza o PageTitle e SiteName combinados. <link-canonical /> renderiza o URL canônico para a página. <og-url /> renderiza o URL definido para a página e volta ao valor usado em <link-canonical /> .
As tags individuais não serão renderizadas se não houver dados válidos fornecidos para eles , seja através dos atributos SeoHelper -class ou expostos.
Para definir o link canônico de base padrão e a base padrão do Webb-Aplicação, que pode ser substituído, se necessário, a configuração durante o registro do serviço para injeção de dependência pode ser usada:
public void ConfigureServices(IServiceCollection services)
{
// ...
services.AddSeoHelper(
siteName: "Website name",
siteUrl: "https://production-url.co/");
}
O suporte ao ASP.NET MVC clássico é descontinuado.