[PS
Além do blog, eu também estou agora utilizando o Twitter para
atualizações rápidas e para compartilhar links. Siga-me em:
twitter.com/scottgu]
Este é
o décimo terceiro post de uma série de posts que estou escrevendo sobre
o próximo lançamento do VS 2010 e .NET 4. O post de hoje aborda
algumas das melhorias que estão sendo feitas em torno de Search Engine
Optimization (SEO) na ASP.NET 4. SEO é conhecido nos países de língua
portuguesa como Otimização para Motores de Busca.
Por que SEO?
Search
engine optimization (SEO) é importante para qualquer site público. Uma
grande percentagem de tráfego para sites agora é proveniente dos
motores de busca, e melhorar a relevância das buscas para o seu site
levará a mais tráfego de usuários para o seu site a partir de
consultas/pesquisas feitas nos motores de busca (o que pode direta ou
indiretamente, aumentar a receita/lucro que você adquire através do seu
site).
Medindo o SEO do seu website com o SEO Toolkit (Kit de Ferramentas para SEO)
No mês passado eu escrevi sobre o SEO Toolkit
(em Inglês) que nós lançamos e que você pode usar para analisar o seu site tendo em vista a
correção de SEO. O kit fornece sugestões detalhadas sobre qualquer
problema de SEO que ele encontra.
Eu recomendo que você faça o
download e use a ferramenta em qualquer site público no qual você esteja
trabalhando. Isso tornará fácil detectar problemas de SEO que você
pode ter no site, e encontrar formas de otimizar o site ainda mais.
Melhorias para SEO na ASP.NET 4
A
ASP.NET 4 inclui muitos novos recursos de tempo de execução que podem
ajudar você a otimizar ainda mais seu site para SEO. Alguns destes
novos recursos incluem:
- Novas propriedades Page.MetaKeywords e Page.MetaDescription
- Novo suporte para roteamento de URL para ASP.NET Web Forms (ASP.NET Formulários Web)
- Novo método Response.RedirectPermanent()
A seguir estão detalhes sobre como você pode aproveitá-los para melhorar sua relevância nos motores de busca.
Propriedades Page.MetaKeywords e Page.MetaDescription
Uma
simples recomendação para melhorar a relevância de suas páginas nas
buscas/pesquisas é ter a certeza que você sempre gera "keywords"
(palavras-chave) e tags "description" (descrição) <meta>
relevantes dentro da seção <head> do seu código HTML. Por
exemplo:
Uma das boas melhorias com a ASP.NET 4 Web Forms é a adição de duas novas propriedades na classe Page: MetaKeywords e MetaDescription que torna a definição desses valores programaticamente dentro de suas classes de code-behind muito mais fácil e mais limpo.
O
controle de servidor <head> da ASP.NET 4 agora olha para estes
valores e irá utilizá-los quando for gerar a seção <head> das
páginas. Este comportamento é particularmente útil para situações em
que você está usando master-pages (páginas-mestres) dentro do seu site -
e a seção <head> acaba ficando em um arquivo .master que é
separado do arquivo .aspx que contém o conteúdo específico da página. Agora você pode definir as novas propriedades MetaKeywords e
MetaDescription na página .aspx. Seus valores serão automaticamente
exibidos pelo controle <head> dentro da página mestra.
A
seguir está um trecho de código simples que demonstra como definir essas
propriedades programaticamente dentro de um tratador de evento
Page_Load():
Além
de definir as propriedades Keywords e Description programaticamente no
seu arquivo de code-behind, você pode agora também declarativamente
defini-las dentro da diretiva @Page no topo de páginas .aspx. O trecho
abaixo demonstra como fazer isso:
Como
seria de esperar, se você definir os valores programaticamente eles
substituirão todos os valores definidos declarativamente na seção
<head> ou através do atributo @Page.
Roteamento de URL com ASP.NET Web Forms
O
roteamento de URL era uma capacidade que nós primeiramente introduzimos
com a ASP.NET 3.5 SP1, a qual já é usada dentro de aplicações ASP.NET
MVC para expor URLs limpas e mais amigáveis para os motores de busca no
padrão "web 2.0". O roteamento de URL permite que você configure uma
aplicação para aceitar URLs de requisição que não mapeiam para arquivos
físicos. Em vez disso, você pode usar roteamento para definir URLs que
são semanticamente significativas para os usuários e que podem ajudar no
que diz respeito à otimização de motores de busca (SEO).
Por exemplo, a URL para uma página tradicional que mostra as categorias de produtos pode ser semelhante a descrita a seguir:
http://www.mysite.com/products.aspx?category=software
Usando
o mecanismo de roteamento de URL na ASP.NET 4 você pode agora
configurar a aplicação para aceitar a seguinte URL para exibir a mesma
informação:
http://www.mysite.com/products/software
Com
a ASP.NET 4.0, URLs iguais as mostradas acima podem agora ser mapeadas
para classes de Controladores da ASP.NET MVC, bem como para páginas
ASP.NET baseadas em Formulários Web. Você pode até ter uma única
aplicação que contém ambos Web Forms e controladores MVC, e usar um
único conjunto de regras de roteamento para mapear URLs entre eles.
Por favor, leia o meu post anterior Roteamento de URL com ASP.NET 4 e Formulários Web
para aprender mais sobre como os novos recursos de roteamento de URL na
ASP.NET 4 suportam páginas baseadas em Web Forms (Formulários Web).
Método Response.RedirectPermanent()
É
muito comum em aplicações web mover páginas e outros conteúdos de um
lugar par outro ao longo do tempo, o que pode levar a um acúmulo de
links quebrados nos motores de busca.
Na ASP.NET, os
desenvolvedores têm frequentemente tratado os pedidos de URLs antigas
usando o método Response.Redirect() para programaticamente encaminhar o
pedido para a nova URL. No entanto, o que muitos desenvolvedores não
percebem é que o método Response.Redirect emite uma resposta HTTP 302
Found (redirecionamento temporário), o que resulta em uma viagem HTTP de
ida e volta ao/do servidor quando os usuários tentam acessar as URLs
antigas. Os motores de busca geralmente não seguirão múltiplos
saltos de redirecionamento - o que significa que usar um
redirecionamento temporário pode impactar negativamente o ranking de
suas páginas nos motores de busca. Você pode usar o kit de ferramentas SEO (em Inglês) para identificar locais dentro de um site onde você pode ter esse tipo de problema.
A ASP.NET 4 introduz um novo método de ajuda Response.RedirectPermanent(string url)
que pode ser usado para executar um redirecionamento usando uma
resposta HTTP 301 (movido permanentemente). Isso fará com que os
motores de busca e outros agentes reconheçam redirecionamentos
permanentes para armazenar e usar a nova URL que está associada com o
conteúdo. Isto irá permitir que seu conteúdo seja indexado e que o
ranking (classificação) de suas páginas nos motores de busca melhore.
A seguir está um exemplo de uso do novo método Response.RedirectPermanent() para redirecionar para uma URL especifica:
A ASP.NET 4 também apresenta novos métodos de ajuda Response.RedirectToRoute(string routeName) e Response.RedirectToRoutePermanent(string routeName)
que podem ser usados para redirecionar os usuários usando um
redirecionamento temporário ou permanente usando o mecanismo de
roteamento de URLs. Os trechos de código a seguir demonstram como
lançar redirecionamentos temporários e permanentes para rotas nomeadas
(que recebem um parâmetro de categoria), registradas no sistema de
roteamento de URLs.
Você pode utilizar as rotas e métodos acima para URLs baseadas em ASP.NET Web Forms e ASP.NET MVC.
Resumo
A
ASP.NET 4 inclui muitas melhorias para antigos recursos que tornam mais
fácil construir sites públicos que possuem ótimo SEO. Quando
combinados com SEO Toolkit (em Inglês),
você deverá ser capaz de usar esses recursos para aumentar o tráfego de
usuários para o seu site - e esperançosamente aumentar a receita direta
ou indireta que você ganha com a ajuda deles.
Espero que ajude,
Scott
Texto
traduzido do post original por Leniel Macaferi.