Когда клиент присылает мне сайт на WordPress с жалобой «все виснет» или «письма не уходят», в девяти случаях из десяти дело не в теме и не в коде. Хостинг для WordPress чаще всего выбирают по принципу «подешевле», а потом удивляются, почему сайт падает при первой рекламной рассылке. Разница между тарифом за 150 рублей в месяц и нормальным хостингом под WordPress не в красивом личном кабинете, а в конкретных технических параметрах: сколько ядер CPU выделено под PHP-FPM, на каком диске лежит база MySQL, какая версия PHP стоит по умолчанию и как быстро провайдер откатит сайт после сбоя. Разбираю эти параметры по порядку, с цифрами из своей практики.
Ресурсы тарифа: CPU, RAM и лимиты процессов
На большинстве shared-тарифов провайдер честно пишет «неограниченный трафик» и молчит про лимиты процессора. А WordPress с парой десятков плагинов и WooCommerce упирается именно в них. Каждый запрос к сайту порождает процесс PHP-FPM, и если тариф позволяет держать одновременно 5-10 воркеров, при наплыве из рекламы или рассылки сайт начинает отдавать 502 и 504 ошибки, хотя формально «трафик безлимитный».
На практике для интернет-магазина на WooCommerce с оплатой через Т‑Банк и расчётом доставки СДЭК на странице оформления заказа я закладываю минимум 2 vCPU и 4 ГБ RAM на выделенном тарифе или VPS. Плагин эквайринга Т‑Банка и модуль расчёта тарифов СДЭК на чекауте делают по 2-4 внешних запроса к API за один заход покупателя, и каждый такой запрос держит PHP-воркер занятым, пока не придёт ответ. На тесном тарифе с лимитом в 5 процессов при 6-7 одновременных покупателях сайт начинает подвисать именно на кнопке «Оформить заказ».
Смотрите не на маркетинговые цифры в личном кабинете, а на реальные лимиты в тарифном плане: количество PHP-FPM воркеров, ограничение по CPU в секундах на сутки (это отдельно прописывают Beget и Timeweb) и наличие отдельного лимита на MySQL-соединения.
Диск и скорость базы данных
WordPress хранит контент в MySQL, и почти любая операция на сайте, от загрузки главной страницы до сохранения черновика в редакторе, упирается в скорость чтения и записи базы. Разница между HDD, SSD SATA и NVMe здесь не абстрактная, а измеримая в миллисекундах ответа при каждом запросе к базе.
| Тип накопителя | Скорость чтения/записи | Где встречается на практике |
|---|---|---|
| HDD | 80-160 МБ/с, задержка от 5 до 10 мс | старые дешёвые тарифы shared-хостинга |
| SSD SATA | 400-550 МБ/с, задержка около 1 мс | базовый уровень нормальных хостеров |
| NVMe | 1500-3500 МБ/с и выше, задержка до 0,1 мс | VPS и managed-тарифы под WordPress |
На сайтах с интернет-магазином и большим каталогом (от пары тысяч товаров) переход с SSD SATA на NVMe у меня в практике сокращал время генерации страницы категории с 900‑1200 мс до 250-350 мс без единой правки кода, просто за счёт более быстрого чтения из базы. Если у хостера в тарифе не указан тип накопителя явно, это почти всегда HDD или переподписанный SSD, и стоит спросить у поддержки напрямую.
Версии PHP и совместимость с плагинами
WordPress исторически терпим к старым версиям PHP, поэтому часть хостеров годами держит на тарифах PHP 7.4 по умолчанию, хотя официальная поддержка этой ветки закончилась ещё в конце 2022 года. Для WooCommerce, конструкторов страниц вроде Elementor и большинства актуальных плагинов это означает более медленный рендеринг и риск несовместимости с обновлениями.
| Версия PHP | Статус на 2026 год | Что это значит для сайта |
|---|---|---|
| 7.4 | без обновлений безопасности с конца 2022 года | дыры не закрываются, часть новых плагинов не ставится |
| 8.1 | устаревающая, но ещё встречается | работает, но заметно медленнее актуальных веток |
| 8.2 | стабильная, широко используется | хороший баланс скорости и совместимости |
| 8.3 | актуальная на момент написания | прирост скорости выполнения к 7.4 доходит до 30-40% |
Проверяю версию PHP на новом хостинге сразу после покупки тарифа, до переноса сайта. Хороший провайдер даёт переключение версии PHP из панели за пару кликов и держит доступными минимум две последние стабильные ветки, а не одну версию по умолчанию для всех клиентов.
Бесплатный материал
🎁 Полезный скрипт в подарок
Подпишитесь на Telegram - пришлю готовый скрипт по этой теме.
Без спама. Отписка в 1 клик.
Кеширование на уровне сервера
Кеш-плагин вроде WP Rocket или W3 Total Cache решает часть задачи, но настоящий выигрыш в скорости даёт кеширование на уровне самого сервера, а не PHP-скрипта. LiteSpeed Web Server с модулем LSCache отдаёт статическую страницу напрямую, минуя PHP и базу вообще, и это на порядок быстрее, чем даже хорошо настроенный плагин на связке Apache или Nginx.
Отдельно смотрю на наличие Redis или Memcached для объектного кеша. Для сайтов с личным кабинетом, корзиной и динамическим контентом (тот же WooCommerce) объектный кеш убирает повторные запросы к базе на каждой загрузке страницы, и разница между тарифом с Redis и без него ощущается сразу, особенно при нагрузке в 50+ одновременных пользователей.
Если планируете подключать к сайту внешние сценарии, например автоматическую отправку заказов через n8n в CRM или мессенджер, учитывайте, что вебхуки от n8n тоже создают дополнительные PHP-процессы на каждый вызов. На тарифе без запаса по воркерам и без серверного кеша такая интеграция может ощутимо просадить скорость сайта в момент массовой рассылки заказов.
Бэкапы и восстановление после сбоя
Резервные копии из личного кабинета хостера и бэкапы через плагин, например UpdraftPlus, решают разные задачи. Плагин делает копию средствами самого WordPress и зависит от ресурсов сайта в момент бэкапа, а серверный снепшот хостера копирует весь диск целиком и восстанавливается независимо от того, жив сайт или уже лежит с ошибкой 500.
Смотрю на три параметра: частоту автоматических бэкапов (раз в сутки, а не раз в неделю), глубину хранения (14-30 дней достаточно для большинства задач) и на то, включено ли восстановление в тариф или продаётся отдельной опцией. У части бюджетных хостеров восстановление из бэкапа стоит отдельных денег или занимает сутки на обработку заявки в поддержку.
По моей практике, если сайт заражён вирусом и рабочих бэкапов нет, чистка и восстановление занимают от нескольких часов до нескольких дней в зависимости от степени заражения и объёма контента, который нужно перепроверить вручную. Если ежедневные снепшоты на месте, откат к чистой версии занимает 15-20 минут.
Поддержка, SLA и миграция на новый хостинг
SLA в 99,9% доступности на бумаге выглядит одинаково у всех, но разница в том, что происходит при реальном инциденте. У нормальных провайдеров поддержка отвечает в чате за 5-15 минут и умеет чинить проблему на уровне сервера, а не переключает на скрипт «перезагрузите браузер». Проверить это легко: написать в поддержку с техническим вопросом ещё до оплаты тарифа, например про лимиты PHP-FPM или про то, есть ли на тарифе Redis, и посмотреть, насколько конкретный придёт ответ.
Миграцию на новый хостинг для WordPress я обычно делаю через полный дамп базы и файлов с проверкой всех путей в wp-config.php и .htaccess, а не через автоматические плагины-мигранты, которые на сайтах с крупной базой (от 1-2 ГБ) часто обрываются на середине переноса. Если своей команды на это нет, дальнейшее сопровождение сайта после переезда логично отдать на аутсорс: техподдержка сайтов на WordPress начинается от 15 000 рублей в месяц и включает контроль обновлений, бэкапов и реакцию на падения.
Цена за размещение самого сайта на хостинге зависит от провайдера и тарифа, а вот разработка сайта на WordPress под конкретные задачи бизнеса у меня стоит от 60 000 рублей, и в эту сумму входит настройка именно под требования из этой статьи: правильные версии PHP, кеш и структура для быстрой миграции в будущем.
Частые вопросы
Подходит ли обычный shared-хостинг для WordPress с WooCommerce?
Для небольшого магазина с редкими заказами подойдёт, если тариф даёт минимум 3-5 ГБ RAM, NVMe-диск и не режёт число PHP-процессов слишком жёстко. Как только заказы идут через оплату Т‑Банком и доставку СДЭК на чекауте одновременно с десятком покупателей, лучше переходить на VPS с фиксированными ресурсами.
Нужен ли выделенный IP для сайта на WordPress?
Для самого WordPress не нужен, DNS и SSL прекрасно работают на общем IP. Выделенный IP имеет смысл, если сайт принимает платежи напрямую (без редиректа на страницу банка) или если нужно попасть в белые списки конкретного контрагента, например СДЭК или банка для интеграции по API.
Сколько по времени занимает перенос сайта на другой хостинг?
Небольшой сайт-визитку переношу за 2-4 часа вместе с проверкой. Магазин на WooCommerce с базой в несколько гигабайт и десятками плагинов занимает день-полтора с учётом тестирования оплаты и доставки на тестовом домене перед переключением DNS.
Как понять, что текущий хостинг для WordPress пора менять?
Тревожные сигналы: регулярные 502/504 при небольшом трафике, поддержка не может назвать версию PHP или наличие Redis, бэкапы делаются реже раза в сутки или восстановление из них не входит в тариф. Если совпало два пункта из трёх, я обычно советую клиентам переезжать, не дожидаясь серьёзного падения сайта.