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ť na ňu všetky varianty jedným presmerovaním a nájsť a opraviť zmiešaný obsah.

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

Štyri adresy, jedna webová stránka

Vaša webová stránka je dostupná na štyroch adresách:

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

Pre návštevníka je to jedno, ale pre vyhľadávače sú to štyri rôzne adresy s rovnakým obsahom. Aj cookies (napríklad vaša prihlasovacia cookie) platia pre konkrétny názov: kto sa prihlási na www, nie je prihlásený na doméne bez www. Preto si zvolíte 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) aj v presmerovaniach.

Presmerovanie kódom 301, jedným krokom

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ý druh presmerovania ide:

KódVýznamPoužitie
301Trvalo presunutéŠtandardná voľba pre http na https a pre www na doménu bez www (alebo naopak)
308Trvalé, pričom metóda (napríklad odoslanie formulára) zostáva rovnakáDá 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ánku údržby

Trvalé presmerovanie oznamuje vyhľadávačom, že skutočnou adresou je nová adresa. Pri dočasnom si vyhľadávače pamätajú starú adresu.

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

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 sa dostane na hlavnú adresu jedným krokom. Čo sa často stáva:

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

Funguje to, ale stojí to krok navyše (dlhšie čakanie, najmä na mobile) a jedno TLS nadviazanie spojenia navyše. Horší je kruh: webový server presmeruje na https, WordPress presmeruje späť na http, pretože adresy v nastaveniach sú ešte na http, a prehliadač hlási „príliš veľa presmerovaní“. Vtedy dve nastavenia presmerúvajú proti sebe. Zabezpečte, aby na https presmerúval len jeden činiteľ (webový server alebo panel) a aby adresy vo WordPresse už boli nastavené na hlavnú adresu.

WordPress presmerúva aj sám: ak niekto požiada o https://www.example.com/contact/, zatiaľ čo adresa webovej stránky je https://example.com, WordPress presmeruje na https://example.com/contact/. Funguje to len vtedy, keď požiadavka dorazí k WordPressu, teda keď webový server smeruje aj názov www na túto stránku.

Zmiešaný obsah

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

  • Skripty, štýly a iframe cez http prehliadače blokujú. Vaša webová stránka potom vyzerá rozbito alebo niektorá funkcia nefunguje.
  • Obrázky, zvuk a video cez http sa moderné prehliadače pokúsia automaticky načítať cez https; ak sa to nepodarí, zablokujú ich. Ikona zámku potom môže zobraziť varovanie.

Odkiaľ sa berie:

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

Ako ho nájdete

Otvorte stránku, stlačte F12 a pozrite sa na kartu Konzola. Prehliadač tam hlási každý zmiešaný obsah aj s adresou súčasti. Alebo v zdrojovom kóde stránky (Ctrl+U) vyhľadajte src="http:// a href="http://. Odkazy na iné stránky v bežnom texte (<a href="http://...">) zmiešaný obsah nespôsobujú; ide o veci, ktoré stránka načítava.

Vyhľadanie a nahradenie, ale správne

Riešením pre staré odkazy vo vašom obsahu je nahradiť v databáze všetky http://example.com za https://example.com. Lákavý 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é serializovane. Vyzerá to takto:

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

Zápis s:27 znamená: nasleduje text s dĺžkou 27 znakov. Po jednoduchom nahradení má text 28 znakov (pribudlo s), ale stále je tam uvedené 27. PHP potom hodnotu nedokáže prečítať a nastavenie potichu zmizne: prázdne menu, zmiznuté logo, chýbajúce widgety.

Použite nástroj, ktorý tieto dĺžky aktualizuje, a vždy si najprv vytvorte zálohu (lekcia 8.1): vyhľadanie a nahradenie nemá kôš.

  • WP-CLI: najprv sa pozrieť, potom konať. V termináli prejdite do priečinka vášho WordPressu a najprv spustite skúšobný beh (prvý riadok), až potom ostrý beh (druhý riadok).
wp search-replace 'http://example.com' 'https://example.com' --skip-columns=guid --dry-run
wp search-replace 'http://example.com' 'https://example.com' --skip-columns=guid

S --dry-run uvidíte, koľko nahradení by bolo v každej tabuľke, bez toho, aby sa čokoľvek zmenilo. --skip-columns=guid ponechá nemenné identifikátory článkov (stĺpec guid) bez zmeny; WordPress odporúča tieto hodnoty nikdy nemeniť. Bez ďalšej voľby pracuje WP-CLI len s tabuľkami WordPressu. Ak má plugin vlastné tabuľky s rovnakou predponou, pridajte --all-tables-with-prefix. --all-tables použite len vtedy, keď viete prečo: zasiahne každú tabuľku v databáze, aj tabuľky inej stránky alebo aplikácie.

  • Plugin na vyhľadanie a nahradenie, ktorý podporuje serializované údaje (v adresári pluginov na wordpress.org ich je viacero). Aj tam najprv použite skúšobný režim a plugin potom znova odstráňte.

Nikdy nenahrádzajte niečo ako example.com bez http:// alebo https:// pred tým: zasiahli by ste aj e-mailové adresy a iné texty. Celý postup, aj pre tých, ktorí nemajú terminál, nájdete v článku znalostnej databázy o vyhľadaní a nahradení v databáze WordPressu (pozri Ďalšie čítanie).

V praxi: takto 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 doménu bez www alebo naopak (v DirectAdmin v nastaveniach domény; inak presmerovaním cez Presmerovania stránok alebo .htaccess).
  3. Reťaz skontrolujte úlohou nižšie alebo vývojárskymi nástrojmi vášho prehliadača (karta Sieť, začiarkavacie políčko „Zachovať denník“).

Zhrnutie

  • Zvoľte jednu kanonickú adresu a ostatné tri varianty na ňu presmerujte kódom 301 (alebo 308), jedným krokom.
  • Na https nech presmerúva len jeden činiteľ; inak vznikne kruh.
  • Zmiešaný obsah je stránka na https, ktorá načítava súčasti cez http; konzola prehliadača ukáže, ktoré.
  • Staré odkazy v databáze nahradíte pomocou wp search-replace alebo pluginom, ktorý rozumie serializovaným údajom, nikdy nie jednoduchým SQL REPLACE.
  • Vždy najprv záloha a najprv skúšobný beh (--dry-run); stĺpec guid nechajte bez zmeny a zostaňte pri tabuľkách WordPressu.

Kvíz

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



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



3. Prečo je UPDATE ... REPLACE(...) v SQL nebezpečné pri zmene adries?



4. Ktorú súčasť na stránke s https 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 a bez www) a sleduje presmerovania. Správne je: všetky štyri skončia na rovnakej adrese s https, s najviac jedným presmerovaním na variant a len s trvalými kódmi (301 alebo 308). Potom 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 opisujú 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…