Avisos de conteúdo misto depois de alterar o endereço do site de HTTP para HTTPS

Eu mudei o endereço do meu site de HTTP para HTTPS simplesmente alterando o URL em Configurações -> Geral (endereço WordPress e endereço do site.) Absolutamente nenhum problema na área de administração, tudo funciona bem.

O que acontece na parte pública do site: há um monte de “conteúdo misto”, de modo que o Firefox reclama que o site não é seguro. Eu notei (ver fonte) quase todas as imagens que eu coloquei na galeria de mídia ainda são “renderizadas” com HTTP em vez de HTTPS.

O que posso fazer para servir as imagens, fonts, etc. com um URL HTTPS?

[UPDATE] Eu encontrei um par de problemas podem ser corrigidos editando dois arquivos de tema com “http: //” codificado. O problema é com as imagens, se você não quer alterar o database, aparentemente não há solução

Solutions Collecting From Web of "Avisos de conteúdo misto depois de alterar o endereço do site de HTTP para HTTPS"

Isso está acontecendo porque o WordPress salva URLs em conteúdo absolutamente por padrão (o que significa que realmente é que suas URLs são salvas como http://example.com no database). Para corrigir isso, você deseja executar uma pesquisa e replace em seu database para corrigir esses erros.

Eu gosto de usar o plugin Better Search Replace porque tem um recurso agradável para permitir que você experimente sua pesquisa / substituição como uma execução a prova seca. Há muitos outros methods de busca / substituição, e você também pode fazer as alterações em PhpMyAdmin, mas vou colocar instruções para usar o plugin Better Search Replace.

Supondo que você esteja usando Better Search Replace:

  1. BACK UP YOUR DATABASE! Sempre sempre sempre. Use qualquer ferramenta que você deseja fazer (UpdraftPlus ou dump (NOT DROP) de PhpMyAdmin ou diretamente do MySQL são todas as opções).
  2. Dirija-se a ferramentas> Better Search Replace
  3. Adicione a versão não SSL do seu site ao campo de pesquisa http (por exemplo, http://example.com ) e a versão SSL do seu site para o campo de substituição Pesquisar Substituir Exemplo 1
  4. Selecione as tabelas que deseja atualizar. Provavelmente, tudo o que você precisa é a tabela wp_posts e wp_postmeta mas você pode adicioná-los todos se quiser. Basta saber que isso pode demorar mais e demorar, dependendo das especificações do seu servidor. Selecione suas tabelas
  5. Faça uma corrida seca para se certificar de que funciona Funcionamento a seco
  6. Se funcionar, desmarque a opção de execução a seco e execute-a de forma real.
  7. Verifique o seu site para verificar se os erros foram corrigidos. Se eles tiverem, incrível!

Nota: Toda vez que você pesquisa / substitui, há uma chance de causar problemas maciços ao seu site. Daí o primeiro passo, faça backup do seu site. Se algo der errado, você tem uma maneira de restaurar seus dados.

Você precisará redirect todos os seus tráficos de HTTP para HTTPS. Uma regra de reescrita pode fazer isso por você. Use este código em vez da regra de reescrita original do WordPress (se você não estiver usando cache) no seu arquivo .htaccess :

  RewriteEngine On RewriteBase / RewriteCond %{ENV:HTTPS} !=on RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L] # BEGIN WordPress RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]  

Existem plugins que podem fazer isso também para você, como Easy HTTPS Rediction .

Instale este plugin: https://wordpress.org/plugins/http-https-remover/

Apesar do nome – HTTP / HTTPS Remover – a versão mais recente forçará todo o http para https e seus avisos de conteúdo misto desaparecerão.

Acabei de mover o site da minha empresa para a versão segura apenas na última sexta-feira. Utilizei o Plugin SSL Realmente Simples e adicionei um redirecionamento 301 ao meu arquivo .htaccess.

 RewriteCond %{HTTPS} !=on RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

Não se esqueça de verificar também a versão HTTPS do seu site no Search Console / Ferramentas para webmasters