WordPress хостинг и разширения
Как да направите WordPress бърз и сигурен: контролен списък за производителност и плъгини
WordPress е толкова бърз и сигурен, колкото е средата, в която работи. Ето практическия контролен списък, който прилагаме за всеки WordPress сайт, който хостваме — какво да кеширате, какво да защитите и кои плъгини наистина заслужават мястото си спрямо тези, които платформата прави излишни.
WordPress е толкова добър, колкото средата, на която работи
WordPress захранва голяма част от мрежата, защото е гъвкав, но тази гъвкавост е и причината да стане бавен и несигурен: инсталацията по подразбиране прави десетки заявки към базата данни на страница, разпространява своята версия и стек на всеки, който погледне, и Ви приканва да трупате разширения, докато производителността и повърхността за атака тихо не се раздуят. Нищо от това не е толкова дефект в WordPress, колкото следствие от изпълнението му върху инфраструктура, която не прави нищо, за да помогне.
Добрата новина е, че едни и същи няколко решения коригират по-голямата част от това, като тези решения засягат технологичния стек, а не съдържанието. Кеширайте агресивно на правилния слой, дръжте базата данни извън критичния път, използвайте само малкото плъгини, които наистина заслужават мястото си, поддържайте всичко обновено и изолирайте сайта, така че всеки проблем да остане локализиран. Тази публикация представлява този контролен списък в реда, в който го прилагаме към всеки WordPress сайт на платформата.
Кеширайте на сървъра, а не само в плъгин
Най-големият индивидуален фактор за скоростта на WordPress е въобще да не стартирате WordPress за повечето посещения. Стандартната заявка зарежда WordPress, изпълнява вашите плъгини и прави заявки към базата данни, преди да изпрати и един байт; кешът на цяла страница предоставя готовата страница директно от уеб сървъра при следващото посещение, като прескача цялото това зареждане. Мястото, където се намира този кеш, е от съществено значение: плъгинът за кеширане се намира в PHP, така че PHP все пак стартира, преди кешът да успее да отговори, докато кешът на ниво сървър отговаря по-рано в процеса на заявката и съхранява страниците във вид, който сървърът може да изчисти моментално.
Всеки сайт на WordPress, който хостваме, работи на LiteSpeed Enterprise със сървърно ниво LSCache, а нашият собствен плъгин за кеширане свързва WordPress към него правилно още от самото начало — предварително инсталиран и автоматично обновяван, така че да имате едно нещо по-малко за конфигуриране или поддържане актуално. При източник, който не е LiteSpeed, същият плъгин просто не излъчва заглавки за пълна страница и остава на заден план, докато кешът на обекти продължава да работи, така че мигрираният сайт никога не остава наполовина конфигуриран. Практическото правило за Вашия собствен контролен списък: един кеш за пълна страница, на ниво сървър, и не наслагвайте втори плъгин за кеширане върху него — те влизат в конфликт.
Обектният кеш и базата данни
Не всяка заявка може да бъде статична страница. Влезлите в профила си сесии, административният панел, търсенето, количките и всяка персонализирана част трябва да изпълняват PHP, и за тях целта се променя от пропускане на приложението към пропускане на базата данни. Кешът на обекти за всеки сайт — Redis в нашия случай — съхранява в паметта резултатите от повтарящи се четения от базата данни, така че едни и същи опции, транзиенти и справки да не се заявяват към базата данни при всяко посещение. Ефектът се проявява точно там, където пълното кеширане на страници не може да помогне: по-бърз административен панел, по-бързи колички и значително по-ниско натоварване на базата данни при трафик.
Ключовата дума тук е „за всеки сайт“ (per-site). Споделеният кеш на обекти (shared object cache) означава, че един натоварен или лошо написан сайт може да изхвърли кешираните данни на всички останали и да лиши съседите си от ресурси на базата данни; специализираният кеш за всеки отделен сайт, съчетан с лимити на базата данни за всеки сайт, задържа обхвата на щетите ограничен. В контролния си списък третирайте постоянния кеш на обекти като задължителен за всеки сайт с влезли потребители или онлайн магазин и подхождайте с повишено внимание към хостинг, при който той е споделен между наемателите.
Разширенията, които си струва да използвате — и тези, които платформата заменя
Всеки плъгин, който добавяте, е код, който се изпълнява при заявки, и врата, през която някой може да премине някой ден, така че искрената цел е възможно най-малко плъгини, които вършат най-много работа. Добрият хостинг премахва необходимостта от цяла категория от тях: със кеширане на ниво сървър, управляван кеш на обекти и резервни копия на платформата, нямате нужда от плъгин за кеширане, отделен плъгин за кеш на обекти или плъгин за резервни копия — тези задачи се вършат по-добре под WordPress, а изпълнението им отгоре само добавя конфликти и допълнително натоварване.
Това, което си струва да се използва, е малкият набор, който добавя реални възможности: разширенията, от които Вашият сайт действително се нуждае за функционирането си, и — на нашата платформа — двете разширения със стандарти за официално хранилище, които създаваме и предоставяме с всеки сайт. Нашето разширение за кеширане свързва WordPress със сървърния кеш и управлява интелигентно изчистване, така че редакцията да изчиства само страниците, които трябва. Нашето разширение за дигитален отпечатък (footprint) премахва издайническите белези, които стандартната инсталация на WordPress излъчва — етикета за версия и генератор, крайните точки за откриване, XML-RPC, пингбековете и хедъра powered-by — при всяко внедряване, така че актуализация на разширение или тема да не може тихо да ги върне обратно. И двете са изградени според стандартите на директорията за разширения на WordPress.org, безплатни са и се актуализират сами.
Поддържане на WordPress защитен и актуален
Повечето пробиви в WordPress не са хитри; те са стари. Остаряло ядро, тема или плъгин с известна, публикувана уязвимост е преобладаващо често срещаният начин, по който сайтовете биват засягани, което прави поддържането на актуално състояние най-ценната дейност по сигурността — и най-досадната, поради което често бива пренебрегвана. Управляваният хостинг трябва да поеме тази грижа вместо Вас: чрез пачване на софтуерния стек под WordPress и чрез осигуряване на безопасно прилагане на актуализациите на ядрото и плъгините, като Ви предоставя тестово копие за изпробване и резервно копие за възстановяване.
Освен актуалността, очаквайте границите да се спазват вместо Вас: сканиране за зловреден софтуер, включено по подразбиране, така че заразяването да бъде засечено, вместо открито от посетител, изолация, за да не може един компрометиран сайт да засегне друг, DDoS защита в периферията и TLS навсякъде с автоматично подновявани сертификати. Нищо от това не замества основната хигиена — надеждни идентификационни данни, достъп с минимални привилегии, премахване на добавките, които вече не използвате — но означава, че инфраструктурата не е слабото звено. Във Вашия контролен списък въпросът към всеки хостинг доставчик е прост: сигурността стандартна настройка ли е, или пакет, който купувате?
WooCommerce и страниците, които никога не трябва да кеширате
Магазинът е мястото, където агресивното кеширане постига най-големия си успех и нанася най-тежките си щети, ако е наивно. Страниците на каталога, продуктите и категориите са страниците с най-висок трафик и най-подходящи за кеширане, с които разполагате, а зареждането им от кеш на цялата страница е единственото най-добро нещо, което можете да направите за скоростта на магазина. Но страниците на количката, плащането и профила са лични и никога не трябва да се зареждат от споделен кеш — направете го и купувачът ще види количката на някой друг, което представлява както повреден магазин, така и нарушение на поверителността.
Начинът да имате и двете е да кеширате страницата и да направите отвори за динамичните части. Edge Side Includes рендират фрагмента на количката, междинните суми в мини-количката и състоянието на акаунта за всяка заявка, докато останалата част от страницата се зарежда от кеша, а страниците cart, checkout, my-account, както и всички страници с nonce или session са изключени по подразбиране. Актуалността се управлява от интелигентно автоматично изчистване, което се задейства при промяна на продукт, цена или поръчка, така че остаряла цена никога не се задържа. Ако използвате WooCommerce, това е частта от контролния списък, която трябва да изпълните абсолютно точно: бърза витрина от кеша, динамична количка за всеки потребител и абсолютно никакво кеширане на персонални данни.
Често задавани въпроси
Все още ли ми е необходима приставка за кеширане като WP Rocket?
Не. Кеширането на цели страници се управлява на ниво уеб сървър от LSCache на LiteSpeed, нашата собствена приставка за кеширане свързва WordPress с него и управлява интелигентното изчистване, а зад него работи Redis обектен кеш за всеки сайт. Добавянето на втора приставка за кеширане на цели страници обикновено влиза в конфликт със сървърния кеш, вместо да помага, така че не е нито необходимо, нито препоръчително.
Кои плъгини платформата прави излишни?
Разширенията за кеширане, отделните разширения за обектно кеширане и тези за резервни копия тук са напълно излишни, тъй като тези задачи се изпълняват под нивото на WordPress — кеширане на сървърно ниво, управлявано обектно кеширане за всеки сайт и резервни копия на ниво платформа. Премахването им намалява конфликтите и повърхността за атаки. Това, което си струва да остане активно, са разширенията, от които Вашият сайт наистина се нуждае за своята функционалност, плюс нашите две безплатни разширения за кеш и footprint, които идват предварително инсталирани.
Кеширането ще повреди ли моята количка в WooCommerce или страниците за влезли потребители?
Не. Страниците Cart, checkout, my-account, както и всякакви nonce или сесийни страници са изключени от кеша по подразбиране, а Edge Side Includes поддържа фрагмента на количката и общите суми актуални в иначе кешираните страници. Купувачите винаги виждат собствената си кошница и работеща страница за плащане, докато витрината все още се зарежда от кеша, а интелигентното автоматично изчистване изчиства засегнатите страници при промяна на продукт, цена или поръчка.
Как поддържате сигурността на WordPress, без аз да го управлявам?
Ние обновяваме стека под WordPress, правим внедряването на актуализации на ядрото и плъгините безопасно чрез тестова среда и възстановяване с едно щракване, поддържаме сканирането за зловреден софтуер и DDoS защитата включени по подразбиране, изолираме всеки сайт, за да не може евентуален пробив да се разпространи, и издаваме и подновяваме TLS сертификати автоматично. Това премахва инфраструктурата като слабо звено; основната хигиена като надеждни идентификационни данни и премахване на неизползваните плъгини остава Ваша отговорност.
Свързани
Опитайте безплатно за 14 дни
Стартирайте първите си сайтове безплатно за 14 дни — без изискване за карта. Премествате съществуващ сайт или мрежа? Миграциите са безплатни и без лимит.
Започнете безплатно