Към съдържанието

Настройки за бисквитки

Изберете кои видове бисквитки разрешавате. Можете да промените избора си по всяко време чрез „Настройки за бисквитки“ в долната част на всяка страница. Декларация за поверителност

Необходими

Винаги включени

Нужни са за вход, за запазване на количката и на Вашите избори. Те са винаги включени.

Кои бисквитки?
  • weboke_sessie, weboke_klant, weboke_remember: Вашата сесия и оставането в акаунта
  • weboke_basket: Вашата количка
  • wkBtwIncl: показване на цените с или без ДДС
  • wok_cookies: Вашият избор за бисквитките, 12 месеца

Измерват коя реклама води до посещение или поръчка, за да не плащаме за реклами без резултат.

Кои бисквитки?
  • Google Ads чрез Google Tag Manager (_gcl_au, _gcl_aw), до 90 дни
  • OpenAI Ads, реклами в ChatGPT
  • wok_aff: кой партньор Ви е препратил към нас (партньорска програма), 60 дни

4,6

Държава и език

Всяка държава има собствен сайт, с цените и ДДС на тази държава.

Преглед

По-малко е повече: почистване и решаване на конфликти

Модул 5: Теми и разширения · Време за четене: 9 минути

Учебна цел: След този урок ще можете да почиствате разширенията си и сами да откривате и решавате конфликт или бяла страница.

Ключови понятия: изключване срещу изтриване, неактивен код, критична грешка, режим на възстановяване (recovery mode), Състояние на сайта, режим за отстраняване на проблеми, преименуване на папката на разширение, WP_DEBUG, WP_DEBUG_LOG, debug.log, лог на грешките

Изключването не е изхвърляне

В Разширения можете да изключите или да изтриете едно разширение. Разликата е следната:

  • Изключване: WordPress вече не зарежда разширението. Файловете обаче остават в wp-content/plugins/ и често все още могат да бъдат заредени директно през уеб сървъра. Ако в отделен PHP файл на това разширение има пробив, този пробив продължава да съществува. Нападателите сканират за известни уязвими файлове, а не за активни разширения.
  • Изтриване: файловете се премахват. Някои разширения при изтриване почистват и своите настройки и таблици в базата данни, а други ги оставят.

Ако вече не използвате дадено разширение, изтрийте го. Изключването е само за кратко (докато търсите причината за проблем). Същото важи и за темите (урок 2.4).

Почистване: редовна обиколка

Веднъж на тримесечие (урок 9.4) прегледайте разширенията си. За всяко разширение:

  1. За какво служи? Ако вече не помните, проверете. Често се оказва, че разширението е инсталирано някога за едно нещо и никога не е премахнато.
  2. Използва ли се още? Разширение за слайдър, а никъде няма слайдър; разширение за формуляри, а страницата Ви за контакти използва друг формуляр.
  3. Може ли без него? Може ли WordPress, темата или друго разширение вече да го прави (урок 5.3)?
  4. Поддържа ли се още? Кога е обновено за последно, все още ли е в директорията с разширения?

Почиствайте първо в тестова среда (staging) (урок 8.3) или поне направете резервно копие и изтривайте по едно разширение наведнъж, за да знаете какво се е объркало, ако нещо се обърка. Внимавайте с шорткодовете: ако изтриете разширение, което е осигурявало [formulyar id="2"], след това този текст ще се показва буквално на страницата Ви.

Когато нещо се обърка: критичната грешка

След обновяване, ново разширение или PHP ъпгрейд изведнъж виждате:

Възникна критична грешка на този уебсайт.

или напълно бяла страница. Това означава, че PHP е спрял с фатална грешка, преди да има страница (урок 1.2). Обикновено причината е разширение или тема, които не работят заедно с нещо друго: друго разширение, новата версия на WordPress или версията на PHP.

От WordPress 5.2 насам WordPress прави тогава две неща:

  • изпраща имейл до администраторския адрес с информация кое разширение или коя тема е причинила грешката, както и специален линк;
  • с този линк влизате в режим на възстановяване (recovery mode): администрацията тогава работи, като разширението, причинило грешката, е временно изключено, така че можете да го обновите, замените или изтриете.

Затова е толкова важно да имате администраторски адрес, който четете (урок 2.2).

Търсене на собствена ръка: стъпките

Не идва имейл или режимът на възстановяване не работи? Ето как сами да намерите причината.

1. Погледнете в лога на грешките

Грешката почти винаги е записана в лога на грешките на уеб сървъра или на PHP. В DirectAdmin го намирате при логовете на Вашия домейн. Търсите ред с PHP Fatal error и часа на Вашия опит:

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

Пътят Ви показва кой е виновникът: тук това е разширението в папката star-slaider. Останалата част от реда казва защо (тук: функция, която е премахната в PHP 8, урок 8.4).

2. Включете debug лога (не показването на екрана)

Ако в лога на грешките няма нищо полезно, добавете в wp-config.php (над реда „stop editing“):

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

Тогава WordPress записва всички грешки в wp-content/debug.log, без да ги показва на посетителите. Никога не оставяйте това включено по-дълго от необходимото: debug.log се намира в папка, която уеб сървърът обслужва, и всеки, който знае адреса, може да го прочете. В него има пътища, понякога потребителски имена и друга информация, която помага на нападател. След търсенето го изключете отново и изтрийте debug.log. Или накарайте WordPress да записва лог файла извън уеб папката, като зададете път в WP_DEBUG_LOG (например '/home/potrebitel/logs/wp-debug.log', ако Вашият хостинг доставчик позволява това). В урок 7.4 проверявате дали debug.log не е публично достъпен.

3. Изключване на разширение без администрацията

Ако не можете да влезете в администрацията, изключете подозрителното разширение, като преименувате неговата папка чрез File Manager или SFTP:

wp-content/plugins/star-slaider   става   wp-content/plugins/star-slaider-izkl

Тогава WordPress вече не намира разширението и го изключва. Ако не знаете кое е, преименувайте цялата папка plugins на plugins-izkl: всички разширения се изключват. Ако сайтът тогава работи, създайте нова празна папка plugins, връщайте разширенията едно по едно и след всяко проверявайте дали грешката се появява отново. За тема важи същото: преименувайте папката на активната тема и WordPress преминава към стандартна тема, ако такава все още е инсталирана (урок 2.4).

4. Конфликти без фатална грешка

Не всеки проблем е критична грешка. Понякога не работи само една функция: бутон не прави нищо, формулярът не се изпраща, редакторът се зарежда наполовина. Тогава често става дума за конфликт между две разширения или между разширение и темата. За това е полезно официалното разширение Health Check & Troubleshooting: в режима за отстраняване на проблеми то изключва всички разширения само за Вашата сесия и превключва към стандартна тема, докато посетителите продължават да виждат нормалния сайт. След това ги включвате едно по едно, докато проблемът се появи отново.

Погледнете и в конзолата на браузъра си (F12): JavaScript грешките често посочват файла, а оттам и разширението.

Състояние на сайта

В Инструменти > Състояние на сайта WordPress сам проверява Вашия сайт: остаряла версия на PHP, разширения и теми, които не са активни, липсващи PHP разширения, REST API, който не работи, планирани задачи, които изостават. В раздела Информация са всички данни за Вашата инсталация (версии, пътища, PHP настройки). Можете да копирате този раздел и да го изпратите, когато търсите помощ. Поглеждайте тук след всяка по-голяма промяна.

Обобщение

  • Изключването оставя файловете на място; изтривайте разширенията и темите, които не използвате.
  • Почиствайте всяко тримесечие, по едно разширение наведнъж, с резервно копие или в тестова среда (staging).
  • При критична грешка WordPress изпраща имейл с линк към режима на възстановяване.
  • Логът на грешките или debug.log посочва пътя до виновника; след търсенето изключете debug отново, защото иначе debug.log е публично достъпен.
  • Без администрацията изключвате разширение, като преименувате папката му; конфликтите търсите с режима за отстраняване на проблеми.

Тест (quiz)

1. Защо изключеното разширение не е напълно безопасно?



2. Вашият сайт показва „Възникна критична грешка“ и не можете да влезете. Коя е най-бързата първа стъпка?



3. Защо задавате WP_DEBUG_DISPLAY на false, когато включвате WP_DEBUG на работещ сайт?



4. Как изключвате разширение, ако не можете да влезете в администрацията?



Задача

Задача A5.4: Вашият debug log публично достъпен ли е? Въведете адреса на Вашия сайт и докажете с кода, който задачата Ви дава, че сайтът е Ваш (TXT запис или малък файл). Програмата заявява /wp-content/debug.log: добре е, ако той не съществува или достъпът е отказан (404 или 403). Ако програмата получи файл, резултатът е червен. Освен това програмата преброява колко различни папки на разширения се срещат в HTML кода на Вашата начална страница (само за информация).

Задача A5.4: Вашият debug log публично достъпен ли е?

Тази проверка изисква пътища, които проверявате само за собствения си сайт. Първо кликнете върху „Покажи моя код“ и поставете този код като TXT запис на _weboke-cursus.<Вашия домейн> или като файл на Вашия сайт (вижте обяснението при кода).


Това, което въвеждате, и резултатите от проверката не се съхраняват. Браузърът Ви запомня отговорите и дали сте изпълнили задачата. Ако сте влезли, запазваме само дали задачата е била (почти) правилна в Моите курсове; и там можете да го изтриете.

Задача D5.4: Подреждане на списъка Ви с разширения. Направете списък с всички Ваши разширения (активни и неактивни): име, за какво служи, още ли е нужно (да/не), алтернатива без разширение. Изтрийте (след резервно копие или в тестова среда) разширенията, които вече не са нужни, по едно наведнъж, и след всяко изтриване проверявайте дали сайтът още работи. Попълнете колко разширения сте имали и колко са останали и отбележете дали са останали шорткодове, които е трябвало да почистите.

Задача D5.4: Подреждане на списъка Ви с разширения

Тази задача изпълнявате сами; никой не я проверява. Отбележете какво сте направили и маркирайте задачата като изпълнена.



Вашите отметки и бележки остават само в този браузър; не ги изпращаме никъде. Ако сте влезли, в Моите курсове запазваме само че сте изпълнили задачата.

Допълнително четене

Тези статии описват стъпките в панелите на WebOké; в други панели те работят по подобен начин.

Моля, изчакайте…

Настройте домейните си

За всеки домейн настройте сървърите за имена, връзката с хостинга и кой ще бъде собственикът.

Домейните Ви се зареждат…