استفاده از فایل ارور لاگ (Error Log) در وردپرس مانند داشتن یک جعبه سیاه برای وب سایت شماست. این فایل، که به طور پیش فرض در مسیر wp-content/debug.log یا دایرکتوری اصلی سایت (public_html/error_log) قرار می گیرد، تمامی خطاهای PHP، هشدارها (Warnings)، اعلان ها (Notices) و استفاده از توابع منسوخ شده (Deprecated) را در خود ثبت می کند.
در زمان توسعه، طراحی سایت و عیب یابی، این فایل یک ابزار حیاتی و بی بدیل برای برنامه نویسان و مدیران سایت است. با این حال، اگر حالت دیباگ در یک سایت زنده (Production) به حال خود رها شود، حجم این فایل می تواند در مدت کوتاهی به ده ها گیگابایت (گاهی فراتر از ۴۰ گیگابایت!) برسد.
این افزایش حجم بی رویه نه تنها فضای ذخیره سازی سرور شما را اشغال میکند و باعث ساسپند شدن هاست می شود، بلکه می تواند منجر به کندی شدید سایت، از کار افتادن سرویس های ضروری مانند ارسال ایمیل و در نهایت، قطعی کامل وب سایت شود. در این مقاله، به طور مفصل به بررسی دلایل این مشکل، تأثیر افزونه های غیراستاندارد و از همه مهم تر، راهکارهای عملی برای رفع بالا رفتن حجم ارور لاگ وردپرس می پردازیم تا دیگر نیازی به جستجوی منابع دیگر نداشته باشید.
پر شدن سریع و غیرعادی فایل ارور لاگ معمولاً به دلیل خطاهای مهلک (Fatal Errors) که سایت را از کار می اندازند، رخ نمی دهد؛ بلکه مقصر اصلی حجم انبوهی از هشدارها (Warnings) و اعلان ها (Notices) است که به طور مداوم در پس زمینه اجرا می شوند.

در سایت های پربازدید، به خصوص فروشگاه های آنلاینی که بر روی بستر هاست ووکامرس میزبانی می شوند و تراکنش ها و فعالیت های کاربری بالایی دارند، یک تابع منسوخ شده یا یک باگ کوچک که در هر بار بارگذاری (Load) صفحه فراخوانی می شود، می تواند روزانه هزاران خط تکراری در فایل لاگ ایجاد کند. وردپرس به جای جایگزین کردن فایل لاگ، خطاهای جدید را به انتهای فایل قبلی اضافه می کند (Append) و از آنجایی که سیستم داخلی برای چرخش (Rotation) یا محدود کردن حجم این فایل ندارد، حجم آن تا بی نهایت می تواند رشد کند.
علاوه بر این، با انتشار نسخه ۶.۷ وردپرس، این سیستم مدیریت محتوا نسبت به استانداردهای کدنویسی بسیار سخت گیرتر شده است. اگر افزونه یا قالبی کدهای خود را پیش از هوک (Hook) حیاتی init وردپرس اجرا کند، سیستم فوراً یک اعلان doing it wrong ثبت می کند. این پیام ها سایت را خراب نمی کنند و در ظاهر همه چیز عادی به نظر می رسد، اما تکرار ده ها هزار باره آن ها در طول روز، رفع بالا رفتن حجم ارور لاگ وردپرس را به یک اولویت اورژانسی تبدیل می کند.
یکی از مقصران اصلی در پر شدن فضای سرور و تولید خطاهای مکرر، استفاده از افزونه های غیراستاندارد، قدیمی، نال شده (Nulled) یا افزونه هایی است که با نسخه های جدید PHP سازگاری ندارند. بررسی ده ها فایل لاگ حجیم نشان می دهد که بخش عمده ای از نویزها و پیام های ثبت شده از افزونه های زیر نشأت می گیرد:
استفاده از این افزونه ها، به خصوص روی یک هاست وردپرس که منابع مشخصی دارد، می تواند به سرعت فضای دیسک را پر کند. بنابراین، قدم اول برای رفع بالا رفتن حجم ارور لاگ وردپرس، شناسایی و غیرفعال کردن افزونه های دردسرساز است.
برای مهار این مشکل و جلوگیری از پر شدن بی دلیل فضای هاست، پاک کردن دستی و مداوم فایل لاگ یک راه حل موقتی و خسته کننده است؛ زیرا فایل جدید بلافاصله ساخته شده و فرآیند پر شدن دوباره آغاز می شود. برای رفع بالا رفتن حجم ارور لاگ وردپرس به صورت ریشه ای و دائمی، باید مراحل زیر را گام به گام اجرا کنید:
اگر سایت شما در حال خدمات دهی به کاربران است و فرآیند توسعه یا تغییرات گسترده ای روی آن انجام نمی دهید، ثبت مداوم خطاها (که اکثرشان هشدارهای بی خطر هستند) باید فوراً متوقف شود.
برای این کار، از طریق فایل منیجر هاست خود به دایرکتوری اصلی (معمولاً public_html) بروید و فایل wp-config.php را ویرایش کنید. به دنبال خطوطی بگردید که شامل عبارت WP_DEBUG هستند و آن ها را با کدهای زیر جایگزین کنید (توجه داشته باشید که این کدها باید حتماً قبل از خط /* That’s all, stop editing! Happy blogging. */ قرار بگیرند):
PHP
// غیرفعال کردن حالت دیباگ در وردپرس
define( ‘WP_DEBUG’, false );
// جلوگیری از ثبت خطاها در فایل debug.log
define( ‘WP_DEBUG_LOG’, false );
// جلوگیری از نمایش خطاها در ظاهر سایت (بسیار مهم برای امنیت و رابط کاربری)
define( ‘WP_DEBUG_DISPLAY’, false );
@ini_set( ‘display_errors’, 0 );
این ساده ترین و سریع ترین روش برای رفع بالا رفتن حجم ارور لاگ وردپرس است، چرا که فرآیند ثبت خطا را از ریشه قطع می کند.
اگر ترجیح می دهید دیباگ روشن بماند (مثلاً برای مانیتور کردن وضعیت یک قالب جدید) اما نمی خواهید حجم فایل از کنترل خارج شود، می توانید از طریق تنظیمات وب سرور وارد عمل شوید. اگر سرور شما از نوع آپاچی (Apache) یا لایت اسپید (LiteSpeed) است، با قرار دادن قطعه کد زیر در انتهای فایل .htaccess، می توانید حداکثر حجم مجاز برای ثبت خطاها را محدود کنید:
Apache
# محدود کردن حجم فایل لاگ PHP
php_value log_errors_max_len 1024
این کار باعث می شود ثبت خطا پس از رسیدن به یک حد مشخص متوقف شده و از رشد نجومی فایل جلوگیری شود.
صرفاً پاک کردن فایل لاگ یا متوقف کردن آن، پاک کردن صورت مسئله است. اگر می خواهید مانند یک حرفه ای عمل کنید، باید بدانید چه چیزی در سایت شما در حال خرابکاری است.
اگر سایت شما دائماً در حال تغییر است و به داشتن فایل لاگ نیاز دارید، بهترین راهکار استفاده از ابزارهای اتوماسیون است. برای مدیریت هوشمندانه خطاها بدون نیاز به سر زدن مداوم به فایل منیجر هاست، می توانید از افزونه هایی استفاده کنید که فایل لاگ را مدیریت می کنند:

اگر به سرور لینوکسی خود (VPS یا سرور اختصاصی) دسترسی Root دارید و می خواهید یک راهکار سیستمی بی نقص برای رفع بالا رفتن حجم ارور لاگ وردپرس پیاده کنید، ایجاد یک کرون جاب (Cron Job) بهترین گزینه است.
با اضافه کردن دستور زیر به crontab سرور، می توانید تعیین کنید که فایل ارور لاگ هر روز در نیمه شب به طور کامل خالی (Truncate) شود:
Bash
0 0 * * * truncate -s 0 /path/to/your/error_log
(حتماً مسیر دقیق فایل ارور لاگ خود را جایگزین کنید).
فایل ارور لاگ حجیم تنها یک مشکل مربوط به فضای ذخیره سازی نیست؛ بلکه نشانه ای (Symptom) از وجود مشکلات عمیق تر در کدنویسی افزونه ها، قالب یا ناسازگاری سایت شما با نسخه PHP سرور است. برای رفع بالا رفتن حجم ارور لاگ وردپرس، ترکیب روش های ذکر شده یعنی: غیرفعال کردن دیباگ غیرضروری، شناسایی و حذف افزونه های مشکل دار، به روزرسانی مداوم هسته وردپرس و پلاگین ها، و تنظیم استراتژی هایی برای پاکسازی خودکار (Log Rotation)، بهترین رویکرد ممکن است. با رعایت این موارد، وب سایت شما برای همیشه از شر کندی های ناشی از پر شدن هاست در امان مانده و پایداری آن در بالاترین سطح تضمین می شود.