Исправить WP-Cron: простое руководство, которое работает
Опубликовано: 2025-11-02WordPress — мощная система управления контентом, используемая миллионами людей по всему миру. Один из его скрытых механизмов, WP-Cron, отвечает за выполнение запланированных задач, таких как публикация запланированных сообщений, проверка обновлений плагинов и выполнение задач обслуживания. Однако многие пользователи WordPress сталкиваются с проблемами производительности из-за работы WP-Cron. Если ваши запланированные публикации не публикуются или автоматическое резервное копирование не работает, возможно, ваша система WP-Cron работает неправильно. В этом руководстве представлен надежный и простой в использовании метод исправления WP-Cron и обеспечения эффективной работы вашего веб-сайта.
Что такое WP-Cron?
WP-Cron (сокращение от WordPress Cron) — это система планирования задач по умолчанию в WordPress. В отличие от традиционных заданий cron на базе Unix/Linux, которые запускаются в заранее определенное время, WP-Cron запускается только тогда, когда кто-то посещает ваш веб-сайт. В результате на сайтах с низким трафиком могут возникнуть пропущенные задачи, а на сайтах с высоким трафиком могут возникнуть проблемы с производительностью.
Распространенные проблемы, вызываемые WP-Cron
- Пропущенные запланированные публикации или задачи
- Задержка уведомлений по электронной почте
- Медленная работа сайта при загрузке страницы
- Резервное копирование или сканирование не запускаются
Все эти проблемы возникают из-за того, что WP-Cron полагается на то, что посетители запускают его. К счастью, решение простое и эффективное: замените поведение WP-Cron по умолчанию реальным заданием cron, выполняемым непосредственно на вашем сервере.
Пошаговое руководство по исправлению WP-Cron
Чтобы стабилизировать и улучшить производительность вашего сайта WordPress, вам нужно отключить встроенное выполнение WP-Cron и вместо этого настроить настоящее системное задание cron. Вот как это сделать:
1. Отключите WP-Cron в wp-config.php.
Войдите в свою учетную запись хостинга или используйте FTP/SFTP для доступа к корневому каталогу WordPress. Затем найдите и откройте файл wp-config.php . Вставьте следующую строку кода чуть выше строки с надписью /* That's all, stop editing! Happy publishing. */ :
define('DISABLE_WP_CRON', true);Эта команда отключает автоматический запуск WP-Cron при каждой загрузке страницы.
2. Установите настоящее задание Cron на свой сервер
Теперь, когда вы отключили WP-Cron, пришло время настроить настоящее задание cron, которое будет запускать wp-cron.php через регулярные промежутки времени. Как вы это сделаете, зависит от среды вашего хостинга.
Для хостинга cPanel
- Войдите в свою панель управления cPanel.
- Прокрутите до раздела «Дополнительно» и нажмите «Задания Cron» .
- В разделе «Добавить новое задание Cron» установите время выполнения. Для большинства сайтов достаточно настроить его запуск каждые 15 минут. Выбирать:
- Минута: */15
- Час: *
- День: *
- Месяц: *
- День недели: *
- В поле ввода команды добавьте эту строку (замените
yourdomain.com):wget -q -O - https://yourdomain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1 - Нажмите «Добавить новое задание Cron», чтобы сохранить изменения.

Для VPS или выделенного сервера (через SSH)
Если вы работаете из командной строки, подключитесь к своему серверу по SSH и отредактируйте crontab для своего пользователя:
crontab -eДобавьте следующую строку (опять же настройте домен):
*/15 * * * * wget -q -O - https://yourdomain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1Это предписывает серверу надежно запускать WP-Cron каждые 15 минут независимо от посетителей сайта.

3. Проверьте, работает ли WP-Cron.
Чтобы убедиться, что ваше задание cron работает правильно:
- Запланируйте публикацию на ближайшее время (например, на 5 минут вперед).
- Подождите, пока пройдет запланированное время, и проверьте, публикуется ли оно.
- Просмотрите журналы хостинга или уведомления по электронной почте о заданиях cron (если они включены) на наличие ошибок выполнения.
Вы также можете использовать плагины, такие как WP Crontrol, для просмотра и управления запланированными событиями в вашей установке WordPress. Этот плагин позволяет увидеть пропущенные или просроченные задачи.

Расширенные советы по управлению WP-Cron
1. Отрегулируйте частоту Cron в зависимости от активности сайта.
Хотя запуск cron каждые 15 минут является обычным явлением, сайты с чрезвычайно низким трафиком могут выиграть от более частого запуска. И наоборот, сайты с высоким трафиком часто могут запускать cron реже (каждые 30 минут или каждый час), если задачи не требуют выполнения в реальном времени.
2. Мониторинг долго выполняющихся задач
Некоторые плагины добавляют тяжелые фоновые задачи, такие как резервное копирование, отчеты или сканирование. Если эти задачи зависают во время выполнения, они могут помешать запуску других задач cron. Используйте плагины, такие как Query Monitor или WP Crontrol, для выявления проблемных событий.
3. Отдельные интенсивные задачи
Если на вашем сайте выполняются важные фоновые операции, такие как ежечасная синхронизация с внешними API или постановка электронной почты в очередь, рассмотрите возможность запуска этих задач с помощью отдельных заданий cron вместо перегрузки WP-Cron. Вы можете написать собственные сценарии, посвященные этим операциям, и запланировать их отдельно.
Распространенные ошибки, которых следует избегать
- Использование WP-Cron на сайтах с высоким трафиком: это может привести к проблемам с производительностью, поскольку он часто запускается.
- Отключение WP-Cron без настройки реального задания cron: это приводит к тому, что запланированные задачи вообще не выполняются.
- Неправильный синтаксис команды в cron: всегда проверяйте команду cron вручную в терминале, чтобы убедиться, что она работает, прежде чем полагаться на нее.
Альтернативные команды (если wget недоступен)
Если wget недоступен на вашем сервере, вы можете вместо этого напрямую использовать curl или php :
Использование завитка
*/15 * * * * curl -s https://yourdomain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1Использование PHP CLI
*/15 * * * * php /path/to/your/site/wp-cron.php >/dev/null 2>&1 Обязательно замените /path/to/your/site/ фактическим путем к вашей установке WordPress.
Заключение
Исправление WP-Cron — один из наиболее эффективных способов обеспечить надежность и высокую производительность вашего сайта WordPress. Встроенная система cron функциональна, но ненадежна для многих реальных веб-сайтов. Отключив выполнение WP-Cron по умолчанию и заменив его заданием cron на уровне сервера, вы делаете важный шаг к профессиональному управлению вашим сайтом.
Независимо от того, ведете ли вы блог, интернет-магазин или корпоративный сайт, надежное планирование задач имеет значение. Фиксированный WP-Cron гарантирует, что обновления, резервное копирование и автоматизированные задачи будут выполняться именно тогда, когда они должны, обеспечивая вам спокойствие и более стабильную систему.
Следуйте инструкциям, описанным выше, и более уверенно отслеживайте производительность вашего сайта и выполнение критически важных задач. Надежность начинается с превентивной настройки.
