خطا 404 چیست و چگونه آن را برطرف کنیم؟

 

خطای ۴۰۴ یکی از رایج ترین خطاهایی است که کاربران هنگام ورود به یک وب سایت با آن مواجه می شوند. احتمالا برای شما هم پیش آمده است که روی یک لینک کلیک کنید یا آدرس صفحه ای را در مرورگر وارد کنید، اما به جای محتوای مورد نظر با پیامی مانند 404 Not Found، Page Not Found یا «صفحه مورد نظر پیدا نشد» روبرو شوید.

این خطا معمولا به این معنا است که سرور وب سایت در دسترس است و درخواست کاربر را دریافت کرده، اما نمی تواند منبع یا صفحه ای را که کاربر درخواست کرده پیدا کند. بنابراین خطای ۴۰۴ لزوما به معنای خراب بودن کل سایت نیست و در بسیاری از مواقع فقط یک صفحه، فایل یا URL مشخص مشکل دارد.

در این مقاله بررسی می کنیم خطای ۴۰۴ دقیقا چیست، چه دلایلی باعث ایجاد آن می شوند، چگونه می توان آن را برای کاربران و مدیران سایت برطرف کرد و چه روش هایی برای جلوگیری از ایجاد خطاهای ۴۰۴ در آینده وجود دارد.

 

خطای ۴۰۴ چیست؟

کد وضعیت HTTP 404 یکی از کدهای استاندارد پروتکل HTTP است. زمانی که مرورگر یک درخواست برای مشاهده یک URL ارسال می کند، سرور باید مشخص کند که نتیجه درخواست چه بوده است. این نتیجه با استفاده از کدهای وضعیت HTTP اعلام می شود.

برای مثال، کد 200 معمولا نشان می دهد که درخواست با موفقیت انجام شده و محتوای مورد نظر در دسترس است. در مقابل، کد 404 به این معنا است که سرور نتوانسته منبع مورد درخواست را پیدا کند.

برای مثال فرض کنید آدرس زیر در یک سایت وجود ندارد:

https://example.com/blog/web-hosting-guide

اگر کاربر این URL را باز کند و سرور هیچ صفحه یا منبعی با این مسیر پیدا نکند، ممکن است پاسخ زیر را دریافت کند:

HTTP/1.1 404 Not Found

نکته مهم این است که خطای ۴۰۴ با خطای قطع بودن سرور تفاوت دارد. در خطای ۴۰۴، معمولا سرور در دسترس است اما صفحه یا فایل مورد درخواست پیدا نشده است.

به همین دلیل اگر فقط یکی از صفحات سایت خطای ۴۰۴ نشان می دهد، احتمالا مشکل در URL، ساختار لینک ها، حذف شدن صفحه یا تنظیمات سایت است و نیازی نیست تصور کنیم کل سرور یا سایت از کار افتاده است.

 

خطای 404 چیست

 

چه عواملی باعث ایجاد خطای ۴۰۴ می شوند؟

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

دلیل دیگر، تغییر URL صفحه است. برای مثال ممکن است آدرس یک مقاله از:

example.com/blog/wordpress-guide

به:

example.com/blog/wordpress-tutorial

تغییر کند. اگر برای URL قبلی ریدایرکت ایجاد نشده باشد، کاربرانی که آدرس قدیمی را باز می کنند با خطای ۴۰۴ مواجه خواهند شد.

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

در سایت های وردپرسی، تغییر ساختار پیوندهای یکتا، نصب یا حذف افزونه ها، تغییر تنظیمات سرور و برخی مشکلات مربوط به فایل .htaccess نیز می توانند باعث ایجاد خطای ۴۰۴ شوند.

در سایت های بزرگ، مشکل می تواند پیچیده تر باشد. برای مثال ممکن است یک فروشگاه اینترنتی هزاران محصول داشته باشد و تعدادی از محصولات حذف شوند. اگر لینک های داخلی سایت یا لینک های خارجی همچنان به صفحات حذف شده اشاره کنند، تعداد زیادی URL دارای خطای ۴۰۴ ایجاد می شود.

 

تفاوت خطای ۴۰۴ با خطاهای ۴۰۳، ۵۰۰ و ۵۰۳ چیست؟

گاهی کاربران خطاهای مختلف HTTP را با یکدیگر اشتباه می گیرند، در حالی که هر کدام مفهوم متفاوتی دارند.

کد 404 یعنی منبع مورد درخواست پیدا نشده است.

کد 403 Forbidden معمولا به این معنا است که سرور درخواست را دریافت کرده اما اجازه دسترسی به منبع مورد نظر را نمی دهد.

کد 500 Internal Server Error معمولا نشان دهنده یک خطای داخلی در سمت سرور یا برنامه است.

کد 503 Service Unavailable نیز معمولا زمانی مشاهده می شود که سرویس مورد نظر موقتا در دسترس نیست؛ برای مثال به دلیل تعمیرات، بار سنگین سرور یا مشکلات سرویس های زیرساختی.

بنابراین روش عیب یابی این خطاها نیز متفاوت است. برای خطای ۴۰۴ ابتدا باید وجود صفحه و صحت URL بررسی شود، در حالی که برای خطاهای ۵۰۰ و ۵۰۳ معمولا باید لاگ های سرور، برنامه و سرویس های مرتبط بررسی شوند.

 

چگونه خطای ۴۰۴ را برای کاربر برطرف کنیم؟

اگر هنگام ورود به یک سایت با خطای ۴۰۴ مواجه شده اید، اولین کاری که باید انجام دهید بررسی URL است. آدرس را بررسی کنید و مطمئن شوید که هیچ حرف یا کاراکتری اشتباه وارد نشده است.

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

گاهی اوقات صفحه حذف نشده است و فقط URL آن تغییر کرده است. در چنین شرایطی جستجوی عنوان مقاله یا محصول در گوگل یا جستجوی داخلی سایت می تواند شما را به آدرس جدید هدایت کند.

اگر یک سایت خاص فقط در یک دستگاه یا مرورگر خطای غیر عادی نشان می دهد، پاک کردن کش مرورگر نیز می تواند ارزش امتحان کردن داشته باشد؛ هرچند در بیشتر موارد خطای واقعی ۴۰۴ از سمت سرور یا ساختار URL ایجاد شده است و پاک کردن کش مشکل اصلی را برطرف نمی کند.

 

چگونه خطای ۴۰۴ را در سایت خودمان برطرف کنیم؟

اگر مدیر یک سایت هستید، اولین مرحله پیدا کردن URL دقیق دارای خطا است. بدون دانستن URL، تشخیص علت مشکل دشوار خواهد بود.

بعد از پیدا کردن URL باید مشخص شود که آیا صفحه مورد نظر هنوز باید وجود داشته باشد یا خیر.

اگر صفحه باید وجود داشته باشد، باید بررسی کنید چرا سرور نمی تواند آن را پیدا کند. ممکن است فایل حذف شده باشد، مسیر صفحه تغییر کرده باشد یا تنظیمات سیستم مدیریت محتوا دچار مشکل شده باشد.

اگر صفحه عمدا حذف شده است اما URL قدیمی بازدید یا ارزش سئو دارد، معمولا بهتر است به جای نمایش دائمی صفحه ۴۰۴، کاربر را به یک صفحه مرتبط هدایت کنید.

برای این کار می توان از ریدایرکت ۳۰۱ استفاده کرد. ریدایرکت ۳۰۱ به موتورهای جستجو و مرورگر اعلام می کند که URL مورد نظر به صورت دائمی به آدرس دیگری منتقل شده است.

برای مثال اگر مقاله ای از:

example.com/old-page

به:

example.com/new-page

منتقل شده است، می توان URL قدیمی را با وضعیت ۳۰۱ به URL جدید هدایت کرد.

این روش علاوه بر بهبود تجربه کاربری، در بسیاری از سناریوهای تغییر URL به حفظ سیگنال های سئو و جلوگیری از ایجاد صفحات مرده کمک می کند.

 

چگونه خطای 404 را در سایت خودمان برطرف کنیم

 

رفع خطای ۴۰۴ در وردپرس

در وردپرس، یکی از اولین مواردی که باید بررسی شود بخش پیوندهای یکتا است.

در پیشخوان وردپرس می توانید وارد بخش تنظیمات و سپس پیوندهای یکتا شوید. در برخی شرایط، حتی بدون تغییر دادن تنظیمات، ذخیره مجدد ساختار پیوندهای یکتا می تواند قوانین بازنویسی URL را مجددا ایجاد کند.

البته اگر خطای ۴۰۴ مربوط به یک صفحه خاص باشد، صرفا ذخیره مجدد پیوندهای یکتا همیشه مشکل را حل نمی کند.

در مرحله بعد باید مواردی مانند افزونه های مدیریت URL، افزونه های کش، افزونه های سئو، تنظیمات ریدایرکت و فایل .htaccess بررسی شوند.

اگر سایت از Apache استفاده می کند، فایل .htaccess نقش مهمی در بازنویسی URL ها دارد. خراب شدن یا تغییر نادرست این فایل می تواند باعث شود مسیرهای وردپرس به درستی پردازش نشوند.

در سایت های Nginx نیز تنظیمات مربوط به rewrite و پیکربندی PHP و WordPress باید بررسی شوند.

همچنین اگر اخیرا سایت را از یک هاست به هاست دیگر منتقل کرده اید، تغییر تنظیمات وب سرور، Document Root، نسخه PHP یا پیکربندی Nginx و Apache می تواند یکی از عوامل ایجاد مشکل باشد.

 

بررسی خطاهای ۴۰۴ از طریق ابزارهای سئو

اگر سایت شما تعداد زیادی صفحه دارد، بررسی دستی URL ها تقریبا غیر ممکن است. در چنین شرایطی استفاده از ابزارهای مانیتورینگ و سئو بسیار مفید است.

ابزارهایی مانند Google Search Console می توانند URL هایی را که گوگل هنگام خزش سایت با مشکل مواجه شده است، نشان دهند. با بررسی این گزارش ها می توانید متوجه شوید چه صفحاتی دارای مشکل هستند و آیا این خطاها از لینک های داخلی، لینک های خارجی یا تغییرات ساختاری سایت ناشی شده اند.

البته مشاهده یک URL دارای وضعیت ۴۰۴ در Search Console لزوما به این معنا نیست که باید آن را اصلاح کنید. اگر صفحه عمدا حذف شده و هیچ جایگزین مناسبی ندارد، وجود پاسخ ۴۰۴ می تواند کاملا طبیعی باشد.

مشکل زمانی جدی تر می شود که صفحات مهم سایت، صفحات دارای بک لینک، صفحات محصول یا URL هایی که کاربران هنوز به آنها نیاز دارند، بدون دلیل با خطای ۴۰۴ مواجه شوند.

 

آیا خطای ۴۰۴ برای سئو بد است؟

وجود چند صفحه ۴۰۴ در یک سایت به خودی خود فاجعه سئویی محسوب نمی شود. وب سایت ها به مرور زمان تغییر می کنند، صفحات حذف می شوند و URL ها تغییر می کنند. بنابراین وجود تعداد محدودی URL با پاسخ ۴۰۴ کاملا طبیعی است.

مشکل زمانی ایجاد می شود که تعداد زیادی لینک داخلی خراب در سایت وجود داشته باشد یا صفحات مهم بدون دلیل به ۴۰۴ تبدیل شوند.

برای مثال تصور کنید یک فروشگاه اینترنتی لینک ۱۰۰ صفحه محصول را در دسته بندی های خود قرار داده باشد اما ۳۰ مورد از این محصولات حذف شده باشند. اگر لینک های دسته بندی همچنان به محصولات حذف شده اشاره کنند، کاربران دائما وارد صفحات ۴۰۴ می شوند.

این موضوع تجربه کاربری را کاهش می دهد و باعث می شود موتورهای جستجو نیز با لینک های غیر مفید زیادی مواجه شوند.

بنابراین هدف اصلی نباید حذف تمام خطاهای ۴۰۴ به هر قیمت باشد؛ بلکه باید ۴۰۴ های غیر ضروری و قابل جلوگیری را شناسایی و اصلاح کرد.

 

چگونه از ایجاد خطای ۴۰۴ جلوگیری کنیم؟

پیشگیری از خطای ۴۰۴ معمولا بسیار بهتر از اصلاح تعداد زیادی URL خراب در آینده است.

قبل از تغییر URL صفحات مهم، ساختار جدید را مشخص کنید و برای URL قبلی ریدایرکت ۳۰۱ ایجاد کنید. هنگام حذف صفحات نیز بررسی کنید آیا صفحه جایگزین مرتبطی وجود دارد یا خیر.

لینک های داخلی سایت را نیز به صورت دوره ای بررسی کنید. اگر صفحه ای حذف شده، تمام لینک هایی که به آن اشاره می کنند باید اصلاح یا حذف شوند.

در سایت های بزرگ بهتر است یک فرایند مشخص برای مدیریت URL ها وجود داشته باشد. تغییر نام دسته بندی ها، محصولات و مقالات نباید بدون بررسی تاثیر آنها روی لینک های داخلی، بک لینک ها و موتورهای جستجو انجام شود.

همچنین بهتر است پیش از انتشار تغییرات بزرگ، سایت روی یک محیط آزمایشی بررسی شود. این موضوع به ویژه هنگام تغییر CMS، مهاجرت سرور یا تغییر ساختار URL اهمیت زیادی دارد.

 

چگونه از ایجاد خطای 404 جلوگیری کنیم

 

صفحه ۴۰۴ اختصاصی چه کاربردی دارد؟

یکی از کارهای حرفه ای برای مدیریت خطای ۴۰۴، طراحی یک صفحه ۴۰۴ اختصاصی است.

صفحه پیش فرض ۴۰۴ معمولا اطلاعات زیادی در اختیار کاربر قرار نمی دهد. اما یک صفحه ۴۰۴ حرفه ای می تواند شامل عنوان واضح، توضیح کوتاه، لینک صفحه اصلی، جستجوی داخلی سایت و پیشنهاد صفحات مرتبط باشد.

برای مثال به جای اینکه کاربر با یک صفحه خالی و عبارت ساده «۴۰۴ Not Found» مواجه شود، می توان به او گفت که صفحه مورد نظر پیدا نشده است و سپس چند مسیر برای ادامه جستجو در اختیارش قرار داد.

این کار باعث می شود کاربر کمتر سایت را ترک کند و تجربه کاربری بهتری داشته باشد.

یک صفحه ۴۰۴ مناسب نباید صرفا زیبا باشد؛ مهم تر از طراحی، مسیر دادن به کاربر است. وجود دکمه بازگشت به صفحه اصلی، جستجو و لینک دسته بندی های مهم معمولا کاربرد بیشتری از یک طراحی پیچیده دارد.

 

جمع بندی

خطای ۴۰۴ به زبان ساده یعنی سرور نتوانسته منبعی را که در URL درخواست شده پیدا کند. حذف صفحه، تغییر آدرس، اشتباه تایپی در URL، لینک های خراب و مشکلات مربوط به تنظیمات CMS یا وب سرور از مهم ترین دلایل ایجاد این خطا هستند.

برای کاربران عادی، بررسی URL و پیدا کردن نسخه جدید صفحه معمولا اولین قدم است. اما مدیران سایت باید موضوع را دقیق تر بررسی کنند و مشخص کنند آیا صفحه واقعا حذف شده، آدرس آن تغییر کرده یا مشکلی در پیکربندی سایت وجود دارد.

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

در نهایت، داشتن چند خطای ۴۰۴ در یک سایت موضوع غیر عادی نیست. چیزی که اهمیت دارد، مدیریت صحیح URL ها، اصلاح لینک های داخلی خراب، استفاده درست از ریدایرکت ها، بررسی منظم گزارش های Search Console و طراحی یک صفحه ۴۰۴ کاربردی است.

به عبارت دیگر، هدف یک مدیر سایت حرفه ای این نیست که عدد ۴۰۴ را به صفر برساند؛ هدف این است که کاربر و موتور جستجو را در مسیر درست قرار دهد و از ایجاد خطاهای غیر ضروری جلوگیری کند.

ثبت رای
جستجو

سرفصل های مقاله

نظرات کاربران
دیدگاهتان را بنویسید

لطفا علاوه بر متن نظر، نام و ایمیل خود را نیز وارد کنید. (ایمیل شما منتشر نخواهد شد)