Gustavo Vedotti

ASP.Net 4.0 e SEO

Posted in .net 4.0, asp.net, SEO by agvedotti on 02/23/2010

SEO (whatta hell)?

Primeiramente: SEO? Mas, o que é SEO? Eu também me fiz esta pergunta à alguns meses atrás, quando a equipe de dev. da qual faço parte teve a tarefa de aprimorar e aplicar alguns conceitos de SEO em um grande site de e-commerce nacional. A idéia é bem interessante e vem se popularizando cada vez mais por uma razão bem simples: quem está na web quer ser encontrado.

Por exemplo: Manuel é um padeiro/empresário/programador e sua padaria (Padaria do Portuga) possui um website de e-commerce de venda de roscas de coco. Como padeiro, Manuel quer fazer as melhores roscas, nunca deixando que elas queimem; como empresário, quer que seu site seja visto por todos os amantes de rosca de coco, que quando uma pessoa digitar no google ‘rosca de coco’ ou ‘rosca gostosa de padaria’ seu site seja o primeiro nos resultados, ou pelo menos esteja entre os primeiros; e como programador, ele vai utilizar técnicas e ações de SEO em seu site para que isso aconteça. :)

ASP.Net 4.0

Com o ASP.Net 4.0, a Microsoft trouxe algumas features para auxiliar a utilização de SEO em sites, como por exemplo:

Novas propriedades: Page.MetaKeywords e Page.MetaDescription

Keywords e Descriptions são Meta Tags utilizadas pelas máquinas de busca (google, yahoo, bing, etc.) para achar e "indexar" as páginas de seu site. Abaixo podemos ver um exemplo de como o Manuel deixou fixo na Default.aspx do site de sua padaria:

<head>
    <title>Padaria Portuga – Home Page</title>
    <meta name="description" content="As melhores roscas de coco de São Paulo" />
    <meta name="keywords" content="roscas de coco, doce, rosca, coco, padaria" />
</head>

Em páginas mais complexas, que ele precisa que o conteúdo das Meta Tags seja dinâmico, ele teve que suar um pouco a camisa (de leve) para fazer. Em sua MasterPage, ele criou um método responsável por escrever as Meta Tags:

public void WriteMetaTag(string metaTagKey, string metaTagValue)

{

    HtmlMeta meta = new HtmlMeta();

    meta.Name = metaTagKey;

    meta.Content = metaTagValue;

    this.Controls.Add(meta);

}

E na página DetalheDoce.aspx, por exemplo, ele fez a chamada ao método de sua MasterPage:

private void SetMetaTag(DoceBE doce)

{

    ((MasterPage)this.Master).WriteMetaTag("description", doce.MetaDescription);

    ((MasterPage)this.Master).WriteMetaTag("keywords", doce.MetaKeyWords);

}

Antes do lançamento do ASP.Net 4.0 era assim que o Manuel fazia em seu site. Agora as coisas ficaram mais fáceis, o código está mais simples, mais limpo e o Manuel está mais feliz! Agora, ele precisa apenas usar as novas propriedades em suas páginas:

private void SetMetaTag(DoceBE doce)

{

    this.Title = "Padaria Portuga – " + doce.MetaDescription;

    this.MetaDescription = doce.MetaDescription;

    this.MetaKeywords = doce.MetaKeyWords;

}

Essas propriedades também podem ser definidas na diretiva @Page do .aspx.  E, como funcionam essas propriedades? O elemento head da MasterPage ao ser processado, identifica as propriedades da página e adiciona em si o conteúdo que foi inserido nelas. Goooood! Sobre a segunda nova feature (URL Routing para ASP.Net Web Forms), fica para um outro post.

Espero que tenham gostado das dicas, e… Por hoje é só pessoal.

%d bloggers like this: