WordPress | 1. Volba URL a přesměrování

Volbou URL adresy a správným přesměrováním ostatních variant lze výrazně zkrátit dobu načtení webu.

Jakou variantu URL zvolit?

Preferujte https://, případně si nejprve zajistěte SSL certifikát. Rozhodněte se, zda v URL budete mít subdoménu www nebo ne. V našem návodu pracujeme se subdoménou www. Nyní ukážeme, jak načítání webu nemá vypadat.

Nesprávné přesměrování:

zbytečně ztrácíme 940 ms, první tři kroky mohou proběhnout jako jeden rychlý krok

Máme web https://www.svatky.cz. Návštěvník ale může použít jinou adresu. Třeba vynechat https nebo www na začátku. Nebo obojí.

  • 1. krok – web se načítá na http:// a bez www, spouští se celý web a plugin pro přesměrování na https:// (549ms)
  • 2. krok – došlo k přesměrování na https://, ale URL stále není správně, web má totiž nastavenou subdoménu www (391ms)
  • 3. krok – tedy dochází k dalšímu přesměrování na finální URL (89ms)

Vše proběhlo správně, návštěvník se dostal na zamýšlenou URL, mohlo by to ale probíhat efektivněji a rychleji.

Jak na to?

V administraci WordPressu v Nastavení >> Obecné se ujistěte, že máte preferovanou variantu nastavenou.

Do souboru .htaccess na FTP si přidejte následující kód. U modře psaných částí si prosím nahraďte název domény svou doménou.

RewriteEngine On
# přesměrování všech variant bez www na zabezpečenou variantu s www
RewriteCond %{HTTP_HOST} ^domena\.cz [NC]
RewriteRule (.*) https://www.domena.cz/$1 [R=301,QSA,L]

# přesměrování nezabezpečené varianty na zabezpečenou variantu s www
RewriteCond %{HTTPS} off
RewriteRule (.*) https://www.domena.cz/$1 [R=301,L]

# přesměrování všech dalších nezabezpečených požadavků na zabezpečené
Header set Content-Security-Policy "upgrade-insecure-requests;"

Ujistěte se, že nepoškodíte ostatní .htaccess pravidla, mohou být klíčová pro funkčnost vašeho webu. Žádná pravidla nemažte, jen tato nová přidejte na začátek souboru. Pokud původní pravidla ztratíte, WordPress obvykle používá tuto sadu.

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

Výsledek?

přesměrování zajistil vysokou rychlostí náš webserver, web se tím nijak nezdržuje
  • 1. krok – webserver zjistil, že web preferuje jinou URL, jedním rychlým krokem vše zajistí (78ms)
  • 2. krok – hotovo, jsme na správné URL s úsporou času (159ms)