آیا سایت وردپرس شما کند است؟ آیا وظایف برنامه ریزی شده بی سر و صدا شکست میخورند و محتوای شما را کهنه میکنند و به روز رسانی ها ناقص میشوند؟ اگر پاسخ شما به هر یک از سوالات بالا مثبت است، باید برنامه کاری کرون وردپرس خود را بررسی کنید.
در این مطلب توضیح مختصری در مورد WP-Cron – سیستم زمانبندی داخلی برای وردپرس ارائه میدهیم. ما نحوه عملکرد آن را تجزیه و تحلیل و نقاط قوت و ضعف و نحوه غیرفعال کردن آن را بررسی میکنیم.
وردپرس کرون چیست؟
WordPress Cron (گاهی اوقات WP-Cron هم گفته میشود) یک سیستم زمان بندی تخصصی مبتنی بر PHP است که منحصر به فرد برای مدیریت وظایف پس زمینه در اکوسیستم وردپرس طراحی شده است.
cron jobs سنتی یونیکس وظایف پس زمینه را با زمان بندی دقیق سیستم انجام میدهد. با این حال، WP-Cron از یک رویکرد پویاتر و خاص وردپرس برای مدیریت کار استفاده میکند. اگرچه نامی مشابه دارد، اما در روش اجرا با cron jobs سنتی تفاوت دارد. این یک مکانیسم زمانبندی کار انعطافپذیرتر را فراهم میکند که به طور خاص برای نیازهای معماری پلتفرم وردپرس طراحی شده است.
چرا به وردپرس کرون نیاز داریم؟
هدف اصلی وردپرس کرون خودکار کردن کارهای تکراری پس زمینه بدون نیاز به مداخله دستی است.
برای مثال، وبسایتها برای عملکرد صحیح نیاز به انجام وظایف دورهای متعددی دارند، مانند:
- انتشار نوشتههای برنامه ریزی شده
- بررسی به روز رسانی نرم افزار
- انجام تعمیر و نگهداری معمول
- ارسال ایمیلهای خودکار
- همگام سازی خدمات خارجی
WordPress Cron تضمین میکند که این فرآیندهای پس زمینه حیاتی به طور خودکار در یک برنامه از پیش تعریف شده اجرا شوند.
خودکارسازی این وظایف پیش پا افتاده، هزینههای اداری را کاهش داده و عملکرد روان وب سایتهای وردپرس را بدون نظارت دائمی انسان حفظ میکند.
وردپرس کرون چگونه کار میکند؟
وردپرس چندین بازه زمانی پیشفرض را برای زمانبندی کارها فراهم میکند. این فواصل زمانبندی پیشفرض به مدیران وبسایت اجازه میدهد تا وظایف را با فرکانسهای مختلف پیکربندی کنند:
- وظایف ساعتی(Hourly Tasks): تقریبا هر ۶۰ دقیقه اجرا میشود
- دو بار روزانه(Twice Daily Tasks): دو بار در یک دوره ۲۴ ساعته انجام میشود
- وظایف روزانه (Daily Tasks): هر ۲۴ ساعت یک بار اجرا میشود
- وظایف هفتگی (Weekly Tasks): هر هفت روز یک بار انجام میشود
این رویکرد مبتنی بر فاصله، انعطافپذیری را در مدیریت فرآیندهای پسزمینه فراهم میکند و در عین حال مکانیسم زمانبندی نسبتا سبکی را حفظ میکند که به منابع سرور خیلی زیاد نیاز ندارد.
اگرچه cron jobs برنامه ریزی شده است که در یک فرکانس مشخص اجرا شوند، اما همیشه در زمان درست اجرا نمیشوند. مکانیسم WP-Cron وظایف برنامه ریزی شده را در حین بارگذاری صفحه وب سایت فعال میکند، به این معنی که اجرای فرآیندهای پس زمینه به ترافیک کاربر و تعاملات وب سایت مرتبط است.
هنگامی که یک کاربر از یک وبسایت وردپرس بازدید کند، سیستم هر گونه وظایف برنامه ریزی شده معلق را بررسی و سعی میکند آنها را در طول بارگذاری آن صفحه اجرا کند. این یک مکانیسم زمان بندی داینامیک ایجاد میکند که به ترافیک وبسایت وابسته است.
هاست وردپرس با وب سرور محبوب لایت اسپید و کش لایت اسپید باعث میشود تا سرعت لود فوق العادهای را تجربه کنید.
با خرید هاست وردپرس کانفیگ حرفهای و نظارت بر سرور به صورت پیوسته توسط تیم فنی پارسدِو انجام خواهد شد.
محدودیتهای کرون وردپرس
WP-Cron در کنار طراحی خلاقانهاش، محدودیتهایی دارد که میتواند بر عملکرد و قابلیت اطمینان وبسایت تاثیر بگذارد.
اجرای وابسته به بازدید کننده
مهمترین اشکال WP-Cron وابستگی کامل آن به بازدیدکنندگان وب سایت است. برخلاف cron jobs سنتی که بدون توجه به ترافیک وب سایت در زمانهای از پیش تعیین شده اجرا میشوند، WP-Cron تنها زمانی فعال میشود که یک صفحه وب بارگیری میشود. پس تضمینی وجود ندارد که وظایف برنامه ریزی شده دقیقا در زمانهای مورد نظر خود اجرا شوند، که میتواند برای عملیات حساس به زمان مانند انتشار محتوا، ارسال اعلانها یا انجام کارهای تعمیر و نگهداری حیاتی مشکل ساز باشد.
این بدان معناست که وبسایتهایی که ترافیک پایینی دارند ممکن است با کارهای برنامهریزیشده از دست رفته یا تاخیر مواجه شوند. اگر یک وبسایت کم ترافیک برای مدت طولانی غیرفعال بماند، میتواند منجر به از دست رفتن بهروزرسانیها و اصلاحات امنیتی مهم شود و منجر به نقض امنیتی شود.
ملاحظات عملکرد
مکانیسم WP-Cron میتواند زمان بارگذاری صفحه را به طور جزئی افزایش دهد، زیرا هر درخواست صفحه نیاز به بررسی و اجرای بالقوه وظایف برنامه ریزی شده دارد. این پردازش اضافی ممکن است گلوگاههای عملکردی جزئی در وب سایتهای پر ترافیک ایجاد کند، به خصوص اگر چندین کار پیچیده به طور همزمان برنامه ریزی شده باشند.
با توجه به محدودیتهای بالا، بسیاری از مدیران و توسعه دهندگان وب سایت با تجربه ترجیح میدهند که کرون وردپرس را با کرون جابهای سطح سرور جایگزین کنند. این cron jobs سنتی، برنامهریزی دقیقتر، دقیقتر و قابل پیشبینیتر، مستقل از ترافیک وبسایت و پویایی بارگذاری صفحه را ارائه میدهند.
نحوه تنظیم رویدادهای کرون وردپرس سمت سرور در دایرکت ادمین
با ورود به حساب دایرکت ادمین خود شروع کنید. به بخش Advanced Features بروید و ابزار Cron Jobs را پیدا کنید. این رابط به شما امکان می دهد کارهای برنامه ریزی شدهای را که مستقل از ترافیک وب سایت اجرا می شوند ایجاد و مدیریت کنید.
در این بخش زمان فعلی (Current Time) سرور را ملاحظه خواهید کرد و با استفاده از فیلدهای موجود زمان اجرای cron jobs مورد نظرتان را تنظیم میکنید. توجه کنید که زمان اجرای کرون جاب را در پایین همین بخش و مقابل Cron job will run به شما نمایش خواهد داد.
دستور Cron Job را تعریف کنید
در قسمت Command دستوری را که می خواهید cron job اجرا شود وارد کنید. این می تواند یک اسکریپت، دستور بکاپگیری یا هر برنامه اجرایی باشد.
به عنوان مثال، اگر میخواهید یک اسکریپت PHP واقع در /home/user/script.php را اجرا کنید، میتوانید از دستور زیر استفاده نمائید:
/usr/local/bin/php /home/user/script.php
یا در مثال دیگر domain.com را با نام دامنه وب سایت خود جایگزین و اسکریپت زیر را در کادر متنی ارائه شده در بخش command وارد کنید:
wget -q -O - https://domain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
این دستور چندین عملکرد حیاتی را انجام می دهد:
• فرآیند cron وردپرس را Triggers میکند
• فایل wp-cron.php را بی صدا اجرا می کند
• اعلانهای ایمیل را با دستور >/dev/null 2>&1 سرکوب می کند
پس از پیکربندی فیلدهای لازم، می توانید روی CREATE کلیک کنید تا cron job در وب سایت وردپرس شما فعال شود.
غیرفعال کردن کرون پیش فرض وردپرس
پس از راهاندازی cron job سمت سرور خود، مکانیسم پیشفرض cron بارگذاری صفحه وردپرس را غیرفعال کنید تا از اجرای کرونهای تکراری جلوگیری کنید. با ویرایش فایل wp-config.php و افزودن خط زیر می توانید این کار را به راحتی انجام دهید:
define( 'DISABLE_WP_CRON', true );
راه اندازی cron jobs در DirectAdmin یک روش ساده برای خودکار کردن وظایف سرور شما است. با رعایت این دستورالعملها، مدیریت و راه اندازی cron job آسان میشود. این تضمین میکند که اسکریپتها و برنامه های حیاتی در فرکانس دلخواه شما کار میکنند.