آخرین بروزرسانی در تاریخ آگوست 26, 2026 توسط PersiaWebAdmin
خطای 403 Forbidden در وردپرس یکی از خطاهای رایج هنگام مدیریت یا بازدید از یک سایت وردپرسی است. این خطا زمانی نمایش داده میشود که سرور درخواست شما را دریافت و پردازش کرده، اما به دلایل امنیتی یا تنظیمات دسترسی، اجازه مشاهده یا اجرای منبع موردنظر را نمیدهد.
به زبان ساده، خطای 403 به این معناست که سرور درخواست را میشناسد اما اجازه دسترسی به آن را صادر نمیکند. این مشکل ممکن است هنگام باز کردن کل سایت، یک صفحه خاص، پوشهای از سایت، فایل خاص، بخش مدیریت وردپرس یا حتی هنگام ذخیره تغییرات در پیشخوان اتفاق بیفتد.
علت خطای 403 همیشه خود وردپرس نیست. تنظیمات نادرست فایل .htaccess، مجوز فایلها و پوشهها، افزونههای امنیتی، فایروال سرور، ModSecurity، مسدود شدن IP، تنظیمات CDN یا حتی قوانین دسترسی وبسرور میتوانند باعث ایجاد این خطا شوند. بنابراین بهترین روش، عیبیابی مرحلهبهمرحله و حذف علتهای محتمل از سادهترین مورد به پیچیدهترین مورد است.
در این راهنما ابتدا علتهای اصلی را بررسی میکنیم و سپس روشهای رفع خطای 403 Forbidden در وردپرس را به ترتیب اولویت توضیح میدهیم؛ حتی اگر به پیشخوان وردپرس دسترسی نداشته باشید.
خطای 403 Forbidden چیست؟
کد وضعیت HTTP 403 Forbidden یکی از کدهای پاسخ HTTP است. زمانی که سرور پاسخ 403 برمیگرداند، یعنی درخواست به سرور رسیده اما دسترسی به منبع موردنظر مجاز نیست.
برای مثال ممکن است سایت برای بازدیدکنندگان عادی باز باشد، اما هنگام ورود به /wp-admin خطای 403 دریافت کنید. در حالت دیگر، ممکن است فقط یک فایل یا پوشه خاص با این خطا مواجه شود. همین تفاوت در محدوده خطا، سرنخ مهمی برای پیدا کردن علت آن است.
تفاوت خطای 403 با خطاهای 401 و 500 چیست؟
گاهی کدهای خطای HTTP با یکدیگر اشتباه گرفته میشوند، در حالی که علت و روش رفع آنها متفاوت است:
- 403 Forbidden: سرور دسترسی به منبع را ممنوع کرده است.
- 401 Unauthorized: معمولاً به احراز هویت یا اعتبار ورود مربوط میشود.
- 500 Internal Server Error: معمولاً نشاندهنده یک مشکل داخلی در اجرای درخواست روی سرور است.
- 404 Not Found: منبع موردنظر پیدا نشده است.
اگر مشکل شما به جای 403 با خطای 500 مواجه شده است، راهکارهای آن متفاوت است. برای آشنایی بیشتر میتوانید مقاله ارور 500 چیست؟ را نیز مطالعه کنید.
چرا خطای 403 در وردپرس رخ میدهد؟
403 یک خطای تکعلتی نیست و میتواند در لایههای مختلف سایت ایجاد شود. مهمترین علتها عبارتاند از:
- قوانین اشتباه یا خراب در فایل
.htaccess: در سرورهای Apache، قوانین این فایل میتوانند دسترسی به فایلها، پوشهها یا URLهای خاص را محدود کنند. - مجوزهای نادرست فایلها و پوشهها: اگر وبسرور اجازه خواندن یا دسترسی به فایل یا مسیر موردنظر را نداشته باشد، ممکن است پاسخ 403 ایجاد شود.
- افزونههای امنیتی و فایروال وردپرس: افزونههای امنیتی ممکن است IP، URL یا یک نوع درخواست را بهعنوان رفتار مشکوک شناسایی و مسدود کنند.
- تنظیمات ModSecurity یا WAF: فایروال سطح سرور یا هاست ممکن است یک درخواست معتبر را اشتباهاً بهعنوان درخواست مخرب تشخیص دهد.
- مسدود شدن IP: ممکن است IP شما به دلیل تلاشهای متعدد برای ورود، درخواستهای زیاد یا قوانین امنیتی مسدود شده باشد.
- تنظیمات CDN یا پراکسی: در سایتهایی که از CDN یا سرویسهای امنیتی واسط استفاده میکنند، ممکن است محدودیت در همان لایه ایجاد شده باشد.
- قوانین دسترسی وبسرور: تنظیمات Apache، Nginx یا سرویسهای امنیتی هاست میتوانند دسترسی به یک مسیر را محدود کنند.
- مالکیت نادرست فایلها: در برخی سرورها فقط بررسی Permission کافی نیست و Owner یا Group فایل نیز باید صحیح باشد.
- مشکل Directory Index: اگر مستقیماً یک پوشه را باز کنید و Directory Listing روی سرور غیرفعال باشد و فایل index قابلاستفادهای وجود نداشته باشد، سرور ممکن است دسترسی فهرست پوشه را ممنوع کند.
پیشنهاد مطالعه : معنی ارورهای 300 چیست ؟
قبل از رفع خطای 403 چه کاری انجام دهیم؟
قبل از تغییر فایلهای اصلی سایت، یک بکآپ کامل از فایلها و پایگاه داده تهیه کنید. اگر سایت در دسترس نیست، میتوانید از File Manager هاست یا FTP برای تهیه نسخه پشتیبان استفاده کنید.
همچنین ابتدا مشخص کنید خطای 403 دقیقاً کجا اتفاق میافتد:
- کل سایت
- فقط
/wp-admin - فقط
/wp-login.php - یک صفحه یا نوشته خاص
- یک فایل یا پوشه مشخص
- هنگام ذخیره یا ویرایش محتوا در پیشخوان
- فقط از یک اینترنت، دستگاه یا IP خاص
این بررسی ساده میتواند مسیر عیبیابی را بسیار کوتاهتر کند.
آموزش رفع خطای 403 Forbidden در وردپرس
روش اول: سایت را با اینترنت یا IP دیگری بررسی کنید
اگر سایت برای دیگران باز میشود اما شما خطای 403 دریافت میکنید، احتمال مسدود شدن IP شما یا اعمال یک قانون امنیتی روی درخواستهای شما وجود دارد.
- سایت را با اینترنت موبایل یا یک اتصال دیگر باز کنید.
- اگر VPN فعال است، آن را موقتاً غیرفعال کنید.
- اگر VPN ندارید، در صورت امکان با یک شبکه دیگر سایت را آزمایش کنید.
- اگر خطا فقط روی یک IP رخ میدهد، موضوع را با پشتیبانی هاست بررسی کنید.
اگر سایت با تغییر شبکه باز شد، احتمال اینکه مشکل از خود فایلهای وردپرس باشد کمتر است و باید تنظیمات فایروال، IP Block و سرویسهای امنیتی بررسی شوند.
روش دوم: کش مرورگر و CDN را بررسی کنید
گاهی یک پاسخ خطا در کش مرورگر یا لایه CDN باقی میماند و باعث میشود تصور کنید مشکل همچنان وجود دارد. ابتدا صفحه را در حالت Private یا Incognito باز کنید و سپس در صورت استفاده از CDN، وضعیت آن را بررسی کنید.
اگر با غیرفعال کردن موقت CDN خطا برطرف شد، لازم است قوانین Firewall، Access Rules و محدودیتهای امنیتی همان سرویس بررسی شود.
روش سوم: فایل .htaccess را بررسی و بازسازی کنید
اگر سایت روی Apache اجرا میشود، فایل .htaccess یکی از مهمترین مواردی است که باید بررسی شود. وردپرس از این فایل برای برخی تنظیمات بازنویسی URL و پیوندهای یکتا استفاده میکند و یک قانون اشتباه میتواند رفتار سایت را مختل کند. :contentReference[oaicite:1]{index=1}
نکته: اگر سرور شما Nginx است، .htaccess راهحل اصلی نیست و باید تنظیمات Nginx بررسی شود.
- با FTP یا File Manager هاست وارد پوشه اصلی وردپرس شوید.
- نمایش فایلهای مخفی را فعال کنید.
- فایل
.htaccessرا پیدا کنید. - قبل از هر تغییری از آن نسخه پشتیبان بگیرید.
- برای تست، به جای حذف دائمی، نام فایل را به چیزی مانند
.htaccess-backupتغییر دهید. - سایت را دوباره بررسی کنید.
- اگر مشکل برطرف شد و به پیشخوان دسترسی دارید، به مسیر
تنظیمات > پیوندهای یکتابروید و بدون تغییر تنظیمات روی «ذخیره تغییرات» کلیک کنید تا قوانین پیوندهای یکتا مجدداً تولید شوند.
مستندات رسمی وردپرس نیز بازسازی .htaccess را بهعنوان یکی از روشهای بررسی مشکلات مرتبط با این فایل معرفی میکنند. :contentReference[oaicite:2]{index=2}
پیشنهاد مطالعه : اصلاح فایل .htaccess
روش چهارم: مجوز فایلها و پوشههای وردپرس را بررسی کنید
مجوزهای اشتباه میتوانند مانع دسترسی صحیح وبسرور به فایلها و پوشههای وردپرس شوند. در یک نصب معمولی وردپرس، مقدار 755 برای بسیاری از پوشهها و 644 برای بسیاری از فایلها یک نقطه شروع رایج است؛ با این حال، Permission مناسب به ساختار سرور و مالکیت فایلها نیز وابسته است. :contentReference[oaicite:3]{index=3}
- پوشهها: معمولاً
755 - فایلها: معمولاً
644 - .htaccess: معمولاً
644 - wp-config.php: میتواند با Permission محدودتر مانند
600یا640نیز تنظیم شود، به شرط سازگاری با ساختار سرور.
هرگز صرفاً برای رفع 403 همه فایلها و پوشهها را روی 777 قرار ندهید. چنین کاری میتواند سطح امنیت سایت را بهشدت کاهش دهد. وردپرس نیز درباره خطر استفاده غیرضروری از مجوزهای بسیار باز هشدار میدهد. :contentReference[oaicite:4]{index=4}
روش پنجم: افزونههای وردپرس را موقتاً غیرفعال کنید
اگر خطای 403 بعد از نصب یا بهروزرسانی یک افزونه ایجاد شده، افزونهها یکی از نخستین مواردی هستند که باید بررسی شوند. افزونههای امنیتی و فایروالها بهطور ویژه میتوانند درخواستها یا IPهای خاص را مسدود کنند.
اگر به پیشخوان دسترسی ندارید، میتوانید از طریق File Manager یا FTP این کار را انجام دهید:
- وارد مسیر
wp-contentشوید. - نام پوشه
pluginsرا بهplugins-disabledتغییر دهید. - سایت را دوباره بررسی کنید.
- اگر خطا برطرف شد، نام پوشه را به
pluginsبرگردانید. - سپس افزونهها را از پیشخوان یکییکی فعال کنید تا افزونه مشکلساز مشخص شود.
وردپرس نیز غیرفعال کردن افزونهها را یکی از روشهای استاندارد برای تشخیص تداخل افزونهای معرفی میکند. :contentReference[oaicite:5]{index=5}
روش ششم: افزونههای امنیتی و قوانین Firewall را بررسی کنید
اگر افزونههای معمولی مشکلی ایجاد نکردند، بهطور ویژه تنظیمات افزونههای امنیتی را بررسی کنید. بعضی از این افزونهها میتوانند IP، مسیرهای خاص، درخواستهای POST یا رفتارهای مشکوک را مسدود کنند.
در چنین شرایطی مواردی مانند IP Block، Login Protection، Rate Limiting، Country Blocking، Firewall Rules و Allowlist/Whitelist را بررسی کنید.
همچنین توجه داشته باشید که برخی فایروالها قبل از رسیدن درخواست به وردپرس عمل میکنند؛ بنابراین ممکن است حتی با غیرفعال کردن افزونههای وردپرس نیز خطا باقی بماند. مستندات وردپرس نیز به نقش Firewall و سرویسهایی مانند ModSecurity در کنترل درخواستهای وب اشاره میکنند. :contentReference[oaicite:6]{index=6}
روش هفتم: قالب فعال را موقتاً با یک قالب پیشفرض جایگزین کنید
در مواردی که مشکل بعد از تغییر قالب یا کدهای سفارشی آن ایجاد شده است، قالب نیز باید بررسی شود.
- به مسیر
wp-content/themesبروید. - نام پوشه قالب فعال را تغییر دهید.
- مطمئن شوید یک قالب پیشفرض سازگار با نسخه وردپرس در سایت وجود دارد.
- سایت را دوباره بررسی کنید.
اگر بعد از این تغییر خطای 403 از بین رفت، احتمالاً مشکل به قالب، فایلهای آن یا تنظیمات امنیتی مرتبط با قالب مربوط بوده است.
روش هشتم: اگر فقط /wp-admin خطای 403 میدهد
اگر صفحه اصلی سایت باز میشود اما هنگام ورود به /wp-admin یا /wp-login.php با 403 مواجه میشوید، عیبیابی باید هدفمندتر باشد.
- IP خود را با یک اینترنت دیگر آزمایش کنید.
- قوانین افزونه امنیتی را بررسی کنید.
- فایلهای
.htaccessدر ریشه سایت و در صورت وجود فایلهای سفارشی در مسیرهای مدیریتی را بررسی کنید. - تنظیمات Firewall و ModSecurity هاست را بررسی کنید.
- لاگ خطای سرور را بررسی کنید تا مشخص شود درخواست دقیقاً توسط کدام لایه مسدود شده است.
اگر 403 فقط برای حساب کاربری یا یک IP خاص رخ میدهد، احتمال وجود محدودیت دسترسی یا Rule امنیتی بیشتر است.
روش نهم: ModSecurity و WAF هاست را بررسی کنید
گاهی اوقات وردپرس کاملاً سالم است اما WAF یا ModSecurity یک درخواست را به اشتباه خطرناک تشخیص میدهد و پاسخ 403 برمیگرداند. این اتفاق میتواند هنگام ذخیره نوشته، ویرایش محصول، آپلود فایل یا ارسال درخواستهای خاص در پیشخوان رخ دهد.
اگر تمام راهکارهای مربوط به وردپرس را امتحان کردهاید اما خطا باقی است، از پشتیبانی هاست بخواهید Server Error Logs، ModSecurity Logs و قوانین Firewall را بررسی کنند.
روش دهم: مالکیت فایلها را بررسی کنید
Permission تنها عامل دسترسی به فایل نیست. در برخی سرورها، مالکیت یا Group فایلها نیز اهمیت دارد. اگر فایلهای سایت با کاربر متفاوتی ایجاد یا منتقل شده باشند، ممکن است وبسرور نتواند به شکل صحیح به آنها دسترسی پیدا کند.
در این وضعیت بهتر است به جای تغییر تصادفی Permission، از پشتیبانی هاست بخواهید Owner و Group فایلهای وردپرس را بررسی کند.
روش یازدهم: لاگ خطای سرور را بررسی کنید
اگر هنوز علت خطای 403 مشخص نشده، لاگ سرور یکی از ارزشمندترین منابع برای پیدا کردن علت واقعی است. پیام مرورگر معمولاً فقط میگوید «Forbidden»، اما لاگ سرور میتواند مشخص کند کدام Rule، فایل، ماژول یا سرویس درخواست را مسدود کرده است.
در پنلهایی مانند cPanel معمولاً میتوانید بخشهایی مانند Error Logs یا لاگهای مربوط به دامنه را بررسی کنید. اگر به این اطلاعات دسترسی ندارید، پشتیبانی هاست میتواند آن را بررسی کند.
روش دوازدهم: اگر مشکل از Nginx است، تنظیمات Nginx را بررسی کنید
یکی از اشتباهات رایج هنگام رفع 403 این است که همه مشکلات را به .htaccess نسبت دهیم. این فایل مربوط به Apache است و در Nginx مورد استفاده قرار نمیگیرد.
اگر سایت شما روی Nginx یا معماری ترکیبی Nginx و Apache اجرا میشود، باید تنظیمات Server Block، Location، دسترسی مسیرها و قوانین مربوط به فایلهای استاتیک و PHP بررسی شوند. در چنین شرایطی تغییر .htaccess ممکن است هیچ اثری نداشته باشد.
آیا نبودن index.php باعث خطای 403 میشود؟
ممکن است هنگام باز کردن مستقیم یک پوشه، با 403 مواجه شوید؛ اما این موضوع لزوماً به معنی خراب بودن سایت یا نیاز به ساخت یک فایل خالی index.php نیست.
در بسیاری از سرورها، نمایش فهرست محتویات یک پوشه به دلایل امنیتی غیرفعال است. بنابراین اگر پوشه فایل index قابلاستفاده نداشته باشد، سرور ممکن است اجازه مشاهده فهرست آن را ندهد. ساختن فایل خالی index.php باید فقط زمانی انجام شود که ساختار برنامه یا افزونه واقعاً به چنین فایلی نیاز داشته باشد و نباید آن را یک راهحل عمومی برای تمام خطاهای 403 در نظر گرفت.
اگر هیچکدام از روشها جواب نداد چه کنیم؟
اگر پس از بررسی .htaccess، Permissionها، افزونهها، قالب، IP و تنظیمات امنیتی همچنان خطای 403 باقی است، احتمالاً مشکل در سطح سرور یا شبکه قرار دارد.
- با پشتیبانی هاست تماس بگیرید.
- آدرس دقیق صفحهای که 403 میدهد را ارسال کنید.
- زمان تقریبی رخ دادن خطا را اعلام کنید.
- بگویید آیا خطا برای همه کاربران رخ میدهد یا فقط IP شما.
- از پشتیبانی بخواهید Error Log و Firewall/ModSecurity Log را بررسی کند.
- اگر CDN یا WAF خارجی دارید، آن لایه را نیز بررسی کنید.
اگر پشتیبانی هاست اعلام کرد درخواست در سطح سرور مسدود نشده است، مرحله بعد بررسی دقیق افزونههای امنیتی، تنظیمات CDN و کدهای سفارشی سایت است.
چکلیست سریع رفع خطای 403 وردپرس
- بررسی کنید خطا در کل سایت رخ میدهد یا فقط یک URL.
- سایت را با اینترنت یا IP دیگری آزمایش کنید.
- VPN و CDN را موقتاً بررسی یا غیرفعال کنید.
- از فایلها و دیتابیس بکآپ بگیرید.
- در Apache، فایل
.htaccessرا بررسی کنید. - Permission فایلها و پوشهها را بررسی کنید.
- افزونهها را موقتاً غیرفعال کنید.
- افزونههای امنیتی و قوانین Firewall را بررسی کنید.
- قالب فعال را برای تست غیرفعال کنید.
- Owner و Group فایلها را بررسی کنید.
- در صورت استفاده از Nginx، تنظیمات Nginx را بررسی کنید.
- در نهایت Error Log و ModSecurity/WAF را از هاست بخواهید.
چطور از تکرار خطای 403 در وردپرس جلوگیری کنیم؟
- وردپرس، قالبها و افزونهها را بهروز نگه دارید.
- افزونههای بلااستفاده را حذف کنید.
- از ایجاد تغییرات بدون بکآپ در فایل
.htaccessخودداری کنید. - از Permissionهای بیش از حد باز مانند
777استفاده نکنید. - تنظیمات Firewall را بعد از هر تغییر مهم بررسی کنید.
- برای سایتهای حساس، مانیتورینگ و بکآپ منظم داشته باشید.
- پس از مشاهده خطای ناگهانی، به جای تغییر همزمان چند تنظیم، هر بار فقط یک مورد را آزمایش کنید تا علت دقیق مشخص شود.
جمعبندی؛ بهترین راه رفع خطای 403 در وردپرس چیست؟
خطای 403 Forbidden در وردپرس به معنای ممنوع بودن دسترسی به یک منبع از طرف سرور است و لزوماً به معنی خراب بودن وردپرس نیست. علت میتواند از یک قانون اشتباه در .htaccess یا Permission نامناسب شروع شود و تا افزونه امنیتی، مسدود شدن IP، ModSecurity، WAF، CDN یا تنظیمات وبسرور ادامه پیدا کند.
بهترین روش این است که ابتدا محدوده خطا را مشخص کنید، سپس موارد ساده مانند IP، کش و افزونهها را بررسی کنید و بعد سراغ فایلهای دسترسی، Permissionها و تنظیمات سرور بروید. اگر مشکل در سطح هاست باشد، بررسی Server Logs معمولاً سریعترین مسیر برای پیدا کردن علت واقعی است.
پیشنهاد میکنیم برای رفع مشکلات سایت خود از خدمات تخصصی پشتیبانی وبسایت شخصی و فروشگاهی در مجموعه پرشیا وب استفاده نمایید.
[1]: https://developer.wordpress.org/advanced-administration/server/web-server/httpd/?utm_source=chatgpt.com “Apache HTTPD / .htaccess – Advanced Administration Handbook | Developer.WordPress.org”
بنیامین ولادوست، بنیانگذار و مدیر تیم تخصصی پرشیا وب، بیش از یک دهه تجربه حرفهای در عرصۀ طراحی وبسایت، سئو، تولید محتوا، فروش رپورتاژ و بکلینک دارد. او با ترکیب دانش فنی و درک عمیق از رفتار کاربران، به برندها و کسبوکارها کمک میکند تا نهتنها ظاهر دیجیتال قدرتمندی داشته باشند، بلکه در نتایج جستجوی گوگل هم بدرخشند.
از سال ۲۰۱۳ فعالیت حرفهای خود را در حوزه طراحی وب آغاز کرد و تاکنون بیش از 300 پروژه طراحی سایت و بهینهسازی سئو در صنایع مختلف اجرا کرده است. تجربه عملی او در پروژههای واقعی، به ویژه در کسبوکارهای ایرانی، موجب شده است بتواند راهکارهایی کاملاً کاربردی و بومی برای رشد آنلاین ارائه دهد.
طراحی و توسعه وبسایتهای شرکتی، فروشگاهی و شخصی با تمرکز بر سرعت، امنیت و تجربه کاربری (UX)
استراتژیهای سئو فنی، on-page و off-page برای افزایش رتبه در نتایج گوگل
تحلیل رقبا، تحقیق کلمات کلیدی و اجرای کمپینهای تولید محتوا
مشاوره و اجرای رپورتاژ آگهی و لینکسازی هدفمند برای بهبود اعتبار دامنه
طراحی کمپینهای دیجیتال مارکتینگ یکپارچه برای برندهای نوپا و فعال
مطالب آموزشی و مقالات سئویی که توسط بنیامین ولادوست در وبلاگ “پرشیا وب” منتشر میشوند، بر پایه جدیدترین الگوریتمهای گوگل و استانداردهای جهانی تدوین شدهاند. او به عنوان متخصص مورد اعتماد در حوزه دیجیتال مارکتینگ، تاکنون در بیش از ۲۰ مجموعه آموزشی و ورکشاپ تخصصی سخنرانی و تدریس داشته است. بسیاری از کسبوکارهای آنلاین موفق، مسیر رشد خود را با آموزشها و راهنماییهای او آغاز کردهاند.
تمام راهکارها و خدماتی که توسط بنیامین ولادوست و تیم “پرشیا وب” ارائه میشوند، بر پایه صداقت، شفافیت و تحلیل دادههای واقعی بنا شدهاند. هدف او ارائه مشاورهای است که نه بر اساس تبلیغات، بلکه بر پایه داده و عملکرد واقعی کسبوکارها باشد.