Redirecionamento 301

SEO Glossary
Contents
  1. O que é o redirecionamento 301?
  2. Como o redirecionamento 301 afeta o SEO?
  3. Qual é a diferença entre o redirecionamento 301 e 302?
  4. Como mudar do 302 para o 301?
  5. Questões de redirecionamento 301
  6. Redirecionamento de domínio não WWW para WWW com prefixo #
  7. Redirecionar uma página antiga para uma página nova
  8. Em alguns casos, o redirecionamento via RewriteRule é útil
  9. Redirecionamento 301 da página web com parâmetro GET #
  10. Redirecionamento 301 da página web com parâmetro GET não definido para a página inicial
  11. Redirecionamento 301 para arquivo específico e não para todo o diretório
  12. Redirecionamento 301 do domínio antigo para um domínio novo
  13. Redirecionamento 301 de URLs sem barra diagonal para URLs com “/”
  14. Redirecionamento 301 de URLs com barra diagonal para URLs sem “/”
  15. Redirecionamento 301 do domínio para a pasta em outro domínio
  16. Redirecionamento 301 de todos os arquivos da pasta para um novo URL
  17. Redirecionamento 301 de todos os documentos da pasta, exceto um
  18. Mudança de extensão de .html para .php
  19. Transferência de todas as imagens de pasta /img/ para o subdomínio
  20. Configuração do tipo de página de índice (php, html, htm, e outros)
  21. Redirecionamento 301 de .php para a pasta raiz
  22. Redirecionamento 301 do subdomínio para #
  23. Redirecionamento 301 de documentos específicos em diferentes pastas
  24. Se você precisar criar um endereço SEO-friendly para qualquer documento, possa realizar isso com o arquivo .htaccess
  25. Redirecionamento 301 de HTTPS para HTTP #
  26. Redirecionamento 301 de domínio inteiro de HTTP para HTTPS
  27. Configuração de código de resposta do servidor 403 para spam de referência (redirecionamento 301 para spam via REFERER) para lista de recursos:
  28. Configuração do roteamento para o documento de erro 404 com .htaccess #
  29. Se tiver a necessidade de executar o redirecionamento 301 não para todos os visitantes mas apenas para USER_AGENTs
  30. Se tiver necessidade de executar o redirecionamento 301 para todos os bots de rastreamento (e tem a lista de seus USER_AGENT’s)
  31. Sintaxe da expressão regular
  32. Como realizar o redirecionamento 301 em Bitrix

O que é o redirecionamento 301?

O redirecionamento 301 é um redirecionamento permanente de um URL para outro que passa todo o link juice para o recipiente. Basicamente, é um dos códigos de status de resposta HTTP indicando que a solicitação ao servidor web foi processada com sucesso.
Todos os redirecionamentos 3xx referem-se a cabeçalhos de resposta de localização, um cabeçalho padrão do protocolo de transferência de hipertexto. Você pode encontrar a lista completa dos cabeçalhos de resposta HTTP em sua especificação.

Como o redirecionamento 301 afeta o SEO?

De acordo com o Search Engine Land e as múltiplas discussões na comunidade de especialistas de SEO, os redirecionamentos 301 não são um fator de ranking. Tecnicamente isso é a verdade. Existe uma lista de recomendações, quando o redirecionamento 301 deve ser usado:

  • você está mudando de HTTP para HTTPS.
  • você está mudando de um domínio antigo para um novo.
  • você está otimizando as dicas de URL para posts e páginas existentes.
  • você está mudando para uma nova plataforma de site e suas páginas vão mudar de https://domain.com/page.html para https://domain.com/page/

Entretanto, se você se aprofundar na lógica de como o link juice é entregue na web, você vai entender mais.

Portanto, você usa o redirecionamento 301 página-a-página quando mudar o seu site do domínio antigo para um domínio novo sem alteração da estrutura do site. Assim, cada página do domínio antigo entrega seu link juice acumulado para a mesma página no novo endereço. Isso ajudará o seu site a não perder suas posições no SERP, e ajudará ao mecanismo de busca do Google entender que este é o mesmo site com apenas um novo nome de domínio. Pura lógica!

Mas o que acontecerá se pegamos outro site do mesmo nicho e configuramos seu arquivo .htaccess para o redirecionamento página-a-página para o nosso domínio? Provavelmente o Google começará a pensar que estamos movendo o site antigo para um novo nome de domínio. Bom, a estrutura dos dois sites é diferente, mas o nicho é o mesmo, então tudo parece legítimo, e o link juice deve ser entregue.
Portanto, a resposta final é que os redirecionamentos 301 podem impulsionar seu site se você souber como usá-los corretamente. Vamos lá!

Qual é a diferença entre o redirecionamento 301 e 302?

No contexto da promoção do site, os dois redirecionam a aparência das páginas nos resultados de busca. O redirecionamento 301 é um sinal para o mecanismo de busca de que a página antiga deve ser removida dos resultados da busca. Com um redirecionamento 302, o endereço original permanece nos resultados da busca, apesar do redirecionamento.
Um redirecionamento 302 é usado se o site estiver passando por uma manutenção temporária e o conteúdo da página for alterado por tempo limitado (por exemplo, nessa página você pode colocar uma mensagem “Desculpe, o nosso site está de manutenção”. Voltaremos em breve”). Em outros casos, o redirecionamento 302 não vale a pena.

Como mudar do 302 para o 301?

Questões de redirecionamento 301

Como fazer um redirecionamento 301

Redirecionamento de domínio não WWW para WWW com prefixo #

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

Redirecionamento vice-versa (de WWW para não WWW)
Para a versão HTTP:

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

Para a versão HTTPS:
RewriteCond %{SERVER_PORT} ^80$ [OR] RewriteCond %{HTTP} =on
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]

Redirecionar uma página antiga para uma página nova

Redirect 301 /old.php http://www.site.com/new.php

Neste caso, o novo endereço deve ser especificado com http e nome de domínio.

Em alguns casos, o redirecionamento via RewriteRule é útil

RewriteRule ^dir /dir-new/$1 [R=301,L]

Redirecionamento 301 da página web com parâmetro GET #

Por exemplo, a URL da página é: http://www.site.com/dir/index.php?IBLOCK_ID=1&SECTION_ID=111
Então, para o redirecionamento 301 esta regra deve ser usada:

RewriteCond %{QUERY_STRING} ^IBLOCK_ID=1&SECTION_ID=111$ [NC] RewriteRule ^dir/index\.php$ /new/sef/? [R=301,L]

Se um (ou vários) dos parâmetros do GET não estiverem definidos ou puderem ter variável aleatória (em nosso caso é SECTION_ID), você poderá usar este código:
RewriteCond %{QUERY_STRING} ^IBLOCK_ID=1&SECTION_ID=(.*)$ [NC] RewriteRule ^dir/index\.php$ /new/sef/? [R=301,L]

Redirecionamento 301 da página web com parâmetro GET não definido para a página inicial

Se o endereço for:
http://www.site.com/?abc
para o redirecionamento 301 você pode usar este código:

RewriteCond %{QUERY_STRING} ^abc$ [NC] RewriteRule ^$ /? [R=301,L]

Redirecionamento 301 para arquivo específico e não para todo o diretório

Se você precisar de executar o redirecionamento 301 de:
http://www.site.com/dir/
para um novo endereço, mas você precisa de um documento:
http://www.site.com/dir/index.php?IBLOCK_ID=1
estar disponível no endereço antigo, você deve usar o símbolo “$” na regra:

RewriteRule ^dir/$ http://www.site.com/new-dir/ [R=301,L]

Redirecionamento 301 do domínio antigo para um domínio novo

RewriteCond %{HTTP_HOST} ^old-site\.com$ [NC] RewriteRule ^(.*)$ http://www.site.com/$1 [R=301,L]

Redirecionamento 301 de URLs sem barra diagonal para URLs com “/”

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\..{1,10}$
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://www.site.com/$1/ [L,R=301]

Redirecionamento 301 de URLs com barra diagonal para URLs sem “/”

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ http://www.site.com/$1 [R=301,L]

Redirecionamento 301 do domínio para a pasta em outro domínio

RewriteCond %{HTTP_HOST} ^si-te\.com$ [NC] RewriteRule ^(.*)$ http://www.site.com/si-te/ [R=301,L]

Redirecionamento 301 de todos os arquivos da pasta para um novo URL

RewriteRule ^dir(.*)$ /new-file.php [L,R=301]

Redirecionamento 301 de todos os documentos da pasta, exceto um

RewriteRule ^dir/no-file.html /no-file-new.html [L,R=301] RewriteRule ^dir(.*)$ /all.php [L,R=301]

Mudança de extensão de .html para .php

RedirectMatch 301 (.*)\.html$ http://www.new-site.com$1.php

Transferência de todas as imagens de pasta /img/ para o subdomínio

RewriteRule ^img/(.+)\.jpg$ http://img.domain.com/$1.jpg [R=301,L]

Configuração do tipo de página de índice (php, html, htm, e outros)

Ordem de formatos de documentos a serem baixados:
DirectoryIndex index.html index.php index.htm index.shtml

Redirecionamento 301 de .php para a pasta raiz

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://www.site.com/ [R=301,L] A mesma coisa para TODOS os documentos .php no site:
RewriteRule ^(.*)index\.php$ http://www.site.com/$1 [R=301,L]

Redirecionamento 301 do subdomínio para #

RewriteCond %{HTTP_HOST} ^test.site.com$ [NC] RewriteRule ^(.*)$ http://site.com%{REQUEST_URI} [R=301,NC,L,QSA]

Redirecionamento 301 de documentos específicos em diferentes pastas

RewriteRule [^abc]/unique-file.html /unique-file.html [R=301,L] O código http://site.com/****/uniqe-file.html permite fazer um redirecionamento 301 de todas as pastas para o arquivo na pasta raiz /unique-file.html. Pode ser útil para redesign do site.

Se você precisar criar um endereço SEO-friendly para qualquer documento, possa realizar isso com o arquivo .htaccess

RewriteRule ^testing/test/?$ /studio/news/detail.php?ID=230354&PAGEN_2=11 [NC,L] O código que permite criar uma cópia da página web com endereço relativo:
/studio/news/detail.php?ID=230354&PAGEN_2=11 with address /testing/test/

Redirecionamento 301 de HTTPS para HTTP #

RewriteCond %{HTTPS} “on”
RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,QSA] permite remover URLs duplicadas com HTTPS do índice do motor de busca.

Redirecionamento 301 de domínio inteiro de HTTP para HTTPS

RewriteCond %{SERVER_PORT} ^80$ [OR] RewriteCond %{HTTP} =on
RewriteRule ^(.*)$ https://domain.com/$1 [R=301,L]

Configuração de código de resposta do servidor 403 para spam de referência (redirecionamento 301 para spam via REFERER) para lista de recursos:

RewriteCond %{HTTP_REFERER} ref-spam-site.com [NC,OR] RewriteCond %{HTTP_REFERER} another-ref-spam.com [NC] RewriteRule .* – [F]

Essas configurações permitem bloquear o tráfego de spam da lista de recursos com cabeçalho HTTP_REFERER

Configuração do roteamento para o documento de erro 404 com .htaccess #

É importante que o código de resposta do servidor seja 404 para o documento 404.
ErrorDocument 404 /404-for-me.php
# Todas as regras são executadas na ordem direta em que aparecem no arquivo .htaccess e a regra escrita mais tarde será executada mais tarde.
# Para sites que não usam o servidor Apache, redirecionamentos 301 similares são facilmente configurados por PHP.
<?php
header(“HTTP/1.1 301 Moved Permanently”);
header(“Location: http://www.site.com/dir/”);
exit();
?>
# Será ideal configurar todos os redirecionamentos para a página final de uma só vez (sem redirecionamentos intermediários). Isso melhora sua percepção pelos motores de busca e usuários.

Se tiver a necessidade de executar o redirecionamento 301 não para todos os visitantes mas apenas para USER_AGENTs

RewriteCond %{HTTP_USER_AGENT} (iPad|ipad|iphone|iPhone|ipod|iPod|android|midp|j2me|symbian|series\ 60|symbos|windows\ mobile|windows\ ce|ppc|smartphone|blackberry|mtk|bada|windows\ phone) [NC] RewriteRule (.*) http://mobile.site.com/ [L,R=301]

Se tiver necessidade de executar o redirecionamento 301 para todos os bots de rastreamento (e tem a lista de seus USER_AGENT’s)

RewriteCond %{HTTP_USER_AGENT} !(accoona|ia_archiver|antabot|ask\ jeeves|baidu|dcpbot |eltaindexer|feedfetcher|gamespy|gigabot|googlebot |gsa-crawler|grub-client|gulper|slurp|mihalism|msnbot|worldindexer |ooyyo|pagebull|scooter|w3c_validator|jigsaw|webalta|yahoofeedseeker |yahoo!\ slurp|mmcrawler|yandexbot|yandeximages |yandexvideo|yandexmedia|yandexblogs|yandexaddurl|yandexfavicons |yandexdirect|yandexmetrika|yandexcatalog|yandexnews |yandeximageresizer) [NC] RewriteRule (.*) http://no-search.site.com/ [L,R=301]

Sintaxe da expressão regular

. – O ponto substitui um caráter arbitrário.
[abc] – denota uma lista de caracteres que correspondem às letras a, b, ou c.
[^abc] – uma lista de caracteres que não estão incluídos no intervalo especificado. Corresponde a qualquer caractere exceto a, b, ou c.
* – significa que o caractere precedente pode ser repetido (0 ou mais vezes).
[abc]* – encontra caracteres consecutivos do conjunto especificado.
[^abc]* – exatamente o oposto.

.* – substitui qualquer conjunto de caracteres. “.*” – encontra todos os substratos entre aspas.
^ – o início de uma cadeia (se usado no início de uma expressão).
$ – indica o fim da linha.

\^ – é uma letra, número ou sublinhado.
\^d – substitui qualquer dígito.
\D – substitui qualquer caractere, mas não um número.
[0-9] – substitui qualquer número.
[a-z] – qualquer letra de a a z (todo o conjunto de caracteres latinos) em letras minúsculas.
[A-Z] – qualquer letra de A a Z em letras maiúsculas.
[a-zA-Z] – qualquer letra de a a Z.
[a-Z] é o mesmo.

Remover todos os parâmetros GET após o ponto de interrogação (?) #
Rewrite rule(.*) $1? [R=301,L] Position after: RewriteBase /

Como realizar o redirecionamento 301 em Bitrix

Redirecionar de todos os arquivos de domínio, exceto para a pasta do administrador bitrix #
RewriteRule ^bitrix/ /bitrix/admin/ [L,R=301] RewriteRule ^(.*)$ http://www.newsite.com/new/ [L,R=301]

Rate author
Add a comment