Поиск товаров WooCommerce медленный: советы по оптимизации
Многие дешевые хостинговые компании предоставляют свои услуги на слабом оборудовании. Из-за этого поиск и фильтрация товаров WooCommerce могут работать медленно. Выполните следующие шаги:
- Используйте плагины кеширования, например этот
- Отключите опции 'динамический пересчет' в фильтре и 'скрывать пустые термины'
- Используйте Autoptimize
- Добавьте больше памяти для вашего WordPress сайта
- Используйте PHP 8.x.x
- Также во вкладке Advanced → Options попробуйте активировать 'Кэшировать результаты динамического пересчета для каждого элемента фильтра' ИЛИ 'Кэширование терминов', если ваша поисковая форма содержит много терминов
- Во вкладке Advanced → Options включите 'Оптимизировать фильтр цен' для снижения нагрузки на сервер
- Добавьте индексы базы данных для улучшения производительности запросов (выполните в phpMyAdmin):
ALTER TABLE wp_postmeta ADD INDEX woof_meta_key_value (meta_key(191), meta_value(20)); ALTER TABLE wp_posts ADD INDEX woof_type_status (post_type(20), post_status(20));Примечание: Замените
wp_на ваш фактический префикс таблиц, если он отличается. - Вы также можете полностью скрыть поисковую форму и показывать ее по запросу. В виджете установите 'Yes' на 'Hide search form by default and show one button instead', в шорткоде [woof] используйте атрибут 'start_filtering_btn‘
+ Вы можете использовать ссылки на страницы и маски (например: product-category), где должна быть инициализирована функциональность WOOF: вкладка Продвинутые → Инициализировать плагин только на следующих страницах сайта — это предотвратит инициализацию функциональности плагина на всех страницах сайта
Также прочтите:
- woof_counter_method
- woof_use_wp_cache
- Оптимизация производительности: ленивая загрузка выдвижной панели для больших иерархий категорий
Должен сказать, это довольно приличная поддержка 🙂
Я также, возможно, нашел кое-что полезное, что вам может понравиться: я уже писал вам о медленных запросах, генерируемых плагином. Запросы плагина по-прежнему огромны, но я понимаю, что это особенность WordPress (вариации WooCommerce). Однако я нашел решение, чтобы избежать длительного времени загрузки: настройка MySQL с использованием этой хитрости: http://mysqltuner.com/
Время загрузки сократилось с 15 секунд до 4/5 секунд. Все еще не быстро, но гораздо лучше, чем раньше. Следующий шаг — обновление PHP, так как у меня используется версия 5.3.
В любом случае: если люди жалуются, что woof замедляет работу, попробуйте подсказать им о mysqltuner. Мне это очень помогло.
Еще раз спасибо!
Барт