[SEO] Boas práticas para indexação de um site ASP.NET de forma dinâmica - Parte 1
Autor: Matheus Veras | Publicado: 2011-05-19T07:02:00-07:00


Olá Pessoal, tornar o site mais atraente para os mecanismo de busca não é uma tarefa tão complexa assim e o asp.net pode te ajudar muito nesse sentido
vou começar falando de cara algumas boas praticas que você deve ter em seu site caso ele tenha &nbsp;alguma ambição na internet...
A primeira de todas é ter uma conta no&nbsp;Google&nbsp;Analytics, e fazer com o que seu site tenha um monitoramento&nbsp;confiável&nbsp;e com informações de trafego relevante, alem de criar metas como numero de visitas, e passos que a pessoa tem que fazer em seu site, como um cadastro.


Google Analytics
Preste atenção nesses pontos, pois são eles que vão ajudar seu site se tornar relevante:Descreva o titulo com precisão o que página representa e sua função, mas use poucos caracteres (isso é muito importante);
Crie tags “title” únicas para cada página do seu site;
Faça um resumo preciso do conteúdo da página na meta-tag description;
Utilize descrições únicas para cada página, para acompanhar o title.
Use palavras-chave nas URLs de seu site,o mvc te ajuda muito nesse sentido.
Forneça somente uma versão de URL para cada página/arquivo do site.
Tenha uma hierarquia que seja fácil de se “percorrer” e fazer com que o seu cliente não tenha que procurar o local que ele esta;
Tenha o recurso de migalha de pão (Geralmente é Inicio&gt;Sessão&gt;Produto) no site;
Tenha um mapa do site em (X)HTML (uma seção do site) e uma versão em XML;
Considere o que acontece quando alguém suprime parte da URL de uma página;
Possua uma boa página de erro 404.
sempre que&nbsp;possível&nbsp;você deve apontar para links que são do seu propio site, assuntos referentes etc.
Formate os links para que sejam facilmente distinguíveis do texto comum (isso é muito importante);
Imagine que está escrevendo uma manchete de jornal, ou alguma coisa bombastica;
mostre a hierarquia daquele titulo com&nbsp;subtítulos
sempre esteja atrás de fazer parcerias, troca de banners, isso é muito importante, pois o google entende que teu site é referencia quanto&nbsp;demais sites apontam para ele


Em asp.net podemos suprir de forma programática boa parte dessas praticas, isso é muito útil para que você tenha realmente um bom controle sobre isso.
&nbsp;
Não faça em hardcode, que geralmente é falho pois você vai acabar esquecendo uma pagina ou outra...

Vamos passar agora nossos valores para o html, certifique-se que a &nbsp;tag Head esteja em Runat=Server.
Page.Header.Title = "Estou na pagina XYZ " &amp; DateTime.Now.ToString();Você pode usar a&nbsp;master-page&nbsp;para isso, e procurar pelo elemento na sua pagina que herda da&nbsp;master-page e injetar de forma dinâmica.


Outra boa pratica é usar seu SiteMap para isso, na verdade eu acho ate mais&nbsp;aconselhável

private string RecuperarTituloPelaNavegacao()
{
 if (SiteMap.CurrentNode == null) {
  throw new ArgumentException("currentNode cannot be Nothing");
 }
 string output = string.Empty;
 SiteMapNode currentNode = SiteMap.CurrentNode;
 while (currentNode != null) {
  if (output.Length &gt; 0) {
   output = currentNode.Title + " :: " + output;
  } else {
   output = currentNode.Title;
  }
  currentNode = currentNode.ParentNode;
 }
 return output;
}e no Page_Load da masterpage:


&nbsp; &nbsp; &nbsp; &nbsp;const string DEFAULT_UNNAMED_PAGE_TITLE = "Untitled Page";
&nbsp; &nbsp; &nbsp;const string &nbsp; &nbsp;DEFAULT_PAGE_TITLE = "Welcome to my Website!!";
if (string.IsNullOrEmpty(Page.Title) || Page.Title == DEFAULT_UNNAMED_PAGE_TITLE) { if (SiteMap.CurrentNode == null) { &nbsp; &nbsp; &nbsp;Page.Title = DEFAULT_PAGE_TITLE; } else { &nbsp; &nbsp; &nbsp;Page.Title =&nbsp;RecuperarTituloPelaNavegacao();&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp;}A descrição como falei acima ela é tão importante ser unica como o titulo, pois para o google e derivados você tem um site com&nbsp;conteúdo&nbsp;rico. Você só precisa tomar cuidado para não criar uma descrição muito longa, pois pode ser entendido como Spam. (Lembrando que na versão 4.0 do .NEt Framework isso ta ainda mais&nbsp;fácil)


Vamos a descrição:
HtmlMeta metaDescription = (HtmlMeta)&nbsp;Page.Master.FindControl("metaDescription");&nbsp;&nbsp;metaDescription.Content = "Descrição dessa pagina";O Sitemap é um arquivo, com extensão XML, que irá avisar os buscadores sobre todas as postagens, páginas, tags, categorias, etc, que seu site possui.


Ele permite que os buscadores encontrem mais rapidamente o conteúdo do seu site, sem que precisem ficar seguindo links.


Vou dar continuidade a essas dicas, no&nbsp;próximo&nbsp;post falando mais de SiteMap.