Jak nastavit WordPress z HTTP na HTTPS/SSL

SSL

Jak možná víte Google prohlásil, že jedním z faktorů pozice webu ve výsledcích vyhledání bude i to, zda běží nebo neběží na HTTPS. Další výhodou využití SSL je určitě větší důvěryhodnost webu.

HTTPS (Hypertext Transfer Protocol Secure) je v informatice 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, podvržením dat a umožňuje též ověřit identitu protistrany. HTTPS používá protokol HTTP, přičemž přenášená data jsou šifrována pomocí SSL nebo TLS a standardní port na straně serveru je 443.

K tomu abyste mohli používat HTTPS potřebujete SSL certifikát nainstalovaný na vašem hostingu. Certifikát může být sdílený nebo privátní. V tomto článku předpokládejme, že certifikát již na hostingu máme a jdeme nastavit WordPress tak, aby se z HTTP přesunul na HTTPS.

TIP: Přečtěte si článek Jak nastavit u WordPress HTTPS (SSL) pomocí pluginu.

To znamená, že adresa webu nebude již nadále začínat http://, ale https://.

Nejprve se přihlašte do administrace WordPressu a v levém menu vyberte Nastavení -> Obecné.

Třetí a čtvrtá položka by měli být Instalace WordPressu (URL) a Úvodní stránka webu (URL). Ujistěte se, že obě adresy začínají na HTTPS. Pokud tomu tak není, doplňte s.

Základní nastavení HTTPS

Základní nastavení HTTPS

Přihlášení do administrace a administrace WordPressu přes SSL

K vynucení veškerých aktivit spojených s administrací WordPressu přes HTTPS musíte do wp-confing.php vložit konstantu FORCE_SSL_ADMIN.

define('FORCE_SSL_ADMIN', true);

A to je vše. Nyní máte WordPress nastavený na HTTPS. Nicméně je dobré myslet dopředu a upozornit vyhledávače na novou adresu webu a také nastavit přesměrování.

Trvalé přesměrování na HTTPS

Trvalé přesměrování (301) uděláte tak, že si otevřete soubor .htaccess, který najdete v základní složce WordPressu, a vložte do něj následující kód:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^vasedomena.cz [NC,OR]
RewriteCond %{HTTP_HOST} ^www.vasedomena.cz [NC]
RewriteRule ^(.*)$ https://www.vasedomena.cz/$1 [L,R=301,NC]

Nezapomeňte změnit vasedomena.cz na název vaší domény.

Doporučení: Pokud máte stále problém s přesměrováním na HTTPS verzi webu, použijte plugin Really Simple SSL.

Posledním krokem je informování Googlu přes Nástroje pro vývojáře o změně URL adresy webu. To uděláte tak, že web znovu přidáte do seznamu webů, ale tentokráte s HTTPS.

Jestliže Search Console nemáte pro web nastavenou, určitě to napravte. Návod najdete v článku Jak WordPress připojit k Google Search Console.

O autorovi

Tomáš Cirkl

WordPress specialista · 12 let praxe · 300+ webů ve správě

Baví mě Internet a zvláště pak redakční systém WordPress. Jsem pravidelným účastníkem a přednášejícím na WordCamp Praha a WordPress konferencích.

25 Komentáře

  1. Manuel Nuněz

    díky za článek, tak srozumitelný návod nenapsal ještě snad nikdo.

    Odpovědět
    • scrapcam

      Všechny návody jsou psané pro hosting – proto se zeptám – podle čeho plugin pozná, že na hostingu je certifikát?
      Jak je to v případě, že chci mít https stránky mimo hosting na nějakém mě dostupném stroji?

      Odpovědět
      • Tomáš Cirkl

        Plugin si umí certifikát otestovat, pokud tam nebude, tak aktivaci SSL neumožní.

        Odpovědět
  2. Tomáš

    Díky za článek. Máte nějaké doporučení, kde získat SSL certifikáty? Googlil jsem, ale je toho mnoho.
    Díky, Tom

    Odpovědět
  3. Tomas A.

    diky za clanek. postupoval jsem dle nejlepsiho vedomi a svedomi a hodilo mi to chybu: smycka pri presmerovani ERR_TOO_MANY_REDIRECTS a nic se nenacte. nepouzival jsem plugin, ale zmenu config.php a .htaccess.
    diky Tomas

    Odpovědět
    • Tomáš Cirkl

      Zdravím, máte tam někde chybu. Doporučuji zkusit ten plugin, je to s ním jisté.

      Odpovědět
  4. Jarmila

    Zdravím, mám dotaz, je možné aby po přechodu na https přestaly fungovat mapy?

    Odpovědět
    • Tomáš Cirkl

      Těžko říci, záleží na šabloně. Nicméně neměly by.

      Odpovědět
      • Jarmila

        Nemáte prosím někoho, kdo by mi občas odborně pomohl? Mnohé si udělám sama, ale jsou věci, se kterými prostě nepohnu.

        Odpovědět
  5. Marek

    Dobrý den, našel jsem si tento článek při dnešním zprovozňování HTTPS na mém webu, a zarazila mě ta část o .htaccess. Tento .htaccess kód přece“v překladu“ znamená „Přesměruj všechny požadavky na xy.cz a http://www.xy.cz na https://www.xy.cz“ … tedy i pokud už přichází na https://www.xy.cz, protože to tam není nijak zohledněno. Což si tak říkám může vysvětlovat ten komentář s chybou ERR_TOO_MANY_REDIRECTS …

    Našel jsem si jiný kód, který by měl sloužit přesně k tomuto účelu – přesměruje pouze požadavky na „http 80 portu“:

    RewriteEngine On
    RewriteCond %{SERVER_PORT} 80
    RewriteRule ^(.*)$ https://www.xyz.cz/$1 [R,L]

    Odpovědět
  6. Jakub Široký

    Dobrý den, dávám toto, doporučuji:

    RewriteCond %{HTTPS} !on
    RewriteRule .? https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

    Odpovědět
    • Petr

      díky moc, taky by to tu mohli upravit, aby to neházelo tu smyčku…

      Odpovědět
  7. Karel Míka

    Dobrý den, když použiji plugin „Really Simple SSL.“ a web mi již funguje na https:// , mám tento plugin již smazat?

    Odpovědět
  8. Lucka

    Zdravím, po nastavování https certifikátu se mi nějak pokopal admin. Nezobrazují se mi ikony v builderu a nereaguje na přidání obrázku např. vložením přes „text“. Setkal jste se s tím někde? jak se dá řešit?

    Odpovědět
  9. ZeptejSeFilipa

    Jen bych si dovolil přidat úpravu htaccess příkazu, který funguje pro Český-Hosting.cz

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^www\.vezmemese\.cz$
    RewriteRule ^(.*)$ https://vezmemese.cz/$1 [R=301,L]

    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{SERVER_NAME}/$1 [R=301,L]

    Odpovědět

Odeslat Komentář

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

Pojďme se seznámit

30 minut video callu, podívám se na tvůj web a řeknu, co by se dalo zlepšit. Nic neslibuju, ale obvykle odcházíš se seznamem priorit.