HTTPS a WordPress – přechod krok za krokem
Přechod na HTTPS není žádná věda, přes to s tím má spousta webů stále problém. Nemluvě o těch, které HTTPS ještě nemají vůbec. Pokud pracujete s daty uživatelů a ještě nemáte SSL certifikát, tak budete dokonce ve výsledcích vyhledávání označeni jako nedůvěryhodní. Což určitě nechcete. 🙂 O výhodách a nevýhodách https toho bylo na internetu napsáno mraky, takže se zaměřím pouze na to, jak na něj bez problému na WordPressu přejít.
1. Získání SSL certifikátu
Než vůbec začnete s jakýmikoliv úpravami, zajistěte si platný SSL certifikát. Kontaktujte svého webhostera s dotazem na možnosti. Někteří (např. ONEbit.cz) vám nabídnou dokonce SSL zdarma.
2. Změna hlavní adresy webu
Máte-li certifikát, můžete přistoupit ke změně adresy webu. Tu změníte v administraci Nastavení -> Obecné.
Je třeba změnit http na https v položkách Instalace WordPressu (URL) a Úvodní stránka webu (URL).

3. Aktualizace všech ostatních adres na webu
Předchozí krok změní URL v nastavení WordPressu, to se aplikuje všude tam, kde jsou použity relativní adresy. Tam, kde máte adresy absolutní (tedy http:// – v příspěvcích, widgetech, stránkách atd.) je třeba je upravit a přidat esko. Jsou dvě možnosti jak to provést:
- Ručně: Pokud máte pár stránek, není problém je projít a odkazy upravit. Stejně tak u widgetů a všude tam, kde jste kdy vkládali odkazy ručně.
- Pluginem (doporučuji): Pokud chcete tento proces zautomatizovat a mít jistotu, že nic nevynecháte, máte možnost využít některý z pluginů. Doporučuji Velvet Blues Update URLs nebo Search & Replace. Stačí zadat starou (s
http) a novou (shttps) adresu a plugin se o vše postará.
4. Trvalé přesměrování všech HTTP požadavků na HTTPS
V tuto chvíli máme vyřešeny adresy a web by nyní měl bez problému běžet na https. WordPress se ale bohužel (zatím) automaticky nepostará o přesměrování starých odkazů, takže z hlediska SEO budete mít na webu duplicitní stránky (verze s http a verze s https) a to není dobré. Potřebujeme všechny httppožadavky přesměrovat na https. Řešení je jednoduché – stačí vložit následující kód do souboru .htaccess.
# BEGIN FORCE REDIRECT TO HTTPS
RewriteEngine On
RewriteCond %{ENV:HTTPS} !^.*on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# END FORCE REDIRECT TO HTTPS
# BEGIN WordPress.5. Kontrola a odstranění smíšeného obsahu (mixed-content)
Velice častá chyba u webů s SSL certifikátem. Pokud vám web běží s HTTPS, ale zároveň načítá některé prvky (skripty, obrázky, styly, iframe atd.) bez zabezpečeného přenosu (bez https), bude je prohlížeč blokovat. Pokud jste prošli pečlivě všechny body výše, tak ze strany WordPressu a pluginů by tento problém nastat neměl. Často se ale stává, že je přímo v šabloně vložen odkaz „natvrdo“ a s protokolem http. Je potřeba všechny tyto odkazy najít a ručně upravit.
Pokud je vše v pořádku, tak v Chrome to poznáte například následovně:
![]()
V případě, že se na stránce nachází smíšený obsah, tak nebude obsažena informace o zabezpečeném připojení a https bude zašedlé.
![]()
Detaily lze nalézt v konzoli prohlížeče (F12). Chyba může vypadat například následovně:

Je potřeba zkontrolovat nejen hlavní stránku, ale také podstránky. Oprava problému pak záleží na samotné chybě v konzoli. Jak jsem zmínil výše, většinou se jedná o odkazy v šabloně a úprava není nijak komplikovaná. Vážnější problém může nastat v případě iframu, do kterého načítáte nezabezpečená data a zdroj s https načít nelze (cílový obsah nemá certifikát). Zde je potřeba problém řešit s poskytovatelem načítaného obsahu a vyžádat si šifrovanou verzi.
Pro automatickou detekci smíšeného obsahu doporučuji vyžít nástroj www.jitbit.com/sslcheck.
6. Aktualizace externích služeb
Pokud používáte různé externí služby, které jsou vázané na doménu, tak bude potřeba aktualizovat i je. U Google Analytics je to jednoduché – v nastavení služby stačí změnit protokol. U Search Console (Google Webmaster Tools) musíte ale web přidat celý znovu, systém bere http a https jako dva odlišné weby. U dalších služeb je to obdobné – hlavní je vše aktualizovat nebo minimálně zkontrolovat.
Napsat komentář