خانه وردپرس و سایت‌سازها چگونه خطای 401 در وردپرس را برطرف کنیم؟ (6 راه حل)
تاریخ به‌روزرسانی : 1398/06/30
به قلم : شهاب بیرامی
زمان مطالعه : 6 دقیقه

🔒 خلاصه سریع (TL;DR)

خطای 401 Unauthorized در وردپرس یعنی درخواست شما احراز هویت نشده است. دلایل رایج: کوکی/کش مرورگر، تنظیمات اشتباه .htaccess، تداخل افزونه امنیتی، یا مشکل Cloudflare/WAF. با پاک کردن کش مرورگر شروع کنید، سپس .htaccess را ریست کنید. در ۸۵٪ موارد، یکی از این دو مشکل را حل می‌کند.

خطای 401 در وردپرس چیست؟

خطای 401 Unauthorized یک کد وضعیت HTTP است که نشان می‌دهد درخواست شما به سرور رسیده، اما سرور آن را رد کرده چون احراز هویت معتبر ندارید. این خطا معمولاً هنگام ورود به پیشخوان وردپرس، ذخیره پست، یا دسترسی به صفحات محدودشده رخ می‌دهد.

📊 کدهای خطای مشابه

  • 401 Unauthorized: احراز هویت لازم است یا نامعتبر است
  • 403 Forbidden: احراز هویت شدید اما دسترسی ندارید
  • 404 Not Found: صفحه وجود ندارد
  • 500 Internal Server Error: خطای داخلی سرور

دلایل رایج خطای 401

🍪

کوکی/کش مرورگر

کوکی‌های منقضی یا کش قدیمی مانع احراز هویت می‌شوند

📝

مشکل .htaccess

قوانین اشتباه یا خراب در فایل .htaccess

🛡️

افزونه امنیتی

Wordfence، Sucuri یا iThemes Security اشتباهاً شما را بلاک کرده

☁️

Cloudflare/WAF

فایروال ابری درخواست را مسدود کرده است

روش ۱: پاک کردن کش و کوکی مرورگر

ساده‌ترین و سریع‌ترین راه‌حل. کوکی‌های منقضی یا کش قدیمی می‌توانند باعث خطای 401 شوند.

مراحل در Chrome

  1. Ctrl + Shift + Delete را بزنید (یا از منو: More tools → Clear browsing data)
  2. Time range را روی All time بگذارید
  3. Cookies and other site data و Cached images and files را تیک بزنید
  4. روی Clear data کلیک کنید
  5. مرورگر را ببندید و دوباره باز کنید

⚠️ توجه: پاک کردن کوکی‌ها شما را از همه سایت‌ها خارج می‌کند. می‌توانید فقط کوکی‌های سایت خودتان را پاک کنید: به Settings → Privacy → Cookies → See all cookies بروید و دامنه سایت را جستجو کنید.

روش ۲: ریست کردن .htaccess

فایل .htaccess قوانین بازنویسی URL وردپرس را کنترل می‌کند. اگر خراب شده باشد، می‌تواند خطای 401 ایجاد کند.

مراحل ریست

  1. از طریق File Manager در کنترل پنل هاست یا FTP به پوشه root وردپرس بروید
  2. فایل .htaccess را پیدا کنید (ممکن است مخفی باشد - Show hidden files را فعال کنید)
  3. نام فایل را به .htaccess_backup تغییر دهید
  4. یک فایل جدید .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

نکته مهم: خط RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] برای حل مشکل Authorization header در برخی سرورها ضروری است.

روش ۳: غیرفعال کردن افزونه‌های امنیتی

افزونه‌های امنیتی مثل Wordfence، Sucuri Security، یا iThemes Security گاهی اشتباهاً درخواست‌های معتبر را بلاک می‌کنند.

از طریق FTP (اگر به پیشخوان دسترسی ندارید)

  1. به /wp-content/plugins/ بروید
  2. پوشه افزونه امنیتی را پیدا کنید (مثلاً wordfence)
  3. نام پوشه را تغییر دهید (مثلاً به wordfence_disabled)
  4. سایت را تست کنید
  5. اگر کار کرد، به تنظیمات افزونه بروید و قوانین را بررسی کنید

💡 راه‌حل جایگزین: در Wordfence به Firewall → Blocking بروید و IP خودتان را whitelist کنید. همچنین Learning Mode را فعال کنید تا افزونه رفتار عادی سایت را یاد بگیرد.

روش ۴: بررسی تنظیمات Cloudflare

اگر از Cloudflare استفاده می‌کنید، ممکن است قوانین امنیتی آن باعث خطای 401 شوند.

مراحل بررسی

  1. وارد داشبورد Cloudflare شوید
  2. به Security → WAF بروید
  3. لیست Blocked Requests را بررسی کنید
  4. اگر IP شما بلاک شده، آن را Whitelist کنید
  5. یک Page Rule برای wp-admin بسازید:
    • URL: yourdomain.com/wp-admin/*
    • Setting: Security Level = Essentially Off

روش ۵: بررسی سطح دسترسی فایل‌ها

سطح دسترسی نادرست فایل‌ها می‌تواند باعث خطای 401 شود. مقادیر استاندارد:

نوع سطح دسترسی توضیحات
پوشه‌ها 755 خواندن و اجرا برای همه، نوشتن فقط مالک
فایل‌ها 644 خواندن برای همه، نوشتن فقط مالک
wp-config.php 600 یا 640 محدودتر برای امنیت بیشتر

تنظیم با SSH

# تنظیم سطح دسترسی پوشه‌ها
find /path/to/wordpress -type d -exec chmod 755 {} \;

# تنظیم سطح دسترسی فایل‌ها
find /path/to/wordpress -type f -exec chmod 644 {} \;

# تنظیم wp-config.php
chmod 600 /path/to/wordpress/wp-config.php

روش ۶: بررسی REST API

در وردپرس ۵+، بخش ادیتور بلاک (Gutenberg) از REST API استفاده می‌کند. اگر REST API بلاک شده باشد، خطای 401 هنگام ذخیره پست رخ می‌دهد.

تست REST API

این آدرس را در مرورگر باز کنید:

https://yourdomain.com/wp-json/wp/v2/posts

اگر خطای 401 یا 403 دیدید، REST API بلاک شده. بررسی کنید:

  • افزونه‌های امنیتی که REST API را محدود می‌کنند
  • قوانین .htaccess که wp-json را بلاک می‌کنند
  • Cloudflare WAF rules

سوالات متداول

چرا فقط در wp-admin خطای 401 می‌گیرم؟

این معمولاً نشان‌دهنده مشکل در .htaccess، افزونه امنیتی، یا تنظیمات سرور است که فقط روی مسیر wp-admin اعمال شده. قوانین HTTP Authentication در .htaccess را بررسی کنید و افزونه‌های امنیتی را موقتاً غیرفعال کنید.

خطای 401 بعد از آپدیت وردپرس رخ داد. چه کنم؟

ابتدا .htaccess را ریست کنید (روش ۲). سپس به Settings → Permalinks بروید و بدون تغییر روی Save کلیک کنید. این کار .htaccess را بازسازی می‌کند. اگر حل نشد، کش سرور و افزونه کش را پاک کنید.

آیا خطای 401 روی سئو تأثیر می‌گذارد؟

اگر خطای 401 فقط در wp-admin باشد، روی سئو تأثیر ندارد چون گوگل به آن مسیر دسترسی ندارد. اما اگر صفحات عمومی 401 برگردانند، گوگل آنها را ایندکس نمی‌کند و رتبه‌بندی افت می‌کند.

چگونه از تکرار خطای 401 جلوگیری کنم؟

۱) از هاست معتبر با پشتیبانی خوب استفاده کنید. ۲) افزونه‌های امنیتی را با دقت تنظیم کنید و IP خودتان را whitelist کنید. ۳) قبل از آپدیت، بکاپ کامل بگیرید. ۴) از افزونه‌های کش معتبر استفاده کنید و تنظیمات را تست کنید.

تفاوت خطای 401 و 403 چیست؟

خطای 401 یعنی احراز هویت لازم است یا اطلاعات ورود نادرست است (می‌توانید با ورود صحیح دسترسی بگیرید). خطای 403 یعنی احراز هویت شدید اما مجوز دسترسی ندارید (حتی با ورود صحیح هم دسترسی ندارید).

هاست امن و پایدار برای وردپرس

با هاست وردپرس برتینا، از مشکلات امنیتی و خطاهای 401 خداحافظی کنید.

جمع‌بندی

خطای 401 در وردپرس معمولاً با روش‌های ساده قابل حل است. با پاک کردن کش مرورگر شروع کنید، سپس .htaccess را ریست کنید. اگر حل نشد، افزونه‌های امنیتی و تنظیمات Cloudflare را بررسی کنید.

برای جلوگیری از تکرار، از یک هاست وردپرس مطمئن با پشتیبانی فنی قوی استفاده کنید و افزونه‌های امنیتی را با دقت تنظیم کنید.

نظرات