Отже, ви витратили незліченні години, створюючи інформативний, розважальний і всебічний високоякісний контент для свого блогу. Ви також створили лояльну аудиторію, яка регулярно очікує від вас публікацій у блогах, використовуючи всі найкращі інструменти WordPress.
Або просто потрібно зробити так багато іншої роботи, що ви не можете буквально сісти й дослівно записувати кожне повідомлення в блозі в той час, коли ви хочете його опублікувати.
Ну то що ти робитимеш?
Ви заздалегідь плануєте свої публікації в панелі управління WordPress, ось що!
Тепер ви можете розслабитися і насолодитися поїздкою на літаку на Багами (приємно, правда?), або насолодитися додатковою годиною сну, щоб ваші читачі з усього світу не пропустили свій улюблений ранковий пост у блозі.
Правильно?
І тут WordPress дає удар під дих
В ідеальному світі завчасне планування публікацій у блозі вашого вебсайту – це надійний спосіб ніколи не пропустити регулярно заплановані публікації, які подобаються всім вашим читачам. Але іноді WordPress трохи збивається з пантелику, і після двотижневої відпустки, ви виявляєте, що жодної з публікацій вашого веб-сайту не було опубліковано вчасно, ви розумієте, що все було в безладді, поки вас не було.
Фактично, ви доходите висновку, що жодну з ваших запланованих публікацій не було опубліковано відповідно до встановленого вами розкладу, і що поки вас не було, ваш контент просто провисів із помилкою “Публікація прострочена”:
Куди він подівся?
І що ще гірше, WordPress ніколи не повідомляв вас про те, що чогось не вистачає. Отже, якби ви щойно займалися своєю адміністративною роботою і регулярно перевіряли свій веб-сайт, ви могли б помітити після перших одного або двох пропущених повідомлень, що щось пішло не так.
Помилка пропущеного розкладу “Публікація прострочена” WordPress
Якщо запланована публікація WordPress не публікується належним чином, на панелі управління відображається повідомлення “Публікація прострочена”.
Це означає, що поки вас не було, попри те, що ви налаштували публікацію свого повідомлення в певний час, цього не сталося. Це може статися з низки причин, хоча найчастіша причина, яку я виявив, була пов’язана з невдалою роботою cron.
Cron Jobs
У двох словах, завдання cron – це завдання, що запускається із заданим інтервалом, яке буде виконуватися регулярно, автоматично і без втручання людини. Користувач має налаштувати виконання програми, і завдання cron перейде до неї.
Завдання Cron можуть бути заплановані на виконання у фіксований час, дати або інтервали і включати такі дії, як автоматичне резервне копіювання, видалення тимчасових файлів і навіть планування публікацій WordPress заздалегідь для публікації в майбутньому. Це особливо корисно для повторюваних завдань, які ви не хочете щоразу налаштовувати вручну.
Проте, як я згадував раніше, WordPress іноді любить мати власну думку і може не виконувати ваші завдання cron, як було зазначено вами.
WordPress Cron
Як докладно пояснив Том Макфарлін, cron-завдання WordPress – це те, що він вважає “помилковими cron-завданнями”. Зазвичай, коли завдання cron налаштовують в операційній системі, сервер налаштований на виконання цього завдання з потрібним інтервалом, незалежно від того, перебуває хтось за комп’ютером чи ні.
Однак із завданнями cron у WordPress все працює трохи інакше. Коли завдання cron встановлено, воно планується і потім записується в базу даних. Потім, коли користувач натискає на веб-сайт, завдання cron сканує систему, перевіряючи наявність будь-яких запланованих завдань і виконує їх.
Помітили проблему?
Якщо один із відвідувачів вашого вебсайту не відвідає ваш вебсайт безпосередньо перед тим, як заплановану публікацію буде опубліковано, ваша публікація не виконуватиметься, як планувалося, і ви виявите “Публікація протермінована” під час наступного входу у свою панель керування WordPress.
Для тих із вас, у кого є вебсайти з хорошою відвідуваністю, це може ніколи не стати проблемою. Однак, якщо у вас налаштовано багато завдань cron, які потрібно виконувати дуже регулярно, або якщо трафік вашого вебсайту час від часу падає і зникає, ви зіткнетеся з багатьма невдалими завданнями cron.
Не хвилюйтеся, є відносно просте рішення для запобігання повторення подібних помилок.
Виправлення помилки пропущеного розкладу WordPress
То ж WordPress є вбудований планувальник завдань, який фоном запускає різні завдання без вашої участі. Наприклад: публікація відкладених або запланованих постів, створення бекапів. Вбудований Cron спрацьовує при відкритті будь-якої сторінки відвідувачами вашого сайту.
Якщо у вас спостерігаються проблеми із запланованими завданнями, пройдіться по чек-листу:
- Оскільки WP Cron працює від відвідувачів сайту – переконайтеся, що сайт працює і на нього заходять люди. Якщо сайт недоступний – вбудований Cron не спрацьовуватиме.
- Перевірте, чи немає у файлі wp-config.php рядка:
define(‘DISABLE_WP_CRON’, true);
Він блокує роботу вбудованого планувальника. Деякі хостери додають його за замовчуванням. Якщо є – видаліть його або замініть true на false.
- Використовуйте чудовий плагін під назвою WP Missed Schedule. Ось деякі функції, які WP Missed Schedule (Missed Scheduled Posts Publisher або інші подібні плагіни) надає власникам веб-сайтів:
- Без зниження продуктивності сервера, навіть під час перевірки внутрішніх завдань WordPress cron
- Пропущені повідомлення розкладу – єдині перевірені завдання cron, тому ресурси не витрачаються
- Будь-які заплановані майбутні публікації, що зберігаються в базі даних, будуть знайдені та виправлені WP Missed Schedule з використанням індексної таблиці для запитів.
- Повна відповідність форматуванню запитів до таблиць Hyperdb
- Ремонт 10 елементів у кожному сеансі кожні 15 хвилин, щоб залишатися сумісними з синдикацією каналів WordPress за замовчуванням.
- Призначений для простого або інтенсивного використання запланованих майбутніх публікацій WordPress. Сумісність із популярними плагінами WordPress, такими як W3 Total Cache і Jetpack.
- Можна увімкнути альтернативне виконання Cron. Для цього додайте в wp-config.php рядок:
define( ‘ALTERNATE_WP_CRON’, true );
Перевірте після цього виконання завдань. В адресу сторінок буде підставлятися GET-параметр ?doing_wp_cron=, тому в robots.txt краще додати рядок:
Disallow: ?doing_wp_cron=
- Якщо нічого не допомогло – можна використовувати справжній Cron на вашому хостингу. Для цього відключаємо вбудований WP Cron додаванням рядка в wp-config.php
define(‘DISABLE_WP_CRON’, true);
Налаштовуємо самостійно або пишемо хостеру, що необхідно створити cron-завдання, раз на 5 хвилин завантажувати сторінку на кшталт https://www.itest.com.ua/wp-cron.php?doing_wp_cron. Після цього працюватиме серверний планувальник, а не віртуальний.
Якщо ви додаєте записи за допомогою парсингу або якоїсь іншої програми для автоматичної публікації – створіть один запис вручну, заплануйте йому час і перевірте публікацію. Часто такі програми і парсери неправильно встановлюють час у записів і такі записи потім не публікуються на сайті.
- Якщо способи вище не допомогли – ви можете встановити плагін WP Crontrol і подивитися, які завдання висять і чекають виконання. Можливо, самих завдань немає, можливо, у них стоїть неправильний час. У плагіні є можливість запустити завдання вручну, щоб перевірити як вони відпрацюють.









