HTML Redirect: 4 formas de redirecionar páginas

O HTML Redirect pode ser necessário quando você precisar realizar o redirecionamento de uma página para outra. Portanto, é importante entender o que é, como funciona e como utilizar o HTML Redirect. Uma das formas mais comuns de se redirecionar uma página é através do Meta refresh redirect.

Ilustração de redirecionamento web: uma seta parte de uma janela de navegador esmaecida em direção a outra nítida, com um servidor ao fundo indicando a origem do redirecionamento

O que é o HTML Redirect

Ao possuir mais de um domínio ou diversas páginas web, é possível que você precise utilizar o HTML Redirect.  O HTML Redirect nada mais é que uma forma de redirecionar uma página para outra por meio do próprio HTML. Podemos fazer o redirecionamento por meio dos metadados. Também é possível utilizar o HTML Redirect a partir do JavaScript, PHP e htaccess. Vamos então estudar esses métodos nos tópicos abaixo.

Um redirecionamento em HTML também pode ser feito através do seu painel de controle de uma forma mais fácil, pela opção redirecionamento de URL .

Método 1 – Meta refresh redirect: HTML Redirect através de Metadados

Para poder criar um sistema de redirecionamento do site, basta incluir a tag <meta> ao <head> da nossa página com o o atributo http-equiv="refresh". Posteriormente, utilizamos o atributo content para indicar em quanto tempo, após carregar a página, o redirecionamento acontecerá e qual será a URL de destino. Veja a sintaxe do HTML Redirect no exemplo de código abaixo:

<meta http-equiv="refresh" content="tempo em segundos; URL='url da pagina destino '"/>

Observe então o exemplo de um documento HTML com os metadados de redirecionamento, através do código abaixo:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8"/>
    <title>Meu Redirect</title>

    <meta http-equiv="refresh" content="5; URL='https://www.homehost.com.br/'"/>
</head>
<body>
...
</body>
</html>

No exemplo acima, nossa página será aberta e, após 5 segundos, ela será redirecionada para ‘https://www.homehost.com.br/’. Porém, também podemos colocar para que o redirecionamento ocorra de imediato; para isso, utilizamos o valor do tempo como 0 (zero):

<meta http-equiv="refresh" content="0; URL='https://www.homehost.com.br/'"/>

Dessa forma, assim que abrir a página, ela já será automaticamente redirecionada para ‘https://www.homehost.com.br/’.

⚠️ Um esclarecimento importante: o meta refresh não é um redirecionamento 301. Ele acontece do lado do cliente — a página retorna status 200 OK, e só depois o navegador lê a tag e recarrega.

O 301 é um código de status HTTP, enviado pelo servidor antes de qualquer conteúdo. Os dois produzem o mesmo efeito visual, mas são coisas diferentes — e, para buscadores, a diferença importa.

O Google desencoraja o meta refresh para mudanças permanentes de endereço. Use-o apenas quando não tiver acesso ao servidor; nos demais casos, prefira o .htaccess ou o PHP, que enviam um 301 de verdade.

É importante estar atento que nem todos os navegadores antigos suportam esse tipo de metadados. Portanto, recomenda-se que sempre deixe uma mensagem com um link para a página de destino. Vejamos então o exemplo abaixo:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8"/>
    <title>Meu Redirect</title>

    <meta http-equiv="refresh" content="0; URL='https://www.homehost.com.br/'"/>
</head>
<body>
    <p>
        O conteúdo desta página foi movido permanentemente para o link:
        <a href="https://www.homehost.com.br/">www.homehost.com.br/</a>
    </p>
</body>
</html>

Desta forma, caso o navegador não suporte o HTML Redirect, você garante que ele terá uma opção para ser direcionado a página desejada.

Método 2 – Redirecionamento através do JavaScript

Assim como o método anteriormente explicado, podemos utilizar o JavaScript no código HTML para poder redirecionar o usuário. Este tipo de redirecionamento também é realizado do lado do cliente.

Para realizar este redirecionamento, basta incluir um script no nosso documento HTML. Portanto, vejamos abaixo a função do JavaScript para realizar o redirecionamento:

window.location.href='url';

Ao receber um novo endereço, o navegador carrega essa URL

Portanto, vejamos como aplicar isso em um documento HTML no exemplo abaixo:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8"/>
    <title>Meu Redirect</title>
</head>
<body>
    <p>
        O conteúdo desta página foi movido permanentemente para o link:
        <a href="https://www.homehost.com.br/">www.homehost.com.br/</a>
    </p>
    <script>
        window.location.href='https://www.homehost.com.br/';
    </script>
</body>
</html>

Também podemos utilizar apenas a função window.location do JavaScript, e teremos o mesmo resultado. Vejamos os exemplos abaixo:

window.location='url';
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8"/>
    <title>HTML Redirect</title>
</head>
<body>
    <p>
        O conteúdo desta página foi movido permanentemente para o link:
        <a href="https://www.homehost.com.br/">www.homehost.com.br/</a>
    </p>
<script>
    window.location = "https://www.homehost.com.br/"
</script>
</body>
</html>

Para redirecionamentos automáticos, prefira location.replace():

window.location.replace(‘https://www.homehost.com.br/‘);

A diferença está no botão Voltar. Com location.href, a página que redireciona fica no histórico — o visitante volta, cai nela e é redirecionado de novo, preso num ciclo. O replace() substitui essa entrada, e o Voltar leva à página anterior de verdade.

Método 3 – Redirecionamento através do PHP

Diferentemente do redirecionamento por meio dos metadados e também através do JavaScript, ao utilizar o PHP, fazemos o redirecionamento do lado do servidor, e não mais do lado do cliente. Isso acontece devido ao fato de o PHP ser uma linguagem de programação back-end, ou seja, que roda dentro do servidor.

Para realizar o HTML Redirect com o PHP, basta utilizar a função header() e a função exit() no início do nosso documento. Observe que é importante que este documento seja salvo com a extensão .php. Também podemos apenas criar um arquivo nomeado index.php com as funções de redirecionamento e incluí-lo no diretório da página que deve realizar o redirecionamento.

A função header() envia um cabeçalho HTTP diretamente para o cliente. Dessa forma, quando o cliente acessa sua página, automaticamente o servidor estará retornando, através do PHP, um novo cabeçalho, que no caso será descrito pela função header().

A função exit() encerra o script logo depois do header(). Sem ela, o PHP continua executando o resto do arquivo — e o conteúdo abaixo pode ser processado e enviado mesmo com o redirecionamento a caminho.

⚠️ E o header() precisa vir antes de qualquer saída. Até um espaço em branco antes do <?php já conta como conteúdo enviado, e o PHP responde com o erro “Cannot modify header information — headers already sent”.

Na função header() utilizamos o Location, no qual informamos a URL à qual será redirecionada a página. Dessa forma, teremos o seguinte código PHP:

<?php 
  header('Location: url');
  exit();
?>

Portanto, vejamos o exemplo abaixo:

<?php 
  header('Location: https://www.homehost.com.br/');
  exit();
?>

Porém, no caso acima, o php vai definir como padrão de redirecionamento o código 302. Dessa forma, será entendido que é um redirecionamento temporário, geralmente utilizado para páginas em manutenção. Portanto, podemos complementar a nossa função para definir o padrão de código. Vamos então exemplificar como criar um código 301, ou seja, um redirecionamento Permanente:

<?php 
  header('Location: https://www.homehost.com.br/', true, 301);
  exit();
?>

Desta forma, conseguimos então indicar aos usuários, assim como aos mecanismos de busca, qual é o tipo de redirecionamento que estamos fazendo.

Você pode ainda estudar mais sobre o HTML Redirect através do PHP a partir do artigo da W3Docs.

Método 4 – Redirecionar através de htaccess

Para redirecionar uma página usando o arquivo .htaccess, você pode usar as regras de redirecionamento disponíveis no Apache. O arquivo .htaccess é um arquivo de configuração do servidor web Apache, que permite definir várias diretivas para controlar o comportamento do servidor.

O .htaccess funciona em servidores Apache e LiteSpeed. Em servidores Nginx ele é ignorado, e o redirecionamento é configurado no próprio servidor.

Aqui estão alguns exemplos de como redirecionar páginas usando o arquivo .htaccess:

Redirecionamento 301 (permanente):

Redirect 301 /pagina-atual.html https://www.seusite.com/nova-pagina.html

Redirecionamento 302 (temporário):

Redirect 302 /pagina-atual.html https://www.seusite.com/nova-pagina.html

Redirecionar com base em expressões regulares:

RewriteEngine On
RewriteRule ^pagina-atual.html$ https://www.seusite.com/nova-pagina.html [R=301,L]

Redirecionamento para um diretório específico:

Redirect /pasta-atual https://www.seusite.com/novo-diretorio/

Certifique-se de substituir “pagina-atual.html” e “http://www.seusite.com/nova-pagina.html” pelos caminhos corretos para as suas páginas. Além disso, observe que o redirecionamento 301 é usado para redirecionamentos permanentes, enquanto o redirecionamento 302 é usado para redirecionamentos temporários.

Lembre-se de que o arquivo .htaccess deve estar localizado no diretório raiz do seu site e que o servidor Apache deve ter a opção “AllowOverride” ativada para permitir a leitura do arquivo .htaccess.

Por fim, é importante ter cuidado ao modificar o arquivo .htaccess, pois qualquer erro pode causar problemas no funcionamento do seu site. Além disso, é recomendável fazer um backup do arquivo antes de fazer alterações e testar cuidadosamente o redirecionamento para garantir que esteja funcionando corretamente.

Por que usar o redirecionamento 301 sempre que possível

Fazer redirecionamentos 301 é uma prática fundamental para o SEO (Search Engine Optimization) e traz diversos benefícios para o seu site. O redirecionamento 301 indica aos mecanismos de busca que uma página foi permanentemente movida para um novo endereço. Isso é importante para manter sua classificação nos resultados de pesquisa e garantir que você não perca tráfego e visibilidade.

Quando você redireciona uma página antiga para uma nova, os mecanismos de busca transferem a autoridade e os rankings da página antiga para a nova. Isso preserva a autoridade de busca que você construiu ao longo do tempo e ajuda a manter ou até mesmo melhorar suas posições nos resultados de pesquisa.

O Google valoriza muito os redirecionamentos 301

Além disso, o redirecionamento 301 também melhora a experiência do usuário. Ao redirecionar corretamente as páginas do seu site, você evita que os visitantes encontrem links quebrados ou páginas de erro. Em vez disso, eles serão automaticamente redirecionados para a página correta, proporcionando uma experiência de navegação mais suave e evitando que eles abandonem o site por frustração.

Outra situação em que o redirecionamento 301 é útil é quando você precisa atualizar a estrutura das URLs do seu site. Ao redirecionar as URLs antigas para as novas, você informa aos mecanismos de busca que a página foi movida permanentemente para um novo endereço. Isso ajuda a atualizar os índices dos mecanismos de busca e garante que os usuários encontrem a versão mais recente do seu conteúdo.

Em resumo, o redirecionamento 301 é uma prática importante para manter a visibilidade do seu site nos mecanismos de busca, preservar a autoridade de busca, melhorar a experiência do usuário e facilitar atualizações na estrutura das URLs. Certifique-se de implementar corretamente os redirecionamentos 301 sempre que necessário para obter os benefícios de SEO e oferecer uma melhor experiência de navegação para os visitantes do seu site.

Qual método usar

A escolha depende do que você consegue acessar, não da preferência de linguagem:

SituaçãoMétodo
Você tem acesso ao servidor — a maioria dos casos301 pelo .htaccess ou pelo painel de controle
O redirecionamento depende de uma lógica, como login ou idiomaPHP, com header() e o código 301 ou 302
Você só consegue editar o HTML da páginaMeta refresh com tempo 0 e um link visível
O redirecionamento acontece depois de uma ação na páginaJavaScript, com location.replace()

⚠️ Para mudanças permanentes, meta refresh e JavaScript são o último recurso. Nos dois, a página responde 200 e o buscador só descobre o redirecionamento depois de carregá-la — em vez de receber o 301 antes de qualquer conteúdo.

Redirecionamento 301 em dois cliques, sem editar arquivo

Editar o .htaccess à mão funciona — e um erro de sintaxe derruba o site inteiro. No cPanel e no DirectAdmin da Homehost, o redirecionamento é feito por formulário, com escolha entre permanente e temporário. Servidores no Brasil, SSL grátis e suporte em português. A partir de R$ 7,90/mês.

Ver planos de hospedagem

Perguntas frequentes

Qual a melhor forma de redirecionar uma página?

Pelo servidor, com um redirecionamento 301 no .htaccess ou pelo painel de controle. É o único método que envia o código de status correto aos buscadores antes de qualquer conteúdo e transfere a autoridade da página antiga para a nova. Meta refresh e JavaScript funcionam, mas são soluções de último recurso.

Qual a diferença entre redirecionamento 301 e 302?

O 301 é permanente e transfere praticamente toda a autoridade da página antiga para a nova. O 302 é temporário: o buscador mantém a página original indexada, esperando que ela volte. Usar 302 para uma mudança definitiva é o erro mais comum — a nova página nunca herda o posicionamento.

Meta refresh é um redirecionamento 301?

Não. O meta refresh acontece no navegador, depois que a página já carregou — e ela retorna status 200 OK, não 301. Os dois produzem o mesmo efeito visual, mas para os buscadores são coisas diferentes, e o Google desencoraja o meta refresh para mudanças permanentes.

Como redirecionar sem acesso ao servidor?

Aí o meta refresh é a alternativa — é a única que funciona apenas com o HTML da página. Use tempo 0 para o redirecionamento ser imediato e inclua sempre um link visível para o destino, porque o método depende do navegador e nem todos o executam.

Por que o botão Voltar não funciona depois de um redirecionamento?

Porque a página que redireciona ficou no histórico. Quando o redirecionamento é feito com window.location.href, o Voltar leva o visitante de volta a ela — e ele é redirecionado de novo, num ciclo. A solução é usar location.replace(), que substitui a entrada no histórico. Redirecionamentos 301 feitos no servidor não têm esse problema.

Por que aparece o erro “headers already sent” ao redirecionar com PHP?

Porque algo foi enviado ao navegador antes do header() — e depois que o conteúdo começa a ser enviado, os cabeçalhos não podem mais ser alterados. Até um espaço em branco ou uma linha vazia antes do <?php causa o erro. Coloque o header() no topo do arquivo, antes de qualquer HTML ou echo, e sempre acompanhado de exit().

Redirecionamento prejudica o SEO?

Bem feito, não. Um 301 transfere quase toda a autoridade e evita que visitantes encontrem erro 404. O que prejudica é a ausência dele — ou o uso do código errado, do tipo errado, ou correntes de vários redirecionamentos encadeados.

O que é uma corrente de redirecionamentos?

Quando A redireciona para B, que redireciona para C. Cada salto acrescenta tempo de carregamento e dilui um pouco da autoridade transferida. Aponte sempre para o destino final — se A vai para C, redirecione A direto para C.

Posso redirecionar tudo para a página inicial?

Pode, mas não convém. O Google trata redirecionamento em massa para a home como soft 404, e o visitante que esperava um conteúdo específico fica igualmente perdido. Redirecione para a página equivalente; se não houver, deixe retornar 404 mesmo.

Redirecionamento no WordPress precisa de plugin?

Não obrigatoriamente. O WordPress redireciona automaticamente quando você altera o slug de um post. Para redirecionamentos manuais, plugins como o Redirection facilitam — mas o .htaccess ou o painel de controle fazem o mesmo, sem carregar código extra em cada acesso.

Por quanto tempo devo manter um redirecionamento?

Indefinidamente. Enquanto houver algum link antigo apontando para o endereço original — em outro site, num e-mail, num favorito —, o redirecionamento continua sendo necessário. Removê-lo depois de um tempo transforma tudo isso em erro 404.

Como testar se o redirecionamento está funcionando?

Pelo terminal, com curl -sIL seusite.com/pagina-antiga. A saída mostra o código de status de cada salto e o destino final — é como você confirma que o 301 está correto e que não há corrente de redirecionamentos.

Conclusão

Existem quatro formas de redirecionar uma página, e elas não são equivalentes. Duas acontecem no servidor — .htaccess e PHP — e duas no navegador — meta refresh e JavaScript. A diferença decide se o buscador entende a mudança ou não.

Três coisas ficam deste guia. Sempre que houver acesso ao servidor, use 301 pelo .htaccess ou pelo painel — é o único caminho que transfere a autoridade da página antiga. O meta refresh não é um 301, mesmo produzindo o mesmo efeito na tela. E redirecionamento é permanente de verdade: enquanto existir um link antigo em algum lugar, ele precisa continuar lá.

E o teste que confirma tudo cabe numa linha: curl -sIL seusite.com/pagina-antiga mostra cada salto e o código de status de cada um.

Este artigo foi útil?

Obrigado pela resposta!
Picture of Rafael Marques

Rafael Marques

Especialista em Desenvolvimento Web e Marketing. É apaixonado por tecnologia, empreendedorismo, audiovisual e animais. Em sua carreira, dedica-se ao empreendedorismo, além de atuar como Desenvolvedor Fullstack e redator técnico. Gosta de usar seu tempo livre para assistir a filmes, jogar, escrever, e passar um bom tempo brincando e mimando seus animais de estimação.

Contato: rafael.blog@homehost.com.br

Ganhe 30% OFF

Indique seu nome e e-mail,e ganhe um cupom de desconto de 30% para sempre na Homehost!