Rubriky
IT & Apps

Jak si snadno zřídit SSL šifrování na WordPressu?

Google před nějakou dobou přišel s tím, že bude ve výsledcích vyhledávání zohledňovat fakt, jestli webová stránka komunikuje zabezpečeným protokolem „https“ namísto klasického „http“. K tomuto se používá tzv. SSL certifikát vydávaný certifikačními autoritami, které jsou globálně respektovány všemi běžnými prohlížeči. SSL certifikát byl ovšem dostupný pouze za poplatek a až s nástupem otevřené certifikační autority Let’s Encrypt jsem začal přemýšlet nad jeho nasazením na některé své weby. V tomto článku Vám tedy v rychlosti popíšu proč, jak, kde a jaká to má úskalí.

Proč je dobré mít na webu SSL certifikát?

Jak jsem již zmínil výše, jedním argumentem je zanedbatelné plus pro vyhledávací algoritmus Google. Hlavním důvodem by však měl být zájem přenášet komunikaci mezi webem a návštěvníkem v zabezpečené (šifrované) podobě. U obsahových webů to není nutnost, ale už při vyplňování kontaktního formuláře vlastně posíláte nezabezpečená data. Pokud provozujete eshop, máte vlastní platební portál, rezervační systém a podobné, měli byste použití SSL šifrování zvažovat. Při použití protokolu https dochází k zašifrování dat přenášených mezi prohlížečem a webem (serverem) a tím chráníte jak soukromí návštěvníků Vašeho webu a zákazníků, tak i případně své vlastní obchodní informace (pokud se tam takové přenáší).

Jak na SSL šifrování?

SSL certifikát je potřeba mít vystavený od globálně uznávané certifikační autority. Certifikát je možné vystavit si i na základě vlastního naprogramovaného klíče (například pro interní použití ve firmách), ale prohlížeče takovému certifikátu nebudou důvěřovat. Komerční certifikáty od firem jako Thawte, RapidSSL apod. jsou placené v řádech stokorun až tisíců za rok v závislosti na počtu použitých domén (například pro celou doménu nebo pro konkrétní domény III. řádu). V roce 2016 začala fungovat mezinárodní „otevřená“ certifikační autorita Let’s Encrypt, která vydává certifikáty zdarma, což přináší možnost založit bezpečné spojení prakticky každému webu.

Kde si certifikát zřídit?

Samotný proces vystavení takového certifikátu a jeho napojení na web není úplně snadný a je potřeba problematice trochu rozumět. Ačkoliv postup založení certifikátu je na webu Let’s Encrypt popsaný, já jsem raděj zvolil snadnější cestu. Firma Seonet Multimedia a její webhostingová značka Gigaserver, přes kterou využívám hosting, nabízí svým klientům možnost jednoduše si zřídit certifikát prakticky na jedno kliknutí a zdarma. Po krátkém průzkumu českých poskytovatelů webhostingu jsem dosud nenarazil na jednodušší způsob. Co jsem viděl, tak ostatní poskytovatelé hostingů většinou Let’s Encrypt podporují, ale v současné chvíli jej neumí nasadit tak jednoduše a (nebo) bez dodatečných poplatků za SSL služby. Většinu práce pak přenechávají na zákazníkovi a spíše od toho dávají ruce pryč. To je můj názor a budu rád, když do komentářů napíšete případné reference na poskytovatele, kteří jsou podobně automatizovaní jako Gigaserver. Kdyby zřízení certifikátu na Gigaserveru nebylo tak snadné, nešel bych do toho, protože jen certifikátem to nekončí. Musíte totiž na https protokol připravit také svůj web.

A zde jsou některá úskalí, které je potřeba vyřešit.

Já provozuji weby na WordPressu a na něm je základní napojení SSL šifrování velice snadné. Prakticky stačí v administraci jít do Nastavení > Obecné a přepsat dvě URL z tvaru „http://…“ na „https://…“ a uložit. Poté doporučuji nainstalovat plugin WP Force SSL, který vynucuje načítání stránek přes https. Zde bychom mohli teoreticky skončit a web by měl být pro prohlížeč bezpečný, jenže… Pravděpodobně prohlížeč Váš web jako bezpečný neoznačí. Zde doporučuji otevřít web v Chromu a přes Zobrazit > Vývojář > Konzole JavaScriptu si prohlédnout, kde je chyba. (Konzole JavaScriptu se dá zobrazit také v jiných prohlížečích, ale já jsem zvyklý na Chrome.) Chyba bude na 99% v obrázcích. WP Force SSL si neumí poradit s URL obrázků a médií, takže ačkoliv si stránky na webu budete prohlížet přes adresy jako „https://www.mojedomena.cz/prispevek“, média bude dál načítat přes nezabezpečený protokol „http“. K tomu skvěle poslouží plugin Better Search Replace, pomocí kterého nejprve cvičně vyhledáme v databázích řetězce obsahující „http:“ (jako ověření, že tam takové URL máme) a poté jen dáme pokyn k přepsání takového řetězce hodnotou „https:“. Na Vašem webu bude pravděpodobně potřeba přepisovat jen v databázi wp-posts (pokud nemáte e-shop, bbpress a podobná rozšíření). Určitě ale pamatujte na zálohu webu, než se do takových úprav pustíte!

Zcela běžně se stává, že domovská stránka je označená jako bezpečná, ale některá další podstránka nebo příspěvek už bezpečná být nemusí. Jedním důvodem může být výše zmíněný problém v URL načítaných obrázků. Dále se ale bude jednat také o to, zda na konkrétní stránce nenačítáte například embedovaná videa nebo formuláře přes nezabezpečený protokol. U klasických YouTube videí nebo Google formulářů problém nebude. Ten může nastat u méně častých služeb, vlastních formulářů nebo díky affiliate odkazům. V tomto případě se nabízí varianta načítat obsah přímo z vlastního webu nebo požádat poskytovatele těchto prvků, zda nemá vlastní verzi odkazující na https protokol.

A je to! Už jste bezpečně šifrovaní 🙂