خطای ۴۰۴ یا «صفحه یافت نشد» (Page Not Found) یکی از رایجترین خطاهایی است که کاربران اینترنت با آن مواجه میشوند. این خطا زمانی رخ میدهد که سرور نمیتواند صفحهای را که کاربر درخواست کرده است، پیدا کند. در وردپرس، این مشکل معمولاً به دلیل مشکلات در پیوندهای یکتا (Permalinks) رخ میدهد. وجود صفحات ۴۰۴ زیاد در سایت شما میتواند تجربه کاربری را مختل کرده و تأثیر منفی بر سئوی سایت داشته باشد. در این مقاله به شما نشان میدهیم که چگونه این مشکل را به سادگی برطرف کنید.
چرا خطای ۴۰۴ در وردپرس رخ میدهد؟
شایعترین دلیل بروز خطای ۴۰۴ در وردپرس، مشکل در فایل .htaccess و قوانین بازنویسی (Rewrite Rules) آن است. این فایل که در ریشه هاست شما قرار دارد، به سرور میگوید که چگونه URLهای زیبای وردپرس (پیوندهای یکتا) را به فایلهای واقعی تبدیل کند. اگر این فایل حذف شده باشد، خراب شده باشد یا دسترسیهای لازم را نداشته باشد، وردپرس نمیتواند مسیر صحیح صفحات را پیدا کند و خطای ۴۰۴ نمایش میدهد. دلایل دیگر میتواند شامل حذف یک نوشته یا برگه، تغییر آدرس آن بدون ایجاد ریدایرکت، یا تداخل با یک افزونه یا قالب باشد.
بازنشانی پیوندهای یکتا
در ۹۹٪ موارد، حل مشکل خطای ۴۰۴ در وردپرس بسیار ساده است و تنها با یک بازنشانی ساده پیوندهای یکتا انجام میشود. این کار باعث میشود وردپرس فایل .htaccess را با قوانین صحیح بازنویسی، را بازسازی کند.
برای این کار مراحل زیر را طی کنید:
- از پیشخوان وردپرس، به منوی «تنظیمات» > «پیوندهای یکتا» بروید.
- در این صفحه، هیچ تغییری ایجاد نکنید. فقط کافیست یک بار روی دکمه «ذخیرهٔ تغییرات» در پایین صفحه کلیک کنید.
با انجام این کار، وردپرس فایل .htaccess را بازسازی میکند. حالا به صفحهای که خطای ۴۰۴ میداد بروید و آن را رفرش کنید. به احتمال زیاد مشکل شما حل شده است.
ویرایش فایل .htaccess
اگر راه حل بالا جواب نداد، ممکن است وردپرس نتواند به دلیل مشکلات دسترسی (Permissions)، فایل .htaccess را ویرایش کند. در این صورت باید این کار را به صورت دستی انجام دهید. با استفاده از مدیریت فایل هاست خود یا یک کلاینت FTP، به ریشه سایت وردپرسی خود بروید و فایل .htaccess را پیدا کنید. (اگر آن را نمیبینید، مطمئن شوید که نمایش فایلهای مخفی فعال است). فایل را برای ویرایش باز کرده و تمام محتوای آن را با کد پیشفرض وردپرس جایگزین کنید:
# BEGIN WordPress
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]
# END WordPressفایل را ذخیره کنید و دوباره سایت را بررسی کنید.
جلوگیری از خطاهای ۴۰۴ در آینده
برای جلوگیری از این خطاها، هرگز یک نوشته یا برگه پربازدید را حذف نکنید. اگر نیاز به تغییر آدرس (URL) یک صفحه دارید، حتما از یک ریدایرکت ۳۰۱ برای هدایت آدرس قدیمی به آدرس جدید استفاده کنید. افزونههایی مانند «Redirection» میتوانند این کار را به صورت خودکار برای شما انجام دهند.
