Módulo 4 · 4.1
https e um bom redirecionamento
Módulo 4: Velocidade, dispositivos móveis e https · Tempo de leitura: 11 minutos
Objetivo de aprendizagem: No final desta lição, saberá explicar porque é que o https conta para os motores de pesquisa e para os visitantes, indicar a diferença entre um redirecionamento permanente e um temporário, e verificar se todas as variantes do seu endereço chegam num só passo à mesma página https.
Conceitos chave: https, certificado, redirecionamento (redirect), 301 e 308 (permanente), 302 e 307 (temporário), cadeia de redirecionamentos, endereço preferido, com ou sem www, HSTS, conteúdo misto
Quatro endereços para uma só página inicial
Quando escreve o nome de um site na barra de endereços, o navegador pode chegar a quatro sítios diferentes:
| Variante | Exemplo |
|---|---|
| http sem www | http://example.com/ |
| http com www | http://www.example.com/ |
| https sem www | https://example.com/ |
| https com www | https://www.example.com/ |
Para si, é um único site. Para um motor de pesquisa, são quatro endereços diferentes. Se os quatro mostrarem a mesma página, o Google tem de escolher sozinho qual é o endereço "verdadeiro". O Google chama-lhe o endereço canónico (a lição 3.5 aprofunda este tema). O Google recomenda que escolha o senhor mesmo um endereço preferido e que redirecione as outras variantes para ele. Assim não há dúvidas, e as ligações para qualquer uma das variantes contam para a mesma página.
O Bloemenatelier Lotte escolhe https://www.example.com/. As outras três variantes redirecionam para esse endereço. Para os motores de pesquisa, é indiferente escolher com ou sem www. O importante é fazer uma escolha e mantê-la em todo o lado: no menu, no sitemap, no canonical e no perfil da empresa.
Porquê https
https significa que a ligação entre o navegador e o servidor é cifrada com um certificado. Ninguém pelo caminho consegue ler ou alterar o conteúdo da página, por exemplo numa rede wifi pública.
Para os motores de pesquisa, o https conta de duas formas:
- Como sinal. Em 2014, o Google anunciou que o https é um sinal de classificação, mas descreveu-o na altura como "um sinal muito leve", com menos peso do que um bom conteúdo. Na documentação sobre a experiência de página, o https aparece como uma das perguntas que deve fazer a si próprio ("as suas páginas são servidas de forma segura?"). Por isso, não exagere: o https, por si só, não o leva ao topo.
- Para os visitantes. Os navegadores mostram "Não seguro" numa página em http, sobretudo quando tem um formulário. Um visitante que vê esse aviso desiste mais depressa. Nota-se isso nas visitas, não numa regra de classificação.
Hoje em dia, é possível obter um certificado válido gratuitamente através da Let's Encrypt. Na maioria das empresas de alojamento, incluindo a WebOké, o certificado é pedido e renovado automaticamente. Confirme que o certificado cobre os dois nomes: sem e com www. Se cobrir apenas example.com, o endereço https://www.example.com/ dá um erro de certificado, antes mesmo de o redirecionamento poder acontecer.
Redirecionamento permanente ou temporário
Um redirecionamento (redirect) é uma resposta do servidor: "esta página está noutro sítio". Isso é feito com um código de estado de três algarismos que começa por 3, juntamente com um cabeçalho Location que contém o novo endereço.
| Código | Significado | O que o Google faz com ele |
|---|---|---|
| 301 | Movido permanentemente | Sinal forte de que o destino é o endereço canónico |
| 308 | Movido permanentemente (o método mantém-se) | O mesmo que 301 |
| 302 | Encontrado temporariamente | Nenhum sinal; o endereço antigo fica muitas vezes nos resultados |
| 307 | Temporário (o método mantém-se) | O mesmo que 302 |
Segundo o Google Search Central, a indexação usa um redirecionamento permanente como sinal de que o destino deve passar a ser o canónico. Com um redirecionamento temporário, isso não acontece: o endereço antigo costuma continuar nos resultados. A passagem de http para https e a escolha entre com ou sem www são situações definitivas. Utilize, por isso, 301 ou 308.
Pode ver um redirecionamento por si próprio. Num terminal:
$ curl -sI http://example.com/
HTTP/1.1 301 Moved Permanently
Location: https://www.example.com/Ou no navegador: abra as ferramentas de programador (F12), separador Rede, ative a opção que mantém o registo ao carregar uma nova página e carregue o endereço http. Verá cada passo com o respetivo código.
Cadeias de redirecionamentos
Uma cadeia de redirecionamentos é um redirecionamento para um endereço que, por sua vez, volta a redirecionar. Um exemplo frequente:
http://example.com/ 301 → https://example.com/
https://example.com/ 301 → https://www.example.com/
https://www.example.com/ 200Funciona, mas cada primeira visita custa uma ida e volta extra ao servidor. O web.dev aponta os redirecionamentos como uma das causas de uma primeira resposta lenta do servidor (lição 4.3): cada passo soma, e as cadeias ainda mais. O ideal é que cada variante chegue num só passo ao endereço preferido:
http://example.com/ 301 → https://www.example.com/
http://www.example.com/ 301 → https://www.example.com/
https://example.com/ 301 → https://www.example.com/
https://www.example.com/ 200Com o endereço http antigo do outro nome, nem sempre é possível fazê-lo num só passo, porque, com certas configurações, o servidor envia primeiro para o https do mesmo nome e só depois para o outro nome. Nesse caso, dois passos são aceitáveis; três ou mais são motivo para rever a configuração. Um ciclo (A redireciona para B e B volta a redirecionar para A) está sempre errado: a página simplesmente não abre.
HSTS: o navegador lembra-se
HSTS (HTTP Strict Transport Security, RFC 6797) é um cabeçalho que o servidor envia através de https:
Strict-Transport-Security: max-age=31536000Um navegador que o tenha recebido uma vez passa a ir diretamente para https neste site, sem tentar primeiro o http. Isso poupa o primeiro redirecionamento e protege contra quem esteja a espiar a ligação. O web.dev também refere o HSTS como forma de evitar o redirecionamento de http para https. Para os motores de pesquisa, o HSTS não é um sinal; para os seus visitantes, é uma melhoria. Ative-o apenas quando o https funcionar bem em todos os nomes, porque o navegador memoriza-o durante o tempo indicado em max-age. O curso Seguro online aprofunda este tema.
Conteúdo misto
Uma página https que carrega uma imagem, um script ou uma folha de estilos através de http:// tem conteúdo misto (mixed content). Os navegadores bloqueiam scripts e folhas de estilos inseguros, ou mostram um aviso. Depois da mudança para https, isto acontece muitas vezes com imagens antigas em textos ou com um tema que usa endereços fixos. Procure no código-fonte por src="http:// e href="http:// e substitua-os por https ou por um endereço relativo.
Na prática: configurar o redirecionamento para https
Num alojamento da WebOké, ativa o redirecionamento para https no DirectAdmin, nas definições do domínio (interruptor "Forçar o uso de SSL (https)"), e escolhe na mesma página, em "Forçar redirecionamento", se trabalha com ou sem www. Configure o redirecionamento num único sítio: duas regras que fazem coisas diferentes (por exemplo, no painel e num plugin) dão facilmente origem a um ciclo. Um site criado com o AI Builder recebe, ao ser publicado, um certificado e um endereço próprio. No WordPress, em Definições, Geral, preencha o endereço do WordPress e o endereço do site com https:// e o nome que escolheu; o redirecionamento propriamente dito é tratado no servidor. Noutros fornecedores e criadores de sites funciona de forma semelhante, apenas os botões têm outros nomes.
Se preferir fazê-lo através de .htaccess (Apache ou LiteSpeed), estas regras enviam todas as variantes num só passo para https://www.example.com:
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^ https://www.example.com%{REQUEST_URI} [R=301,L]Depois, verifique sempre as quatro variantes, também com um caminho no fim (http://example.com/contact): o caminho tem de ser mantido, sem saltar para a página inicial.
Resumo
- Escolha um endereço preferido (https, com ou sem www) e redirecione as outras variantes para ele.
- Para redirecionamentos definitivos, utilize 301 ou 308; 302 e 307 são temporários e não dão ao Google nenhum sinal sobre o endereço canónico.
- Faça com que cada variante chegue ao endereço preferido num só passo, no máximo dois; as cadeias custam tempo e os ciclos impedem o site de abrir.
- Segundo o Google, o https é um sinal de classificação leve; para os visitantes, é sobretudo uma questão de confiança. O certificado tem de cobrir os dois nomes.
- O HSTS faz com que o navegador vá diretamente para https; o conteúdo misto deve ser corrigido depois da mudança.
Questionário
Exercício
Exercício A4.1: Tudo passa para https num só passo? Introduza o seu nome de domínio (sem www). O programa experimenta as quatro variantes (http e https, com e sem www), segue cada redirecionamento passo a passo e verifica o certificado dos dois nomes. Para cada variante, vê a cadeia com os códigos de estado, se todas chegam ao mesmo endereço https e se existe um cabeçalho HSTS. Não tem um site próprio? Utilize rijksoverheid.nl.
Para saber mais
Os passos descritos nestes artigos aplicam-se aos painéis da WebOké; noutros fornecedores funciona de forma semelhante.
- Manual DirectAdmin 6.4: Enviar sempre os visitantes para https
- Manual DirectAdmin 4.3: Definições de um domínio: SSL, PHP, www e private_html
- Manual DirectAdmin 6.3: Certificado para www, sub-domínios e wildcard
- Redirecionar obrigatoriamente os visitantes para https
- Curso gratuito de DNS 3.4: www, redirecionamento e o que o DNS não faz
- Google Search Central, Redirects and Google Search: https://developers.google.com/search/docs/crawling-indexing/301-redirects
- Google Search Central Blog, HTTPS as a ranking signal (2014): https://developers.google.com/search/blog/2014/08/https-as-ranking-signal
- RFC 6797 (HSTS): https://www.rfc-editor.org/rfc/rfc6797
