e muito importante);Crie tags title unicas para cada pagina do seu site;Faca um resumo preciso do conteudo da pagina na meta-tag description;Utilize descricoes unicas para cada pagina, para acompanhar o title.Use palavras-chave nas URLs de seu site,o mvc te ajuda muito nesse sentido.Forneca somente uma versao de URL para cada pagina/arquivo do site.Tenha uma hierarquia que seja facil de se percorrer e fazer com que o seu cliente nao tenha que procurar o local que ele esta;Tenha o recurso de migalha de pao (Geralmente e Inicio>Sessao>Produto) no site;Tenha um mapa do site em (X)HTML (uma secao do site) e uma versao em XML;Considere o que acontece quando alguem suprime parte da URL de uma pagina;Possua uma boa pagina de erro 404.sempre que possivel voce deve apontar para links que sao do seu propio site, assuntos referentes etc.Formate os links para que sejam facilmente distinguiveis do texto comum (isso e muito importante);Imagine que esta escrevendo uma manchete de jornal, ou alguma coisa bombastica;mostre a hierarquia daquele titulo com subtitulossempre esteja atras de fazer parcerias, troca de banners, isso e muito importante, pois o google entende que teu site e referencia quanto demais sites apontam para eleEm asp.net podemos suprir de forma programatica boa parte dessas praticas, isso e muito util para que voce tenha realmente um bom controle sobre isso. Nao faca em hardcode, que geralmente e falho pois voce vai acabar esquecendo uma pagina ou outra...Vamos passar agora nossos valores para o html, certifique-se que a tag Head esteja em Runat=Server.Page.Header.Title = "Estou na pagina XYZ " & DateTime.Now.ToString();Voce pode usar a master-page para isso, e procurar pelo elemento na sua pagina que herda da master-page e injetar de forma dinamica.Outra boa pratica e usar seu SiteMap para isso, na verdade eu acho ate mais aconselhavelprivate 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 > 0) { output = currentNode.Title + " :: " + output; } else { output = currentNode.Title; } currentNode = currentNode.ParentNode; } return output;}e no Page_Load da masterpage: const string DEFAULT_UNNAMED_PAGE_TITLE = "Untitled Page"; const string DEFAULT_PAGE_TITLE = "Welcome to my Website!!";if (string.IsNullOrEmpty(Page.Title) || Page.Title == DEFAULT_UNNAMED_PAGE_TITLE) { if (SiteMap.CurrentNode == null) { Page.Title = DEFAULT_PAGE_TITLE; } else { Page.Title = RecuperarTituloPelaNavegacao(); } }A descricao como falei acima ela e tao importante ser unica como o titulo, pois para o google e derivados voce tem um site com conteudo rico. Voce so precisa tomar cuidado para nao criar uma descricao muito longa, pois pode ser entendido como Spam. (Lembrando que na versao 4.0 do .NEt Framework isso ta ainda mais facil)Vamos a descricao:HtmlMeta metaDescription = (HtmlMeta) Page.Master.FindControl("metaDescription"); metaDescription.Content = "Descricao dessa pagina";O Sitemap e um arquivo, com extensao XML, que ira avisar os buscadores sobre todas as postagens, paginas, tags, categorias, etc, que seu site possui.Ele permite que os buscadores encontrem mais rapidamente o conteudo do seu site, sem que precisem ficar seguindo links.Vou dar continuidade a essas dicas, no proximo post falando mais de SiteMap.