راهنمای کامل عیب یابی سایت وردپرسی؛ رایج ترین مشکلات و روش حل آن ها

عیب یابی وردپرس
همانطور که می دانید وردپرس WordPress به عنوان محبوب ترین سیستم مدیریت محتوا (CMS) در جهان، قدرت و انعطاف پذیری بی نظیری را در اختیار طراحان و مدیران وبسایت قرار می دهد.
با این حال، همانطور که هر نرم افزار پیچیده ای ممکن است با خطا روبهرو شود، وردپرس نیز ممکن است با خطاهای مختلف، کندی سرعت، یا حتی از دسترس خارج شدن کامل مواجه شود!
بسیاری از مدیران سایت تصور می کنند با مشاهده صفحه سفید، خطای 500 یا از دسترس خارج شدن سایت، باید آن را از ابتدا طراحی کنند؛ درحالی که در اغلب موارد، مشکل تنها با چند مرحله عیب یابی ساده برطرف می شود. عیب یابی (Troubleshooting) یک سایت وردپرسی، فرآیندی سیستماتیک برای شناسایی و رفع مشکلات است که نیازمند صبر، دانش فنی پایه و آشنایی با ساختار این سیستم است.
در این مقاله، به بررسی جامع و گام به گام رایج ترین و کاربردی ترین روشهای عیب یابی سایت وردپرسی می پردازیم. ؛ از غیرفعال کردن افزونه ها و قالب گرفته تا تنظیم نسخه PHP، بازسازی فایل htaccess.، ذخیره مجدد پیوندهای یکتا، افزایش منابع هاست و فعال کردن حالت Debug پس با ما همراه شو…
شروع هوشمندانه عیب یابی؛ چند نکته که نباید نادیده گرفته شوند!
پیش از هر تغییری چند نکته مهم را رعایت کنید:
- از فایل ها و پایگاه داده نسخه پشتیبان تهیه کنید.
- اگر سایت فعال است، ترجیحاً تغییرات را در ساعات کم ترافیک انجام دهید.
- پس از هر مرحله سایت را بررسی کنید تا مشخص شود مشکل از کدام بخش بوده است.
- اگر به هاست دسترسی دارید، فایل های ارور لاگ (Error Log) را نیز بررسی کنید.
اولین مضنون: افزونه های وردپرس!
یکی از شایع ترین دلایل خرابی سایت های وردپرسی، تداخل (Conflict) بین افزونه ها یا وجود یک افزونه معیوب است؛ مخصوصا بعد از بروزرسانی وردپرس یا افزونهها یا PHP
علائم رایج:
- صفحه سفید (White Screen of Death)
- خطای 500 (500 Internal Server Error)
- ورود نکردن به پیشخوان
- از کار افتادن بخشی از سایت
- کند شدن شدید سایت
توجه؛ غیرفعال کردن افزونه ها اغلب اولین و موثرترین قدم است.
اگر پیشخوان باز میشود، از این روش شروع کنید…
اگر هنوز می توانید به بخش نمایش > افزونهها در پیشخوان وردپرس دسترسی داشته باشید، ساده ترین روش به شرح زیر است:
- وارد پیشخوان شوید.
- به بخش افزونهها بروید.
- همه افزونهها را انتخاب کنید (تیک بالای لیست)
- از منوی کشویی «عملیات گروهی»، گزینه «غیرفعال کردن» را انتخاب و اجرا کنید.
- سایت را رفرش کنید.
- اگر مشکل حل شد، به تدریج و یکی یکی افزونهها را فعال کنید تا افزونهای که باعث ایجاد مشکل شده است، شناسایی شود.
وقتی حتی پیشخوان هم بالا نمیآید…
اگر به پیشخوان دسترسی ندارید، باید مستقیماً وارد محیط میزبانی وب (Host) شوید.
- وارد کنترل پنل هاست خود (مانند cPanel یاDirectAdmin) شوید.
- به بخش مدیریت فایل (File Manager) بروید و وارد پوشه public_html (یا پوشهای که وردپرس در آن نصب است) شوید.
- به مسیر wp-content بروید.
- پوشهای به نام plugins را پیدا کنید.
- نام این پوشه را به plugins-old یا plugins-disabled تغییر دهید.
- با تغییر نام پوشه، وردپرس دیگر نمیتواند افزونهها را بارگذاری کند و آنها به صورت خودکار غیرفعال میشوند.
- سایت را در مرورگر خود باز کنید. اگر سایت بالا آمد، مشکل از یکی از افزونه هاست. برای رفع مشکل، نام پوشه پلاگین را به حالت قبل و دیفالت برگردانید و سپس پوشه هر افزونه را جداگانه تغییر نام دهید تا افزونه معیوب پیدا شود.
شاید مقصر اصلی، قالب سایت باشد!
گاهی اوقات مشکل از افزونهها نیست، بلکه از کدهای ناسازگار یا خراب قالب فعلی است. به خصوص بعد از بروزرسانی قالب یا نصب قالب جدید.
استفاده موقت از یک قالب استاندارد و سبک مانند «Twenty Twenty-Four» (پیش فرض وردپرس) کمک می کند تا مشخص شود آیا مشکل از قالب است یا خیر.
تغییر قالب از طریق پیشخوان تنها با چند کلیک ساده…
- در صورت دسترسی به پیشخوان، به بخش نمایش > پوستهها بروید.
- روی پوسته فعال کلیک کرده و گزینه «غیرفعال کردن» را بزنید.
- سپس یک پوسته پیش فرض مانند Twenty Twenty-Four را انتخاب و فعال کنید.
سایت را رفرش کنید. اگر مشکل برطرف شد، ایراد از قالب بوده است.
وقتی حتی پیشخوان هم بالا نمیآید…
اگر به پیشخوان دسترسی ندارید:
- در File Manager هاست، به مسیر wp-content/themes بروید.
- پوشه قالب فعلی خود را پیدا کنید و نام آن را تغییر دهید (مثلاً theme-old)
- وردپرس بصورت خودکار به یک قالب پیش فرض برمیگردد. اگر سایت بالا آمد، مشکل از قالب شماست.
- پس از اطمینان، میتوانید فایلهای قالب قدیمی را از طریق FTP یا File Manager جایگزین کنید یا یک قالب جدید نصب نمایید.
نسخه PHP؛ عامل خاموش بسیاری از خطاها!
زبان برنامهنویسی PHP هسته اصلی وردپرس است. استفاده از نسخههای قدیمی PHP (مانند ۷.۴ یا پایینتر) نه تنها امنیت سایت را به خطر میاندازد، بلکه ممکن است با افزونهها یا قالبهای جدید سازگار نباشد و باعث ایجاد خطا شود. از سوی دیگر، ارتقا ناگهانی به نسخههای جدیدتر بدون تست، ممکن است باعث ناسازگاری با کدهای قدیمی قالب شود.
نحوه تغییر نسخه PHP
- وارد کنترل پنل هاست (cPanel/DirectAdmin) شوید.
- به بخش انتخاب نسخه PHP (Select PHP Version) یا مدیریت نسخه PHP بروید.
- نسخه PHP را بررسی کنید. نسخههای پیشنهادی برای وردپرس معمولاً ۸.۱، ۸.۲ یا ۸.۳ هستند.
- اگر سایت شما قدیمی است و با نسخه جدید کار نمیکند، ممکن است نیاز باشد موقتا به نسخه ۷.۴ برگردید یا افزونهها و قالب را بهروزرسانی کنید.
نکته مهم:
قبل از تغییر نسخه PHP، حتماً از سایت خود بکاپ (Backup) بگیرید تا در صورت بروز مشکل، امکان بازگشت به عقب وجود داشته باشد.
اکستنشنهای PHP چه هستند؟ قطعاتی کوچک با نقش بزرگ
علاوه بر نسخه PHP، فعال بودن برخی Extensionها نیز ضروری است.
مهمترین اکستنشنهای موردنیاز وردپرس:
mysqli | zip | openssl |
| pdo_mysql | gd | xml |
| curl | imagick | dom |
| mbstring | exif | json |
| intl | fileinfo | iconv |
در بسیاری از هاستها امکان فعال یا غیرفعال کردن این موارد از بخش PHP Selector وجود دارد.
اگر افزونهای نصب نمیشود یا بروزرسانیها انجام نمیشوند، معمولا یکی از این اکستنشنها غیرفعال است.
پیوندهای یکتای سایت؛ یک ذخیره ساده که معجزه میکند!
یکی از خطاهای رایج، خطای ۴۰۴ (صفحه یافت نشد) برای نوشتهها یا برگههای سایت است. این مشکل معمولاً به دلیل تنظیمات اشتباه در ساختار لینکها یا عدم به روزرسانی فایلهای روتینگ (Routing) سرور رخ میدهد.
بازنویسی قوانین URL از پیشخوان
- درصورت دسترسی به پیشخوان، به بخش تنظیمات > پیوندهای یکتا بروید.
- بدون تغییر هیچ گزینهای، فقط دکمه «ذخیره تغییرات» را در پایین صفحه کلیک کنید.
- این کار باعث میشود وردپرس تنظیمات روتینگ را مجدداً در فایلهای سرور بنویسد.
اگر به پیشخوان دسترسی ندارید، این روش مستقیماً قابل انجام نیست و باید از روشهای دستی مانند تنظیم فایل htaccess. استفاده کنید که در بخش بعدی توضیح داده میشود…
بازگرداندن htaccess. به حالت پیشفرض
فایل htaccess. یک فایل پیکربندی متنی در سرورهای مبتنی بر آپاچی (Apache) است که وردپرس برای مدیریت لینکهای یکتا، امنیت و کش استفاده میکند. گاهی اوقات این فایل دچار خرابی میشود، کدهای مخرب در آن قرار میگیرد یا فرمت آن بهم میریزد که منجربه خطاهای ۵۰۰ یا ۴۰۳ میشود.

- در File Manager هاست، مطمئن شوید که گزینه نمایش فایلهای مخفی (Show Hidden Files) فعال است، زیرا htaccess. یک فایل مخفی میباشد.
- فایل htaccess. را پیدا کرده و آن را ویرایش کنید.
- تمام محتویات آن را پاک کنید و کدهای استاندارد زیر را جایگزین نمایید:
BEGIN WordPress#
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* – [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
END WordPress#
4. فایل را ذخیره کنید و سایت را رفرش کنید. اگر مشکل از ساختار اشتباه فایل htaccess. بود، این کار آن را حل میکند.
توجه:
اگر فایل htaccess. وجود نداشت، یک فایل متنی جدید با نام htaccess. ایجاد کنید و کدهای بالا را در آن قرار دهید.
بگذارید وردپرس خودش راز خطا را فاش کند!
وقتی خطاها گویا نیستند، بهترین راه خواندن گزارش خطاهای سرور است. وردپرس دارای یک حالت توسعه دهنده (Debug Mode) است که خطاهای PHP، هشدارها و اخطارها را در فایلهای لاگ ثبت میکند.
فعال سازی Debug Mode
- فایل wp-config.php را در File Manager باز کنید.
- عبارت ;define( ‘WP_DEBUG’, false ) را پیدا کنید.
- آن را به ;define( ‘WP_DEBUG’, true ) تغییر دهید.
- برای ذخیره خطاها در یک فایل به جای نمایش در سایت، دو خط زیر را اضافه کنید:
define( ‘WP_DEBUG_LOG’, true );
define( ‘WP_DEBUG_DISPLAY’, false );
5. پس از ذخیره، خطایی که باعث خرابی سایت شده را بازتولید کنید.
6. سپس به پوشه wp-content در هاست بروید و فایل debug.log را دانلود و باز کنید. این فایل دقیقاً به شما میگوید کدام فایل یا افزونه باعث ایجاد خطا شده است.
سرنخ ها داخل Error Log منتظر شما هستند…
تقریباً تمام هاستها بخشی با عنوان Error Log دارند. که این لاگها علت اصلی مشکلات را مشخص میکنند، مانند:
- فایل معیوب
- افزونه مشکل دار
- محدودیت حافظه
- خطاهای PHP
- دسترسی نادرست فایلها
بررسی این بخش میتواند زمان عیب یابی را به شکل قابل توجهی کاهش دهد.
کمبود حافظه؛ دشمن پنهان عملکرد سایت!
گاهی اوقات سایت شما به دلیل کمبود حافظه رم (RAM) در سمت سرور، از کار میافتد یا خطاهای مرتبط با حافظه نشان میدهد. این اتفاق معمولاً زمانی میافتد که از افزونههای سنگین یا محتوای زیاد بدون داشتن حجم مناسب استفاده میکنید.
روش افزایش Memory Limit
یکی از روشهای افزایش حافظه PHP به شرح ذیل میباشد:
- در پوشه روت وردپرس، فایل wp-config.php را باز کنید.
- خط زیر را قبل از عبارت «That’s all, stop editing! Happy publishing» اضافه کنید:
define( ‘WP_MEMORY_LIMIT’, ‘256M’ );
3. مقدار 256M میتواند بسته به محدودیتهای هاست شما (مثلاً ۱۲۸M یا ۵۱۲M) تغییر کند.
4. این تغییر به وردپرس اجازه میدهد از حافظه بیشتری استفاده کند و بسیاری از خطاهای مربوط به تمام شدن حافظه را رفع میکند.
مروری بر سایر روشهای افزایش حافظه PHP
شاید مشکل حل شده، اما کش اجازه نمیدهد ببینید!
گاهی مشکل برطرف شده اما نسخه قدیمی سایت نمایش داده میشود.
در این شرایط:
- حافظه کش افزونههای کش را پاک کنید. به عنوان مثال اگر از پلاگین LiteSpeed استفاده میکنید، LiteSpeed Cache را Purge نمایید.
- کش CDN را پاک کنید.
- کش مرورگر را حذف کنید.
دسترسی ها (Permissions) اشتباه؛ یک دلیل پنهان برای خطاهای عجیب!
مجوزهای اشتباه فایلها و پوشهها میتواند باعث مشکلات امنیتی و خطاهای دسترسی شود. مجوزهای استاندارد برای فایلها 644 و برای پوشهها 755 است.
روش اصلاح مجوزها
- در File Manager هاست، روی فایلها و پوشههای اصلی وردپرس (به جز فایلهای داخل پوشه wp-content/uploads) کلیک راست کرده و گزینه «Change Permissions» را انتخاب کنید.
- مقادیر را به صورت چک باکسی تنظیم کنید:
- فایلها: 644 (خواندنی و نوشتنی برای مالک، خواندنی برای دیگران)
- پوشهها: 755 (دسترسی کامل برای مالک، خواندنی و اجرایی برای دیگران)
این کار را برای پوشههای اصلی wp-admin و wp-includes و فایل wp-config.php (که باید 600 باشد) نیز اعمال کنید.
فضای هاست پر شده؟ این موضوع را دست کم نگیرید!
پر شدن فضای هاست میتواند باعث شود:
- آپلودها انجام نشود.
- بروزرسانی ها نصب نشوند.
- سایت خطای 500 بدهد.
- پایگاه داده دچار مشکل جدی شود.
پس در نتیجه همیشه ابتدا فضای آزاد هاست را بررسی کنید.
سلامت دیتابیس را بررسی کنید!
گاهی مشکل از دیتابیس است.
در فایل wp-config.php میتوانید موقتاً این قطعه کد را اضافه کنید:
define(‘WP_ALLOW_REPAIR’, true);
سپس آدرس زیر را باز کنید:
yourdomain.com/wp-admin/maint/repair.php
پس از پایان عملیات، این خط را حذف کنید.
گاهی مقصر سرویس CDN است!
اگر از سرویسهایی مانند Cloudflare استفاده میکنید، گاهی تنظیمات کش یا قوانین امنیتی باعث بروز مشکل میشوند.
برای تست مراحل زیر را انجام دهید:
- حالت Development Mode را فعال کنید.
- کش را پاک کنید.
- در صورت نیاز CDN را موقتاً غیرفعال کنید.
جمع بندی؛ چک لیست طلایی عیب یابی سایت وردپرسی
عیب یابی سایت وردپرسی همیشه به معنای انجام اقدامات پیچیده نیست. در بسیاری از موارد، مشکل با غیرفعال کردن یک افزونه، تغییر قالب، ذخیره مجدد پیوندهای یکتا یا اصلاح فایل htaccess. برطرف میشود. همچنین بررسی نسخه و اکستنشنهای PHP، افزایش حافظه، پاک کردن کش، کنترل سطح دسترسی فایلها و مطالعه لاگهای خطا میتواند علت اصلی بسیاری از مشکلات را مشخص کند.
بهترین روش برای عیب یابی این است که تغییرات را مرحله به مرحله انجام دهید و پس از هر اقدام وضعیت سایت را بررسی کنید. این رویکرد علاوه بر صرفه جویی در زمان، از ایجاد مشکلات جدید نیز جلوگیری میکند. در نهایت، تهیه نسخه پشتیبان منظم، استفاده از افزونهها و قالبهای معتبر و بروزرسانی اصولی سایت، بهترین راه برای پیشگیری از بروز خطاهای رایج در سایتهای وردپرسی است.











