راهنمای کامل آموزش غیر فعال کردن CRON JOB ها در وردپرس


آموزش غیر فعال کردن CRON JOB ها در وردپرس چگونه است؟ در ادامه این مقاله به این موضوع می پردازیم. یکی از موضوعاتی که باید در خصوص نحوه کارکرد وردپرس بدانید، سیستم زمانی آن است. کرون نام برنامه زمان بندی در سیستم یونیکس بوده که چنین ساختاری با عنوان WP-Cron در وردپرس نیز وجود دارد. این سیستم درون وردپرس تعبیه شده و وظایفی که باید طبق زمان انجام شوند را امکان پذیر می کند. مثلا انتشار پست زمان بندی شده در ساعت و روز فلان. همچنین برخی دیگر از کارکردهای آن عبارتند از بررسی آپدیت پلاگین ها، تم ها، پیشخوان وردپرس و غیره. با این حال چنین سیستمی می تواند پردازش سرور را بالاتر برده و سایت را کندتر کند که این موضوع در طراحی سایت در یزد برای افزایش سرعت مهم است. در ادامه با ما همراه باشید تا بیشتر راجع به آن صحبت کنیم.
WP-Cron در وردپرس چیست؟
به طور خلاصه WP-Cron فایلی است که برنامه ریزی تسک های مبتنی بر زمان را در وردپرس شما را مدیریت می کند. نمونه کارکردهای بسیار مهمی را میتوان در این بخش مشاهده کرد که در قسمت جلوتر معرفی می کنیم. مثلا انتشار پست های زمان بندی شده براساس این فایل انجام می شوند.
اگر در نامگذاری این فایل هم دقت کنید، به واژه کرون یا Cron بر می خورید که مربوط به سیستم برنامه ریزی مبتنی بر زمان تسک ها است که در سیستم های یونیسکی می توان آن را مشاهده نمود. WP-Cron برای بررسی های خود، به صورت مداوم هر صفحه را چک می کند تا بفهمد لیست کارهای برنامه ریزی شده چه هستند و چه زمان باید اجرا شوند. در نهایت زمانی که هر وظیفه نیاز به اجرا باشد، در هنگام لود شدن آن صفحه فراخوانی خواهد شد.
نکته: البته توجه کنید که WP-Cron مثل سیستم cron به صورت مداوم اجرا نمیشود. بلکه فقط در هنگامی که شاهد بارگذاری صفحه هستیم، فعال خواهد شد. مثلا اگر در ساعت 16 عصر پس فردا یک تسک را برنامه ریزی نمایید اما تا ساعت 19 آن روز هیچ صفحهای لود نشود، ممکن است یکسری خطاهای زمان بندی رخ دهند.
با توجه به این موضوع، فایل WP-Cron خود یک بار پردازشی را روی سرور ایجاد می کند. در نتیجه می خواهیم در آموزش غیر فعال کردن CRON JOB ها در وردپرس آن را با هم بررسی کنیم تا سرعت سایت کمی بهبود یابد. آگاهی از این موضوع برای آموزش طراحی سایت در سطح پیشرفته به خصوص افزایش سرعت سایت بسیار مفید است.
قبل از آموزش غیر فعال کردن CRON JOB ها در وردپرس لازم است مطالب مختلفی را راجع به این فایل بیان کنیم. پس در ادامه با ما همراه باشید تا ابتدا به این موارد اشاره نماییم.
کارکردها و استفاده از WP-Cron در وردپرس چیست؟
قبل از اینکه به بررسی آموزش غیر فعال کردن CRON JOB ها در وردپرس بپردازیم، می بایست با کارکردها و استفاده از این فایل بیشتر آشنا شویم. این موضوع باعث می شود تا با عواقب غیرفعال کردن این فایل بیشتر آشنا شوید.
در خصوص کارکردهای فایل WP-Cron می توان به چند موضوع زیر اشاره کرد که عبارتند از:
- یکی از مهم ترین کارکردهایی که این فایل دارد، فراهم کردن پیش نیازی برای فعالیت هسته وردپرسو سایر پلاگین ها است. در واقع این آیتم ها برای انجام وظایف خود که براساس زمان بندی هستند، باید یک سورس زمانی داشته باشند. برای رفع این پیش نیاز، فایل WP-Cron به کار گرفته می شود.
- از سوی دیگر، برای غالب سیستم هایی که جهت انجام تسک های زمانی اقدام می کنند، استفاده از یک API وردپرسی که مربوط به فایل WP-Cron می شود، بسیار آسان تر از استفاده از پلتفرم های خارج از این سیستم مدیریت محتوا می باشد.
- یکی دیگر از کاربردهای مهم این فایل تفاوت آن در اجرا است. مثلا هنگامی که از زمان بندی سیستمی استفاده می کنیم (system scheduler) در این حالت اگر تایم مربوطه بگذرد و کار انجام نشود، دیگر برای آن تسک تلاش مجددی نخواهد شد. با این حال در WP-Cron، تمام تسک ها در یک لاین قرار گرفته و در فرصت بعدی مجددا اجرا خواهند شد. بنابراین می توان گفت با WP-Cron شما می توانید صد در صد مطمئن باشید که کار شما انجام می شود.
- انجام تسک های زمان بندی شده که نمونه ای از مثال آن را در بخش قبل مانند انتشار پست ها بیان کردیم.
همچنین برخی فعالیت ها مانند چک کردن به روزرسانی ها در بخش تم، پلاگین ها و یا آپدیت های هسته وردپرس نیز از طریق این سیستم انجام می شوند.
نگاهی اجمالی به نحوه کارکرد WP-Cron وردپرس
حال که فهمیدیم سیستم WordPress Cron چیست و وظیفه آنها در انجام تسک های مربوط به WP-Cron کدامند، بد نیست با نحوه کارکرد آنها آشنا شویم. در این خصوص می توان گفت:
- در بازه زمانی هوک اولیه (init hook)، WP-Cron بررسی می کند که چه رویدادهایی در پایگاه داده وجود دارند که طبق برنامه ریزی باید عمل شوند.
- سپس این سیستم با توجه به اینکه یک رویداد در زمان مقرر باشد، یک رکوئست از نوع HTTP را به فایلی با این نام یعنی wp-cron.php ارسال می کند.
- در نهایت شاهد آن هستیم که این فایل، قلاب های مرتبط با تسک های برنامه ریزی شده را پردازش می نماید.
نکته: توجه کنید اگرچه این سیستم نسبت به زمان بندی رویدادها اقدام می کند اما همیشه هم بدون مشکل نیست.
البته این امکان وجود دارد که شما نسبت به مشاهده، افزودن و نیز اصلاح تسک های کرون نیز اقدام کنید. برای انجام این کار یکی از راهکارهای آسان استفاده از افزونه WP Crontrol است که می توانید با نصب آن، به بخش تنظیمات و قسمت Cron Events مراجعه کنید. رویدادها در سه دسته بندی بدون هیچ اقدام، اصلی وردپرس و نیز سفارشی تقسیم می شوند.
نکته: در ستون اول سمت چپ، قلاب هایی که با پیشوند wp وجود دارند مرتبط به رویدادهای هسته وردپرس می باشند. شما نمی توانید آنها را حذف کنید چراکه اطلاعات سیستمی هستند. شما می توانید از طریق نام این قلاب ها نسبت به فعالیت و تسکی که دارند تا حدودی مطلع شوید. همچنین در ستون سوم می توانید زمان بعدی اقدامی که صورت می گیرد را مشاهده کنید. در ستون چهارم اقدامات مربوط به قلاب ها و در ستون پنجم توضیحاتی در مورد زمان یا تکرار رویداد ارائه می شوند.
نکته: اگر به مقالات در حوزه طراحی سایت علاقمند هستید، حتما مقالات به روز سایت ما مانند طراحی سایت با هوش مصنوعی را از دست ندهید.
مزیتها و معایب دبلیو پی کرون در وردپرس
در این بخش شما می توانید به اهمیت آموزش غیر فعال کردن CRON JOB ها در وردپرس پی ببرید. ابتدا در خصوص مزیت های وجود چنین سیستمی می توان به موارد زیر اشاره کرد:
- امکان استفاده از افزونه ها که یکی از اساس کارکرد آنها وابسته به سیستم زمانی وردپرس است.
- امکان خودکارسازی فرآیندها که پارامتر زمان در آن بسیار مهم بوده و باید در نظر گرفته شود.
- آگاهی از آپدیت های جدیدی که برای بخش های مختلف سایت شما ارائه شده اند و این موضوع می تواند با دریافت اعلان صورت گیرد.
- تضمین کارکرد صحیح برنامه های پشتیبان گیری که پایگاه های داده و اطلاعات آن باید به صورت مداوم بکاپ دریافت کنند.
- عدم نیاز به پلتفرم های خارجی که WP-Cron را کاملا به یک ابزار داخلی تبدیل می کند.
حال می خواهیم در مورد معایبی که این سیستم دارد صحبت کنیم که می تواند علت آموزش غیر فعال کردن CRON JOB ها در وردپرس باشد. در این خصوص می توان گفت:
- وابستگی به بارگذاری صفحه: همانطور که در قسمت قبل هم اشاره کردیم، یکی از مشکلاتی که مرتبط به WP-Cron است، وابسته بودن انجام تسک های آن به بارگذاری صفحه می باشد. در این حالت اگر شخصی از سایت شما بازدید نکند و تایم تعیین شده رد شود، آن تسک در زمان معین انجام نخواهد شد. این یک معضل به خصوص در سایت های کم ترافیک است.
- عملکرد: همانطور که گفتیم، WP-Cron با هر لود صفحه مجددا تسک آن را چک می کند. تصور کنید یک سایت در طول روز صدها یا هزاران بار چک شود. انجام مداوم این پروسه به شدت بار روی سرور را تحت تاثیر قرار داده و بیشتر می کند.
- قابلیت اطمینان پایین: که این موضوع به خاطر آن است که به لود صفحه وابسته بوده و نیز برنامه ریزی ها بدون بازدید کاربر اجرا نمی شوند.
- کنترل محدود: البته این مورد با پلاگینی که معرفی کردیم تا حدودی قابل رفع است اما همانطور که گفتیم برخی از موارد غیر قابل ویرایش بوده و یا پروسه تنظیم دقیق و دشواری دارد.
- مقیاس پذیری کم: برای سطوح برنامه ریزی بزرگ و پیچیده، استفاده از این سیستم ممکن است به اندازه کافی قدرتمند نباشد. در این حالت شما باید به سراغ cron jobها در سطح سرور بروید.
آموزش غیر فعال کردن CRON JOB ها در وردپرس
حال به مهم ترین قسمت این مقاله یعنی آموزش غیر فعال کردن CRON JOB ها در وردپرس می رسیم. البته شما می توانید انجام این کار را به کسانی که خدمات طراحی سایت در سطح پیشرفته ارائه می کنند بسپارید.
شما می توانید برای رعایت این نکات و دریافت خدمات از خدمات طراحی سایت فروشگاهی و طراحی سایت شرکتی وب سایت SEOEDU استفاده کنید.
برای آموزش غیر فعال کردن CRON JOB ها در وردپرس می توانید از روش های زیر استفاده کنید که عبارتند از:
روش اول غیر فعال کردن کرون وردپرس
ابتدا به کمک FTP، به فایل های سایت خود دسترسی ایجاد کنید. پیشنهاد می کنیم برای انجام این کار از برنامه Filezilla استفاده کنید. این کار به راحتی در هاست ها با پنل هایی مانند سی پنل قابل اجرا هستند.
حال باید به قسمت روت سایت خود که همان فایل public_html است مراجعه کنید. حال می توانید برای تنظیم و ویرایش فایل wp-config.php اقدام کنید.
درون این فایل می بایست برای وارد کردن کد زیر اقدام کنید. این کد باید دقیقا در بالای عبارت ” /* That’s all, stop editing! Happy publishing. */” درج شود.
define(‘DISABLE_WP_CRON’, true);
حال نسبت به ذخیره فایل اقدام کنید. شما می توانید تصویر این کار را در بالا مشاهده نمایید.
بعد از انجام این کار باید نسبت به اجرای wp-cron برای اجرای تسک های خیلی مهم اقدام کنید که باید با اعمال یک Cron Job داخلی انجام شود. در این حالت باید در هاست سی پنل یا دیگر کنترل پنل ها به دنبال ایجاد این Cron Job باشید. همچنین ممکن است لازم باشد که پشتیبانی هاست این قابلیت را اضافه کند. شما می توانید برای راه اندازی یک Cron Job در سی پنل از تیم پشتیبانی کمک بگیرید.
حال شما باید Cron زیر را ایجاد نمایید که کمک می کند تا wp-cron شما هر 15 دقیقه اجرا گردد:
*/15 * * * * wget -q -O – https://yourdomain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
در این کد، بخش >/dev/null 2>&1 باعث می شود تا هر بار که cron job اجرا شد، نوتیفیکیشن ایمیل غیر فعال شود.
روش دوم غیر فعال کردن Cron وردپرس
در این روش آموزش غیر فعال کردن CRON JOB ها در وردپرس می بایست از یک سرویس شخص ثالث استفاده کنید. به عنوان مثال می توان به EasyCron با طرح رایگان آن اشاره کرد. همچنین cron-job.org یک گزیه رایگان دیگر است.
مثلا می توانید وارد EasyCron شده و یک حساب کاربری ایجاد کنید. حال با انجام این کار یک Cron job با کلیک روی گزینه “+” ایجاد نمایید.
حال در پاپ آپ Create Cron Job باید URL زیر را وارد کنید:
https://example.com/wp-cron.php?doing_wp_cron
به جای example.com آدرس سایت خود را بزنید. حال گزینه Every 30 minutes را از بخش When to execute انتخاب نمایید. حال تنظیمات را ذخیره کنید. برای این کار روی گزینه Create Cron Job کلیک کنید.
حال می توانید زمان بندی کارهای مختلف را در سایت خود به روال عادی مشاهده کنید. در این روش برای زمان بندی پست ها باید از افزونه PublishPress Planner نیز استفاده کنید. پس از نصب، گزینه Planner را مشاهده می کنید. حال روی گزینه Setting آن کلیک کرده و از بخش “Statuses to display publish time” گزینه اول یعنی “Scheduled” کلیک کنید.
چه زمانی برای غیر فعال کردن WP Cron اقدام کنیم؟
شاید در آموزش غیر فعال کردن CRON JOB ها در وردپرس این سوال برای شما مطرح شود که اصلا چه زمانی باید برای انجام این کار اقدام کنیم؟ در این خصوص می توان به چند حالت زیر اشاره کرد که عبارتند از:
- کاهش فشار روی سرور: سایت های بزرگ به دلیل ترافیک بالایی که دارند، هربار که کاربر وارد آن می شود منجر به چک کردن تسک های Cron می گردد. این کار حجم فشار روی سرور بیشتر می کند.
- سریع تر کردن وب سایت: اگر می خواهید کمی سرعت سایت و پاسخگویی آن را بیشتر کنید، یک راه کمتر کردن فشار روی سرور است. در نتیجه می توانید در این زمان نسبت به غیر فعال کردن WP-Cron اقدام نمایید. توجه کنید که cron job ها توسط سرورها میزبانی می شوند نه خود وردپرس.
نکته: اگر دغدغه شما تنها مربوط به عدم درج پست های زمان بندی شده است، کافیست پلاگین Missed Scheduled Publisher را نصب کنید که این مشکل را برطرف می کند.
پرسش های متداول کاربران
برخی از پرسش های متداولی که ممکن است شما کاربران راجع به آموزش غیر فعال کردن CRON JOB ها در وردپرس داشته باشید عبارتند از:
چه اتفاقی بعد از غیر فعال کردن WP-Cron پیش خواهد آمد؟
در صورتی که این کار را انجام دهید، پست های wp-cron مربوطه احتمالا منتشر نمی شوند. همچنین عدم به روزرسانی افزونه ها و تم ها را نیز در نظر داشته باشید. در این حالت همچنین شاهد اجرای یک cron در سرور جایگزین آن خواهیم بود.
نحوه بررسی اینکه WP-Cron کار می کند یا نه چگونه است؟
شما می توانید برای بررسی کارکرد این سیستم از افزونه ای که در مقاله معرفی کردیم یعنی WP Crontrol استفاده کنید. همچنین در صورتی که پست های برنامه ریزی شده سایت شما در تایمی که تعیین کردید منتشر نمی شوند، این خود نشانه ای از عدم کارکردن این قابلیت می باشد.
آیا وب سایت ما با غیر فعال کردن WP-Cron سریع تر می شود؟
همانطور که در قسمت بالا هم اشاره کردیم، یک دلیل مهم آموزش غیر فعال کردن CRON JOB ها در وردپرس آن است که سرعت سایت خود را بیشتر کنید. بله؛ این موضوع به ویژه برای سایت هایی که ترافیک بالایی دارند صدق می کند. در واقع شما می توانید باری را از روی سرور برای بررسی مداوم تسک های صفحه با هر مراجعه کاربر بردارید که منجر به افزایش سرعت سایت می شود.
دیدگاهتان را بنویسید