حتما برای شما هم پیش آمده است. هنگامی که یک URL درخواست شده از طرف شما در شبکه یافت نشود، خطای ۴۰۴ توسط سرور شما ایجاد می شود. این مقاله به شما کمک خواهد کرد که تصمیم بگیرید که چه اقداماتی باید برای رفع این خطا در وردپرس انجام دهید.
خطای Not found 404
اولین واکنشی که اکثر افراد بعد از مشاهده خطای ۴۰۴ نشان می دهند، این است که به طور مکرر اقدام به بازنشانی صفحه مورد نظر می کنند. اما این کار هیچ تغییری در اصل خطا به وجود نمی آورد و باز هم با همان خطا رو به رو خواهید شد.
البته بازنشانی مکرر آدرس صفحه مورد نظر و بروز چند باره خطای ۴۰۴ می تواند در نتایج موتور جستجو شما تاثیرات بدی ایجاد کند. پس فعلا دست نگه دارید و هیچ کاری نکنید!
Google Webmaster Tools ابزاری است که به ما نتایجی در این باره می دهد. بر این اساس؛ بازگشت یک کد دیگر از ۴۰۴ یا ۴۱۰ برای یک صفحه غیر موجود (یا بازنشانی صفحه به وسیله کاربران به یک صفحه دیگر، مانند صفحه اصلی به جای بازگرداندن ۴۰۴) می تواند مشکل ساز باشد.
در ابتدا یک صفحه مانند این خطا (به نام “soft” 404) به موتورهای جستجو می گوید که یک صفحه واقعی در آن URL وجود دارد. در نتیجه، این URL ممکن است به اصطلاح کروول( crawled ) شود و محتوای آن نیز برای موتور جستجو ایندکس شود. این یعنی موتور جستجو صفحه مورد نظر را خوانده و برای نتایج جستجوی مرتبط نشان می دهد.
به دلیل زمانی که Googlebot (ربات های گوگل) برای صفحات غیر موجود سایت شما صرف می کنند، ممکن است URL های منحصر به فرد شما به سرعت دیده نشود و یا اغلب بازدید نشود؛ همچنین پوشش crawl سایت شما ممکن است تحت تاثیر قرار گیرد. در نتیجه اگر شما نمی خواهید رنکینگ سایت خود و اعتبار آن را از دست بدهید باید تمامی خطاهای ۴۰۴ (فایل یافت نشد) را از سایتتان رفع کنید!
اینجا اولین چیزی که از خودتان بپرسید این است: آیا خطای ۴۰۴ همیشه وجود دارد و از بین نمی رود؟
جواب خیر است و شما می توانید به وسیله روش هایی اقدام به رفع این خطا از سایت وردپرسی خود کنید. اگر این کار را انجام دهید و دامنه یا ساختار URL خود را تغییر دهید، باید برای هدایت و بازنشانی کاربران و موتورهای جستجو به صفحه های مناسب سایت، اقداماتی انجام دهید.
عیب یابی و رفع خطای ۴۰۴ در ورد پرس
سایت های وردپرسی می توانند روند عیب یابی خطای ۴۰۴ را پیچیده کنند. ولی چرا؟ وردپرس یک سیستم مدیریت محتوا است که آرایه های بازنویسی خود را به عنوان بخشی از ویژگی های permalink خود پردازش می کند.
اولین گام برای حل مشکل ۴۰۴ این است که بفهمیم ۴۰۴ توسط سرور وب ایجاد می شود یا وردپرس باعث ایجاد آن است.
فایل Static
اگر فایل شما staticاست (به عنوان مثال یک تصویر با فرمت JPG است)، سرویس گیرنده FTP خود را باز کرده و تایید کنید که فایل وجود دارد.http://mydomain.com/wp-content/uploads/picture.jpg برای مثال آدرس بالا یک خطای ۴۰۴ در سایت شما تولید می کند. شما باید برای رفع اقدامات زیر را انجام دهید:
- سرویس گیرنده FTP را باز کنید و به سرور سایت خود متصل شوید.
- به محل فایل مورد نظر بروید.
- تأیید کنید که فایل وجود دارد.
- اگر فایل وجود ندارد، شما منبع ۴۰۴ خود را پیدا کرده اید.
- این کار را برای ادامه دهید تا بفهمید که منبع خطای شما ورد پرس است یا سرور وب.
حال در FTP دو فایل در [/var/www/yourdomain.com/] برای تست دوباره ایجاد کنید.ابتدا یک فایل HTML با نام test.html ایجاد کنید که دارای کلمات «It worked» است. پس از آپلود آن، به سربرگ http://yourdomain.com/test.html بروید.اگر شما “It worked” را می بینید، سرور فایل های استاتیک را به درستی پردازش می کند. بنابراین احتمالا در وردپرس مشکل شما وجود دارد.
در روش دوم شما باید یک فایل PHP با نام test.php ایجاد کنید که شامل موارد زیر است:
<?php echo 'It works in PHP'; ?>
پس از آپلود به http://yourdomain.com/test.php بروید. اگر “It works in PHP” را نشان می دهد؛ پس PHP نیز به درستی کار می کند، بنابراین احتمالا مشکل شما در وردپرس است.
رفع خطای ۴۰۴ در وردپرس
وردپرس یک آرایه بازنویسی ایجاد می کند که مسئول مدیریت پیوندهای مجاز یا “pretty URLs” است. افزونه های ناخواسته ی کدگذاری شده، انواع پست های سفارشی و تغییرات طبقه بندی شده می توانند آرایه permalink را شکسته یا خراب کنند، در نتیجه ۴۰۴ ایجاد می شود.
رفع سریع خطا: permalink ها را دوباره ذخیره کنید.
شما می توانید ساختار آرایه permalink را با رفتن به تب permalink در wp-admin را تنظیم مجدد و ذخیره کنید. ( به آدرس پیشخوان وردپرس → تنظیمات → پیوند های یکتا رفته و روی “ذخیره تنظیمات” کلیک کنید.)حال URLخود را تست کنید؛ اگر خطای ۴۰۴ از بین برود، مشخص می شود چیزی باعث ایجاد مشکل در ساختار permalink شما شده است.اغلب تنظیمات سریع برای رفع ۴۰۴ کافی است. با این حال، اگر آنها بازگشتند، باید به مرحله عیب یابی بعدی بروید.
علت را پیدا کنید!
اگر رفع سریع کار نکند یا دوباره ۴۰۴ را ببینید، باید سعی کنید افزونه هایی را که مجددا هدایت (redirect) می شوند را غیرفعال کنید یا افزونه های سفارشی ایجاد کنید. سپس از یک دیباگر (رفع کننده باگ debugger) برای مشاهده آرایه بازنویسی و تأیید اینکه قوانین بازنویسی مسئول پردازش نشانی اینترنتی ( URL ) شما در محل نیست؛ استفاده کنید.
برای انجام این کار افزونه Debug این را نصب کنید که به راحتی می توانید ببینید که در واقع چه چیزی در آرایه بازنویسی وردپرس است. هنگامی که این افزونه نصب و فعال شد، به سایت خود بروید. سپس به آدرس زیر بروید:
Homepage → Admin Bar → Debug This → Query → Rewrites
شما باید بر روی صفحه ای که حاوی قوانین بازنویسی در سمت چپ است؛ بروید. رشته PHP واقعی در سمت راست بازنویسی می شود.
اگر با رعایت تمامی موارد گفته شده در مقاله باز هم خطای ۴۰۴ از بین نرود، شما باید با یک مجموعه متخصص پشتیبانی تماس بگیرید. جهت رفع این خطا و یا سایر مشکلات سایت خود می توانید با ما در ارتباط باشید.