Upraveno 6 prosince, 2023 06:19
Máte nainstalovaný WordPress, na webhostingu je aktivní SSL certifikát a přes to vše si kladete základná otázku, „proč mi nefunguje HTTPS na WordPressu“? Zelený zámeček v prohlížeči se neukáže a namísto něj se zobrazí zámeček s varováním. Důvod může být někdy velice jednoduchý. Říká se mu mixovaný obsah webu.
Proč mi nefunguje HTTPS na WordPressu?
Totiž, aby bylo HTTPS plně funkční za všech okolností, musí na to být připravený i zdrojový kód webu. Jednoduše tak, že veškeré interní i externí odkazy, které jsou v kódu použité, musí jít přes https protokol. A hned uvedu příklad.
Web bude obsahovat text a v jeho libovolné části bude vložený odkaz např. na kontaktní formulář. Tento odkaz je ve zdrojovém kódu reprezentovaný nějakou url adresou, která definuje stránku či místo, kde je formulář uložený. Pokud tato url bude obsahovat https, je vše v pořádku. Pokud ale nikoliv, dostáváte se do situace, kdy máte na webu mixovaný obsah. Tedy část zdrojového kódu je v https a část v http.
Správně
<a href=“https://blog.jirivanek.eu/cs/kontaktni-formular/“>Kontaktní formulář</a>
Špatně
<a href=“http(s)://blog.jirivanek.eu/cs/kontaktni-formular/“>Kontaktní formulář</a>
Jak opravit mixovaný obsah ve WordPressu?
Existují dvě možnosti, jak tento problém opravit. Jedna je lehká, druhá trochu těžší. Začněme tedy tou lehkou, jelikož u té většina uživatelů WordPressu skončí. Ano, hádáte správně, dá se to opravit pluginem. Plugin se jmenuje Realy Simple SSL a ke stažení je zde. Nainstalujete jej klasickou cestou, a to přes administraci pluginů, kde si jej najdete, provedete instalaci a následně i aktivaci. Problém je vyřešený.
Plugin totiž dělá velmi jednoduchou věc. Vezme výstup zdrojového kódu a před odesláním prohlížeči k zobrazení provede úpravu všech odkazů, kde zamění http za https. Tím pádem nedochází k problému mixovaného obsahu a https je poté plně funkční.
Variantu druhou doporučuji lidem, kteří nechtějí na vše používat pluginy. Je ale těžší. Jak na to?
- přihlaste se do administrace MySQL databáze
- zde si vytvořte zálohu, tedy export dat databáze do SQL souboru
- SQL soubor si následně otevřete v nějakém lepším textovém editoru, jako je např. PSPad
- použijte funkci „zaměnit za„
- zaměňte http za https a použijte akci na celý dokument
- takto upravený SQL soubor poté naimportujte do předem vyprázdněné databáze
V druhém případě si tedy jen uděláte export dat své MySQL databáze. V tomto exportu pak provedete manuální přepis všech http částí za https. Obsah databáze smažete a nahradíte jej upraveným SQL souborem. Tím dojte defacto k úpravě zdrojového kódu webu, resp. obsahu článků, stránek a pod., kde se již nebude vyskytovat mixovaný obsah.
Postup je krok za krokem popsán zde, u migrace WordPressu ze subdomény na doménu. Akorát budete přepisovat jinou část obsahu. Tedy ne doménu a subdoménu ale http za https.
Závěr
V obou výše uvedených případech dojde k úpravě problematické části kódu. Tedy obvykle v obsahu stránek nebo příspěvků. Díky upravenému výstupu, ale bude celý zdrojový kód obsahovat správně definované odkazy a problém se zeleným zámečkem v prohlížeči bude vyřešen.
Web je vytvářen s pečlivostí k obsaženým informacím. Snažím se poskytovat kvalitní a užitečný obsah, který ostatním pomáhá, nebo je inspiruje. Pokud jste spokojeni s mou prací a chtěli byste mě podpořit, můžete to udělat prostřednictvím jednoduchých možností.
Byl pro Vás tento článek užitečný?
Klikni na počet hvězd pro hlasování.
Průměrné hodnocení. 0 / 5. Počet hlasování: 0
Zatím nehodnoceno! Buďte první
Je mi líto, že pro Vás nebyl článek užitečný.
Jak mohu vylepšit článek?
Řekněte mi, jak jej mohu zlepšit.
Odebírejte Newsletter
Buďte v obraze! Připojte se k odběru newsletteru a buďte první, kdo získá nejnovější informace přímo do vaší e-mailové schránky. Sledujte aktuality, exkluzivní události a inspirativní obsah, přímo na Vašem e-mailu.
Děkuji. Problém vyřešen pomocí pluginu ?.