یکی از ترسناکترین مشکلاتی که ممکن است برای مدیران سایتهای وردپرسی پیش بیاید، فعالسازی یک افزونه و مواجهه با صفحه سفید مرگ (White Screen of Death) است. این مشکل معمولاً ناشی از تعارض بین دو افزونه است که بهصورت همزمان در حال اجرا هستند.
در این مقاله، قدمبهقدم نحوه شناسایی، بررسی و رفع این نوع تعارضها را بررسی میکنیم.
تعارض افزونه چیست و چرا رخ میدهد؟
تعارض افزونه زمانی رخ میدهد که دو یا چند افزونه با یکدیگر ناسازگار باشند. این ناسازگاری اغلب به دلیل استفاده از توابع یا کتابخانههای مشترک در کدها به وجود میآید. در نتیجه، زبان PHP خطای “تابع تکراری” یا “Cannot redeclare function” را گزارش میدهد و سایت دچار اختلال میشود.
⚠️ در سالهای اخیر، وردپرس با معرفی Recovery Mode و مکانیسمهای دفاعی، جلوی بسیاری از این تعارضها را گرفته است. اما همچنان در برخی شرایط ممکن است این خطاها رخ دهند.
چه زمانی احتمال وقوع تعارض بیشتر است؟
-
نصب افزونه بهصورت دستی از طریق FTP
-
بروزرسانی ناگهانی چند افزونه بهصورت همزمان
-
فعالسازی افزونههای اختصاصی یا توسعهیافته برای پروژه خاص
- استفاده از قالب یا افزونههای ناسازگار با طراحی سایت وردپرس حرفهای یا بهینهسازینشده برای عملکرد بالا
قدم اول: آیا به پیشخوان وردپرس دسترسی دارید؟
✅ اگر دسترسی دارید:
-
افزونه Health Check & Troubleshooting را نصب کنید.
-
با استفاده از حالت عیبیابی، افزونهها را یکییکی فعال کنید.
-
هر افزونه را تست کرده و افزونهای که باعث خطا میشود را غیرفعال نگه دارید.
-
در نهایت قالب سایت را هم بررسی کنید؛ چرا که ممکن است کدهای قالب با افزونهها تداخل داشته باشند.
❌ اگر دسترسی ندارید:
-
بررسی ایمیل مدیریت سایت (آدرس تنظیمشده در «تنظیمات > عمومی»)
-
اگر ایمیلی با موضوع “Recovery Mode” دریافت کردید، میتوانید از طریق آن وارد وردپرس شوید و افزونه مشکلساز را غیرفعال کنید.
روشهای فنی برای بررسی خطا
بررسی لاگ خطا در هاست:
-
وارد پنل هاست شوید (مانند cPanel)
-
در مسیر
/logs/
فایلerror_log
را بیابید -
با جستجوی واژه
Fatal error
متوجه محل دقیق خطا خواهید شد
فعالسازی لاگ خطا در وردپرس:
اگر به فایلها از طریق FTP یا File Manager دسترسی دارید ولی لاگها فعال نیستند، در فایل wp-config.php
این خطوط را اضافه کنید:
✔ خدمات سئو وردپرس در بهترین سطح کیفیتی و کمیتی به صورت فول پکیج 0 تا 100 بهینه سازی سایت و فضای مجازی ارائه می شود.
define( ‘WP_DEBUG’, true );
define( ‘WP_DEBUG_LOG’, true );
define( ‘WP_DEBUG_DISPLAY’, false );
@ini_set( ‘display_errors’, 0 );
سپس فایل debug.log
در پوشه wp-content/
ایجاد میشود و میتوانید خطاها را بررسی کنید.
???? نکته امنیتی: پس از رفع مشکل، این خطوط را حذف کرده و فایل لاگ را پاک کنید.
چگونه افزونه مشکلدار را غیرفعال کنیم؟
اگر در لاگ خطا متوجه شدید که مثلاً افزونهای مانند hello-dolly
خطا دارد:
✔ سئو در مشهد توسط بهترین شرکت و تیم سئو یعنی یاسئومی برای کسب و کارها و شرکت ها ارائه می شود.
-
از طریق FTP وارد پوشه
/wp-content/plugins/
شوید. -
نام پوشه افزونه را تغییر دهید (مثلاً به
broken-hello-dolly
) -
وردپرس بهطور خودکار متوجه میشود افزونه موجود نیست و آن را غیرفعال میکند.
برای توسعهدهندگان: نکاتی برای پیشگیری از تعارض
اگر در حال توسعه سایت هستید یا از خدمات سئو سایت استفاده میکنید، بهتر است به این موارد توجه کنید:
-
استفاده از پیشوند منحصربهفرد در نام توابع و کلاسها (مثلاً
myplugin_get_data
) -
بررسی وجود تابع یا کلاس با استفاده از
function_exists()
وclass_exists()
-
استفاده از فضای نام (PHP Namespaces)
-
بارگذاری دیرتر افزونه با نامگذاری مناسب پوشه
-
تطابق محیط توسعه با محیط اصلی سایت
جمعبندی
هرچند تعارض افزونهها در وردپرس کمتر از گذشته شده، اما همچنان یک چالش مهم برای مدیران و توسعهدهندگان وبسایتهاست. با رعایت اصول بالا و استفاده از ابزارهای مناسب، میتوان این مشکلات را بهسرعت شناسایی و رفع کرد.
✔ طراحی سایت وردپرسی به صورت کاملا حرفه ای و در سطح جهانی در شرکت یاسئومی انجام می شود و پشتیبانی فنی 24 ساعته ارائه می شود.