Webová prezentace

Jednoduchá cesta k Vašemu webu

Vyhledat na webu

Aktuálně

Přečtěte si

Inspirace

Návod na hladký přechod na HTTPS



Nastavení HTTPS u webu běžícího na redakčním systému WordPress. Postup krok za krokem, na co dát pozor, co nezapomenout a co netřeba řešit.

HTTPS (Hypertext Transfer Protocol Secure) je v nadstavba síťového protokolu HTTP, která umožňuje zabezpečit spojení mezi webovým prohlížečem a webovým serverem před odposloucháváním nebo podvržením dat a také umožňuje ověřit identitu protistrany. Standardy webových prohlížečů a vyhledávačů postupně přidávají na významu a hodnotě tohoto protokolu, HTTPS je zkrátka trendy. Proto je dobré jeho nastavení zvážit.

Popisovaný přechod na HTTPS byl testován u poskytovatele hostingu Wedos, ale obecný postup platí všude stejně. U jiných poskytovatelů webhostingu doporučuji řídit se jejich manuálem. Wedos poskytuje základní informace o přechodu na HTTPS, o možnostech a nutných krocích ve své znalostní bázi.

Zaměřím se na variantu s nejnižšími náklady, nejjednoduším postupem, přičemž výsledkem je web regulérně šlapající na HTTPS.

Budeme tedy nastavovat HTTPS s certifikátem Let's Encrypt. Certifikát je od dané autority zdarma, komunikace je šifrovaná a důvěryhodná. Přidat nebo odebrat domény lze kdykoli v klientské administraci. O prodložení certifikátu není třeba se starat. Jak nastavit HTTPS na svém hostingu popisuje Wedos opět ve své znalostní bázi.

Vše se odehrává po přihlášení v klientské administraci. Podmínkou je aktivace příplatkové služby "HTTPS na doméně (SNI)". Wedos tuto položku obhajuje podle mě uspokojivě, nicméně to znamená, že náklady na hosting zabezpečený HTTPS budou vyšší o 10 Kč měsíčně. Aktivace je vykonána několika kliknutími, platba pak probíhá až současně s pravidelnou platbou za hosting.

Po aktivaci příplatkové služby následuje již samotné nastavení domén certifikátu, které je dobře popsáno v návodu. Pro tento krok si rezervujte cca 20 minut trpělivosti. Samotné naklikání je hotové hned, ale nastavování služby systémem chvíli trvá.

Pokud vám nevyskočí nějaké chybové hlášení, zkontrolujte nastavení HTTPS ve své klientské administraci, v levém menu HTTPS, zde se zobrazí Informace Let's Encrypt certifikátu: aktivní.

Tímto je nastaven HTTPS u vašeho webu. Více není ze strany vašeho hostingu potřeba. Proces ale ještě není u konce. Nyní je nutné zabezpečit změnu adresy webu. Pokračujeme tedy v administraci WordPress, Nastavení -> Obecné. Tady provedeme 2 úpravy v políčkách:

  • Instalace WordPressu (URL): http přepíšeme na https
  • Úvodní stránka webu (URL): http přepíšeme na https

Tím dosáhneme toho, že web se začne zobrazovat pod hlavičkou HTTPS. Zároveň se tím HTPPS aplikuje všude tam, kde jsou použity relativní adresy. Jestliže máte kdekoli na webu absolutní adresy (začínající http://) v příspěvcích, widgetech, stránkách atd.) je potřeba je upravit na HTTPS. To uděláte buď ručně, pokud se jedná o malé množství a máte o těchto odkazech přehled. Anebo instalujte a použijte speciální WordPress pluginy, které automaticky opraví všechny odkazy, například:

V tuto chvíli by již měl web bez problému fungovat.

WordPress se ale automaticky nepostará o přesměrování starých odkazů, 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 (úplně na začátek souboru, před #BEGIN WordPress). Jinak řečeno: Musíte přesměrovat všechny stránky HTTP kódem 301 z HTTP adres na HTTPS adresy.

# PŘESMĚROVÁNÍ NA HTTPS
RewriteEngine On
RewriteCond %{ENV:HTTPS} !^.*on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# KONEC KÓDU PŘESMĚROVÁNÍ NA HTTPS

Pokud vám web běží s HTTPS, ale zároveň načítá některé prvky (obrázky, skripty, styly, atd.) bez zabezpečeného přenosu (bez https), bude je prohlížeč blokovat. Jestliže jste prošli pečlivě krok za krokem až sem, tak ze strany WordPressu a pluginů by tento problém nastat neměl. Stává se ale, ž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.

Když je vše v pořádku, tak to v prohlížeči Chrome poznáte v adresním řádku podle zeleného Zabezpečeno | https://. V případě chyby bude pole https zašedlé a chybu samotnou lze vyčíst v konzoli (Mixed Content). S automatickou detekcí smíšeného obsahu vám případně pomůže aplikace www.jitbit.com/sslcheck

Nutno upravit URL v meta tagu OG:URL, což většinou WordPress řeší automaticky, kontrola doporučena (například zobrazením zdrojového kódu stránky v prohlížeči).

Nakonec je potřeba aktualizovat různé externí služby, které jsou vázané na doménu. Patří sem i různá počítadla, statistiky, widgety (Toplist, Waudit, apod.). V Google Analytics v nastavení služby stačí změnit protokol. U Search Console (Google Webmaster Tools) musíte přidat celý web znovu (tlačítko Přidat službu), systém bere http a https jako dva odlišné weby. U dalších služeb (např. Seznam, Bing) je to podobné.

Funčnost webu je potřeba prověřit po všech stránkách. Proto testujte, kontrolujte, zkoušejte. Pro potřebu testování nezapomeňte vymazat cache, případně cachování na chvíli zcela vypnout. Pro kontrolu a testování webu doporučuji využít prohlížeč Google Chrome, umožňuje totiž hlubší analýzu a identifikaci chyb.

Vyzkoušejte pluginy a aplikace dostupné online a zdarma:

Bylo zjištěno, že přechodem na HTTPS přijdete o Facebookové lajky. Jde to obejít určitým kódem pro směrování robotů nabo mířením OG:URL na starou adresu, ale není to korektní řešení. Řešení jsem zatím neobjevil. Ale i bez lajků je život krásný.

HTTPS s certifikátem Let's Encrypt se hodí pro běžné weby, to jest blogy, menší webové prezentace. Pro weby, které sbírají a zpracovávají větší množství osobních údajů nebo zprostředkovávají elektronické platby, se doporučuje poohlédnout se po certifikátu s vyšší autoritou.





Zpět na předchozí stránku

Mapa webu