A necessidade de mudar para HTTPS é um registro congestionado. A maioria dos sites comerciais e blogs legíveis funciona há muito tempo em um protocolo seguro. Parece que eles atravessaram e esqueceram. Mas não - o Google está em alerta. Ao mesmo tempo, ele incentivou os webmasters a mudar para HTTPS, tornando-o um fator de classificação. E agora ele lançou o "reforço negativo" - ele iniciou um bloqueio total de recursos carregados via HTTP. E - uma surpresa - ele pode não gostar do seu excelente HTTPS, porque o site possui conteúdo misto.
Entendemos por que o Google não gosta dele, como encontrá-lo e fazê-lo para que tudo esteja bem.
Como o Google motiva a migração para HTTPS: do pão de gengibre ao chicote
A luta do Google para proteger transferências de dados usando HTTPS já começou há muito tempo:
- 2019 - O Google anunciou que se moverá sistematicamente para garantir que apenas os recursos HTTPS sejam carregados nas páginas HTTPS. Como resultado, o Chrome começará a bloquear conteúdo misto .
O bloqueio será implementado gradualmente:
- Dezembro de 2019 - o Chrome 79 desbloqueia seu conteúdo bloqueado. Com essa opção, você pode desbloquear scripts, quadros e outros tipos de conteúdo que o Chrome bloqueia por padrão. Esta opção ficará assim:
- Janeiro de 2020 - No Chrome 80, o conteúdo de áudio e vídeo será baixado automaticamente do HTTPS. Se o download via HTTPS não for bem-sucedido, o Chrome bloqueará esses recursos. Se necessário, os usuários podem desbloqueá-los manualmente. No Chrome 80, as imagens enviadas para sites HTTPS com HTTP não serão bloqueadas, mas será exibida uma mensagem de que a conexão não é segura.
- Fevereiro de 2020 - o Chrome 81 baixará automaticamente imagens do HTTPS. Se eles estiverem inacessíveis, o navegador os bloqueará.
O bloqueio de conteúdo misto não é usado apenas no Chrome. Por exemplo, o conteúdo ativo bloqueia o Firefox (da versão 23), o Internet Explorer (da versão 9) e outros navegadores. Mas o bloqueio de imagens, conteúdo de áudio e vídeo começou precisamente no Google.
Como resultado do estímulo à transição para um protocolo seguro, o compartilhamento de sites que usam HTTPS no ano passado aumentou de 43,5% para 56,5%.
E 85% das páginas carregadas no Chrome por usuários da Rússia transmitem dados via HTTPS. Em 2015, esse indicador era de apenas 28%.
Considerando que na Rússia, cerca de 41% dos usuários usam o navegador Chrome, vale a pena se preparar para bloquear conteúdo misto para não perder tráfego e posições na organização.
Módulo SEO no sistema Promopult: todas as ferramentas para melhorar a qualidade do site e a promoção de mecanismos de busca. Uma gama completa de trabalhos - conosco, você não perderá uma única ninharia. Listas de verificação, dicas, relatórios transparentes e recomendações profissionais. Garantias, pagamento parcelado.
Vamos resolver em ordem.
O que é conteúdo misto e por que ele não deve estar no site
Conteúdo misto (no original - "conteúdo misto") - é quando a página é carregada por uma conexão HTTPS segura, mas recursos individuais (imagens, estilos, scripts etc.) - por HTTP não protegido.
Por exemplo, você mudou para HTTPS (ainda não? Aqui está a instrução ). Mas em uma das páginas você ainda está carregando a imagem de uma biblioteca externa, disponível no endereço do tipo de site site.ru. Este é um conteúdo misto.
De acordo com a especificação W3C , o conteúdo misto é dividido em dois tipos:
- opcionalmente bloqueável (isso inclui imagens, vídeo, áudio);
- bloqueável (outro conteúdo - scripts, estilos, molduras, flash, etc.).
O conteúdo bloqueado está ativo. Os invasores podem interceptar e modificar o conteúdo ativo para obter controle completo sobre a página ou até mesmo o site inteiro. Roubo de senhas de usuários e dados pessoais, cookies, redirecionamento de usuários para outro site, alteração de conteúdo visível são apenas alguns exemplos das ameaças que o download de conteúdo ativo via HTTP representa.
Devido ao alto potencial dano e risco aos usuários, os navegadores são aconselhados a bloquear esse conteúdo misto.
Aqui estão alguns tipos de solicitações HTTP que são consideradas conteúdo ativo:
- <script> (atributo src);
- <link> (atributo href) (incluindo links em CSS);
- <iframe> (atributo src);
- Solicitações XMLHttpRequest
- solicitações fetch ()
- uso de links em CSS (face da fonte, cursor, imagem de fundo);
- <object> (atributo de dados).
O conteúdo opcionalmente bloqueado é passivo. Se os invasores o interceptarem, não poderão interromper o site ou assumir, por exemplo, os dados de pagamento dos usuários.
Mas o perigo permanece. Por exemplo, os invasores podem interceptar imagens ou vídeos e substituí-los por outros. Isso pode causar sérios danos à reputação (as histórias sobre a aparência de vídeos ou imagens com conteúdo pornográfico nos sites de canais federais ou instituições estaduais estão frescas na memória). Além disso, os invasores podem rastrear em quais páginas os usuários visualizaram, em quais produtos eles estavam interessados e em qual conteúdo eles visualizaram.
Aqui estão os tipos de solicitações HTTP que são consideradas conteúdo passivo:
- <img> (atributo src);
- <audio> (atributo src);
- <video> (atributo src).
Se você não deseja que os recursos do seu site sejam bloqueados, faça uma auditoria, encontre conteúdo misto e torne-o acessível via HTTPS.
Como detectar conteúdo misto em um site
Existem diferentes maneiras de descobrir que seu site possui conteúdo misto.
Por ícone na barra de endereço do navegador
Esta é a maneira mais óbvia. Por exemplo, abriremos uma página segura com uma imagem carregada via HTTP. O código fonte desta página é:
No navegador Chrome, vemos um ícone, quando clicamos, temos uma explicação:
O Mozilla Firefox tem uma história semelhante:
As desvantagens do método:
- não está claro quais recursos são carregados via HTTP;
- você precisa verificar cada página manualmente.
Portanto, é mais um indicador do que uma maneira completa de procurar conteúdo misto.
Pesquisando a fonte da página
Abra o código HTML de origem da página no navegador (Ctrl + U) e procure o fragmento “http:” (Ctrl + F).
Nesse caso, sabemos exatamente quais recursos são carregados via HTTP. Mas se houver muitas páginas no site, esse método não funcionará.
Notificações no console do desenvolvedor
Abrimos a página no Chrome que queremos verificar e pressione Ctrl + Shift + I. A página possui conteúdo misto, conforme evidenciado pelos erros de "Conteúdo misto" com uma descrição detalhada.
Da mesma forma, podemos verificar se há erros no Firefox:
A vantagem do método é que todos os erros relacionados ao carregamento de conteúdo misto na página são coletados imediatamente no console. A desvantagem é, novamente, que você deve verificar cada página manualmente.
Verificador SSL do JitBit
O JitBit é uma maneira rápida de identificar páginas em um site com conteúdo misto. Nós especificamos o domínio - recebemos a lista de URLs "problemáticos".
A desvantagem é que não está claro que tipo de conteúdo misto está nas páginas. Então você tem que verificar tudo manualmente. Além disso, o serviço não é adequado para sites com mais de 300 a 400 páginas.
Relatório de Conteúdo Misto do Farol
Este método permite que você obtenha dados imediatamente por uma matriz de URLs. Você não precisa verificar cada URL manualmente e verá uma lista completa dos recursos carregados via HTTP.
Porém, por padrão, a extensão Lighthouse não possui um relatório de conteúdo misto. Ele deve ser executado na linha de comando. Como fazer:
1. Instale o navegador do desenvolvedor do Google Canary .
2. Instale o Node.js.
3. Execute o prompt de comando Node.js.
4. Execute o comando:
npm install -g lighthouse
A instalação do farol começa.
Após a instalação ser concluída com êxito, você receberá a seguinte notificação:
5. Execute o relatório usando o comando (substitua o URL pelo endereço da página no formato site.ru ):
lighthouse --preset="mixed-content" URL
A geração de relatórios começará.
Após a conclusão, o sistema informará em qual pasta o relatório está armazenado.
Por padrão, os relatórios são salvos no formato HTML.
Você pode alterar o formato de saída usando o comando --output. Para obter ajuda sobre esses e outros comandos, digite o console:
lighthouse --help
O relatório tem duas auditorias:
- Usando HTTPS
- Carregamento seguro de recursos.
Se houver problemas, será indicado quais recursos são carregados via HTTP.
Relatório de conteúdo misto farol para vários URLs de uma só vez
Para verificar vários URLs:
1. Crie um arquivo TXT e coloque uma lista de URLs para verificar.
2. Crie um arquivo BAT e coloque o seguinte código (entre aspas, indique o caminho para o seu arquivo TXT e seu nome):
@For /F "UseBackQ Delims=" %%A In ("C:\Users\light\urls.txt") Do @LightHouse "%%A" --preset="mixed-content"
3. Execute o arquivo BAT na linha de comando. Se o arquivo estiver armazenado na mesma pasta que os relatórios, digite o nome do arquivo e pressione Enter. Caso contrário, você precisará escrever start e especificar o endereço do arquivo BAT com um espaço.
Quanto tempo você tem que esperar depende do número de URLs no arquivo de texto. Para cada URL, você receberá um relatório separado.
Obrigado a Christopher Giezendanner por este método.
Relatório de conteúdo misto em Screaming Frog SEO Spider
Esta é provavelmente a maneira mais conveniente. Mas, ao contrário dos anteriores, é pago. O custo do programa Screaming Frog SEO Spider é de £ 149 por ano.
Para obter os dados, execute o relatório Conteúdo não seguro e você terá uma lista de recursos com HTTP.
Leia sobre como analisar quase todos os dados de qualquer site usando o Screaming Frog no blog PromoPult.
Como eliminar conteúdo misto
Então, você encontrou conteúdo misto no seu site. Cerca de metade do trabalho está concluído. Mas você ainda precisa eliminá-lo. Não existe uma solução única - você precisa agir de acordo com a situação.
Os links do HTTP podem levar a recursos internos e externos.
Depois de mudar para HTTPS, todos os recursos internos devem ser carregados com HTTPS. Geralmente eles alteram links absolutos para relativos, configuram redirecionamentos e o problema é resolvido imediatamente.
Com recursos externos não é tão simples.
O cenário ideal é este:
- encontre o URL com HTTP;
- Verifique se o mesmo recurso está disponível via HTTPS;
- Nesse caso, altere o link de HTTP para HTTPS;
- verifique - se tudo funcionar, esqueça o problema.
Mas acontece que os recursos não estão disponíveis via HTTPS. Nesse caso, existem três soluções:
- Entre em contato com o proprietário do recurso e peça para ele mudar para HTTPS (isso é da categoria de ficção científica).
- Encontre uma alternativa segura para um recurso no HTTP (todos os recursos decentes mudaram por muito tempo para HTTPS).
- Não faça nada (esse é um caso extremo - se você simplesmente não pode substituir o recurso e isso é importante para seus usuários).
Tecnicamente, é mais fácil substituir um único URL (por exemplo, em um artigo que você consultou em um site sem HTTPS). Basta abrir o código-fonte e fazer uma edição.
Mas existem URLs que não podem ser corrigidos de uma só vez. Por exemplo, isso inclui links em estilos, scripts, links de ponta a ponta, etc. Nesse caso, você deve conectar um programador ou usar plug-ins.
Por exemplo, para WordPress, existem esses plugins:
- Fixador de conteúdo inseguro SSL . Permite corrigir automaticamente links para recursos não seguros. Convenientemente, você pode escolher uma “profundidade” diferente de correções e, se necessário, ignorar sites externos.
- SSL realmente simples . Este é um plug-in para mudar rapidamente para HTTPS. Ele altera automaticamente os links para relativo e elimina o conteúdo misto. A versão PRO tem a capacidade de verificar o site em busca de conteúdo misto.
- Pesquisar e substituir . Um plug-in para pesquisar e substituir qualquer conteúdo no site, incluindo conteúdo misto. Os domínios são alterados na guia "Substituir URL do domínio".
Após a substituição, você pode ver os detalhes - quais links e em quais partes do código foram substituídas.
Ao usar plug-ins, é importante entender claramente o que você está fazendo. Não recomendamos fazer alterações sem primeiro fazer backup do site. Então você sempre pode voltar ao ponto de partida.
E que o poder do HTTPS esteja com você.