[Ожидание подтверждения пользователя] Оптимизация скорости сайта – влияние WPML
Это форум технической поддержки WPML – плагина для многоязычной WordPress.
Доступно для чтения всем, но только клиенты, купившие WPML, могут оставлять сообщения. Сотрудники WPML отвечают на сообщения форума 6 дней в неделю, 22 часов в сутки.
Предыстория вопроса:
Сейчас я занимаюсь оптимизацией скорости сайта и обнаружил(а), что ваш плагин WPML заметно влияет на его производительность. Хотя его функциональность очень важна для меня, я обеспокоен(а) тем, как он замедляет загрузку страниц.
Могли бы вы порекомендовать способы оптимизации, чтобы уменьшить влияние WPML на скорость сайта? Есть ли какие-то специальные настройки, кэширование или другие решения, которые помогут ускорить работу сайта без отказа от WPML?
Буду благодарен(а) за любые рекомендации.
Симптомы:
WPML заметно влияет на производительность сайта, замедляя загрузку страниц.
Вопросы:
Могли бы вы порекомендовать способы оптимизации, чтобы уменьшить влияние WPML на скорость сайта?
Есть ли какие-то специальные настройки, кэширование или другие решения, которые помогут ускорить работу сайта без отказа от WPML?
Позвольте сначала дать несколько общих рекомендаций по устранению проблем с производительностью, а затем перейти к конкретным шагам, связанным с WPML. Хочу отметить, что WPML делает дополнительные запросы в базу данных для того, чтобы Ваш сайт был мультиязычным. Но, он не должен создавать критических проблем с производительностью сайта.
Проблемы с производительностью становятся особенно заметными на крупных сайтах, таких как интернет-магазины.
Общие рекомендации
1. Убедитесь, что Вашему сайту хватает ресурсов.
Минимальные требования для WPML (https://wpml.org/home/minimum-requirements/) — это действительно минимальные значения. Для крупных сайтов требуется больше памяти и серверных ресурсов для стабильной работы.
2. Используйте PHP 8, но не самые последние версии.
PHP 8 значительно быстрее PHP 7, но самые свежие версии (например, PHP 8.2 на момент написания) могут быть несовместимы с некоторыми темами, плагинами и самим WordPress. Лучше выбирать более стабильные версии.
3. Настройте кэширование.
Кэширование критически важно для производительности. Используйте плагины кэширования страниц, такие как Super Cache, W3 Total Cache или WP-Rocket. Также желательно включить кэширование объектов через Redis с плагином https://wordpress.org/plugins/redis-cache/.
4. Не используйте плагины, “помогающие” с SSL.
Они создают дополнительную нагрузку, перенаправляя каждый запрос. Вместо этого настройте HTTPS правильно, обновив все ссылки в базе данных с помощью безопасного инструмента поиска и замены, например, Better Search Replace (https://wordpress.org/plugins/better-search-replace/) или WP-CLI.
5. Оптимизируйте индексы базы данных.
По умолчанию индексы таблиц WordPress не оптимизированы. Использование плагина Index WP MySQL For Speed (https://wordpress.org/plugins/index-wp-mysql-for-speed/) улучшает структуру таблиц и повышает производительность.
6. Отключите плагины отладки на продакшене.
Например, Query Monitor создает ненужную нагрузку. Также убедитесь, что Xdebug не включен на рабочем сервере. Пересмотрите список активных плагинов и отключите те, которые не являются необходимыми. Это касается и WPML Media: этот модуль нужен только в том случае, если Вам требуется отображать разные изображения для переведенного контента. Он не нужен для перевода текстов изображений, таких как подписи.
7. Минимизируйте “вес” страниц.
Оптимизируйте файлы JavaScript и CSS, а также сжимайте изображения, чтобы уменьшить размер страниц.
Специфические рекомендации для WPML
1. Попробцйуте отключить режим “Translatable
use translation if available or fallback to default language” в WPML → Settings.
Этот режим создает дополнительные запросы к базе данных. Вместо этого показывайте контент только в тех языках, для которых есть переводы.
2. Отключите настройку “Adjust IDs for multilingual functionality ”.
Перейдите в WPML → Языки. Рекомендуемые темы не требуют этой опции.
3. Отключите “Track where strings appear on the site” в WPML → String Translation.
5. Очистите таблицы WPML.
Перейдите в WPML → Поддержка → Устранение неполадок (wp-admin/admin.php?page=sitepress-multilingual-cms/menu/troubleshooting.php) и выполните:
• Cleanup and optimize string tables
• Clear invalid strings
• Remove ghost entries from WPML tables
Выполнение этих шагов должно значительно улучшить производительность Вашего сайта.
Если после внедрения этих рекомендаций у Вас все еще есть проблемы с производительностью, пожалуйста, создайте новый тикет в службе поддержки, чтобы мы могли детально изучить Вашу ситуацию.