Ilustrace k článku

WordPress: Jak přejít na HTTPS a proč?

Bezpečnost, Jak na to

HTTP vs HTTPS

HTTP je způsob, jakým se přenášejí data na internetu. Není chráněné před sledováním nebo změnou obsahu, což znamená, že vám nezaručí, že to, co vidíte vám skutečně poslala vaše webová stránka. HTTPS tento nedostatek řeší šifrováním dat mezi klientem a serverem a k takové situaci už dojít nemůže.

Navíc, je HTTPS lépe indexováno vyhledávačích (a bude hůř – od července 2018 bude Google v prohlížeči Chrome upozorňovat na nezabezpečené stránky) a je dokonce rychlejší.

Pokud provozujete stránky, na kterých se zadávají uživatelská data (eshopy, registrační formuláře etc.), tak by HTTPS mělo být přímo povinné. A také z části je: např. platební bránu GoPay nenapojíte, pokud HTTPS nemáte. Nevyužijete také celý potenciál HTML5 etc.

Přechodem na HTTPS si otevřete dveře také pro implementaci HTTP/2 (pravděpodobněje na to váš server připraven?), které zajistí vašim stránkám výrazně rychlejší načítání, ale o tom až v dalším článku anebo např. zde.

Jak přejít na HTTPS

V této části se budeme věnovat webům na WordPressu, ale samozřejmě to až na detaily platí pro všechny weby (detailní návod např. na Vzhůrudolů).

Pokud hostujete svůj web u WP Engine – poproste podporu. Ráda to pro vás udělá (a stejn to bez ní nezvládnete).

1. Vygenerujte/aktivujte si certifikát

Tuhle část musíte vyřešit na hostingu. Pokud certifikát ještě nemáte, tak vám bude nejspíš stačit Let’s Encrypt, který je zdarma a většina hostingů ho standardně má ve své nabídce. Pokud potřebujete specifické funkce anebo jméno své společnosti v certifikátu, zvolte nějaký placený. Výběru certifikátů se věnuje např. tento článek.

Pokud je certifikát aktivní, tak byste měli být schopni navštívit svůj web jak přes http:// tak pomocí https:// (i když prohlížeč může hlásit nějakou chybu).

2. Proveďte zálohu webu

Spusťte svůj oblíbený zálohovací program, nebo si jen zazálohujte databázi a soubory z FTP (zde stačí i pouze .htaccess). Vyberte takový, ze kterého si umíte stránky obnovit, kdyby se náhodou něco pokazilo.

3. Úprava URL a přesměrování

V téhle fázi je třeba nahradit všechny staré URL novými a opravit všechny externí URL tak, aby nestahovaly obsah z nezabezpečeného webu (např. obrázky, iframe etc).

Pokud můžete, zvolte vždy variantu A, je to možná o maličko složitější, ale správnější postup, který nezatíží váš server. Doporučovaný plugin sice bezvadně funguje téměř na jedno kliknutí, ale níže uvedené změny, provede pokaždé, když stránku načtete (pokud nemáte cache). To může má zbytečně dopad na její rychlost a odezvu.

Varianta A: Upravte staré odkazy ručně.

Nejprve začněte s adminem – donuťte ho, aby byl vždy zabezpečený – přidejte následující řádek do wp-config.php v kořenové složce svého webu. Pokud by vám nešlo se do administrace přihlásit, odstranění tohoto řádku (nebo nastavení false) to vyřeší.

define('FORCE_SSL_ADMIN', true);

Pokud je vše v pořádku – uvidíte nahoře u svého webu zámeček a zabezpečeno (zde záleží na prohlížeči, který používáte).

Přihlaste se a v Nastavení -> Obecné změňte adresu webu na novou adresu z https://.

Tohle řeší odkazy, které WordPress generuje anebo budoucí příspěvky. Pro opravu starých musíte sáhnout do databáze.

Změna starých odkazů webu

Změnte starou URL za novou (pozor na překlepy!) doporučuji zadat bez lomítka, které tam být může a nemusí. Na úpravu používám nejraději skript Database Search and Replace od Interconnect IT, který nemusíte instalovat a po použití ho jen smažete, ale můžete využít i klasické WP pluginy jako Velvet Blues Update URLs anebo Search & Replace.

Pokud sdílíte pomocí ručně vložených iframů anebo obrázky z jiných serverů, budete muset vyřešit cesty i k takovému obsahu, protože je vše uloženo přímo v příspěvku. Přihlaste se do databáze a pomocí SQL query upravte odkazy na odkazy s relativním protokolem (místo http:// anebo https:// budete mít pouze //). Jinak tento krok můžete přeskočit.

Zkontrolujte web. Podívejte se do konzole (F12) a odstraňte případné chyby – načítání souborů, které načítají soubory přes nezabezpečený protokol HTTP.

Varianta B: Nainstalujte plugin Really Simple SSL

Stáhněte si z repozitáře Really Simple SSL. aktivujte ho a postupujte podle návodu v pluginu. Ujistěte se, že nemáte někde nic hardcoded (= pokud jste se nevrtali v kódu nebo neděláte, co nemáte, tak by se to stát nemělo). Klikněte na aktivovat SSL a plugin by měl vyřešit zbytek za vás.

Zkontrolujte web. Podívejte se do konzole (F12) a odstraňte případné chyby – načítání souborů, které načítají soubory přes nezabezpečený protokol HTTP.

4. Přesměrování v htaccess

Pokud se vám při procházení stránek nezobrazuje u zámečku vykřičník a v JS konzoli varování o mixed content, máte hotovo a můžete nastavit přesměrování starých URL na nové v htaccess souboru.

Pokud nedochází k automatickému přesměrování, přidejte si do htaccess následující řádky.

# redirect na https
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

5. Nastavení dalších služeb

HTTPS vám běží, ale ještě to není vše, co musíte udělat. Pokud používáte služby třetích stran, které sou navázané na URL (tu jste přechodem na HTTPS změnili), musíte provést změnu i tam. Jedná se zejména o následující. Piště v komentářích, jestli něco chybí!

Pro jistotu si projděte výborný SEO Checklist pro přechod z HTTP na HTTPS.

Google Analytics

V účtu Google Analytics musíte změnit svoji adresu, pro kterou se data měří. Dobrý návod naleznete na Really Simle SSL.

Google Search Console / Webmasters Tools

Na stránce Webmaster tools musíte přidat novou variantu své domény a ideálně i preferovanou doménu. Dobrý návod naleznete na Really Simle SSL.

Yoast SEO

Pokud máte po migraci na SSL problémy se svým sitemap souborem, který vám Yoast SEO vytváří, tak ho deaktivujte a následně opět aktivujte. To by mělo změnit všechny odkazy v sitemapě na https://.

Cache a CDN

Po přechodu na https:// vysypte cache a ujistěte se, že i vaše CDN SSL podporuje.

WP Rocket

Používáte-li optimalizaci načítání pomocí pluginu WP Rocket, tak možná budete muset v nastavení zaškrtnout, že chcete optimalizovat i SSL stránky (mění se v růtných verzích.

Komentáře na Disqus

Co vím, tak Disqus má migrační nástroj a postup konverze URL, ale nikdy jsem to nezkoušela.

Doporučené články

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *