3 dicas imperdíveis com htaccess para você evitar conteúdo duplicado em seu site

Zebra Martyn Madagascar

  • 30 de out de 2014
  • 1413 Visualizações
  • 6 Comentários

Otimizar um site para evitar o conteúdo duplicado é uma questão crucial para os especialistas em SEO.

Mas, este tema também deve ter a sua atenção como desenvolvedor web. Se liga!

Muitos afirmam que o conteúdo duplicado é sempre um vilão na questão de otimização de páginas web. Mas, eu não irei entrar neste mérito agora, afinal, o foco do post é apenas tratar de algumas técnicas para evitar o conteúdo duplicado e não da teoria em si.

Se você tiver curiosidade, poderá acessar o site da Agência Mestre e ver um conteúdo completo sobre conteúdo duplicado.

Para que seja possível a implementação destas dicas é necessário que o seu servidor Apache já possua o módulo mod_rewrite ativado.

mod_rewrite e o .htaccess são usados em conjunto para que seu site tenha a possibilidade de apresentar URLs semânticas e amigáveis ao público.

Antigamente era mais comum encontrar sites que possuem endereços comowww.meusite.com.br/index.php?id=1. Hoje em dia, isso já está totalmente em desuso. É muito mais interessante utilizar um endereço assim: www.seusite.com.br/meu-primeiro-post, concorda?

Bem, considerando que você já fez as configurações necessárias para que o arquivo .htaccess funcione corretamente, apresento as minhas dicas utilizadas no meu dia-a-dia.

1. Retirar barra (/) no final da URL

Um endereço www.meusite.com.br e www.meusite.com.br/ são diferentes e se possuírem o mesmo conteúdo, é sim conteúdo duplicado. Então, para evitar isso utilizo o seguinte código para que sempre retire a barra no final do endereço.

  1. RewriteCond %{HTTP_HOST} !^\. [NC]
  2. RewriteRule ^(.+[^/])/$ http://%{HTTP_HOST}/$1 [R=301,L]

2. Inserir o www, caso não possua

Um endereço www.meusite.com.br e meusite.com.br são, também, endereços diferentes e é considerado como conteúdo duplicado caso eles exibam o mesmo conteúdo. Então, para evitar isso utilizo o seguinte código:

  1. RewriteCond %{HTTP_HOST} !^www\.
  2. RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

3. Retirar index.php, caso exista

Se você acessar um site com www.meusite.com.br e www.meusite.com.br/index.php e ambos exibirem o mesmo conteúdo, também será considerado como conteúdo duplicado. Neste caso, o problema é resolvido da seguinte forma:

  1. RewriteCond %{THE_REQUEST} ^.*/index.php
  2. RewriteRule ^(.*)$ / [R=301,L]

Pronto! Assim você garante que seu projeto sempre irá ser acessado sem barra no final (/), sempre com www e evita que a home seja acessada via /index.php.

Aqui, segue o código completo do meu .htaccess utilizados na maioria dos meus projetos.

  1. <IfModule mod_rewrite.c>
  2. RewriteEngine on
  3.  
  4. #redirect if exist end slash
  5. RewriteCond %{HTTP_HOST} !^\. [NC]
  6. RewriteRule ^(.+[^/])/$ http://%{HTTP_HOST}/$1 [R=301,L]
  7.  
  8. #redirect if does not exist www
  9. RewriteCond %{HTTP_HOST} !^www\.
  10. RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
  11.  
  12. #redirect if exist index.php
  13. RewriteCond %{THE_REQUEST} ^.*/index.php
  14. RewriteRule ^(.*)$ / [R=301,L]
  15. </IfModule>

Gostou? Compartilhe. Tem uma idéia melhor? Comente abaixo e ajude a deixar o post mais atrativo!

TAGS: htaccess, conteudo duplicado, mod_rewrite, servidor apache, website, tiagomatosweb

 

http://www.tiagomatos.com/blog/3-dicas-imperdiveis-com-htaccess-para-voce-evitar-conteudo-duplicado-em-seu-site

Deixe um comentário