طراحی وب سایت, امنیت دیجیتال, سئو ( بهینه سازی برای موتور های جستجو ), مقالات

۵۰ خطای رایج وردپرس و راه‌حل‌های ساده برای رفع آن‌ها

زمانی که به توسعه شخصی‌تان اختصاص می‌دهید: 22 دقیقه مطالعه
فهرست مطلب
[بستن فهرست مطلب]
[باز کردن فهرست مطلب]

خطاهای رایج وردپرس

وردپرس، به عنوان یکی از محبوب‌ترین سیستم‌های مدیریت محتوا، ممکن است در مواقعی با چالش‌ها و خطاهای متعددی روبرو شود. در این مقاله، بیش از ۵۰ مورد از خطاهای رایج وردپرس را به تفکیک بررسی کرده‌ایم. هر خطا با عنوانی مشخص در دو زبان فارسی و انگلیسی معرفی شده و در ادامه، علت‌های محتمل و راه‌حل‌های ساده برای رفع آن‌ها ارائه می‌شود. این ساختار به شما این امکان را می‌دهد که به سرعت به مشکل خود پی ببرید و با رعایت نکات ذکر شده، آن را به آسانی حل کنید.

از خطاهای متداولی همچون “خطای اتصال به پایگاه داده” تا “خطای صفحه سفید”، هر یک می‌تواند ناشی از دلایل مختلفی باشد که ما در این مقاله به آن‌ها پرداخته‌ایم. با ارائه راهکارهای عملی و ساده، هدف ما این است که شما را در مسیر رفع مشکلات یاری کنیم و به شما اطمینان دهیم که اکثر این خطاها با چند اقدام ساده قابل حل هستند. با استفاده از این راهنما، می‌توانید به راحتی به مشکلات فنی وردپرس خود پاسخ دهید و تجربه‌ای بهتر از کار با این پلتفرم داشته باشید.

خطاهای HTTP و وضعیت سرور

خطای ۴۰۰ – درخواست نامعتبر (۴۰۰ Bad Request)

  • علت‌های رایج: این خطا معمولا وقتی پیش میاد که مرورگر شما درخواستی به سرور فرستاده اما درخواست به شکل درستی ارسال نشده. مثلا آدرس صفحه (URL) غلط تایپ شده، یا کاراکترهای غیرمجاز در URL قرار گرفته، یا حجم درخواست (مثلا حجم یک فایل آپلود) از حد مجاز بیشتر بوده. گاهی اوقات کش یا کوکی‌های خراب مرورگر هم باعث ۴۰۰ می‌شن.

  • راه‌حل: آدرس صفحه رو دوباره چک کنید و اشتباه تایپی نداشته باشه. اگر حجم فایل آپلودی بالاست، حجم PHP/Server رو زیاد کنید یا فایل رو کاهش حجم بدید. کش و کوکی مرورگر رو پاک کنید و دوباره امتحان کنید. همچنین افزونه‌های امنیتی یا CDNها می‌تونن باعث ۴۰۰ بشن، پس یک‌بار اون‌ها رو موقتاً غیرفعال کنید و تست کنید.

خطای ۴۰۱ – احراز هویت ناموفق (۴۰۱ Unauthorized)

  • علت‌های رایج: این خطا وقتی رخ می‌ده که صفحه یا فایل خاصی نیاز به ورود یا دسترسی خاص داره و کاربر با اطلاعات درست احراز نشده. مثلا ممکنه یک افزونه امنیتی یا فایل htaccess‌ جلوی دسترسی بدون رمز رو گرفته باشه.

  • راه‌حل: اول بررسی کنید که برای دیدن این صفحه نیاز به ورود به وردپرس نیست. اگر نیاز به ورود داره، مطمئن بشید نام کاربری و رمزتون درسته. اگر یک افزونه امنیتی نصب کردید (مثل محدود کردن IP یا فایل .htaccess)، اون رو بررسی کنید یا موقتاً غیرفعال کنید. در کل تنظیمات اشتراک‌گذاری و دسترسی سایت در افزونه‌ها یا سرور رو چک کنید.

خطای ۴۰۳ – دسترسی ممنوع (۴۰۳ Forbidden)

  • علت‌های رایج: این خطا به این معنیه که شما اجازه‌ی دسترسی به یه صفحه یا فایل رو ندارید. رایج‌ترین علت، مجوزهای نادرست فایل/پوشه‌ها ست. ممکنه پوشه‌ها روی سرور دسترسی نوشتن و خواندنشون درست تنظیم نشده باشه (معمولا ۷۵۵ برای فولدرها و ۶۴۴ برای فایل‌ها). همچنین یک افزونه امنیتی یا CDN ویرایش .htaccess می‌تونه باعث ۴۰۳ بشه، یا شاید نام کاربری شما امتیاز لازم رو نداره.

  • راه‌حل: با FTP یا کنترل پنل هاست مجوزهای فایل‌ها رو درست کنید (فولدرها ۷۵۵ و فایل‌ها ۶۴۴ باشن). فایل .htaccess رو موقتا حذف یا پاکسازی کنید (یا از بخش تنظیمات > پیوندهای یکتا روی ذخیره کلیک کنید تا تولید بشه). اگر افزونه امنیتی خاصی نصب کردید، یک‌بار غیرفعالش کنید و تست کنید. همچنین بررسی کنید URL اشتباه نباشه (مثلا فولدر wp-admin نیاز به رمز داره).

خطای ۴۰۴ – صفحه پیدا نشد (۴۰۴ Not Found)

  • علت‌های رایج: این خطا وقتی نشون داده می‌شه که صفحه یا فایل درخواست‌شده در سایت وجود نداره. مثلا لینکی رو به صفحه‌ای زدید که پاک شده، یا آدرس نوشته شده غلطه، یا در تنظیمات پیوندهای یکتا مشکلی هست. همچنین گاهی بعد از جابه‌جایی یا حذف نوشته/برگه، لینک جدیدی نزاشتید (ریدایرکت نکردید)، باعث ۴۰۴ می‌شه.

  • راه‌حل: اول لینک صفحه رو چک کنید که کاملاً درست باشه. بعد از پنل وردپرس به تنظیمات > پیوندهای یکتا برید و بدون تغییر چیزی روی «ذخیره تغییرات» کلیک کنید تا فایل .htaccess ریفرش بشه. اگر صفحه‌ای رو حذف کردید یا آدرسش عوض شده، یک ریدایرکت ۳۰۱ از آدرس قدیم به جدید اضافه کنید. همچنین مطمئن بشید فایل .htaccess سالم باشه و افزونه یا تنظیمات خارجی (مثل CDN) لینک‌ها رو خراب نکرده باشه.

خطای ۴۰۵ – روش مجاز نیست (۴۰۵ Method Not Allowed)

  • علت‌های رایج: این خطا زمانی رخ می‌ده که درخواست مرورگر (مثلاً یک فرم ارسال یا fetch) با روشی به سرور ارسال شده که سرور قبول نمی‌کنه. مثلاً یک درخواست POST به صفحه‌ای که فقط GET قبول می‌کنه. گاهی هم دسترسی به فایل wp-login.php یا wp-admin تغییر کرده.

  • راه‌حل: اگر اخیراً افزونه یا قالبی نصب یا آپدیت کردید، یک‌بار بازگردید (غیرفعالش کنید) ببینید مشکل حل می‌شه. فایل‌های .htaccess و تنظیمات سرور رو چک کنید که محدودیتی برای روش‌های درخواست (GET, POST و غیره) نگذاشته باشه. از گزارش خطاهای سرور (error_log) کمک بگیرید یا حالت دیباگ (WP_DEBUG) رو روشن کنید تا محل دقیق خطا مشخص شه.

خطای ۴۱۳ – حجم درخواست زیاد است (۴۱۳ Request Entity Too Large)

  • علت‌های رایج: این خطا وقتی رخ می‌ده که حجم فایل یا داده‌ای که دارید آپلود می‌کنید از حد مجاز سرورتون بالاتر باشه. مثلاً تصویر یا ویدیوی خیلی حجیم، یا حجم یک فرم ارسال شده زیاد باشه.

  • راه‌حل: حجم آپلود در وردپرس رو بالا ببرید. از طریق فایل php.ini، وب سرور (مثلا client_max_body_size در Nginx)، یا تنظیمات هاست می‌تونید حجم مجاز (upload_max_filesize و post_max_size) رو زیاد کنید. در وردپرس هم می‌شه با افزونه یا تغییر php.ini و .htaccess این محدودیت رو بالا برد. اگر نمی‌شه، فایل رو در چند قسمت کوچیک‌تر کنید یا تصاویر رو فشرده کنید.

خطای ۴۲۹ – تعداد درخواست‌ها بیش از حد است (۴۲۹ Too Many Requests)

  • علت‌های رایج: این خطا به‌نوعی محافظت سرور است که جلوی درخواست‌های زیاد و پشت‌سرهم رو می‌گیره. مثلا اگر توی یک بازه کوتاه چند بار سراغ یک URL برید، یا اگر در حال حمله بروت‌فورس روی صفحه ورود باشه، سرور شمارو مسدود می‌کنه.

  • راه‌حل: اگر خطا روی ورود یا صفحه خاصیه، ممکنه افزونه امنیتی یا فایروال (مثل Cloudflare) عدد متروکه‌ای برای محدودیت گذاشته. یک‌بار افزونه امنیتی یا CDN رو بررسی یا موقتاً غیرفعال کنید. بهتره URL صفحه ورود رو عوض کنید (با افزونه‌ها) یا محدودیت‌های حملات برت‌فورس رو کاهش بدید. همچنین مطمئن بشید اسکریپتی ندارید که بی‌دلیل درخواست‌های زیادی روی سایت می‌فرسته.

خطای ۵۰۰ – خطای داخلی سرور (۵۰۰ Internal Server Error)

  • علت‌های رایج: این خطا معمولا خیلی عمومی و نامشخصه و وقتی پیش میاد که سرور نتونسته درخواست رو درست پردازش کنه. رایج‌ترین دلایلش در وردپرس عبارتند از:‌ افزونه یا قالب ناسازگار (مخصوصا بعد از آپدیت)، فایل .htaccess خراب یا تنظیمات اشتباه، خطاهای PHP یا کمبود حافظه (مثلا محدودیت PHP memory)، و مجوزهای نادرست پوشه‌ها.

  • راه‌حل: اول افزونه‌ها و قالب رو یکی‌یکی غیرفعال کنید و ببینید خطا برطرف می‌شه. معمولا یک افزونه یا قالب باعثش شده. فایل .htaccess رو به .htaccess_old تغییر نام بدید یا از تنظیمات > پیوندهای یکتا یک‌بار ذخیره کنید تا وردپرس خودش یکی جدید بسازه. حافظه PHP رو افزایش بدید (در wp-config.php مقدار WP_MEMORY_LIMIT رو بالاتر ببرید یا از کنترل پنل هاست). بررسی کنید ورژن PHP سایت آپدیت باشه. مجوز پوشه‌ها هم باید درست باشه. در نهایت، گزارش خطا (error_log) یا حالت دیباگ وردپرس (WP_DEBUG) می‌تونه محل دقیق خطا رو نشون بده تا زودتر رفعش کنید.

خطای ۵۰۲ – دروازه نامعتبر (۵۰۲ Bad Gateway)

  • علت‌های رایج: این خطا معمولا وقتی رخ می‌ده که یک سرور (مثلا سرور پروکسی یا CDN) نتونسته پاسخ معتبری از سرور اصلی بگیره. ممکنه سرور اصلی با مشکل مواجه شده یا جواب می‌فرسته که قابل درک نیست. در وردپرس ممکنه به‌خاطر افزونه‌های امنیتی یا CDN مثل Cloudflare پیش بیاد.

  • راه‌حل: اول کش‌ها رو خالی کنید (کش مرورگر، CDN و کش‌های وردپرس). اتصال سرور به اینترنت رو چک کنید (اینترنت سرور ممکنه قطع شده باشه). اگر CDN یا پروکسی دارید، اون‌ها رو موقتاً غیرفعال کنید. مطمئن بشید DNS و آدرس IP درست باشه. در نهایت با پشتیبانی هاست هم تماس بگیرید، چون ممکنه مشکل از سرور باشه.

خطای ۵۰۳ – سرویس در دسترس نیست (۵۰۳ Service Unavailable)

  • علت‌های رایج: این خطا نشون می‌ده سایت شما در دسترس نیست. معمولا به این معنیه که برای لحظه‌ای سرور زیر بار سنگینیه یا داره به‌روزرسانی میشه. مثلا ممکنه یک افزونه در حال آپدیت باشه یا مقدار زیادی ترافیک همزمان رو تحمل کنه. بعضی اوقات هم افزونه امنیتی یا فایروالی اشتباها دسترسی رو مسدود می‌کنه.

  • راه‌حل: اگر داشبورد وردپرس باز می‌شه، یک‌بار افزونه‌ها رو غیرفعال کنید یا قالب رو روی پیش‌فرض بگذارید تا ببینید مشکل حل می‌شه یا نه. بررسی کنید سرور سالم باشه (سایت رو از یک سرویس مانیتورینگ یا با پینگ تست کنید). افزونه‌ها یا قطعه‌کدهایی که منابع زیادی مصرف می‌کنن رو محدود کنید (مثلا Heartbeat API وردپرس). اگر در حال آپدیت بودید، صبر کنید یا اگر گیر کرده بود، دوباره تلاش کنید. اگه ترافیک خیلی زیادی دارید، امکانش هست هاست اشتراکی شما توان پاسخگویی نداشته باشه؛ در این صورت منابع هاست رو افزایش بدید یا از CDN استفاده کنید.

خطای ۵۰۴ – مهلت دروازه به پایان رسید (۵۰۴ Gateway Timeout)

  • علت‌های رایج: این خطا وقتی میاد که یک سرور (مثلا پروکسی یا سرور دروازه) منتظر پاسخ سرور اصلی مونده اما سرور اصلی دیر کرده یا پاسخی نفرستاده. در وردپرس معمولا وقتی اسکریپتی خیلی طول می‌کشه (مثلا تهیه نسخه پشتیبان بزرگ یا اجرای کوئری سنگین) رخ می‌ده.

  • راه‌حل: کش‌ها و CDN رو خالی کنید. اگر از CDN یا proxy استفاده می‌کنید، موقتا غیرفعالش کنید. زمان اجرای PHP (max_execution_time) رو در تنظیمات سرور افزایش بدید یا از تنظیمات وردپرس (مثلا set_time_limit). افزونه‌ها یا اسکریپت‌هایی که سنگین هستند رو شناسایی و بهینه کنید. بعضی وقت‌ها افزایش منابع سرور (CPU، RAM) هم کمک می‌کنه. در کل با هاست تماس بگیرید تا اگر از طرف سرور Time Out داره برطرف کنند.

خطای حلقه ریدایرکت (ERR_TOO_MANY_REDIRECTS)

  • علت‌های رایج: این خطا زمانی رخ می‌ده که سایت شما در یک لوپ یا حلقه ریدایرکت گیر کرده. مثلا صفحه اول سایت مدام به صفحه دوم می‌ره و صفحه دوم به اول، یا تنظیمات HTTPS/HTTP اشتباه تنظیم شده. یا ممکنه افزونه‌های ریدایرکت، مسدودکننده ریدایرکت یا تنظیمات در کانفیگ وردپرس اشتباه باشه.

  • راه‌حل: کوکی‌های مرورگر رو پاک کنید و دوباره تست کنید. سپس تنظیمات آدرس سایت (Site URL) در تنظیمات > عمومی رو چک کنید که درست باشه (هم با www و هم بدون). اگر به HTTPS منتقل می‌شد، مطمئن باشید افزونه‌ای مثل Really Simple SSL داره بدون خطا کار می‌کنه. فایل .htaccess رو ریست کنید (یک نسخه پشتیبان بگیرید و یک بار خالی‌اش کنید) و ببینید هنوز خطا هست یا نه. در نهایت افزونه‌های ریدایرکت یا امنیت رو غیرفعال کنید تا بفهمید کدومش باعث حلقه شده.

خطاهای SSL و HTTPS

خطای پروتکل SSL (ERR_SSL_PROTOCOL_ERROR)

  • علت‌های رایج: این خطا وقتی رخ می‌ده که مرورگر نتونسته ارتباط امن با سرور برقرار کنه. ممکنه گواهی SSL نصب نشده یا منقضی شده باشه، یا از تنظیمات اشتباه TLS/SSL (مثل TLS 1.0) استفاده کنید. گاهی مشکل از مرورگر یا فایروال کاربر هم هست.

  • راه‌حل: اول اطمینان پیدا کنید گواهی SSL سایت به‌درستی نصب و فعال هست و تاریخش تموم نشده. با ابزارهای آنلاین SSL (مثل SSL Labs) چک کنید تنظیمات TLS/SSL درسته. در وردپرس تنظیمات آدرس سایت رو روی https:// گذاشته باشید. مرورگر و سیستم‌عامل خودتون رو هم آپدیت کنید. اگر با فایروال یا CDN کار می‌کنید، تنظیمات SSL اون‌ها هم صحیح باشه (برای Cloudflare باید SSL Full یا Full(strict) فعال باشه).

خطای نسخه/رمزنگاری ناسازگار SSL (ERR_SSL_VERSION_OR_CIPHER_MISMATCH)

  • علت‌های رایج: این خطا معمولا به این معنیه که مرورگر یا سرور نسخه TLS یا رمزنگاری مدرن رو پشتیبانی نمی‌کنه. مثلا مرورگر خیلی قدیمی باشه یا گواهی SSL یه الگوریتم رمزنگاری اشتباه داشته باشه. ممکنه بعد از انتقال سایت به هاست جدید یا نصب گواهی جدید پیش بیاد.

  • راه‌حل: اگه شما توسعه‌دهنده نیستید، اول مرورگرتون رو به‌روز کنید. اگر مدیر سرور هستید، مطمئن بشید گواهی SSL از یک CA معتبر باشه و فقط نسخه‌های TLS جدید (۱.۲ یا ۱.۳) فعال باشه. در پنل هاست تنظیمات SSL/TLS رو بررسی کنید. همچنین بررسی کنید دامنه و نام گواهی همخوانی داشته باشن (SAN یا نام سایت صحیح باشه). در نهایت، کش SSL سیستم یا مرورگر رو پاک کنید و تست کنید.

محتوای مخلوط (Mixed Content Warning)

  • علت‌های رایج: پس از فعال کردن HTTPS روی سایت، اگر بعضی منابع صفحه (مثل عکس‌ها، اسکریپت‌ها یا استایل‌ها) هنوز با http:// لود بشن، مرورگر اخطار «مخلوط» یا «ناامن» می‌ده. این باعث می‌شه قفل HTTPS باز بشه و کاربر فکر کنه سایت ناامن شده.

  • راه‌حل: دنبال منابعی بگردید که از HTTP بارگذاری می‌شن. معمولا در قالب یا نوشته‌ها لینک مستقیم عکس‌ها یا اسکریپت‌ها باشه. با ابزارهای توسعه‌دهنده مرورگر (Console) می‌تونید ببینید کدوم URL مشکل داره. سپس اون‌ها رو به HTTPS تبدیل کنید. برای لینک‌های دستی می‌تونید در دیتابیس سرچ و جایگزین کنید. افزونه‌هایی مثل Really Simple SSL هم می‌تونن اینکارو اتوماتیک انجام بدن. مطمئن بشید فایل wp-config.php تنظیم define('FORCE_SSL_ADMIN', true); رو داره.

خطاهای پایگاه داده

خطا در برقراری اتصال با پایگاه داده (Error Establishing a Database Connection)

  • علت‌های رایج: این خطا وقتی نمایش داده می‌شه که وردپرس نتونسته به دیتابیس MySQL وصل بشه. معمولا یعنی مشخصات دیتابیس (نام کاربری، رمزعبور، نام دیتابیس یا هاست دیتابیس) توی wp-config.php اشتباه هستن، یا سرویس MySQL از کار افتاده. گاهی هم پر شدن حجم دیتابیس یا تعمیرات بانک اطلاعاتی باعث این خطا می‌شه.

  • راه‌حل: اول wp-config.php رو بررسی کنید. مقادیر DB_NAME، DB_USER، DB_PASSWORD و DB_HOST رو با اطلاعات هاست چک کنید (ممکنه شما تغییرشون داده باشید یا بعد مهاجرت اشتباه باشن). از کنترل پنل هاست یا phpMyAdmin مطمئن بشید دیتابیس و کاربر وجود دارند و می‌تونن وارد بشن. سرویس MySQL روی سرور رو ری‌استارت کنید و ببینید مشکل حل می‌شه. اگه هم دیتابیس خراب شده (پیغام مشابه در لاگ‌ها بیاد)، می‌تونید از define('WP_ALLOW_REPAIR', true); در wp-config.php برای تعمیر دیتابیس استفاده کنید یا یک بکاپ از دیتابیس جایگزین کنید.

پایگاه داده خراب است (WordPress Database Is Corrupt)

  • علت‌های رایج: دیتابیس ممکنه به دلیل قطع برق، کرش سرور، افزونه خراب یا حتی حمله هکری آسیب ببینه. اگه جداول دیتابیس خراب شده باشن، وردپرس نمی‌تونه داده‌ها رو بخونه و خطای اتصال یا خطای دیگری می‌ده.

  • راه‌حل: اگه بکاپ دیتابیس دارید، بهترین کار بازیابی از بکاپه. در غیر اینصورت، حالت تعمیر وردپرس رو فعال کنید: در wp-config.php خط define('WP_ALLOW_REPAIR', true); رو اضافه کنید. بعد از وارد شدن به yoursite.com/wp-admin/maint/repair.php می‌تونید دستور تعمیر دیتابیس رو بدید. بعد که مشکل حل شد، حتما اون خط رو از wp-config.php پاک کنید. همچنین بررسی کنید هاست شما مشکلی نداشته و نسخه MySQL با وردپرس سازگار باشه. افزونه‌هایی مثل WP-DBManager هم می‌تونن به تعمیر دیتابیس کمک کنن.

خطاهای PHP و عمومی

صفحه سفید مرگ (White Screen of Death)

  • علت‌های رایج: این مشکل خیلی معروفه؛ وقتی یک خطای PHP خیلی جدی پیش بیاد و خطا نشون داده نشه، فقط یک صفحه کاملاً سفید می‌بینید. معمولا علتش افزونه یا قالب ناسازگاره. مثلا یک تابع از نسخه PHP قدیمی پشتیبانی نمی‌کنه یا با افزونه دیگه تداخل داره. همچنین کمبود حافظه یا صدور خروجی قبل از زمان مناسب (بسته نشدن تگ PHP) می‌تونه این صفحه سفید رو ایجاد کنه.

  • راه‌حل: وردپرس رو در حالت debug قرار بدید تا خطا رو ببینید (در wp-config.php مقدار WP_DEBUG رو true کنید). افزونه‌ها رو یک‌به‌یک غیرفعال کنید و قالب رو روی یک قالب پیش‌فرض (Twenty Twenty) بزارید تا ببینید مشکل حل می‌شه. معمولا یکی از افزونه‌ها یا قالب مشکل‌سازه. اگر نتونستید تشخیص بدید، از بکاپ سایت یا توسعه‌دهنده کمک بگیرید. همچنین مقادیر حافظه PHP رو افزایش بدید (تعریف WP_MEMORY_LIMIT در wp-config.php) و مجوزهای فایل‌ها رو چک کنید (گاه عدم دسترسی نوشتن باعث WSoD می‌شه).

خطای نحوی PHP (PHP Syntax Error)

  • علت‌های رایج: این خطا وقتی رخ می‌ده که در کد PHP خطایی از نظر سینتکس وجود داره، مثلا پرانتز بسته نشده، یا به اشتباه چیزی تایپ شده. اغلب این اتفاق بعد از ویرایش فایل‌های قالب یا افزونه پیش میاد. پیغام خطا می‌نویسه مثلا «Parse error: syntax error, unexpected T_STRING … in xxx.php on line yy».

  • راه‌حل: پیغام خطا معمولا خودش مسیر فایل مشکل‌دار و شماره خط رو می‌ده. اگر به کد خودتون دسترسی دارید، باید وارد همون فایل بشید و اشتباه تایپی رو اصلاح کنید (ممکنه یک ‘ یا } کم گذاشته باشید). اگر خودتون ویرایش نکردید و افزونه‌ای باعث شده، افزونه یا قالب رو غیرفعال کنید یا به نسخه قبلی برگردونید. همیشه قبل از ویرایش فایل‌ها بکاپ بگیرید. بعد از رفع خطای سینتکس، سایت شما دوباره درست خواهد شد.

خطای بحرانی PHP (PHP Fatal Error)

  • علت‌های رایج: این پیغام زمانی نمایش داده می‌شه که یک بخش از کد PHP از کار می‌افته. معمولا اعلام می‌شه مثل “Fatal error: Call to undefined function …” یا “Class not found …”. این ممکنه به‌خاطر ناسازگاری افزونه/قالب یا اشتباه در کد (مثل استفاده از تابعی که حذف شده) باشه.

  • راه‌حل: مشابه سینتکس، پیغام fatal محل خطا رو مشخص می‌کنه (اسم تابع یا کلاس). اگر مربوط به افزونه یا قالب خاصیه، اونو غیرفعال یا به‌روز کنید. ممکنه ورژن PHP سایت با اون کد همخوانی نداشته باشه؛ مثلا یک تابع PHP جدید توی سرور قدیمی موجود نباشه. پس PHP رو آپدیت کنید. خطای fatal معمولا کار سایت رو متوقف می‌کنه پس حتما باید مشکل رو با اصلاح کد یا جایگزینی فایل مشکل‌دار رفع کنید.

کمبود حافظه PHP (Allowed Memory Size Exhausted)

  • علت‌های رایج: وقتی وردپرس می‌خواد بیشتر از حجم حافظه تعیین‌شده PHP مصرف کنه، این خطا ظاهر می‌شه. معمولا با پیام «Allowed memory size of X bytes exhausted» نشون داده می‌شه. علتش اینه که اسکریپتی (معمولا افزونه سنگین یا import/export) نیاز حافظه زیادی داشته یا سایت به کل حافظه سرور دسترسی نداره.

  • راه‌حل: مقدار حافظه PHP رو افزایش بدید. می‌تونید در wp-config.php بالای خط /* That's all, stop editing! */ مقدار define('WP_MEMORY_LIMIT', '256M'); یا بیشتر بذارید. بعضی وقت‌ها نیاز هست WP_MAX_MEMORY_LIMIT هم تنظیم شه. اگه دسترسی به php.ini دارید، memory_limit رو بالا ببرید. همچنین چک کنید افزونه‌هایی که سنگین هستن (مثلاً ساخت نسخه پشتیبان یا افزونه‌های فروشگاهی) رو غیرفعال کنید. اگر مشکل تنها با این پیغام حل نشد، شاید نیاز باشه سرور رو ارتقا بدید.

اتمام زمان اجرای PHP (Maximum Execution Time Exceeded)

  • علت‌های رایج: سرور به هر اسکریپتی یک بازه زمانی مشخص می‌ده تا اجرا بشه (مثلا ۳۰ ثانیه). اگر اسکریپتی از این زمان بیشتر طول بکشه، خطای «Maximum execution time exceeded» نشون داده می‌شه. این معمولا به خاطر کوئری‌های سنگین، حلقه‌های خیلی بزرگ، یا افزونه‌هایی که زمان‌برن اتفاق می‌افته.

  • راه‌حل: زمان مجاز اجرای PHP رو افزایش بدید. در php.ini مقدار max_execution_time رو بیشتر کنید، یا در wp-config.php با تابع set_time_limit(300); این زمان رو بالا ببرید. اگر به هاست دسترسی ندارید، با پشتیبان هاست هماهنگ کنید. همچنین کدهایی که بیشترین زمان رو مصرف می‌کنن شناسایی کنید (مثلا با افزونه‌هایی مثل Query Monitor) و بهینه‌شون کنید. در برخی موارد، شکست HTTP به جای این خطا پیش میاد که دنبالش کنید.

فولدر موقت گم شده (Missing a Temporary Folder)

  • علت‌های رایج: وقتی وردپرس می‌خواد فایل آپلودی رو اول در یک فولدر موقت ذخیره کنه اما اون فولدر وجود نداشته باشه یا دسترسی درست نداشته باشه، این خطا ظاهر می‌شه. معمولاً به دلیل تنظیمات اشتباه سرور (PHP) یا پاک شدن پوشه /wp-content/uploads/temp پیش میاد.

  • راه‌حل: اول از وجود فولدر موقت PHP مطمئن بشید. برای وردپرس، می‌تونید در wp-config.php این خط رو اضافه کنید:

    php
    define('WP_TEMP_DIR', dirname(__FILE__) . '/wp-content/temp/');

    بعداً یه فولدر به نام temp داخل wp-content بسازید و مجوزش رو ۷۵۵ بذارید. اینطوری مسیر موقت درست تنظیم می‌شه. اگر دسترسی ندارید، با پشتیبان سرور تماس بگیرید تا پوشه موقت PHP رو تنظیم کنن.

خطاهای فایل و مجوزها

عدم توانایی ایجاد پوشه (Could not create directory)

  • علت‌های رایج: این خطا وقتی میاد که وردپرس بخواد افزونه یا قالب جدیدی نصب کنه، ولی نتونه پوشه‌ی مربوطه رو داخل wp-content بسازه. معمولا دلیلش مجوزهای اشتباه روی پوشه‌هاست یا مالک فایل‌ها (Owner) که درست تنظیم نشده.

  • راه‌حل: با FTP یا کنترل پنل هاست مجوز پوشه‌های اصلی وردپرس (wp-admin, wp-content, wp-includes) رو به ۷۵۵ تنظیم کنید و فایل‌ها رو ۶۴۴. مالک کاربری که PHP اجرا می‌کنه باید حق نوشتن در wp-content رو داشته باشه. بعدش دوباره نصب افزونه/قالب رو امتحان کنید. اگه بازهم نشد، ممکنه یکی از پوشه‌های قدیمی با نام مشابه از نصب قبلی وجود داشته باشه (بعدا این رو توضیح می‌دیم).

ناتوانی در نوشتن فایل روی دیسک (Upload: Failed to Write File to Disk)

  • علت‌های رایج: هنگام آپلود فایل (مثل تصویر)، این پیام ظاهر می‌شه و یعنی وردپرس نتونسته فایل آپلود شده رو جایی منتقل کنه. اغلب به خاطر مجوزهای نادرست پوشه uploads یا پر بودن دیسک سرور اتفاق میفته. گاهی هم حمله‌ای روی سرور یا مشکلات سخت‌افزاری باعث نقص می‌شن.

  • راه‌حل: اول از اینکه فضای دیسک پر نشده اطمینان پیدا کنید. اگر فضای کافی نیست، فایل‌های غیرضروری رو حذف یا ارتقا بدید. مجوز پوشه wp-content/uploads رو چک کنید که ۷۵۵ باشه و owner مناسب داشته باشه. اگر باهاش مشکل داشتید، یک‌بار مجوز رو مجدداً تنظیم کنید. اگه مشکل از سرور باشه (مثلا فولدر موقت پر شده)، با پشتیبان هاست صحبت کنید تا پوشه‌های temp رو خالی کنن.

فرمت فایل مجاز نیست (File Type Not Permitted / “Sorry, This File Type Is Not Permitted”)

  • علت‌های رایج: وردپرس به دلایل امنیتی فقط چند نوع فرمت (jpg, png, pdf و امثالهم) رو اجازه آپلود میده. اگر فایلی با پسوند ناشناس یا اجرایی آپلود کنید، این خطا ظاهر می‌شه تا کسی نتونه کد مخرب بارگذاری کنه.

  • راه‌حل: دو راه دارید: ۱) با یک افزونه مثل WP Add Mime Types یا Enhanced Media Library فرمت دلخواهتون رو به لیست اجازه‌ها اضافه کنید. ۲) اگر کدنویس هستید، در wp-config.php خط زیر رو اضافه کنید (با احتیاط، فقط فایل‌های امن):

    php
    define('ALLOW_UNFILTERED_UPLOADS', true);

    سپس فرمت موردنظرتون رو به allowed_mime_types وردپرس اضافه کنید. دقت کنید امنیت سایت مهمه؛ فقط فرمت‌هایی که مطمئنید ضرورت دارند رو اضافه کنید.

دسترسی به این صفحه امکان‌پذیر نیست (“Sorry, You Are Not Allowed to Access This Page”)

  • علت‌های رایج: این خطا معمولاً زمانی میاد که یک کاربر بدون دسترسی (مثلاً نقش کاربری پایین‌تر) بخواد به صفحه‌ای از پیشخوان وردپرس بره. دلایل دیگه: تغییر در wp-config.php، تغییر پروندۀ پیش‌فرض دیتابیس (wp_)، یا اختلال افزونه‌ای در سطح دسترسی‌ها.

  • راه‌حل: بررسی کنید که رُل کاربری شما (مثلاً مدیریت کل، نویسنده) مجوز دسترسی به این بخش رو داشته باشه. اگر به تازگی پروندۀ دیتابیس رو عوض کردید، مطمئن بشید در wp-config.php مقدار $table_prefix درست تنظیم شده. افزونه امنیتی یا نقش کاربری خاصی که نصب کردید رو چک کنید یا موقتاً غیرفعالش کنید. در موارد پیشرفته، می‌تونید در phpMyAdmin به جدول wp_options و wp_usermeta نگاه کنید و نقش‌های کاربر رو بررسی/اصلاح کنید.

مجوزهای فایل نادرست (Incorrect File Permissions)

  • علت‌های رایج: اگر مجوز (permissions) فولدرها یا فایل‌های وردپرس خیلی باز باشه یا برعکس خیلی بسته، مشکلات متعددی رخ می‌ده. مجوز خیلی باز (مثلاً ۷۷۷) خطر امنیتی داره و ممکنه هاست شما همه فایل‌ها رو غیرقابل دسترس کنه. مجوز خیلی بسته (مثلاً ۷۵۰) ممکنه اجازه نوشتن و خواندن لازم رو نده.

  • راه‌حل: مجوز پیش‌فرض وردپرس اینه که فولدرها ۷۵۵ و فایل‌ها ۶۴۴ باشن. اینها رو به صورت دستی با FTP یا SSH ست کنید. مطمئن شید Owner فایل‌ها کاربر PHP (مثلاً www-data) باشه. بعد از تنظیم صحیح، بسیاری از خطاها مثل عدم نصب/بروزرسانی افزونه یا نمایش ۵۰۰ برطرف می‌شه. اگر شک دارید، کل پوشۀ wp-content رو اصلاح کنید.

فایل استایل قالب گم شده (Theme Stylesheet Is Missing)

  • علت‌های رایج: وقتی قالبی رو در وردپرس نصب می‌کنید، باید فایل style.css اون قالب در پوشه درست باشه. اگر این فایل حذف شده باشه یا اشتباهاً در جا یا پوشه اشتباهی آپلود شده باشه، این خطا نشون داده می‌شه.

  • راه‌حل: اول از FTP وارد wp-content/themes/YourTheme بشید و ببینید style.css وجود داره یا نه. اگر نیست، از بسته قالب اصلی فایل style.css رو بردارید و آپلود کنید. دقت کنید پوشه قالب درست نامگذاری شده باشه. گاهی اوقات فایل style.css خودش به درستی آدرس‌دهی نشده (ممکنه از پوشه‌ی عمق‌تر آپلود شده)، پس حتما توی پوشه اصلی قالب باشه. پس از آپلود صحیح، قالب نصب/فعال خواهد شد.

پوشه مقصد از پیش وجود دارد (Destination Folder Already Exists)

  • علت‌های رایج: این خطا وقتی پیش میاد که شما دارید افزونه یا قالب جدید نصب می‌کنید، ولی یک پوشه با همون نام قبلاً در wp-content/plugins یا wp-content/themes وجود داره (مثلاً به‌خاطر نصب نیمه‌کاره قبلی یا حذف ناقص). در این حالت وردپرس اجازه ایجاد پوشه دوم رو نمیده.

  • راه‌حل: به FTP یا فایل منیجر برید و پوشه مشکل‌دار (که خطا میگه وجود داره) رو پاک یا تغییر نام بدید. مثلاً اگر افزونه‌ای به نام hello-plugin است و نصب ناقص داشتید، پوشه /wp-content/plugins/hello-plugin رو حذف کنید. سپس دوباره سعی کنید افزونه/قالب رو نصب کنید. اینطوری خطا رفع می‌شه و نصب از اول انجام می‌شه.

خطاهای رسانه و تصاویر

خطای HTTP در آپلود تصویر (HTTP Error – Uploading Image)

  • علت‌های رایج: هنگام اضافه کردن تصویر به کتابخانه رسانه، ممکنه پیغام مبهمی با عنوان “HTTP Error” ببینید. این می‌تونه دلیل‌های مختلفی داشته باشه: پایان جلسه کاربری (login timeout)، کاراکترهای نامناسب در اسم فایل (فارسی یا علامت خاص)، مجوز اشتباه در پوشه uploads، یا تنظیمات GD/Imagick سرور.

  • راه‌حل: اول صفحه‌ رو رفرش (reload) کنید و دوباره امتحان کنید. بعداً اسم فایل رو به انگلیسی و ساده تغییر بدید و حجم تصویر رو کمی کوچیک کنید (مثلا PNG به JPG). اگر مشکل ادامه داشت، مجوز پوشه wp-content/uploads رو بررسی کنید (۷۵۵ باید باشه). افزونه‌ها و قالب‌ها رو موقتاً غیرفعال کنید تا بفهمید آیا تداخل نرم‌افزاری هست یا نه. در نهایت اگر کاری از دستتون بر نیومد، با پشتیبان هاست تماس بگیرید؛ بعضی وقت‌ها سمت سرور اشکالی هست (مثلا GD فعال نیست یا فولدر temp پره).

مشکل دکمه «افزودن رسانه» (Add Media Button Not Working)

  • علت‌های رایج: در ویرایشگر کلاسیک وردپرس، دکمه «افزودن رسانه» معمولا عمل آپلود یا انتخاب تصویر رو انجام می‌ده. اگر این دکمه کار نکنه یا اساسا ناپدید شده باشه، به احتمال زیاد مشکل از تداخل جاوااسکریپت یا افزونه/قالب است. مثلا افزونه‌ای روی اسکریپت‌های ادیتور تاثیر گذاشته یا CONCATENATE_SCRIPTS فعال هست.

  • راه‌حل: در wp-config.php مقدار زیر رو اضافه کنید:

    php
    define('CONCATENATE_SCRIPTS', false);

    این باعث می‌شه اسکریپت‌های وردپرس یکی نشه و مشکلات JS کم بشه. همچنین افزونه‌ها یا قالب‌ها رو بررسی کنید؛ یک بار همه پلاگین‌ها رو غیرفعال کنید و ببینید دکمه فعال می‌شه؟ اگر شد، به‌تدریج فعال کنید تا متوجه بشید کدوم مشکل‌سازه. معمولا یکی از افزونه‌ها (مثلا امنیتی یا کش) یا قالب باعث این مسئله‌ست.

تصاویر خراب یا ناپدید شده (Broken Media Files)

  • علت‌های رایج: اگر وارد کتابخانه رسانه بشید و ببینید همه تصاویر یا خیلی از اونا جای یک عکس پیش‌فرض خالی یا علامت ۴۰۴ شده، یعنی لینک فایل تصویر خراب شده یا فایل از سرور پاک شده. دلیلش می‌تونه نقص سرور (مشکل در پردازش آپلود)، اختلال افزونه/قالب، مجوز اشتباه پوشه uploads یا حتی حمله هکری باشه که فایل‌ها رو جابه‌جا کرده.

  • راه‌حل: مجوزهای پوشه wp-content/uploads رو روی ۷۵۵ بذارید (اگر تغییر کرده باشن تصاویر بارگذاری نمیشن). افزونه‌ها یا قالب‌ها رو مرور کنید که مبادا اشتباها آدرس عکس‌ها رو تغییر داده باشن. اگر با هیچ‌کدوم حل نشد، یک‌بار فایل‌های مشکل‌دار رو از سرور دانلود و مجددا آپلود کنید. در نهایت مطمئن بشید سایت هک نشده؛ اسکن امنیتی یا گزارش تغییرات فایل‌ها می‌تونه مفید باشه.

خطای برش تصویر (Error Cropping Image)

  • علت‌های رایج: وردپرس اجازه می‌ده تصاویر آپلود شده رو بچرخونید یا کراپ کنید. اگر هنگام اجرای این ادیت ساده پیغام خطا ببینید، دو احتمال اصلی هست: اول اینکه ورژن PHP شما قدیمیه (مثلا قبل از ۵٫۳) و توابع گرافیکی لازم رو نداره. دوم اینکه افزونه کتابخانه‌های گرافیکی (GD یا Imagick) روی سرور نصب نیست یا خراب شده.

  • راه‌حل: اول PHP سرور رو آپدیت کنید (حداقل به نسخه ۷، تا جدیدترین تابع‌ها در دسترس باشه). سپس بررسی کنید که بسته GD فعال باشه (در phpinfo ببینید). اگر Imagick نصب هست، یک‌بار تیکش رو توی تنظیمات افزونه‌های تصویر غیرفعال کنید و از GD استفاده کنید یا برعکس (مشکلاتی بوده که یکی از این کتابخانه‌ها جواب نداده). در نهایت با پشتیبان سرور صحبت کنید تا بسته‌های گرافیکی بازنصب یا رفع مشکل بشن.

خطاهای ورود و نشست

خطای هدر (Cannot Modify Header Information – Headers Already Sent)

  • علت‌های رایج: این پیغام وقتی ظاهر می‌شه که قبل از ارسال تغییرات هدر HTTP (مثل کوکی تنظیم کردن یا ریدایرکت) در خروجی (HTML) چیزی فرستاده شده. مثلا یک فاصله خالی یا متن قبل از <?php در یکی از فایل‌های PHP یا چاپ محتوایی توسط افزونه. با این وضعیت وردپرس دیگه نمی‌تونه هدرها رو عوض کنه (برای کوکی‌ها یا ریدایرکت).

  • راه‌حل: فایل‌هایی که در پیام خطا اشاره شده رو باز کنید و ببینید آیا کاراکترهای اضافه (خالی یا BOM) وجود داره؟ معمولاً این مشکل با حذف فاصله اضافی قبل از <?php یا بعد از ?> حل می‌شه. افزونه‌ای که خطا میده رو غیرفعال کنید و کدهای آغاز/پایان فایل‌ها رو چک کنید. اگر خطا در فایل wp-config یا توابع قالب باشه، حتما خطوط اضافی رو پاک کنید. بعد از اصلاح، وردپرس قادر می‌شه هدرهای جدید رو بفرسته.

  • علت‌های رایج: گاهی می‌شه که به خاطر تنظیمات نادرست کوکی‌های PHP یا مسدودیت سرور، بخش‌هایی از وردپرس (مثل لاگین یا پنل) در مدیریت نشست به مشکل بخورن. مثلا ممکنه بخاطر دستکاری اشتباه یا سیاست‌های امنیتی‌هاست، کوکی ورود تنظیم نشه یا نقش کاربر بازیابی نشه.

  • راه‌حل: مطمئن بشید در wp-config.php مقادیر COOKIE_DOMAIN و WP_HOME درست تنظیم شده باشه (این معمولاً برای ساب‌دامین‌ها اهمیت داره). اگر از افزونه امنیتی یا کش استفاده می‌کنید، یک‌بار کوکی‌ها و نشست‌های کاربری رو پاک کنید یا افزونه رو غیرفعال کنید. حالت دیباگ رو روشن کنید تا ببینید PHP در چه مرحله‌ای خطا میده. در نهایت توجه کنید آدرس وردپرس (siteurl و home) درست باشه، چون اشتباه بودن دامنه باعث اختلال در کوکی می‌شه.

قفل شدن دسترسی به پیشخوان (Locked Out of WordPress Admin)

  • علت‌های رایج: بعضی وقت‌ها یک خطا یا مشکل امنیتی باعث می‌شه شما نتونید وارد پیشخوان وردپرس بشید. برای مثال پلاگین امنیتی ممکنه شما رو به خاطر تلاش‌های مکرر بلاک کنه، یا خطای ۵۰۰/۴۰۳ باعث عدم دسترسی به /wp-admin بشه. گاهی تنظیمات نادرست htaccess یا ریدایرکت‌های پیچیده باعث قفل شدن دسترسی می‌شن.

  • راه‌حل: اگر هنوز به FTP یا هاست دسترسی دارید، فایل‌های پلاگین‌های امنیتی رو موقتاً تغییر نام بدید تا غیرفعال بشن (مثلا پوشه wp-content/plugins/wordfence رو rename کنید). همچنین فایل .htaccess رو بررسی یا موقتا پاک کنید. اگر مشکل ادامه داشت، از طریق phpMyAdmin مطمئن بشید نقش شما هنوز مدیر کل هست (wp_usermeta جدول). در نهایت اگه نتونستید خودتون حل کنید، می‌تونید نسخه پشتیبان سایت رو بازگردونید یا از پشتیبان وردپرس کمک بخواین.

خطاهای REST API

خطای REST API وردپرس (WordPress REST API Error)

  • علت‌های رایج: API وردپرس یا همان wp-json برای برقراری ارتباط با جاوااسکریپت‌ها و اپلیکیشن‌ها استفاده می‌شه. اگر به هر دلیلی این API جواب نده (مثلا صفحه ۴۰۴ میده یا درخواست متوقف می‌شه)، نشان‌دهنده مشکل در سرور یا تداخل افزونه است. اغلب می‌شه وقتی پیغام «The REST API request failed.» می‌بینید.

  • راه‌حل: اول فایل .htaccess رو ریست کنید (تنظیمات > پیوندهای یکتا ذخیره کن). اینکار قوانین rewrite رو تازه می‌کنه. افزونه‌هایی که REST API وردپرس رو محدود می‌کنن (مثل پلاگین‌های امنیتی یا افزونه‌های بهینه‌سازی) رو غیرفعال کنید و تست کنید. همچنین مطمئن بشید سرور تابع mod_rewrite یا تنظیمات permalinks صحیح باشه. گاهی افزونه‌های فایروال یا CDN (مثل Cloudflare) ممکنه مسیر /wp-json/ رو بلاک کنن؛ اونا رو چک کنید. در نهایت آدرس‌های سایت (Site URL و Home URL) باید با هم تطابق داشته باشن (HTTP vs HTTPS) تا در API اختلال پیش نیاد.

خطای کدهای JSON (JSON Parse Error)

  • علت‌های رایج: زمانی رخ می‌ده که وردپرس داره یک درخواست REST API می‌فرسته یا دریافت می‌کنه اما محتوای برگشتی چیزی جز JSON هست (مثلا یک خطای HTML یا فاصله اضافی). ممکنه قبل یا بعد از خروجی JSON کاراکتر اضافه‌ای چاپ شده باشه.

  • راه‌حل: تمام افزونه‌ها و قالب‌ها رو چک کنید که هیچ کدی نباید قبل از خروجی JSON چیزی بنویسه (مثلاً echo یا print توی فایل functions.php یا سایر فایل‌ها). حالت دیباگ وردپرس (WP_DEBUG) رو روشن کنید تا ببینید خطای پنهانی نمایش داده می‌شه یا نه. افزونه‌های کش یا امنیتی رو غیرفعال کنید چون گاهی کَش فولدر JSON رو فاسد می‌کنه. نهایتاً در فایل wp-config.php ببینید پرانتز PHP به درستی بسته شده باشه. این اقدامات معمولا منجر می‌شه فقط JSON خالی یا صحیح برگرده و خطا برطرف بشه.

خطاهای به‌روزرسانی و نگهداری

پیام «سایت برای بروزرسانی کمی در دسترس نیست» (Briefly Unavailable for Scheduled Maintenance)

  • علت‌های رایج: وقتی در حال بروزرسانی خودکار وردپرس، قالب یا افزونه هستید، وردپرس به طور موقت وارد وضعیت نگهداری می‌شه و این پیام (با پس‌زمینه سفید) نشون داده می‌شه. اگر بروزرسانی درست انجام بشه، بعدش سایت به حالت عادی برمی‌گرده. اما گاهی وسط کار آپدیت، مرورگر بسته شه یا خطایی بیاد و فایل .maintenance باقی بمونه.

  • راه‌حل: اگر خودتون در حال آپدیت بودید و پیام هنوز هست، یک بار صفحه رو ریفرش کنید. اگر بسته نشده، به فایل منیجر یا FTP برید و فایل .maintenance رو در روت وردپرس پاک کنید. این باعث می‌شه سایت از حالت نگهداری خارج بشه. اگر مشکل دیگه‌ای در بروزرسانی داشتید (ماندن در این حالت به عنوان خطا حساب می‌شه)، افزونه‌ها رو یکی‌یکی آپدیت کنید یا به صورت دستی آپلود کنید.

گیرکردن در حالت نگهداری (Stuck in Maintenance Mode)

  • علت‌های رایج: وقتی چندین افزونه رو همزمان به‌روز می‌کنید یا بروزرسانی طولانی بشه، ممکنه فایل .maintenance روی سرور پاک نشه. در نتیجه سایت برای کاربران همیشه همون پیام maintenance رو نشون می‌ده و انگار همیشه در حال آپدیت هستید.

  • راه‌حل: از FTP یا کنترل پنل هاست به پوشه اصلی وردپرس برید و فایل .maintenance رو حذف کنید. اگه موقع حذف فایل باز هم پیام بود، یک‌بار کش سایت و مرورگر رو خالی کنید. بعدش سایت مثل قبل کار می‌کنه. برای جلوگیری، سعی کنید آپدیت‌ها رو تک‌تک نصب کنید نه همزمان، یا از افزونه‌های مدیریت بروزرسانی کمک بگیرید تا اتوماتیک این فایل پاک بشه.

خطای بروزرسانی افزونه یا قالب (Plugin/Theme Update Failed)

  • علت‌های رایج: گاهی وقتا هنگام بروزرسانی افزونه یا قالب در داشبورد وردپرس با خطا مواجه می‌شید (مثلاً پیام «نصب ناموفق بود» یا «خطایی در به‌روزرسانی رخ داد»). این دلایل مختلفی داره: ممکنه ارتباط با سرور وردپرس قطع شده باشه، مجوزهای پوشه‌ها درست نباشن، یا فضای دیسک کم باشه.

  • راه‌حل: مجدداً پوشه‌های wp-content/plugins و wp-content/themes رو چک کنید که حق نوشتن باشه (۷۵۵ برای پوشه‌ها). فضای هاست رو بررسی کنید که پر نشده باشه. اگر مشکل ارتباط بود، اینترنت سرور رو چک و در صورت نیاز سرور رو ری‌استارت کنید. گاهی اضافه کردن کد زیر به wp-config.php حل می‌شه:

    php
    define('FS_METHOD', 'direct');

    اینطوری وردپرس مستقیماً فایل‌ها رو بدون نیاز به FTP آپدیت می‌کنه. در آخر، اگر باز هم نشد، افزونه/قالب را به‌صورت دستی از مخزن وردپرس دانلود و با FTP جایگزین کنید.

خطای اتصال امن برای بروزرسانی (Secure Connection Error)

  • علت‌های رایج: وقتی وردپرس می‌خواد خودش یا افزونه‌هاش رو از WordPress.org بروزرسانی کنه، باید به اون سایت وصل بشه. اگر سرور شما نتونه وصل شه (به دلایل DNS یا DDoS یا تنظیمات اشتباه SSH)، این ارور ظاهر می‌شه و نمی‌گذاره فایل‌ها آپدیت بشن.

  • راه‌حل: اول مطمئن شید سرور اینترنت داره و DNSها درست هستند. اگر سرویسی مثل Cloudflare یا فایروال دارید، چک کنید که دسترسی به api.wordpress.org باز باشه. بعضی هاست‌ها هم نیاز به تنظیمات خاص SSH دارند؛ می‌تونید در ssh نام wp.org رو اضافه کنید یا از پشتیبان بخواید تنظیمات لازم رو انجام بده. معمولاً حل مشکل DNS یا اجازه دسترسی سرور به wordpress.org خطا رو برطرف می‌کنه.

خطای اتصال FTP/SFTP (FTP/SFTP Connection Error)

  • علت‌های رایج: زمان نصب یا بروزرسانی افزونه‌ها، وردپرس گاهی نیاز به اتصال FTP/SFTP داره تا فایل‌ها رو کپی کنه. اگر اطلاعات FTP اشتباه باشه یا سرور FTP کار نکنه، این خطا نشون داده می‌شه.

  • راه‌حل: اطلاعات FTP/SFTP رو در wp-config.php تنظیم کنید. می‌تونید به‌صورت زیر یوزرنیم و پسورد رو اضافه کنید:

    php
    define('FTP_USER', 'username');
    define('FTP_PASS', 'password');
    define('FTP_HOST', 'ftp.example.com');

    یا اگر سرور اجازه داره، با قرار دادن define('FS_METHOD', 'direct'); در wp-config.php بدون نیاز به FTP مستقیم آپدیت کنید. در نهایت مطمئن بشید سرور FTP به درستی کار می‌کنه (پورت ۲۱ یا ۲۲ باز باشه) و اطلاعات رو درست وارد کردید.

سایر خطاهای رایج

فایل .htaccess خراب یا تنظیمات اشتباه (Bad .htaccess File)

  • علت‌های رایج: فایل .htaccess در روت وردپرس مسئول ریدایرکت‌ها و قوانین پیوند یکتا هست. اگر این فایل آسیب ببینه یا دستورات اشتباهی توش باشه (مثلا از افزونه یا انتقال نادرست)، سایت خطاهای ۴۰۴ و ۵۰۰ زیادی می‌ده.

  • راه‌حل: وارد FTP بشید و فایل .htaccess رو موقتا به htaccess_old تغییر نام بدید. بعد از آن به پیشخوان وردپرس > تنظیمات > پیوندهای یکتا برید و بدون تغییر چیزی روی «ذخیره تغییرات» کلیک کنید. وردپرس خودش یک .htaccess جدید می‌سازه. اگر مشکل حل شد، یعنی فایل قبلی خراب بوده. اگر خطای خاصی هست، می‌تونید محتوای اصلی .htaccess پیش‌فرض (از سایت وردپرس) رو کپی کنید.

خطای cURL 28 – زمان اتصال (cURL Error 28: Connection Timed Out)

  • علت‌های رایج: این خطا وقتی رخ می‌ده که وردپرس می‌خواد به یک URL (مثلا api.wordpress.org یا یک آدرس خارجی) وصل بشه ولی درخواست طولانی می‌شه و timeout می‌شه. دلایلش می‌تونه DNS اشتباه، اینترنت سرور قطع، یا محدودیت PHP باشه.

  • راه‌حل: اول اتصال سرور به اینترنت رو چک کنید (توی هاست سرور ping بگیرید). DNSهای سرور رو بررسی کنید (در کنترل پنل هاست یا از پشتیبان بخواید). در صورت امکان زمان timeout cURL رو افزایش بدید (مثلا در php.ini مقدار default_socket_timeout). اگر با یک افزونه خاص یا سایت خارجی مشکل داری، URL رو تست کنید. همچنین افزودن این کد در wp-config.php ممکنه کمک کنه:

    php
    define('WP_HTTP_BLOCK_EXTERNAL', false);
    define('WP_ACCESSIBLE_HOSTS', 'api.wordpress.org');

    در نهایت در افزونه‌های امنیتی مطمئن بشید آی‌پی آدرس‌ها یا دامنه‌های وردپرس بلاک نشده باشن.

خطای بحرانی وردپرس (“یک خطای جدی رخ داده است…”)

  • علت‌های رایج: از وردپرس ۵.۲ به بعد، موقع بروز یک خطای جدی در سایت (مثل fatal error یا نقص در کد)، به‌جای نمایش جزئیات خطا، پیام کلی «متاسفیم، یک خطای جدی رخ داده است» نشون داده می‌شه. این خطا اغلب به‌خاطر افزونه/قالب ناسازگار یا آپدیت ناقص پیش میاد.

  • راه‌حل: برای پیدا کردن علت دقیق، باید دیباگ وردپرس رو روشن کنید. به فایل wp-config.php رفته و مقدار WP_DEBUG رو true و WP_DEBUG_LOG رو true بذارید. دوباره سایت رو بارگذاری کنید، بعد در پوشه wp-content به فایل debug.log نگاه کنید تا ببینید کدوم فایل خطا داده. معمولا یک افزونه یا قالب نام برده می‌شه. اون رو غیرفعال یا حذف کنید. اگر دسترسی به پیشخوان ندارید، از FTP مجددا نام پوشه افزونه مشکل‌دار رو عوض کنید تا غیرفعال بشه. بعد از رفع خطا، مجدداً WP_DEBUG رو خاموش کنید.

این خطاها و روش‌های رفعشون به شما کمک می‌کنه مشکلات شایع وردپرسی رو سریع‌تر پیدا و حل کنید. بسته به خطایی که می‌بینید، می‌تونید به دسته مربوطه مراجعه کنید و قدم‌به‌قدم علت رو بررسی و رفع کنید. عموماً این مراحل شامل بررسی افزونه/قالب، تنظیمات سرور/هاست، فایل‌های پیکربندی (.htaccess, wp-config.php)، و سطح دسترسی (Permissions) هستند. با کمی آزمون و خطا و استفاده از این راهنما می‌تونید اکثر خطاهای وردپرس رو بدون نیاز به تخصص برنامه‌نویسی پیچیده برطرف کنید.

0 0 رای ها
امتیازدهی به مقاله
اشتراک در
اطلاع از
guest
0 نظرات
قدیمی‌ترین
تازه‌ترین بیشترین رأی
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها