A matéria de hoje tem por finalidade falar sobre “canonizar URL”.
Se você está começando em programação, pode até dizer: O que isso quer dizer? Nem sei o que é “canonizar”…
Bem… há um tempo atrás, motores de buscas como o Google, Yahoo, entre várias outras ferramentas, passaram a penalizar web sites com conteúdos duplicado.
Entendendo Um Pouco Mais Sobre Canonizar URL
Não precisa ser um expert para saber que existem várias formas de se acessar uma página inicial, correto?
Usando um browser (como o Internet Explorer ou o Firefox), poderíamos acessar nosso site de várias maneiras, tais como:
Se você testar algumas estas opções, verá que todas as opções redirecionará à página inicial do site!
Bem… como usuário, acredito que é algo comum; Cada um acessa o site que tem interesse em visitar como quiser, concorda comigo?
É… infelizmente a realidade é outra, pois os buscadores ao acessarem os links, verão o conteúdo redundante, caracterizando-os como duplicados.
As chances do site ser visto de forma negativa (pois esta é uma técnica “Black Hat”), serão grandes.
É… alguns desenvolvedores utilizam esta técnica de forma maliciosa, outros nem sabem que correm algum risco!
Bem… como fazemos para evitar este tipo de transtorno?
Canonizar URL Com .htaccess
Se você já acessou um web site (principalmente hospedado em Servidor Linux), certamente já viu este arquivo. correto?
Muitos o deixam de lado, por não saberem como e pra que usar!
Veja abaixo um pequeno exemplo de como você pode usar!
Exemplo:
RewriteCond %{HTTP_HOST} ^(webmaster\.pt)(:80)? [NC]
RewriteRule ^(.*) https://www.webmaster.pt/$1 [R=301,L]
OBS.: Postando o conteúdo acima, você já consegue solucionar o problema de redirecionamento!
Vamos agora verificar um exemplo completo com outras opções?
Exemplo Completo:
deny from all
// ——- Autenticação com senha ativado ———–//
AuthUserFile /site/.htpasswd
AuthGroupFile /dev/null
AuthName “Please enter your ID and password”
AuthType Basic
require valid-user
//——- páginas de erro padrão ———–//
ErrorDocument 400 erro400.html
ErrorDocument 401 erro401.html
… xxx erroXXX.html
ErrorDocument 504 erro504.html
ErrorDocument 505 erro505.html
RewriteEngine on
//———– Evitando Conteúdo duplicado ———–//
RewriteCond %{HTTP_HOST} ^(webmaster\.pt)(:80)? [NC]
RewriteRule ^(.*) https://www.webmaster.pt/$1 [R=301,L]
//———– Página Padrão ———–//
DirectoryIndex página default.html
//———– Redirecionamento Permanente ———–//
Redirect permanent www.retirardaqui.com.br www.moverparaesse.com.br
//———– Redirecionamento Temporário ———–//
Redirect temp www.sairtemporario.com.br www.redirecionartemporario.com.br
order deny,allow
//——— Páginas permitidas ————-//
allow from www.enderecopermitido.com.br
//——— Páginas Bloqueadas ————-//
deny from www.enderecobloqueado.com.br
Bem… Como você pode verificar acima, o .htaccess não é dificil de implementar!
Claro, como programador web, você tem outras opções!
Vamos criar uma usando o PHP?
Canonizar URL Com PHP
Na função abaixo, usaremos a função $_SERVER que deverá trazer o nome do Servidor.
Só para você entender:
No exemplo abaixo pegamos o nome do Servidor, usaremos o comando substring (para validar se o www existe), em seguida, moveremos o registro para o “HTTP/1.1 301” e finalizamos efetuando um redirecionamento (forçando o reconhecimento através da variável $_SERVER[REQUEST_URI]).
// verifica se existe o www
if (substr($_SERVER["SERVER_NAME"],0,4) != "www."){
//se os 3 www não existirem, o script redirecionará através do Header para o endereço a seguir.
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www." . $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"]);
}
Prático, não?
Faça uso deste script…
Se o visitante de seu site fizer o acesso sem usar o “www”, ele simplesmente redirecionará o endereço para um formato específico.
Desta forma você conseguirá não duplicar o conteúdo de seu site e customizá-lo um pouco mais para trabalhar com os buscadores.
Ficamos por aqui com mais uma matéria de PHP com relevância em termos de SEO. Espero ter com este conteúdo lhe ajudado em algo.
6 Responses
Ótimo post, sanou diversas dúvidas que tinha sobre htaccess! Abs
Olá Pedro! Também achei este tutorial do Quemuel interessante. Um Abraço! Rui Soares
Bom post. Sinceramente, nunca tinha pensado nisso.
Boa dica
Poxa cara sou muito leigo no assunto!! não tem como vc me enviar o arquivo e eu mudo os nomes. eu não sei nem como salva e onde cola isso!! me ajuda ai!!
Top esse artigo! esse arquivo está dentro do diretório Public_html para quem não sabe.