Создатели плагинов и тем для WordPress часто прибегают к использованию временных опций (transients или транзиентов) для хранения данных в базе данных.
Это позволяет многократно использовать информацию, что ускоряет выполнение кода.
Однако временные опции имеют ограниченный срок действия и могут накапливаться в базе данных, если не очищаются. Чтобы очистить транзиенты, можно использовать несколько методов.
1. Использование плагина: Существует множество плагинов, таких как «WP Sweep» или «Transients Manager», которые позволяют легко управлять временными опциями и очищать их.
2. Использование sql-запроса: Вы можете непосредственно выполнить SQL-запрос в вашей базе данных, чтобы удалить устаревшие транзиенты. Например:
DELETE FROM `wp_options` WHERE `option_name` LIKE '\_transient\_%' OR `option_name` LIKE '\_transient\_timeout\_%';
3. Использование Cron-задач: Если вы хотите автоматизировать процесс, вы можете настроить Cron-задачи, чтобы регулярно очищать транзиенты, которые больше не используются.
4. Очистка через функции в коде: Вы также можете использовать функции WordPress, такие как delete_transient() или delete_site_transient(), чтобы удалять конкретные транзиенты в вашем коде.
Очищая временные опции, вы можете улучшить производительность вашей базы данных и ускорить работу сайта в целом.
Зачем удалять transients?
Тем не менее, такая экономия ресурсов не всегда идет на пользу. Например, во время тестирования нужный контент на сайте не обновляется, когда он извлекается из внешних источников. Это происходит из-за того, что данные сохраняются в неизменном виде в течение определенного времени. То есть временные опции имеют ограниченный срок «пребывания». Это означает, что разработчик сможет увидеть актуальные данные только по истечении этого срока или после удаления опции из базы данных.
Такая же ситуация может наблюдаться и у посетителей сайта, которым не удастся увидеть самую свежую информацию.
В связи с этим необходимо периодически очищать базу данных от временных опций. Также стоит отметить, что с течением времени большое количество неактуальных transient может замедлить работу сайта и увеличить время загрузки, так как серверу придется обрабатывать больше данных. Регулярное очищение transient поможет улучшить производительность и стабильность сайта. Кроме того, существуют плагины для WordPress, которые автоматизируют этот процесс, позволяя разработчикам сосредоточиться на других задачах. Не забывайте проверять наличие временных опций после значительных обновлений и изменений на сайте, чтобы гарантировать актуальность предоставляемой информации пользователям.
Как в WordPress удалить транзиенты?
Рассмотрим несколько методик.
Плагин WP-Optimize
Мы уже обсуждали этот инструмент в одной из предыдущих публикаций. Он предназначен для очистки базы данных от ненужных файлов. Среди многочисленных функций имеется возможность удаления временных опций.
- Установите и активируйте плагин.
- Перейдите в раздел WP-Optimize > Database.
- В списке выберите пункт Remove expired transient options и опцию Remove all transient options (not only expired).
- Запустите процесс, нажав кнопку Run optimization.
Плагин Transients Manager
После установки плагина, перейдите в раздел Инструменты > Transients.

На экране настроек будет представлен список всех существующих транзиентов.
С ними доступны следующие действия:
- редактировать или удалять отдельные элементы (ссылки Edit Delete);
- удалять просроченные (Delete Expired Transients);
- стереть транзиенты с установленным временем истечения (Delete Transients with an Expiration);
- удалить все одновременно (Delete All Transients).
Также стоит отметить, что удаление транзиентов может способствовать улучшению производительности вашего сайта, особенно если вы часто вносите изменения или загружаете новые данные. Периодическая очистка базы данных от устаревших транзиентов является хорошей практикой для поддержания ее оптимального состояния.
Дополнительно, можно использовать cron-задания для автоматизации удаления просроченных транзиентов. Это позволит избежать накопления ненужных данных и снизит нагрузку на базу данных.
Не забывайте создавать резервные копии базы данных перед массовыми операциями удаления, чтобы иметь возможность восстановить данные в случае необходимости.
Итоги
Регулярное удаление временных опций из базы данных WordPress важно для оптимизации работы сайта. Это улучшит скорость тестирования разработчиками своих решений и предоставит посетителям актуальную информацию. Кроме того, удаление ненужных транзиентов помогает сократить объем базы данных и освобождает место, что может положительно сказаться на времени отклика сервера.
Также стоит отметить, что существуют плагины, позволяющие автоматизировать процесс удаления временных опций, что избавляет от необходимости делать это вручную.
Влияние транзиентов на производительность сайта
Транзиенты в WordPress помогают кэшировать данные, что значительно сокращает время выполнения запросов к серверу. Это, в свою очередь, снижает нагрузку на базу данных и ускоряет отклик сайта. Например, если вы используете транзиенты для кэширования результатов API-запросов, количество обращений к внешним ресурсам уменьшается, а время загрузки страницы сокращается.
Важно помнить, что транзиенты имеют срок действия. Это означает, что данные могут обновляться только по истечении указанного времени, что может привести к отображению устаревшей информации. Следовательно, необходимо тщательно выбирать время жизни для каждого транзиента. Установка слишком короткого срока может привести к излишним запросам, а слишком длинного – к потере актуальности данных.
Помните! Эффективно используемые транзиенты могут существенно улучшить пользовательский опыт на сайте.
Рекомендуется использовать комбинацию транзиентов и других методов кэширования, таких как серверное кэширование или кэширование на стороне клиента. Это поможет достичь оптимальной производительности и уменьшить задержки при загрузке страниц. В WordPress есть плагины, которые автоматизируют этот процесс, например, WP Super Cache или W3 Total Cache.
Не забывайте отслеживать использование транзиентов с помощью функций, таких как get_transient() и set_transient(). Настройка мониторинга может помочь выявить узкие места в производительности. В случае, если какого-либо транзиента нет или срок его действия истек, система выполнит необходимый запрос для их повторного получения и обновления. Это обеспечит актуальность данных без жертв для производительности.