گاهی برای برخی از سایتهای وردپرسی نیاز هستش که به غیرفعال کردن کرون جاب در وردپرس بپردازیم، در ادامه چگونگی اینکار را به شما خواهیم گفت.
غیرفعال کردن اجرای خودکار wp-cron.php وردپرس
کرون جاب (Cron job) برای برنامه ریزی کارها در زمانها، تاریخها یا فواصل زمانی مشخص در سایت شما استفاده می شود. نمونه های کاربرد cron job در سایتهای وردپرسی، جهت برنامه ریزی برای انتشار یک پست در یک زمان مشخص، بررسی به روزرسانی ها یا اجرای افزونه پشتیبان می باشد. در وردپرس، این کار توسط WP-Cron انجام می شود، WP-Cron مدل شبیه سازی شده Cron job در کنترل پنل های هاست می باشد. با این حال، بسته به میزان بازدید از سایت شما، استفاده از cron داخلی می تواند در زمان بارگذاری صفحات سایت شما تأثیر بگذارد. بنابراین در این آموزش توضیح داده می شود که چگونه WP-Cron (wp-cron.php) را غیرفعال و به جای آن از cron هاست برای بالا بردن عملکرد سایت و هاست استفاده نمایید.

در شرایط عادی در هر بار که بازدیدکنندهای به سایت شما مراجعه کند فایل wp-cron.php اجرا میشود. این امر به ظاهر مشکلی ندارد اما زمانی که بازدیدهای سایت افزایش یابد این کار میتواند عامل بروز مشکلات زیادی از جمله بالا رفتن زمان بارگذاری سرور و افزایش منابع مصرفی اکانت و کندشدن سرعت بارگذاری وبسایت شود. دلیل آن نیز اشتباه WordPress در تشخیص این موضوع است که وقتی بازدیدکنندهای به وبسایت مراجعه کرد، آیا زمان انجام کاریست؟ جواب مشخص است. خیر!
پس با این شرایط بهتر است کنترل اجرای فایل wp-cron.php را از WordPress گرفته و به دست سرور یسپاریم. ما در اینجا نحوه این کار را در cPanel به شما خواهیم گفت.
غیرفعال کردن کرون جاب وردپرس
برای غیرفعال کردن کرون جاب ابتدا اجرای این فایل را با ایجاد تغییراتی در فایل wp-config.php غیرفعال میکنیم:
۱) فایل wp-config.php را ویرایش کنید.
۲) قطعه کد زیر را به پرونده wp-config.php سایت وردپرسی خود، قبل از خط “That’s all, stop editing! Happy blogging.” اضافه کنید.
define('DISABLE_WP_CRON', true);
۳) تغییرات را ذخیره کنید.
این کار باعث عدم اجرای WP-Cron در هر بار بارگذاری صفحه سایت می شود، با روشی که در ادامه توضیح داده میشود میتوانید به صورت مستقیم wp-cron.php را اجرا کنید.
افزودن کرون جاب در هاست
الآن که غیرفعال کردن کرون جاب وردپرس را انجام دادیم اکنون اجرای wp-cron.php را بصورت دستی تنظیم میکنیم.
مشخص است که ما قصد نداریم قابلیت کرون جاب وردپرس را بطور کلی غیرفعال کنیم. از طرفی اجرای کرون جاب همراه با هر بازدید از وبسایت نیز صحیح به نظر نمیرسد. به عقیدهی ما اجرای کرون جاب و کارهای زمانبندی شده در هر یک، سه یا شش ساعت یکبار (با توجه به نوع و عملکرد سایت) کاملا مناسب و کافیست. پس این تنظیمات را مطابق راهنمای زیر ایجاد میکنیم:
۱) وارد کنترل پنل سی پنل خود شوید.
۲) از بخش Advanced وارد Cron Jobs شوید.
۳) سپس از بخش Common Settings گزینه Once Per Hour را برگزینید.
برخی زمانبندی های پیشفرض که در منوی Common Settings در دسترس هستند: 1. زمانبندی * * * * * : هر دقیقه کرون جاب ایجاد شده اجرا می شود. 2. زمانبندی * * * * */5 : هر 5 دقیقه یکبار کرون جاب ایجاد شده اجرا می شود.
3. زمانبندی * * * * 0 : هر ساعت یکبار کرون جاب ایجاد شده اجرا می شود.
4. زمانبندی * * * 12,0 0 : در روز 2 بار در ساعت های 12 و 24 کرون جاب ایجاد شده اجرا می شود. 5. زمانبندی 0 * * 0 0 : هر هفته یکبار کرون جاب ایجاد شده اجرا می شود. 6. زمانبندی * * 1 0 0 : هر ماه یکبار کرون جاب ایجاد شده اجرا می شود. 7. زمانبندی * 1 1 0 0 : هر سال یکبار کرون جاب ایجاد شده اجرا می شود.
۴) از بخش Hour زمان مورد نظر را انتخاب کنید. (میتوانید هر زمان دیگری را نیز برگزینید)
۵) سپس در بخش Command کد زیر را قرار داده و روی Add New Cron Job کلیک کنید.
php -q /home/user/public_html/wp-cron.php >/dev/null 2>&1
- در اینجا user همان نام کاربری cPanel شما میباشد.
- مسیر home/user/public_html/ برای دامنه اصلی شما میباشد. چنانچه قصد اعمال این تغییرات را برای Sub Domain یا Addon Domain های خود داشته باشید لازم است متناسب با مسیر آن، آدرس فوق را تصحیح نمائید.
۶) حال مشاهده میکنید که Cron Job شما با موفقیت ایجاد شده است.
از این پس کنترل فایل wp-cron.php در اختیار شماست و میتوانید اجرای آن را به هر نحو دلخواه تغییر دهید.
نکته: پیشنهاد می شود اجرای کرون جاب را به صورت هر ساعت یکبار تنظیم کنید تا تاثیر منفی در عملکرد و سرعت سایت شما نداشته باشد.