Як паскорыць WordPress: ад хостынгу да базы даных
Спачатку вымярайце, потым выпраўляйце стэк знізу ўверх: PHP і серверны кэш, выявы, плагіны, база даных і старонкі WooCommerce, якія нельга кэшаваць.

Большасць павольных сайтаў на WordPress тармозяць зусім не з той прычыны, пра якую думаюць іх уладальнікі. Перш чым ставіць чарговы плагін, зрабіце вымярэнні. Час да першага байта (TTFB) паказвае, колькі серверу трэба, каб сфармаваць HTML; калі на закэшаванай старонцы ён перавышае прыкладна 600 мс, праблема на баку сервера. Largest Contentful Paint (LCP) паказвае, калі на экране сапраўды з’яўляецца асноўны кантэнт, і добрым вынікам Google лічыць да 2,5 секунды. Запусціце PageSpeed Insights, каб убачыць даныя рэальных наведвальнікаў, а потым WebPageTest або ўкладку «Сетка» ў браўзеры, каб зразумець, што і ў якім парадку загружаецца. Запішыце лічбы: кожная змена ніжэй павінна паляпшаць адну з іх, а калі не паляпшае — адкаціце яе.
Пачынайце з ніжняга ўзроўню стэка, бо ніводзін плагін не выправіць павольны сервер. Спачатку праверце версію PHP: WordPress на PHP 8.x працуе прыкметна хутчэй, чым на 7.x, а версіі ніжэй за 8.2 ужо не атрымліваюць выпраўленняў бяспекі. Пераканайцеся, што ўключаны OPcache: тады PHP трымае скампіляваны код у памяці і не разбірае адны і тыя ж файлы пры кожным запыце. Мае значэнне і дыск: WordPress чытае сотні дробных файлаў на кожную старонку, і NVMe спраўляецца з гэтым значна лепш, чым SATA SSD. Але найбольшы выйгрыш дае кэш на ўзроўні сервера, калі вэб-сервер аддае захаваную старонку, наогул не запускаючы PHP.
Тут выбар тарыфу сустракаецца з выбарам плагіна кэшавання. На нашым хостынгу для WordPress ананімныя наведвальнікі атрымліваюць закэшаваную старонку непасрэдна ад вэб-сервера, а PHP працуе толькі для аўтарызаваных карыстальнікаў і адпраўкі формаў, таму задача плагіна зводзіцца да таго, каб скідаць кэш патрэбных старонак пасля публікацыі. На хостынгу без сервернага кэша статычныя HTML-файлы замест гэтага піша плагін — WP Super Cache, W3 Total Cache або WP Rocket. Выберыце адзін, а не два: некалькі плагінаў кэшавання спрачаюцца за адны і тыя ж правілы і аддаюць састарэлыя або зламаныя старонкі. Калі сервер працуе на LiteSpeed, звычайна найлепш падыходзіць яго ўласны плагін.
Выявы звычайна найцяжэйшая частка старонкі — і найпрасцейшая для выпраўлення. Канвертуйце загрузкі ў WebP або AVIF: пры той жа візуальнай якасці яны, як правіла, на 25–50% меншыя за JPEG, а WordPress падтрымлівае WebP з версіі 5.8 і AVIF з версіі 6.5. Не загружайце фотаздымак шырынёй 4000 пікселяў, каб паказаць яго ў 800: WordPress стварае некалькі памераў і праз srcset дазваляе браўзеру выбраць патрэбны, але толькі калі тэма карэктна выводзіць памеры выяў. Убудаваная адкладзеная загрузка адкладвае выявы ніжэй за першы экран, аднак галоўная выява павінна загружацца адразу — адкладзеная загрузка элемента LCP з’яўляецца адным з самых частых спосабаў пагоршыць гэтую метрыку.
Кожны актыўны плагін дадае PHP-код, а многія яшчэ і запыты да базы, скрыпты і стылі на кожную старонку, патрэбныя яны там ці не. З дапамогай Query Monitor высветліце, якія плагіны забіраюць больш за ўсё часу, адключыце непатрэбныя, а пры наступным рэдызайне замяніце тэму на канструктары старонак лёгкай блокавай тэмай. Потым пачысціце базу даных. Опцыі з аўтазагрузкай чытаюцца пры кожным запыце, таму трымайце іх агульны аб’ём значна меншым за мегабайт і выдаляйце рэшткі ад выдаленых плагінаў. Абмяжуйце колькасць рэвізій у wp-config.php, выдаляйце пратэрмінаваныя транзіенты і даручыце гэта WP-CLI або плагіну ачысткі па раскладзе, а не адзін раз.
WooCommerce мяняе правілы, бо самыя важныя яго старонкі кэшаваць нельга. Кошык, афармленне замовы і асабісты кабінет у кожнага наведвальніка свае, таму іх трэба выключыць са старонкавага кэша, інакш адзін пакупнік можа ўбачыць кошык іншага. Значыць, на кожным кроку пакупкі PHP і база даных выконваюць рэальную працу. Пастаянны аб’ектны кэш, напрыклад Redis, захоўвае вынікі паўторных запытаў у памяці, а High-Performance Order Storage пераносіць замовы з агульнай табліцы запісаў у асобныя табліцы. Тарыф WP Pro сам наладжвае аб’ектнае кэшаванне і выключэнні для кошыка і афармлення замовы — гэта мінімум, які патрэбны краме, каб заставацца хуткай.
Калі ўсё гэта зроблена, а адмінка па-ранейшаму тармозіць, афармленне замовы запавольваецца падчас акцый або TTFB скача ў залежнасці ад часу сутак, вузкае месца ўжо не ў наладах, а ў агульных рэсурсах працэсара. Гэта момант перайсці з хостынгу для WordPress на прэміум-хостынг, дзе ядры CPU і памяць зарэзерваваныя толькі за вашым сайтам, рэзервовыя копіі робяцца штогадзіны, а заяўкі адразу трапляюць да старэйшага інжынера. Тарыф Premium S каштуе ад €24.99 у месяц. У WebHostFlow пераход адбываецца на месцы — той жа акаўнт, тыя ж шляхі, той жа IP-адрас, — таму назаўтра можна зноў усё вымераць і праверыць, ці змяніліся лічбы.
