SEO para ASP.NET 4.0 – Melhorias para o Básico de SEO

Ao longo de todo o tempo trabalhando com SEO, encontrei diversos sites desenvolvidos em ASP.NET, que por vezes apresentavam os mesmos problemas acerca de sua otimização e que, por vezes, os desenvolvedores dos sites não sabiam como resolver ou passavam por dificuldades para implementar uma solução.

Com o aumento incontestável da importância do SEO para um site, os desenvolvedores do ASP.NET implementaram novas funcionalidades para a versão 4 do produto, a fim de facilitar a aplicação de algumas atividades básicas de SEO, tornando o ASP.NET mais amigável ao processo de otimização.

SEO ASP.net

Conforme anunciado pelo ScottGu’s Blog, as novidades em SEO são:

  • Nova propriedade Page.MetaKeywords
  • Nova propriedade Page.MetaDescription
  • Suporte a URLs Amigáveis
  • Novo método Response.RedirectPermanent()

Page.MetaDescription e Page.MetaKeywords

Obviamente, essas propriedades servem para facilitar a otimização individual de meta description e meta keywords para as páginas de um site. Um exemplo de código com o controlador Page_Load:

void Page_Load(object sender, EventArgs e){
Page.Title = "Título Otimizado da Página";
Page.MetaDescription = "Campo para meta description específica de uma página";
Page.MetaKeywords = "insira,as,keywords,relevantes,da,página,aqui";
}

Também, os valores para meta description e meta keywords podem ser determinados direto no código fonte de um arquivo aspx:

<%@ Page Title = "Título Otimizado da Página"
Description = "Campo para meta description específica de uma página"
Keywords = "insira,as,keywords,relevantes,da,página.aqui"
MasterPageFile = "~/Site.Master"
CodeBehind = "paginaX.aspx.cs"
Inherits = "WebApplication1.pagina" %>

Especialmente no caso de meta keywords, essa melhoria na implemetação de meta tags em páginas ASP.NET é tardia, uma vez que todas Search Engines anunciaram que não consideram meta keywords como fator de rankeamento. Para o uso de meta description, essa propriedade será bem útil, já que esta meta tag ainda tem um importante papel no desempenho de um site em SERPs.

Suporte a URLs Amigáveis no ASP.NET

Este é um problema bastante comum em sites ASP.NET: na maior parte dos casos, as URLs são sobrecarregadas de parâmetros, normalmente recebendo valores numéricos (e não palavras – keywords), o que pode causar problemas com conteúdo duplicado (quando os parâmetros são escritos em uma ordem diferente), dificultam o entendimento da URL e não agregam valor semântico para Search Engines.

O ASP.NET 4 conta com a URL Routing Engine, que visa fazer o mapeamento de URLs amigáveis. Tipicamente,  uma URL tem o seguinte formato:

http://www.site.com/categoria.aspx?id=3339

A URL Routing Engine vai permitir que URLs amigáveis sejam mapeadas para suas versões não-amigáveis, ou seja, uma URL:

http://www.site.com/categoria/eletronicos

Será mapeada para a versão não-amigável e seu conteúdo carregado normalmente. Resta validar questões como redirecionamento da versão não-amigável para a amigável e a possibilidade de acesso do conteúdo via URL não-amigável – para evitar conteúdo duplicado.

Método Response.RedirectPermanent()

O redirecionamento em ASP.NET normalmente é realizado com o método Respose.Redirect(), mas existe um problema: este método retorna o código 302, indicando um redirecionamento temporário, o que não é o quadro ideal para SEO.

O novo método Response.RedirectPermanent() do ASP.NET 4 resolve esta questão respondendo com código 301, redirecionamento permanente, uma indicação de mudança de URL:

Response.RedirectPermanent("nova/url.aspx");

Outros 2 novos métodos também entram para tratar redirecionamentos:

//Redirecionamento 302:
Response.RedirectToRoute("Categorias", new { category = "categoria1" } )
//Redirecionamento 301
Response.RedirectToRoutePermanent("Categorias", new { category = "categoria1" } )

SEO com ASP.NET

Como disse no início do artigo, as novidades no ASP.NET 4 resolvem questões básicas de SEO. Considerando o tempo de vida e importância de SEO para o desempenho de um site, essas novidades chegam atradas para os desenvedores de websites. São questões já muito debatidas, mas que agora estão facilitadas.

Por fim, convido os desenvolvedores que utilizam o ASP.NET para seus comentários e impressões. Até a próxima!

Receba Novidades

Insira seu email para receber novidades e dicas exclusivas da Agência Mestre!
Divulgue este artigo

18 Comentários para “SEO para ASP.NET 4.0 – Melhorias para o Básico de SEO”

  1. Wallison

    Muito bom o artigo! Trabalho com ASP.NET, e sempre tive dificuldades em criar sites com uma url amigável. Já uso o URL routing a algum tempo no ASP.NET MVC, já imaginava que a microsoft iria colocar isso no ASP.NET.

    Responder
  2. Wallison

    Muito bom o artigo! Trabalho com ASP.NET e sempre tive dificuldades em criar sites com uma url amigável. Já uso o URL routing a algum tempo com o ASP.NET MVC, já imaginava que a microsoft iria implementar essa funcionalidade no ASP.NET. Ainda não tive contato com o ASP.NET 4.0, mas espero bastante melhorias.

    Responder
  3. Danilo Neto

    Acho que para obter páginas otimizadas para SEO o ASP.NET MVC é o mais indicado. Já fiz site utilizando ele e deu resultado legal e com menos dor de cabeça do que o ASP.NET apenas.

    Responder
  4. Sergio Postarek

    As urls amigáveis já podiam ser feitas há algum tempo implementando uma classe derivada da interface IHttpHandler e mapeando no web.config uma extensão de arquivo ou mesmo um diretório inteiro para ela.

    Responder
    • Alexsandro

      Ja ouvi falar mesmo.. mas dizem que na prática nao é tao simples assim. Tem algum documento falando de como fazer isto?

      Valew.

      Responder
      • Sergio Postarek

        Cria uma class como a do exemplo abaixo:

        public class ConteudoHandler : IHttpHandler
        {
        public ConteudoHandler()
        {
        }

        public void ProcessRequest(HttpContext context)
        {
        string alias = System.IO.Path.GetFileName(context.Request.RawUrl.ToString());

        var conteudo = MetodoQueBuscaConteudo(alias);
        if (conteudo != null)
        {
        HttpContext.Current.Server.Transfer(“/conteudo.aspx?id” + conteudo.Id);
        }
        else
        {
        HttpContext.Current.Server.Transfer(“/Erro/404.aspx”);
        }
        }

        public bool IsReusable
        {
        get
        {
        return true;
        }
        }
        }

        E no web.config vc coloca a seguinte entrada:

        Dessa maneira qualquer coisa que vc chame em /conteudo/meu-conteudo-qualquer vai redirecionar de forma transparente para /conteudo.aspx?id=1234

        Responder
        • Sergio Postarek

          Oooops faltou o sinal de igual depois de ‘?id’ na linha abaixo. Segue a correção.

          HttpContext.Current.Server.Transfer(”/conteudo.aspx?id=” + conteudo.Id);

          Responder
        • Frank Marcel

          Sergio, faltou o código do web.config.
          Se você utilizar html, separe os caracteres ou eles não vão aparecer. O WordPress não permite todo tipo de html.

          Obrigado pelas informações!
          Enriqueceu, e muito, o artigo!

          Abraços!

          Responder
        • Sergio Postarek

          Ultima tentativa do web.config:

          <system.webServer>
          <handlers>
          <add name=”ConteudoHandler” path=”conteudo/*” verb=”*” type=”NamespaceQualquer.ConteudoHandler” resourceType=”Unspecified” preCondition=”integratedMode” />
          </handlers>
          </system.webServer>

          Responder
  5. Luis

    Não é tardia as mudanças. Acho que veio em boa hora.
    O ASP.NET tem uma arquitetura muito boa para desenvolvimento e essas novas funcionalidades, aliadas as demais do ASP.NET 4, coloca a tecnologia com grande diferencial para desenvolvimento.

    Responder
    • Frank Marcel

      Olá Luis, disse que são tardias pois resolvem questões básicas de SEO, questões que já são discutidas há anos, e somente agora o ASP.NET facilitou a vida dos desenvolvedores com código simples e nativo da linguagem.

      Responder
  6. Carlos Rodrigues

    Boa noite, sou programador PHP, mas estou tendo que implementar técnicas básicas de SEO em um site feito em Asp.net, o Google faz alguma diferenciação de PHP para Asp.net? previlgégia a utilização do PHP?

    valew obrigado!

    Responder
    • Frank Marcel

      Se colocarmos ambas linguagens em condições equivalentes (ambas programadas com qualidade, ambas em servidores de alta performance, etc.), não faz diferença usar uma ou outra.

      Responder

Deixar um comentário

  • (não será publicado)

XHTML: Você pode usar estas tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>