Prejsť na obsah

Nastavenia súborov cookie

Vyberte, aké druhy súborov cookie povolíte. Svoj výber môžete kedykoľvek zmeniť cez Nastavenia súborov cookie v dolnej časti každej stránky. Vyhlásenie o ochrane osobných údajov

Nevyhnutné

Vždy zapnuté

Potrebné na prihlásenie, uchovanie košíka a zapamätanie vašich volieb. Sú vždy zapnuté.

Ktoré súbory cookie?
  • weboke_sessie, weboke_klant, weboke_remember: vaša relácia a trvalé prihlásenie
  • weboke_basket: váš košík
  • wkBtwIncl: zobrazovanie cien s DPH alebo bez DPH
  • wok_cookies: váš výber súborov cookie, 12 mesiacov

Merajú, ktorá reklama vedie k návšteve alebo objednávke, aby sme neplatili za reklamy, ktoré nič neprinášajú.

Ktoré súbory cookie?
  • Google Ads cez Google Tag Manager (_gcl_au, _gcl_aw), najviac 90 dní
  • OpenAI Ads, reklamy v ChatGPT
  • wok_aff: ktorý partner vás k nám odporučil (partnerský program), 60 dní

4,6

Krajina a jazyk

Každá krajina má vlastný web s cenami a DPH danej krajiny.

Zobraziť

www, presmerovanie a zmiešaný obsah

Modul 3: Adresa, https a používatelia · Čas čítania: 9 minút

Cieľ lekcie: Po tejto lekcii dokážete zvoliť jednu hlavnú adresu, presmerovať všetky varianty na ňu jedným presmerovaním a odhaliť aj vyriešiť zmiešaný obsah.

Kľúčové pojmy: kanonická adresa, 301 a 308, reťazec presmerovaní, zmiešaný obsah (mixed content), hľadanie a nahrádzanie v databáze, serializované údaje

Štyri adresy, jedna webová stránka

Vaša webová stránka je dostupná cez štyri adresy:

http://example.com
http://www.example.com
https://example.com
https://www.example.com

Pre návštevníka na tom nezáleží, ale pre vyhľadávače ide o štyri rôzne adresy s rovnakým obsahom. Aj cookies (napríklad vaše prihlasovacie cookie) platia podľa názvu: kto sa prihlási na www, nie je prihlásený na holej doméne. Preto si vyberiete jednu kanonickú adresu (hlavnú adresu) a ostatné tri na ňu presmerujete.

Ktorú si vyberiete, je vecou vkusu (lekcia 2.1). Dôležité je, aby bola hlavná adresa všade rovnaká: v DNS, v certifikáte, v Nastavenia > Všeobecné (lekcia 3.1) a v presmerovaniach.

Presmerovanie pomocou 301, v jednom kroku

Presmerovanie je odpoveď servera: „táto stránka sa nachádza inde“. Prehliadač potom sám prejde na novú adresu. Kód hovorí, o aký typ presmerovania ide:

KódVýznamPoužitie
301Trvalo presťahovanéŠtandardná voľba pri presmerovaní z http na https a z www na holú doménu (alebo naopak)
308Trvalé, pričom metóda (napríklad odoslanie formulára) zostáva rovnakáMôže sa použiť aj na tento účel; prehliadače a vyhľadávače ho považujú za 301
302 alebo 307DočasnéLen pre niečo, čo je naozaj dočasné, napríklad stránka údržby

Trvalé presmerovanie hovorí vyhľadávačom, že nová adresa je tá skutočná. Pri dočasnom si naďalej pamätajú starú adresu.

Dávajte si pozor aj na reťazec presmerovaní. Predpokladajme, že vaša hlavná adresa je https://example.com. Potom chcete toto:

http://www.example.com   301  https://example.com/
http://example.com       301  https://example.com/
https://www.example.com  301  https://example.com/
https://example.com      200

Každý variant skončí na hlavnej adrese v jednom kroku. Často sa však stáva toto:

http://www.example.com   301  https://www.example.com/
https://www.example.com  301  https://example.com/

Aj to funguje, ale stojí to navyše jeden krok (dodatočné čakanie, najmä na mobile) a navyše jeden TLS handshake. Horšie je, keď vznikne slučka: webový server presmeruje na https, WordPress presmeruje späť na http, pretože adresy v nastaveniach sú stále na http, a prehliadač nahlási „príliš veľa presmerovaní“. Vtedy proti sebe pôsobia dve nastavenia naraz. Zabezpečte, aby presmerovanie na https vykonávala len jedna strana (webový server alebo panel) a aby adresy vo WordPresse už boli nastavené na hlavnú adresu.

WordPress presmerováva aj sám: ak niekto zadá https://www.example.com/contact/, pričom adresa stránky je https://example.com, WordPress presmeruje na https://example.com/contact/. To funguje len vtedy, ak požiadavka vôbec dorazí k WordPressu, teda ak webový server smeruje názov www tiež na túto stránku.

Zmiešaný obsah

Zmiešaný obsah (mixed content) je https stránka, ktorá načítava časti cez http://: obrázok, štýl, skript, písmo alebo vložené video. Prehliadač to považuje za nebezpečné, pretože tieto časti môžu byť cestou pozmenené.

  • Skripty, štýly a iframe cez http prehliadače blokujú. Vaša stránka potom môže vyzerať rozbito alebo nejaká funkcia nebude fungovať.
  • Obrázky, zvuk a video cez http sa moderné prehliadače pokúsia automaticky načítať cez https; ak sa to nepodarí, zablokujú ich. Zámok v prehliadači potom môže zobraziť upozornenie.

Odkiaľ to pochádza:

  1. Staré odkazy vo vašom obsahu: stránka, ktorá kedysi bežala na http, má v tisíckach článkov odkazy typu <img src="http://example.com/wp-content/uploads/...">. WordPress tieto odkazy ukladá do databázy doslovne.
  2. Nastavenia témy alebo pluginu s úplnou adresou, napríklad logo alebo pozadie s http://.
  3. Externé prvky z inej stránky, ktoré sú dostupné len cez http. Tie treba nahradiť alebo odstrániť.
  4. Adresy v Nastavenia > Všeobecné, ktoré sú stále na http (lekcia 3.1).

Ako to nájsť

Otvorte stránku, stlačte F12 a pozrite sa na kartu Konzola. Prehliadač nahlási každý zmiešaný obsah spolu s adresou danej časti. Prípadne vo zdrojovom kóde stránky (Ctrl+U) hľadajte src="http:// a href="http://. Bežné odkazy na iné stránky v texte (<a href="http://...">) nespôsobujú zmiešaný obsah; ide o veci, ktoré stránka načítava.

Hľadanie a nahrádzanie, ale správne

Riešením starých odkazov vo vašom obsahu je nahradiť všetky výskyty http://example.com v databáze za https://example.com. Pokušením je SQL príkaz ako:

UPDATE wp_options SET option_value = REPLACE(option_value, 'http://example.com', 'https://example.com');

Nerobte to. Mnohé nastavenia tém, pluginov a widgetov sú uložené v serializovanej podobe. Vyzerá to takto:

s:27:"http://example.com/logo.png";

s:27 znamená: nasleduje text s dĺžkou 27 znakov. Po obyčajnom nahradení má text 28 znakov (pridalo sa písmeno s), ale stále tam stojí 27. PHP potom už hodnotu nedokáže prečítať a nastavenie jednoducho zmizne: prázdne menu, zmiznuté logo, chýbajúce widgety.

Použite nástroj, ktorý tieto dĺžky zároveň aktualizuje:

  • WP-CLI: najprv sa pozrite, potom konajte.
wp search-replace 'http://example.com' 'https://example.com' --all-tables --dry-run
wp search-replace 'http://example.com' 'https://example.com' --all-tables

Pomocou --dry-run uvidíte, koľko nahradení by sa vykonalo v každej tabuľke, bez toho, aby sa čokoľvek zmenilo.

  • Plugin na hľadanie a nahrádzanie, ktorý podporuje serializované údaje (v adresári pluginov na wordpress.org je ich viacero). Po použití plugin opäť odstráňte.

Vždy najprv vytvorte zálohu (lekcia 8.1). Tiež nikdy nenahrádzajte niečo ako example.com bez http:// pred ním: zasiahli by ste tým aj e-mailové adresy a iné texty.

V praxi: ako to vyzerá v paneli

Ako príklad použijeme DirectAdmin. Iné panely majú podobný prepínač pre „vždy https“.

  1. V nastaveniach domény zapnite Vynútiť presmerovanie na https (lekcia 3.1).
  2. Pri doméne zvoľte, či má www smerovať na holú doménu, alebo naopak (v DirectAdmine v nastaveniach domény; inak pomocou presmerovania cez Presmerovania stránok alebo .htaccess).
  3. Skontrolujte reťazec presmerovaní pomocou úlohy nižšie alebo pomocou vývojárskych nástrojov prehliadača (karta Sieť, zaškrtnuté „Zachovať záznam“).

Zhrnutie

  • Zvoľte jednu kanonickú adresu a nechajte ostatné tri varianty presmerovať na ňu pomocou 301 (alebo 308), v jednom kroku.
  • Nechajte presmerovanie na https vykonávať len jednu stranu; inak vznikne slučka.
  • Zmiešaný obsah je https stránka, ktorá načítava časti cez http; konzola prehliadača ukáže, ktoré.
  • Staré odkazy v databáze nahrádzajte pomocou wp search-replace alebo pluginu, ktorý rozumie serializovaným údajom, nikdy obyčajným SQL príkazom REPLACE.
  • Vždy najprv záloha a najprv skúšobné kolo.

Kvíz

1. Aké presmerovanie použijete na trvalé presmerovanie z http na https?



2. Po zapnutí „vždy https“ prehliadač nahlási „príliš veľa presmerovaní“. Čo je najpravdepodobnejšia príčina?



3. Prečo je UPDATE ... REPLACE(...) v SQL nebezpečný pri úprave adries?



4. Ktorú časť https stránky prehliadač vždy zablokuje, ak sa načítava cez http?



Úloha

Úloha A3.2: Jedna hlavná adresa a žiadny zmiešaný obsah. Zadajte svoju doménu. Program otvorí štyri varianty (http a https, s www aj bez www) a sleduje presmerovania. V poriadku je, ak všetky štyri skončia na rovnakej adrese s https, s maximálne jedným presmerovaním na variant a len s trvalými kódmi (301 alebo 308). Následne program prečíta HTML domovskej stránky a hľadá skripty, štýly, obrázky, iframe a písma, ktoré sa načítavajú cez http://.

Úloha A3.2: Jedna hlavná adresa a žiadny zmiešaný obsah


Čo vyplníte a čo nájdeme, neukladáme. Váš prehliadač si pamätá vaše odpovede a to, či ste úlohu splnili. Po prihlásení si v sekcii Moje kurzy uchovávame iba to, že úloha bola (takmer) správne vyriešená; aj to tam môžete odstrániť.

Ďalšie čítanie

Tieto články popisujú kroky v paneloch WebOké; v iných paneloch fungujú podobne.

Chvíľu strpenia…

Nastavte svoje domény

Pri každej doméne nastavte nameservery, prepojenie s hostingom a to, kto bude jej vlastníkom.

Načítavajú sa vaše domény…