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ť

Menej je viac: upratovanie a riešenie konfliktov

Modul 5: Témy a pluginy · Čas čítania: 9 minút

Cieľ lekcie: Po tejto lekcii dokážete upratať pluginy a sami nájsť a vyriešiť konflikt alebo bielu stránku.

Kľúčové pojmy: deaktivovať vs. odstrániť, neaktívny kód, kritická chyba, režim obnovenia (recovery mode), Zdravie webovej stránky, režim riešenia problémov, premenovanie priečinka pluginu, WP_DEBUG, WP_DEBUG_LOG, debug.log, chybový log

Vypnúť neznamená vyhodiť

V časti Pluginy môžete plugin deaktivovať alebo odstrániť. Rozdiel:

  • Deaktivovať: WordPress plugin už nenačítava. Súbory však zostávajú v wp-content/plugins/ a často sú stále priamo dostupné cez webový server. Ak je v samostatnom PHP súbore tohto pluginu bezpečnostná diera, stále tam je. Útočníci hľadajú známe zraniteľné súbory, nie aktívne pluginy.
  • Odstrániť: súbory zmiznú. Niektoré pluginy pri odstránení upracú aj svoje nastavenia a tabuľky v databáze, iné ich tam nechajú.

Ak plugin už nepoužívate, odstráňte ho. Deaktivácia je len na chvíľu (počas hľadania problému). To isté platí pre témy (lekcia 2.4).

Upratovanie: pravidelná kontrola

Raz za štvrťrok (lekcia 9.4) prejdite svoje pluginy. Pri každom pluginu:

  1. Na čo slúži? Ak už neviete, zistite to. Často sa ukáže, že plugin bol kedysi nainštalovaný kvôli jednej veci a nikdy sa neodstránil.
  2. Používa sa ešte? Plugin na slider, hoci nikde na stránke slider nie je, alebo plugin na formuláre, hoci vaša kontaktná stránka používa iný formulár.
  3. Dá sa to bez neho? Zvládne to už WordPress, téma alebo iný plugin (lekcia 5.3)?
  4. Je ešte udržiavaný? Kedy bol naposledy aktualizovaný, je ešte v adresári pluginov?

Upratujte najprv v testovacom prostredí (staging) (lekcia 8.3) alebo si aspoň vytvorte zálohu, a odstraňujte vždy len jeden plugin naraz, aby ste vedeli, čo sa pokazilo, ak sa niečo pokazí. Dávajte pozor na shortcody: ak odstránite plugin, ktorý poskytoval [formular id="2"], tento text sa potom na vašej stránke zobrazí doslova.

Keď sa niečo pokazí: kritická chyba

Po aktualizácii, inštalácii nového pluginu alebo upgrade PHP zrazu uvidíte:

Na tejto webovej stránke sa vyskytla kritická chyba.

alebo úplne bielu stránku. Znamená to, že PHP sa zastavilo s fatálnou chybou skôr, ako vznikla stránka (lekcia 1.2). Väčšinou je príčinou plugin alebo téma, ktorá nie je kompatibilná s niečím iným: s iným pluginom, s novou verziou WordPressu alebo s verziou PHP.

Od WordPressu 5.2 WordPress v takom prípade urobí dve veci:

  • pošle e-mail na adresu administrátora s informáciou, ktorý plugin alebo ktorá téma chybu spôsobila, a so špeciálnym odkazom;
  • cez tento odkaz sa prihlásite v režime obnovenia (recovery mode): administrácia potom funguje a plugin, ktorý chybu spôsobil, je dočasne vypnutý, takže ho môžete aktualizovať, nahradiť alebo odstrániť.

Preto je taká dôležitá adresa administrátora, ktorú naozaj čítate (lekcia 2.2).

Vlastné hľadanie: postup

Neprišiel e-mail alebo režim obnovenia nefunguje? Takto chybu nájdete sami.

1. Pozrite sa do chybového logu

Chyba je takmer vždy zapísaná v chybovom logu webového servera alebo PHP. V DirectAdmin ho nájdete medzi logmi vašej domény. Hľadáte riadok s PHP Fatal error a časom vášho pokusu:

PHP Fatal error:  Uncaught Error: Call to undefined function create_function()
in /home/pouzivatel/domains/example.com/public_html/wp-content/plugins/stary-slider/slider.php:42

Cesta prezradí vinníka: tu je to plugin v priečinku stary-slider. Zvyšok riadku hovorí prečo (tu: funkcia, ktorá bola v PHP 8 odstránená, lekcia 8.4).

2. Zapnite debug log (nie zobrazovanie na obrazovke)

Ak v chybovom logu nie je nič použiteľné, pridajte do wp-config.php (nad riadok „stop editing“):

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );

WordPress potom zapisuje všetky chyby do wp-content/debug.log bez toho, aby ich ukazoval návštevníkom. Nikdy to nenechávajte zapnuté dlhšie, ako je potrebné: debug.log je v priečinku, ktorý webový server sprístupňuje, a ktokoľvek, kto pozná adresu, si ho môže prečítať. Sú v ňom cesty, niekedy používateľské mená a ďalšie informácie, ktoré útočníkovi pomôžu. Po hľadaní to znova vypnite a debug.log odstráňte. Alebo nechajte WordPress zapisovať log mimo webového priečinka tak, že pri WP_DEBUG_LOG uvediete cestu (napríklad '/home/pouzivatel/logs/wp-debug.log', ak to váš poskytovateľ hostingu umožňuje). V lekcii 7.4 overíte, že debug.log nie je verejne prístupný.

3. Vypnutie pluginu bez administrácie

Ak sa nedostanete do administrácie, vypnite podozrivý plugin premenovaním jeho priečinka, cez Web FTP alebo SFTP:

wp-content/plugins/stary-slider   sa premenuje na   wp-content/plugins/stary-slider-vyp

WordPress potom plugin nenájde a vypne ho. Ak neviete, ktorý plugin to je, premenujte celý priečinok plugins na plugins-vyp: vypnú sa všetky pluginy. Ak potom web funguje, vytvorte nový prázdny priečinok plugins, vracajte pluginy späť jeden po druhom a po každom skontrolujte, či sa chyba vráti. Pri téme platí to isté: premenujte priečinok aktívnej témy a WordPress sa vráti k predvolenej téme, ak je ešte nainštalovaná (lekcia 2.4).

4. Konflikty bez fatálnej chyby

Nie každý problém je kritická chyba. Niekedy nefunguje len jedna funkcia: tlačidlo nič nerobí, formulár sa neodošle, editor sa načíta len napoly. Vtedy ide často o konflikt medzi dvoma pluginmi alebo medzi pluginom a témou. Na to je praktický oficiálny plugin Health Check & Troubleshooting: v režime riešenia problémov vypne iba pre vašu reláciu všetky pluginy a prepne na predvolenú tému, zatiaľ čo návštevníci vidia bežný web. Potom pluginy zapínate jeden po druhom, kým sa problém nevráti.

Pozrite sa aj do konzoly svojho prehliadača (F12): chyby JavaScriptu často uvádzajú súbor, a tým aj plugin.

Zdravie webovej stránky

V časti Nástroje > Zdravie webovej stránky WordPress sám kontroluje vašu webovú stránku: zastaranú verziu PHP, neaktívne pluginy a témy, chýbajúce rozšírenia PHP, nefunkčné REST API, oneskorené naplánované úlohy. Na karte Informácie sú všetky údaje o vašej inštalácii (verzie, cesty, nastavenia PHP). Túto kartu môžete skopírovať a priložiť, keď žiadate o pomoc. Po každej väčšej zmene sa sem krátko pozrite.

Zhrnutie

  • Deaktivácia ponechá súbory na mieste; pluginy a témy, ktoré nepoužívate, odstráňte.
  • Upratujte každý štvrťrok, vždy jeden plugin naraz, so zálohou alebo v testovacom prostredí (staging).
  • Pri kritickej chybe WordPress pošle e-mail s odkazom do režimu obnovenia.
  • Chybový log alebo debug.log uvádza cestu k vinníkovi; po hľadaní debug znova vypnite, inak je debug.log verejne prístupný.
  • Bez administrácie vypnete plugin premenovaním jeho priečinka; konflikty hľadáte v režime riešenia problémov.

Kvíz

1. Prečo deaktivovaný plugin nie je úplne bezpečný?



2. Vaša webová stránka zobrazuje „Na tejto webovej stránke sa vyskytla kritická chyba“ a nemôžete sa prihlásiť. Aký je najrýchlejší prvý krok?



3. Prečo nastavíte WP_DEBUG_DISPLAY na false, keď na živej stránke zapnete WP_DEBUG?



4. Ako vypnete plugin, keď sa nedostanete do administrácie?



Úloha

Úloha A5.4: Nie je váš debug log verejne prístupný? Zadajte adresu svojej webovej stránky a kódom, ktorý vám úloha poskytne, preukážte, že ide o vašu vlastnú stránku (TXT záznam alebo malý súbor). Program si vyžiada /wp-content/debug.log: v poriadku je, ak neexistuje alebo je prístup odmietnutý (404 alebo 403). Ak program dostane súbor, výsledok je červený. Okrem toho program spočíta, koľko rôznych priečinkov pluginov sa vyskytuje v HTML vašej domovskej stránky (len pre informáciu).

Úloha A5.4: Nie je váš debug log verejne prístupný?

Táto kontrola si vyžaduje cesty, ktoré necháte overiť len pri vlastnej webovej stránke. Najprv kliknite na „Zobraziť môj kód“ a tento kód vložte ako TXT záznam na _weboke-cursus.<vaša doména> alebo ako súbor na vašu webovú stránku (pozrite si vysvetlenie pri kóde).


Č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ť.

Úloha D5.4: Upratanie zoznamu pluginov. Vytvorte zoznam všetkých svojich pluginov (aktívnych aj neaktívnych): názov, na čo slúži, či je ešte potrebný (áno/nie), alternatíva bez pluginu. Pluginy, ktoré už nepotrebujete, odstráňte (po vytvorení zálohy alebo v testovacom prostredí), vždy jeden naraz, a po každom odstránení skontrolujte, či web stále funguje. Uveďte, koľko pluginov ste mali a koľko zostalo, a poznačte si, či zostali shortcody, ktoré ste museli upratať.

Úloha D5.4: Upratanie zoznamu pluginov

Túto úlohu vykonávate sami, nikto ju nekontroluje. Odškrtnite, čo ste urobili, a označte úlohu ako splnenú.



Vaše zaškrtnutia a poznámky zostávajú iba v tomto prehliadači, nikam ich neposielame. Po prihlásení si v sekcii Moje kurzy uchovávame iba to, že ste úlohu splnili.

Ďalšie čítanie

Tieto články opisujú postup v paneloch WebOké; v iných paneloch to funguje 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…