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)Ú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:

  1. 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ě.
  2. 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 (s https) 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 http pož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

Pro správnou a 100% funkčnost je potřeba tento kód vložit úplně na začátek souboru, tedy ještě před # 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.

Potřebujete-li  s přechodem na HTTPS pomoci, ozvěte se mi na info@sevciktomas.cz nebo do komentářů níže. Rád pomůžu, popř. celý proces zajistím.

Užili jste si článek? Pokud ano, budu rád za sdílení.

Autor: Tomáš Ševčík

Jsem vášnivý fotograf, webový vývojář/designer a muzikant v jedné duši. Tvořím responzivní weby založené na nejnovějších technologiích a trendech a občas o tom i něco napíšu. Více o mně 

A co vaše názory?

  1. Jan Eder 14. srpna 2018

    Dobrý den Tomáši,
    děkuji moc za tento návod. Chtěl bych Vás poprosit o radu. Web klarapomaha.cz mi běží na Wedosu, kde jsem si aktivoval https s certifikatem Lets Encrypt. Pak jsem postupoval podle vaseho navodu a pri nastaveni bodu 2 jsem se uz nedostal zpatky do administrace a nejak mi to cele nefunguje. Nevite, jak bych mohl zase upravit to nastaveni v Bodu 2, kdyz se ted nemuzu vubec prihlasit? Moc diky za kazdou radu. Trochu se mi z toho rosi celo. Honza

  2. Michal Glaser 29. dubna 2019

    Dobrý den,
    mám prosbu, nechal sem si podle kroku 1 vystavit certifikát od webhostinu a podle kroku 2 jsem změnil nastavení hlavní adresy webu… od té chvíle se nemohu dostat na administraci webu… poradíte mi, v kterém souboru php je to uloženo, abych to mohl vrátit zpět? Moc děkuji.

    • Tomáš Ševčík 29. dubna 2019

      Michale, toto nastavení nalezente v databázi, v tabulce wp_options. Těžko ale říct, proč se vám nedaří dostat do administarce, chtělo by to mrknout do logu na serveru, co je tam špatně.

  3. Karla 26. ledna

    Dobrý den Tomáši, děkuji za postup. Mám vše převedeno na https, ale u stránek s fotkami mi Chrome stále píše, že spojení s tímto webem není zcela zabezpečené. Dále je uvedeno, že útočníci mohou vidět obrázky…Poradíte mi, kde můžu mít chybu v nastavení a jak ji odstranit? Děkuji a přeji hezký den.

    • Tomáš Ševčík 29. ledna

      Hezký den, Karlo. Pravděpodobně ty obrázky nemají v odkazech https. Mrkněte na 5. bod tohoto návodu. Pokud byste měla stále problém, ozvěte se na info@sevciktomas.cz a mrkneme na to. Tom.

Napište svůj názor