O Redirecionamento 301 é indicado em situações onde é necessário alterar o diretório do site do /public_html ou /web para um outro diretório, como por exemplo /public_html/portal ou /web/portal, sem que a indexação do seu conteúdo atual seja perdido no Google.
Geralmente é feito um redirecionamento em HTML com refresh do site para o novo diretório, mas essa não é uma prática tão interessante. O servidor interpreta esse refresh como um redirecionamento 302, que significa que a página atual mudou de local temporariamente, fazendo com que seu site perca o ranking junto ao PageRank do Google. Outra situação que pode acontecer é o site acabar apresentado conteúdo antigo por estar salvo em cache de navegação.
Dessa forma, o redirecionamento ideal a ser feito na alteração de diretórios é o 301. Este código representa aos servidores uma troca de diretório definitiva, o que dá mais segurança de conteúdo aos robots do Google para que seja feita a indexação deste novo site junto à sua base de dados, sem perder PageRank.
Plataforma Linux
-
Forçar uso do HTTPS
RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.dominio.com.br/$1 [R,L]
-
Mudar domínio
RewriteEngine on RewriteCond %{HTTP_HOST} ^dominioantigo.com.br$ RewriteRule (.*) http://www.novodominio.com.br/$1 [R=301,L]
-
Mudar ponto de publicação
RewriteEngine On RewriteCond %{HTTP_HOST} ^(www.)?seudominio.com.br$ RewriteRule ^(/)?$ diretorio [L]
-
Mudar ponto de publicação do Subdomínio
RewriteEngine on RewriteCond %{HTTP_HOST} ^subdominio.seudominio.com.br$ [NC,OR] RewriteCond %{HTTP_HOST} ^www.seudominio.com.br$ - RewriteCond %{REQUEST_URI} !diretorio/ RewriteRule (.*) /diretorio/$1 [L]
-
Forçar uso do “www”
RewriteEngine on RewriteCond %{HTTP_HOST} ^dominio\.com\.br RewriteRule ^(.*)$ http://www.dominio.com.br/$1 [R=permanent,L]
Plataforma Windows (ISAPI_Rewrite)
-
Redirecionar diretório via web.config
Se quiser que seu atual site http://seudominio.com.br/antigo/ tenha um Redirect(Redirecionamento de paginas) para http://seudominio.com.br/novo/ abra o arquivo web.config presente no diretório /antigo e adicione a seguinte linha na seção
<httpRedirect enabled="true" destination="http://seudominio.com.br/newsite" httpResponseStatus="Permanent" />
-
Redirecionar páginas via web.config
<configuration> <location path="servicos.htm"> <system.webServer> <httpRedirect enabled="true" destination="http://dominio.com/servicos" httpResponseStatus="Permanent" /> </system.webServer> </location> <location path="produtos.htm"> <system.webServer> <httpRedirect enabled="true" destination="http://dominio.com/produtos" httpResponseStatus="Permanent" /> </system.webServer> </location> </configuration>
-
Mudar ponto de publicação
RewriteRule /old-page.asp http://www.seudominio.com.br/novo_diretorio/arquivo.asp [I,O,RP,L]
-
Mudar domínio
[ISAPI_Rewrite] RewriteCond Host: ^seusite.com.br RewriteRule (.*) http\://www.seusite.com.br [RP,L] RewriteCond Host: ^http\://seusite.com.br RewriteRule (.*) http\://www.seusite.com.br [RP,L]
-
Subdomínio apontando para um diretório
RewriteCond Host: (?:www\.)?subdominio\.dominio\.com\.br RewriteRule (.*) /diretorio$1 [I,L]
-
Redirecionar via arquivo .htaccess
Options +FollowSymLinks RewriteEngine on //FORÇA UTILIZAÇÃO DO "WWW" //************************* RewriteCond %{HTTP:Host} ^dominio.com.br [NC] RewriteRule (.*) http://www.dominio.com.br/$1 [R=301,L] //EXECUÇÃO DO REDIRECIONAMENTO 301 //******************************** //Qualquer requisição de páginas com extensão ".html" //é substituída pela página com mesmo nome mas com extensão ".php" //RewriteRule (.*)\.html$ http://dominio.com.br/$1.php //[NC,R=301,L] //A requisição da página "pagina_teste.html" é enviada para //"pagina_teste.php". RewriteRule (.*)\pagina_teste.html http://www.dominio.com.br/pagina_teste.php [NC,R=301,L] //OBS: As duas regras de redirecionamento 301 //não podem trabalhar juntas. Uma delas deverá ser escolhida.
-
Mudar domínio
[ISAPI_Rewrite] RewriteCond Host: ^seusite.com.br RewriteRule (.*) http\://www.seusite.com.br [RP,L] RewriteCond Host: ^http\://seusite.com.br RewriteRule (.*) http\://www.seusite.com.br [RP,L]
-
Subdomínio apontando para um diretório
RewriteCond Host: (?:www\.)?subdominio\.dominio\.com\.br RewriteRule (.*) /diretorio$1 [I,L]
-
Redirecionamento via arquivo .htaccess
Options +FollowSymLinks RewriteEngine on //FORÇA UTILIZAÇÃO DO "WWW" //************************* RewriteCond %{HTTP:Host} ^dominio.com.br [NC] RewriteRule (.*) http://www.dominio.com.br/$1 [R=301,L] //EXECUÇÃO DO REDIRECIONAMENTO 301 //******************************** //Qualquer requisição de páginas com extensão ".html" //é substituída pela página com mesmo nome e extensão .php //RewriteRule (.*)\.html$ http://dominio.com.br/$1.php //[NC,R=301,L] //A requisição da página "pagina_teste.html" é enviada para //"pagina_teste.php". RewriteRule (.*)\pagina_teste.html http://www.dominio.com.br/pagina_teste.php [NC,R=301,L] //OBS: As duas regras de redirecionamento 301 //não podem trabalhar juntas. Uma delas deverá ser escolhida.
Caso esteja fazendo uma alteração de provedor de hospedagem, ao alterar o DNS do domínio, o prazo de propagação pode comprometer os acessos provindos de redes que ainda não tenham propagado. Dessa forma, você pode gerar um arquivo de redirect em seu antigo provedor para que, mesmo não estando com o DNS apontando para ele, seja forçado o redirecionamento dos acessos ao domínio alternativo.
Após isso, a remoção do redirecionamento no antigo provedor, tal como o cancelamento do serviço junto a eles, fica por responsabilidade do próprio desenvolvedor ou de quem administra a conta, que conseguirá ver pelos Logs do Servidor Web quando não tiver mais acessos ao site por este provedor de hospedagem.
Sobre oPageRank poderá ocorrer problemas pois você está apontando um domínio alternativo, e não a página antigamente indexada. Por um lado, não perderá os acessos de redes que estão passando pela propagação. Deve ser levantado o que é melhor para o site e o Desenvolvedor/Webmaster/SEO deve aplicar as mudanças necessárias.
Agora que você aprendeu a realizar o redirecionamento 301, confira nosso serviço de Hospedagem de Sites!