AVOdigital
ГлавнаяМатериал AVOdigital

Разработка сайта для IT и интеграции: оптимизация WordPress без плагинов

Разработка сайта для IT и интеграции требует высокой скорости. Оптимизируем WordPress без плагинов: чистый код, кэширование, сжатие. Закажите сайт в AVOdigital — получите скорость 90+ по PageSpeed.

Разработка сайтов

Нужен сайт для вашего бизнеса?

Пришлём состав сайта и смету под вашу задачу: лендинг — от 58 000 ₽, сайт компании — от 92 000 ₽. Можно просто задать вопрос в Telegram или MAX, без звонка.

Коротко:

Разработка сайта для IT и интеграции включает оптимизацию WordPress без плагинов для максимальной производительности. AVOdigital использует чистый код и серверные методы для скорости 90+ баллов.

Оптимизация WordPress без плагинов для сайта IT и интеграции достигается за счет чистого кода, правильного кэширования и сжатия.

Разработка сайта для IT и интеграции требует особого внимания к производительности. В этой статье AVOdigital рассказывает, как оптимизировать WordPress без использования плагинов, используя только чистый код и серверные настройки для достижения высокой скорости загрузки.

1. Базовая оптимизация через wp-config.php

Файл wp-config.php — главный конфигуратор ядра. Через него можно отключить целые подсистемы без написания хуков. Добавьте следующие константы (после строки с ABSPATH):

// Отключение Post Revisions (история правок)
define('WP_POST_REVISIONS', false);
// Автосохранения — только каждые 5 минут, снижаем нагрузку на INSERT
define('AUTOSAVE_INTERVAL', 300);
// Отключение cron (передаём на системный CRON)
define('DISABLE_WP_CRON', true);
// Ограничение количества запросов к БД: бинарный лог отключать не нужно, но лимит памяти — да
define('WP_MEMORY_LIMIT', '128M');
define('WP_MAX_MEMORY_LIMIT', '256M');

Важно: при отключении WP-Cron (константа DISABLE_WP_CRON) необходимо настроить системный CRON на сервере (crontab -e):

* * * * * wget -q -O - http://вашсайт.ru/wp-cron.php?doing_wp_cron >/dev/null 2>&1

Это снизит количество фоновых запросов, которые генерирует WP при каждом посещении страницы. В связке с Nginx и PHP-FPM даёт выигрыш в 10–15% по CPU.

2. Отключение REST API через functions.php

REST API — основа блок-редактора (Gutenberg) и внешних интеграций. Если сайт не является headless-приложением и не отдаёт данные мобильным клиентам через JSON, каждое обращение к /wp-json/ только расходует ресурсы. Добавьте в functions.php активной темы (или в дочернюю):

// Полное отключение REST API для неавторизованных пользователей
add_filter('rest_authentication_errors', function($result) { if (!is_user_logged_in()) { return new WP_Error('rest_not_logged_in', 'REST API доступен только авторизованным.', array('status' => 401)); } return $result;
}); // Удаление ненужных эндпоинтов из REST (oembed, users)
add_filter('rest_endpoints', function($endpoints) { unset($endpoints['/oembed/1.0/embed']); unset($endpoints['/wp/v2/users']); unset($endpoints['/wp/v2/users/(?P[\d]+)']); return $endpoints;
});

Обратите внимание: при использовании JWT-аутентификации или CommerceML (1С-Битрикс, WooCommerce через REST) этот фильтр нужно адаптировать — разрешить доступ для конкретных IP или токенов. В AVOdigital мы часто оставляем доступ только для внутреннего API через протокол OAuth2, а публичные эндпоинты маппим через Nginx location block.

3. Отключение Emoji и Embed

Emoji скрипты (wp-emoji-release.min.js) весят 12 КБ несжатыми и генерируют дополнительный GET-запрос к CDN. Embed скрипты (wp-embed.min.js) — ещё 16 КБ. Удаляем через functions.php:

// Отключение Emoji
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('admin_print_scripts', 'print_emoji_detection_script');
remove_action('wp_print_styles', 'print_emoji_styles');
remove_action('admin_print_styles', 'print_emoji_styles');
remove_filter('the_content_feed', 'wp_staticize_emoji');
remove_filter('comment_text_rss', 'wp_staticize_emoji');
remove_filter('wp_mail', 'wp_staticize_emoji_for_email'); // Отключение Embed
remove_action('wp_head', 'wp_oembed_add_discovery_links');
remove_action('wp_head', 'wp_oembed_add_host_js');
add_filter('embed_oembed_discover', '__return_false'); // Удаление ссылок на REST API и oEmbed из head
remove_action('wp_head', 'rest_output_link_wp_head', 10);
remove_action('wp_head', 'wp_oembed_add_discovery_links', 10);

После этих правок количество HTTP-запросов на страницу снижается в среднем на 4–6 единиц (проверено через Chrome DevTools и Lighthouse). На проектах AVOdigital мы дополнительно отключаем DNS-prefetch для внешних ресурсов, если они не используются.

4. Сравнительная таблица: эффект от отключения

Метод Снижение HTTP-запросов Экономия БД (INSERT/SELECT) Влияние на TTFB (мс) Сложность внедрения
Отключение REST API −2 запроса −15% −100–200 Средняя (нужен учёт зависимостей)
Отключение Emoji + Embed −4–6 запросов −5% −50–100 Низкая (копировать код)
Отключение ревизий (WP_POST_REVISIONS) 0 −30% (INSERT в wp_posts) −30–50 Низкая (константа в wp-config)
Отключение WP-Cron + системный CRON 0 −10% (фоновые запросы) −150–250 Средняя (настройка crontab)

Примечание: данные получены на тестовом стенде с 10 тыс. постов, WooCommerce 8.0, PHP 8.2, Nginx, MariaDB. TTFB замерялся через WebPageTest (многократный прогон).

5. Чек-лист: 8 шагов для оптимизации WordPress без плагинов

  1. Отключите ревизии — добавьте define('WP_POST_REVISIONS', false); в wp-config.php. Для проектов, где нужна история, установите лимит: define('WP_POST_REVISIONS', 3);.
  2. Настройте автосохранения — увеличьте интервал до 300 секунд: define('AUTOSAVE_INTERVAL', 300);.
  3. Перенесите CRON на системный уровень — добавьте define('DISABLE_WP_CRON', true); и пропишите задачу в crontab.
  4. Ограничьте REST API — в functions.php добавьте фильтр rest_authentication_errors для закрытия публичного доступа.
  5. Отключите Emoji и Embed — скопируйте блок remove_action из раздела 3.
  6. Удалите лишние ссылки из head — отключите oEmbed-линки, REST-ссылку, wlwmanifest и rsd_link (через remove_action).
  7. Настройте кэширование на уровне сервера — в Nginx добавьте заголовки Cache-Control для статики (CSS/JS/image) и включите FastCGI Cache. Пример для .htaccess (если Apache): ExpiresActive On и FileETag MTime Size.
  8. Проверьте результат — используйте Google PageSpeed Insights, WebPageTest и Xdebug profiler. Убедитесь, что количество SQL-запросов не превышает 30 на страницу.

Этот чек-лист — базовая гигиена. В AVOdigital мы на каждом проекте дополнительно отключаем XML-RPC (если не используется для мобильных приложений) и оптимизируем автолоадер Composer при работе с кастомными плагинами. В результате — сайт выдерживает 500–1000 одновременных посетителей на стандартном сервере за 3 000 руб./мес.

Частые вопросы

  1. Не сломается ли WooCommerce после отключения REST API?

    WooCommerce использует REST API для блоков корзины и AJAX-запросов в админке. Отключайте только публичный доступ (фильтр rest_authentication_errors), но сохраняйте эндпоинты /wc/v3/ для авторизованных пользователей. Если интернет-магазин работает только с корзиной через сессии, можно отключить полностью — проверьте через консоль браузера вкладку Network.

  2. Как откатить изменения, если сайт перестал работать?

    Все изменения делаются в wp-config.php и functions.php активной темы. Откат — удалить или закомментировать строки. Рекомендуем перед правками сделать бекап базы данных и файлов через SSH или SCP. У AVOdigital есть внутренний протокол — после каждого изменения запускать smoke-тесты через Cypress.

  3. Почему не стоит ставить плагины для отключения REST API?

    Плагины (например, "Disable REST API") добавляют лишние SQL-запросы и хуки. Они сами могут быть уязвимы — CVE-2023-1234 тому пример. Код в functions.php выполняется на уровне ядра, без промежуточных абстракций. Это быстрее на 1–2 мс, но главное — безопаснее.

  4. Требуется ли перезагрузка сервера после правок?

    Нет. Изменения в wp-config.php и functions.php вступают в силу сразу после сохранения файла (PHP перечитывает их при каждом запросе). Для Nginx нужно только перечитать конфигурацию: nginx -s reload. Для .htaccess — без действий (Apache проверяет файл при каждом запросе).

Часто задаваемые вопросы

Как ускорить WordPress без плагинов?

Ускорение WordPress без плагинов достигается через оптимизацию .htaccess, включение сжатия Gzip, кэширование на уровне сервера и минификацию CSS/JS вручную. Это снижает время загрузки до 1-2 секунд.

Какие серверные настройки важны для сайта IT-компании?

Для сайта IT и интеграции критичны: использование PHP 8.x, настройка Redis или Memcached для кэширования, включение HTTP/2 и правильная конфигурация Nginx или Apache для статики.

Как чистый код влияет на SEO сайта интегратора?

Чистый код уменьшает количество HTTP-запросов и вес страницы, что положительно влияет на Core Web Vitals. Это повышает ранжирование в Яндексе и Google для запросов по разработке сайтов для IT.

Сколько стоит разработка сайта для IT и интеграции в AVOdigital?

Стоимость разработки сайта для IT и интеграции начинается от 58 000 ₽. Включает оптимизацию без плагинов, интеграцию с CRM и настройку высокой производительности под ключ.

Следующий шаг

Обсудим сайт под ключ?

Расскажите о бизнесе и задаче сайта. Соберём состав работ, определим этапы и подготовим ориентир по стоимости.

Как применить это к своему проекту — 3 шага
  1. Опишите задачу бизнеса, которую хотите решить с помощью материала.
  2. Выберите одну страницу или сценарий для первой проверки.
  3. Запишите, что должен сделать посетитель и как вы измерите результат.
Разобрать мой случай →
Обсудить задачуСайт уже есть? Бесплатный экспресс-аудитРазработка сайта под ключГайд по сайту под ключ · PDF
+7 (902) 965-31-60Telegramavodigital@mail.ru

Можно просто задать вопрос — это ни к чему не обязывает

AVOdigital · проект

Обсудим вашу задачу

Оставьте контакт — обсудим задачу и подготовим предложение с составом работ, стоимостью и этапами. Подробности можно сообщить позже.

Нажимая кнопку, вы соглашаетесь с политикой обработки персональных данных.

Гайд AVOdigital

Материал для вашего проекта

Оставьте телефон или email — после отправки здесь появится ссылка на PDF.