مواجهه با خطای missed schedule وردپرس یا “زمان بندی از دست رفته” میتواند برای هر مدیر سایتی آزار دهنده باشد. این مشکل باعث میشود تا پستهایی که زمان بندی شدهاند، به موقع منتشر نشوند و برنامه ریزی محتوایی سایت را برهم بزنند. در این مقاله به دلایل احتمالی خطای زمان بندی در وردپرس پرداخته میشود و سپس ۵ روش مؤثر برای رفع مشکل عدم انتشار پستهای زمانبندیشده در وردپرس و جلوگیری از بروز مجددا آن معرفی خواهند شد.
تصویر(۱)
خطای missed schedule وردپرس یا زمان بندی از دست رفته چیست؟
خطای missed schedule وردپرس یا زمان بندی از دست رفته زمانی اتفاق میافتد که کرانجاب وردپرس در اجرای انتشار خودکار محتوا دچار مشکل شود. وردپرس از سیستمی به نام WP-Cron برای خودکارسازی وظایف تکراری مانند انتشار پستهای زمانبندیشده استفاده میکند. اما برخلاف کرانجابهای سمت سرور که بر اساس زمانبندی مشخصی اجرا میشوند، WP-Cron تنها هنگام بارگذاری صفحات سایت فعال میشود.
برای مثال، اگر یک پست وبلاگ برای ساعت ۱۰ صبح زمانبندی شده باشد اما در آن زمان کسی از سایت بازدید نکند، WP-Cron فعال نخواهد شد و در نتیجه پست منتشر نمیشود.
دلایل دیگری که ممکن است باعث بروز این خطا شوند شامل موارد زیر هستند:
-
تنظیمات نادرست: انتخاب منطقه زمانی اشتباه ممکن است باعث شود وردپرس پستها را در زمان درستی منتشر نکند.
-
کش قدیمی: محتوای منسوخ شده ممکن است با فرآیندهای کران تداخل داشته باشد و باعث شود وظایف خودکار با شکست مواجه شوند.
-
محدودیت حافظه (memory): محدود بودن حافظه میتواند باعث بروز خطای بحرانی در وردپرس شود و مانع انتشار پستهای زمانبندیشده گردد.
روشهای رفع خطای زمان بندی در وردپرس یا Missed Schedule
در ادامه پنج راهحل احتمالی برای خطای missed schedule وردپرس آورده شده که از بررسی تنظیمات تا استفاده از کرانجاب سرور را شامل میشود:
۱. بررسی تنظیمات وردپرس
اولین قدم، بررسی تنظیمات منطقه زمانی وردپرس است. باید مطمئن شد که این بخش بهدرستی تنظیم شده باشد تا از اشتباه در زمانبندی جلوگیری شود:
-
وارد پیشخوان وردپرس شوید.
-
به مسیر “تنظیمات” سپس “عمومی” مراجعه نمایید.
-
به بخش “زمان محلی” اسکرول کنید.
-
شهر منطقه زمانی خود یا مقدار UTC را انتخاب نمایید.
-
روی گزینه “ذخیرهٔ تغییرات” کلیک کنید.
تصویر(۲)
بعد از اعمال تنظیمات صحیح، باید یک پست دیگر را زمانبندی کرد تا وضعیت انتشار آن در موعد مقرر مشخص شود.
۲. پاکسازی کش وردپرس
اگرچه کش به افزایش سرعت بارگذاری سایت کمک میکند اما ممکن است شامل محتوای قدیمی باشد که با عملکرد WP-Cron تداخل دارد. در نتیجه وظایف زمانبندیشده بهدرستی اجرا نمیشوند. برای پاکسازی کش در وردپرس میتوان از افزونههایی مانند W3 Total Cache استفاده کرد:
-
وارد پیشخوان وردپرس شوید.
-
گزینه “افزونه ها” سپس “افزودن افزونه” را از منوی سمت چپ انتخاب نمایید.
-
افزونه “W3 Total Cache” را جستجو نموده و نصب کنید.
-
روی دکمه “فعالسازی” کلیک نمایید تا افزونه فعال گردد.
-
به مسیر Performance سپس Dashboard مراجعه نمایید.
-
گزینه “empty all caches” را انتخاب کنید.
تصویر(۳)
اگر این روش مؤثر بود، بهتر است کش بهصورت منظم پاک گردد تا از بروز مجدد خطای زمان بندی از دست رفته وردپرس جلوگیری شود.
۳. افزایش محدودیت حافظه (Memory Limit) وردپرس
روش بعدی برای رفع خطای missed schedule وردپرس، بررسی میزان حافظه تخصیص داده شده به سرور سایت است. با توجه به اینکه وردپرس از زبان PHP برای اجرای هسته خود استفاده میکند، باید میزان حافظه اختصاص یافته به PHP بررسی شود:
-
از پیشخوان وردپرس وارد مسیر “ابزارها” سپس “سلامت سایت” شوید.
-
به تب “اطلاعات” بروید و تا بخش “سرور” اسکرول کنید.
-
قسمت “محدوده حافظه PHP” را بررسی نمایید.
تصویر(۴)
اگر مقدار حافظه کمتر از ۲۵۶ مگابایت باشد، توصیه میشود آن را افزایش دهید. برای افزایش آن از طریق CPanel مراحل زیر را دنبال کنید:
-
وارد File Manager شوید.
-
به پوشه public_html مراجعه نمایید و فایل wp-config.php را بیابید.
-
کد زیر را کپی کنید:
define('WP_MEMORY_LIMIT', '256M');
-
این کد را قبل از خط “That’s all, stop editing! Happy publishing” در فایل قرار دهید.
-
فایل را ذخیره کنید.
تصویر(۵)
۴. استفاده از افزونهها برای رفع خطای زمان بندی از دست رفته وردپرس
اگر هیچ کدام از روشهای قبلی مؤثر نبودند، میتوان از افزونههایی برای رفع این خطا استفاده کرد. در ادامه دو افزونه کاربردی جهت رفع خطای missed schedule وردپرس معرفی میشوند:
-
Scheduled Post Trigger: این افزونه هنگام بازدید کاربران، وضعیت پستهای زمانبندی شده را بررسی میکند و اگر از دست رفته باشند، آنها را منتشر خواهد کرد. از آنجا که عملکرد این افزونه به بازدیدکننده بستگی دارد، برای سایتهایی با ترافیک بالا مناسب است.
-
Missed Scheduled Posts Publisher: این افزونه برای سایتهای تازهکار یا با ترافیک کم مناسبتر است. هر ۱۵ دقیقه یکبار پستهای زمانبندیشده را بررسی و در صورت نیاز منتشر میکند، حتی اگر بازدیدی در آن لحظه صورت نگیرد.
برای استفاده از این افزونهها، کافی است آنها را از مخزن افزونههای وردپرس نصب و فعال کنید. نیازی به تنظیمات خاصی نیست؛ پس از فعالسازی، یک پست جدید را زمانبندی کرده و عملکرد افزونه را بررسی نمایید.
۵. جایگزین کردن WP-Cron با Cron Job سمت سرور
اگر همچنان خطای عدم انتشار پست زمانبندی شده وردپرس ادامه داشت، آخرین راهحل جایگزین کردن WP-Cron با یک کرانجاب واقعی روی سرور است. برخلاف WP-Cron که وابسته به بازدید صفحات سایت می باشد، کرانجاب سمت سرور وظایف را بر اساس زمان مشخص، مستقل از ترافیک اجرا میکند.
برای مثال اگر بازه زمانی اجرای کرانجاب ماهانه تنظیم شود، سرور هر ماه پستهایی که زمانبندی آنها از دسترفته را بررسی و منتشر میکند، حتی اگر هیچ بازدیدی در آن بازه صورت نگیرد. بیشتر شرکتهای هاستینگ امکان راهاندازی کرانجاب سمت سرور را فراهم کردهاند. برای انجام این کار در CPanel، مراحل زیر را طی کنید:
۱. غیرفعال کردن WP-Cron
قبل از ایجاد کرانجاب واقعی، باید WP-Cron را غیرفعال کرد تا تداخلی ایجاد نشود:
-
وارد File Manager شوید.
-
فایل wp-config.php را در پوشه اصلی سایت باز کنید.
-
کد زیر را قبل از خط “That’s all, stop editing!” قرار دهید:
define('DISABLE_WP_CRON', true);
تصویر(۶)
۲. تنظیم دستور Cron Job
برای راهاندازی کرانجاب در CPanel:
-
وارد بخش Advanced سپس Cron Jobs شوید.
-
دستور زیر را در فیلد “Command” وارد کنید:
wget -O /dev/null -o /dev/null https://example.com/wp-cron.php?doing_wp_cron
(آدرس example.com را با دامنه سایت خودتان جایگزین نمایید)
-
از لیست “Common Settings” یک بازه زمانی انتخاب کنید؛ پیشنهاد میشود گزینه “Twice Per hour” (دو بار در ساعت) تنظیم گردد.
-
روی دکمه Save کلیک کنید.
بعد از ذخیره تنظیمات، این کرانجاب هر ۳۰ دقیقه پستهای زمانبندیشده را بررسی میکند و در صورت نیاز آنها را منتشر خواهد کرد.
نتیجهگیری
در این مقاله تلاش شد تا روش های رفع خطای missed schedule وردپرس توضیح داده شود. انتشار منظم پستهای وبلاگی به صاحبان سایتهای وردپرسی کمک میکند تا حضور آنلاین قویتری داشته باشند و مخاطبان وفادارتری جذب کنند. بنابراین، آموختن نحوه زمانبندی پستها در وردپرس اهمیت زیادی دارد.
اگرچه وردپرس قابلیت انتشار خودکار را در اختیار کاربران قرار میدهد اما گاهی اوقات ممکن است خطاهایی مانند “پستهای زمانبندیشده” ایجاد شود. این مقاله به شما کمک کند تا از بروز مجدد خطای “پستهای زمانبندیشده” در وردپرس جلوگیری کنید و مدیریت محتوای خود را با اطمینان بیشتری انجام دهید.