Nedávno jsem přesunul tento web na HTTPS / SSL, který je hostován na WordPress CMS. Migrace z HTTP na HTTPS proběhla hladce a úspěšné bylo i trvalé přesměrování na HTTPS. Brzy po šíření se stránky HTTP přesměrovávaly na své ekvivalenty HTTPS a ukazovaly zelený znak visacího zámku. Jediným problémem bylo, že většina stránek HTTPS zobrazovala upozornění na smíšený obsah.
Kvůli takovým varováním stránky nezobrazují Secure tag neboli visací zámek a místo toho říkají, že „Vaše připojení k tomuto webu není plně zabezpečené“ nebo „Toto připojení není soukromé“.
Tento problém nastává, když zdroje stránky odkazují na HTTP URL namísto HTTPS, čímž je označují jako nezabezpečený prvek. Upozornění na smíšený obsah je obvykle způsobeno obrázky přidanými na stránky, které se stále načítají pomocí adresy URL HTTP. Tento problém nepochází ze samotného nastavení SSL a je potřeba jej opravit v rámci procesu migrace na HTTPS.
Intenzivně jsem prohledal mnoho zdrojů, abych našel přesný způsob, jak aktualizovat odkazy na obrázky z HTTP na HTTPS po migraci SSL ve WordPressu. Nemohl jsem však najít jediného průvodce, který by začátečníkovi pomohl tento technický úkol snadno splnit. Po dlouhém brainstormingu a procházení mnoha článků jsem konečně přišel na jednoduché řešení, jak opravit nezabezpečenou chybu na stránkách HTTPS.
Průvodce aktualizací obrázků na HTTPS ve WordPressu
Ponechám tento návod jednoduchý a přímo k věci, aby nováčci nebyli zmateni jako já.
Budeme používat „Lepší hledání Nahradit” plugin pro WordPress, který obsahuje ty nejlepší funkce podobné pluginům. Celý tento úkol můžete provést, aniž byste se museli přihlašovat do phpMyAdmin a spouštět jakékoli SQL dotazy, které by mohly zkazit váš web v případě, že se něco pokazí.
Než budete pokračovat, mějte na paměti, že tento návod je použitelný pro uživatele WordPress, kteří nastavili a 301 přesměrování a na svém webu nebo blogu používají pouze protokol HTTPS. Ačkoli by to fungovalo ve většině scénářů, je třeba zvážit i další faktory, pokud problém přetrvává.
1. Změňte WordPress Home and Site URL na HTTPS
Přejděte na svůj řídicí panel WordPress > Nastavení > Obecné. Nyní změňte adresu WordPress a adresu URL webu na HTTPS namísto HTTP. (Viz obrázek)
Díky tomu zvládá přesměrování samotný WordPress. Kromě toho budou všechny interní odkazy v aplikaci a webu WordPress nastaveny na ekvivalenty HTTPS. To by znamenalo, že každý kousek webové stránky je a vede k šifrovanému obsahu. Pro jistotu můžete do svého souboru .htaccess přidat níže uvedené pravidlo.
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-SSL} !zapnuto
RewriteRule ^(.*)$ //%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Toto přesměrování 301 zajistí přesměrování jakéhokoli požadavku HTTP na HTTPS.
2. Změňte mediální aktiva (obrázky, interní odkazy) z HTTP na HTTPS
Přicházíme k hlavnímu kroku. Nyní musíte nahradit všechny staré HTTP URL v databázi WordPress s HTTPS. To znamená aktualizaci všech odkazů na soubory obrázků a interních odkazů přidaných ručně (v příspěvku nebo na stránky) na HTTPS, aby se zabránilo jakémukoli upozornění na nezabezpečený obrázek a opravě chyby smíšeného obsahu. Není však třeba aktualizovat externí odkazy směřující na jiné weby na HTTPS.
VAROVÁNÍ: Nezapomeňte nejprve zálohovat databázi.Nahraďte HTTP na HTTPS pluginem Beter Search Replace
Chcete-li pokračovat, nainstalujte si plugin WordPress „Better Search Replace“ a aktivujte jej.
Nyní přejděte na stránku pluginu v části Nástroje. Do pole „Vyhledat“ zadejte verzi HTTP adresy URL vašeho webu a verzi HTTPS do pole „Nahradit“. Pod vybranými tabulkami přejděte dolů a vyberte „wp_posts” tabulka, která obsahuje adresy URL obrázků a adresy URL vložené do příspěvků a stránek. Poté zrušte zaškrtnutí políčka Spustit jako suchý? a stiskněte tlačítko Spustit hledání/nahradit.
Počkejte, až proběhne zpracování. Později můžete zobrazit podrobnosti, jako je počet nalezených změn a aktualizované řádky pro konkrétní tabulku.
POZNÁMKA: Pokud během zpracování dojde k chybě, přejděte na kartu Nastavení a zkuste hodnotu „Max Page Size“ snížit na přibližně 8000 až 10000.
A je to! Verze HTTP vložených odkazů a adres URL obrázků vašeho webu by nyní měla být aktualizována na verzi HTTPS.
Pro potvrzení jednoduše otevřete blogový příspěvek a zkopírujte adresu obrázku v příspěvku nebo si zobrazte zdroj stránky. Adresy URL obrázků by nyní měly ukazovat verzi HTTPS a vedle adresního řádku byste měli vidět zabezpečený visací zámek.
Bonusový tip: Po úspěšném nahrazení HTTP protokolem HTTPS můžete plugin odebrat.
Zjistěte, proč web HTTPS nezobrazuje zelený visací zámek
Upozorňujeme, že některé stránky s nefunkčními nebo nedostupnými odkazy, jako jsou například stránky CDN, jejichž platnost vypršela, mohou stále vést ke smíšenému obsahu. Nezabezpečené prvky na takových stránkách můžete identifikovat pomocí funkce Inspect Element v prohlížeči Chrome nebo jednoduše pomocí Whynopadlock.com snadno najít nezabezpečené položky na stránkách s povoleným SSL.
Reference: Podívejte se na tento podrobný článek Michaela Belyho
Tagy: BloggingTutorialsWordPress