Jak přejít na https
Praktické rady

Jak přejít na https, když máte blog na WordPressu?

Tento příspěvek jakoby na tento blog úplně nepatřil, ale překvapivě jako určitě mnoho bloggerů, i my jsme se potýkali s problémem, jak přejít na https. A protože jsme naprostí laici v technických věcech, tato zkušenost byla poměrně bolestná.

Proč vlastně přecházet na https? Důvody jsou bezpečnostní a praktické. Z bezpečnostního hlediska si pojistíte přenos citlivých dat, což zajišťuje tzv. SSL certifikát.

Praktické hledisko je ale možná důležitější, protože prohlížeče stále naléhavěji varují před nezabezpečenými weby (tedy těmi, jejichž adresa začíná http://). Uživatelé si tak toho budou stále častěji všímat a nezabezpečeným webům se budou vyhýbat.

Dalším důležitým aspektem je pozice ve vyhledávačích. Google už dlouhou dobu avizuje, že bude nezabezpečené weby znevýhodňovat ve výsledcích vyhledávání. Nehledě na to, že pokud chcete provozovat podcast, Apple upozorňuje, že brzo přestane podporovat podcasty z adres http://.

A teď se dostáváme k tomu opravdovému problému, který se jmenuje “jsem obyčejný blogger, který nemá valné technické znalosti, a potřebuju přejít na https”.

Mně hodně pomohl návod, který naleznete zde. Předesílám, že máme blog ve WordPressu a hosting u Ignum.

Problém nastal u 4. bodu – nastavení přesměrování z http na https. Řídil jsem se instrukcemi, které mi zaslali z Ignum, a změnil odpovídajícím způsobem soubor .htaccess na:

RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https 
RewriteCond %{HTTPS} !=On [NC] 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

(Pokud taky tápete, kde a jak změnit soubor .htaccess, tak pokud máte plugin Yoast SEO, najdete to přímo v tomto pluginu pod: nástroje —> editor souborů).

Následovalo naprosté zděšení, protože celý web přestal fungovat (s výjimkou homepage). Nešlo se prokliknout na žádný příspěvek, žádnou kategorii, nefungovaly odkazy na články ze sociálních sítí.

Vrátil jsem tedy soubor .htaccess do původní podoby a vše opět fungovalo, jak má. Takže jsem si říkal, že to tak můžu nechat. Po provedení kroků 1 – 3 z uvedeného návodu, stránky už byly kompletně překlopené do https, vše fungovalo, jak má. Ale dočetl jsem se na internetu, že tento 4. krok (přesměrování) je zásadní pro pozici ve vyhledávačích, protože bez něj budou existovat dva zrcadlové weby, jeden na http a druhý na https. A problém je obrovský, protože váš veškerý obsah je tím pádem duplicitní a Google duplicitu obsahu penalizuje tak, že vás odsouvá ve výsledcích vyhledávání někam úplně na konec. Pro SEO naprostá katastrofa.

Nakonec pomohla technická podpora z Ignum a vysvětlila nám, v čem byl problém (tuto radu však nikde na netu nenajdete). V případě webu na WordPressu není možné jednoduše změnit soubor .htaccess. Je nutné zachovat původní nastavení tohoto souboru a nové nastavení tam přidat (nikoliv nahradit jedno za druhé). V opačném případě WordPress ztratí veškerá nastavení URL adres, a proto nic jiného než homepage nemůže fungovat. Správná podoba souboru .htaccess u domény na hostingu Ignum u webu na bázi WordPressu je tedy následující:

RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTPS} !=On [NC] 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# BEGIN WordPress
# Direktivy (řádky) mezi ‘BEGIN WordPress’ a ‘END WordPress’ jsou
# dynamicky generované a měly by být upravovány pouze pomocí filtrů WordPressu.
# Veškeré změny směrnic mezi těmito značkami budou přepsány.<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTPS} !=On [NC] 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# BEGIN WordPress
# Direktivy (řádky) mezi ‘BEGIN WordPress’ a ‘END WordPress’ jsou
# dynamicky generované a měly by být upravovány pouze pomocí filtrů WordPressu.
# Veškeré změny směrnic mezi těmito značkami budou přepsány.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Dávám to sem hlavně proto, že to třeba někomu pomůže vyhnout se infarktovému stavu, jaký jsme zažili my, když jsme řešili otázku, jak přejít na https.

Hodnocení článku:

[Celkem hlasů: 0 Průměr: 0]

Pošli to přátelům…

Napsat komentář

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