خطاهای 404 و Soft 404: تفاوتشان چیست و چگونه آنها را رفع کنیم؟
خطاهای 404 و soft 404 دو تا مشکل کاملاً متفاوتن که برای شناسایی و برطرف کردنشون باید از روشهای مختلفی استفاده کرد.
سرچ کنسول گوگل به مدیران سایتها در مورد خطاهای 404 هشدار میده: خطای 404 و soft 404.
با اینکه اسم هر دوتاشون 404 هست، اما با هم خیلی فرق دارن.
برای همین، خیلی مهمه که تفاوت بین این خطاها رو بدونیم تا بتونیم درست و حسابی حلشون کنیم.
کدهای وضعیت HTTP
وقتی مرورگرتون میخواد یه صفحه وب رو باز کنه، سرور با یه کد وضعیت (status code) جوابش رو میده. این کد به مرورگر میگه که درخواست موفقیتآمیز بوده یا نه، و اگه نبوده، دلیلش چی بوده.
به این جوابها، کدهای پاسخ HTTP (HTTP response codes) هم میگن، اما اسم رسمیشون کدهای وضعیت HTTP (HTTP status codes) هست.
سرورها پنج دسته کد پاسخ دارن؛ اما تو این مقاله ما فقط میخوایم در مورد یکی از اونها، یعنی کد وضعیت 404 (صفحه پیدا نشد) صحبت کنیم.
کد پاسخ 404 یعنی چی؟
همه کدهایی که تو سری 4xx هستن، یه معنی دارن: درخواست انجام نشده چون صفحهای که دنبالش بودین پیدا نشده.
تعریف رسمی این کدها اینه:
4xx (خطای کاربر): درخواست، ساختار نادرستی داره یا قابل انجام نیست.
پاسخ 404 دقیقاً مشخص نمیکنه که آیا اون صفحه ممکنه در آینده برگرده یا نه.
چند تا مثال از دلایل بروز خطای 404
- اگه کسی یه صفحه وب رو اشتباهی حذف کنه، سرور با پاسخ 404 (صفحه پیدا نشد) جواب میده.
- اگه کسی به یه صفحه وبی که اصلاً وجود نداره لینک بده، سرور بازم میگه که صفحه پیدا نشد (404).
مستندات رسمی هم خیلی واضح در مورد این ابهام که صفحه موقتی رفته یا دائمی، توضیح داده:
«کد وضعیت 404 (پیدا نشد) نشون میده که سرور اصلی، نمایش فعلیای برای منبع مورد نظر پیدا نکرده یا نمیخواد وجود اون رو فاش کنه.
کد وضعیت 404 مشخص نمیکنه که این نبودن، موقتیه یا دائمی…»
پس اگه بخوایم خلاصه بگیم، کد 404 (صفحه پیدا نشد) یعنی یه مشکلی تو درخواست مرورگر بوده، چون صفحهای که میخواسته پیدا نشده.
خطای Soft 404 چیه؟
خطای soft 404 یه کد وضعیت رسمی نیست. یعنی سرور هیچوقت پاسخ soft 404 رو برای مرورگر نمیفرسته، چون اصلاً همچین کد وضعیتی وجود خارجی نداره!
Soft 404 اصطلاحاً به شرایطی گفته میشه که سرور یه صفحه وب رو نشون میده و کد وضعیت 200 OK (یعنی همه چی اوکیه) رو برمیگردونه، در حالی که اون صفحه یا محتواش در واقعیت وجود نداره.
چهار دلیل رایج برای به وجود اومدن Soft 404
صفحه وجود نداره، اما سرور کد 200 OK میفرسته.
این مدل soft 404 وقتی اتفاق میفته که یه صفحه حذف شده، اما تنظیمات سرور جوریه که آدرس اون صفحه حذفشده رو به صفحه اصلی یا یه URL سفارشی دیگه ریدایرکت میکنه.
یعنی صفحه دیگه وجود نداره، اما مدیر سایت یه کاری کرده که درخواست کاربر برای اون صفحه بیجواب نمونه.
محتوا وجود نداره یا خیلی کمه (محتوای ضعیف).
وقتی یه صفحه اصلاً محتوا نداره یا محتواش خیلی کمه (که بهش محتوای ضعیف یا Thin Content هم میگن)، سرور کد وضعیت 200 رو برمیگردونه که یعنی درخواست صفحه موفقیتآمیز بوده.
اما از نظر موتورهای جستجو که میخوان صفحات واقعی رو ایندکس کنن، این یه درخواست ناموفقه و بهش میگن soft 404.
صفحه حذفشده به صفحه اصلی ریدایرکت میشه.
بعضیها به اشتباه فکر میکنن که پاسخ خطای 404 چیز بدیه.
برای همین، برای اینکه جلوی خطاهای 404 رو بگیرن، میان و آدرس صفحه حذفشده رو به صفحه اصلی ریدایرکت میکنن؛ حتی با اینکه صفحه اصلی اون چیزی نیست که کاربر دنبالش بوده.
گوگل به این درخواستهای ناموفق میگه soft 404.
صفحه حذفشده به یه صفحه وب سفارشی ریدایرکت میشه.
گاهی وقتا، صفحات حذفشده به یه صفحه وب سفارشی ریدایرکت میشن که کد وضعیت 200 رو نشون میده. این کار هم باعث میشه گوگل به این صفحات برچسب soft 404 بزنه.
اصطلاح Soft 404 از کجا اومده؟
به نظر میرسه مفهوم soft 404 برای اولین بار تو یه مقاله تحقیقاتی تو سال ۲۰۰۴ با عنوان «به سوی درک زوال وب» (Towards an Understanding of the Web’s Decay) مطرح شده.
این صفحات حذفشدهای که به شکل نادرستی با یه صفحه دیگه جایگزین میشن، برای موتورهای جستجو که سعی دارن صفحات واقعی رو ایندکس کنن، یه مشکل بزرگ محسوب میشن.
تو اون مقاله تحقیقاتی، soft 404 اینجوری توصیف شده:
«طبق پروتکل HTTP، وقتی درخواستی برای یه صفحه که دیگه در دسترس نیست به سرور ارسال میشه، سرور باید یه کد خطا برگردونه…
…اما در واقعیت، خیلی از سرورها، از جمله اکثر سرورهای معتبر، کد 404 رو برنمیگردونن؛ به جاش، یه صفحه جایگزین و کد OK (200) رو ارسال میکنن.
…مطالعه ما نشون میده که این نوع جایگزینیها، که «soft-404» نامیده میشن، بیش از ۱۵٪ از لینکهای مرده (dead links) رو تشکیل میدن.»
Soft 404 به خاطر خطاهای کدنویسی
یه وقتایی هم هست که صفحه حذف نشده، اما یه سری مشکلات خاص (مثل خطاهای کدنویسی) باعث شدن که گوگل اون رو به عنوان یه صفحه حذفشده دستهبندی کنه.
بررسی خطاهای soft 404 خیلی مهمه، چون میتونن نشونهای از وجود کدهای خراب تو سایت شما باشن.
مشکلات رایج کدنویسی:
- نبودن یه فایل یا include که قرار بوده محتوا رو تو صفحه وب قرار بده.
- خطای پایگاه داده (Database).
- نبودن فایل جاوا اسکریپت.
- صفحات نتایج جستجوی خالی.
خطاهای 404 دو تا دلیل اصلی دارن
- یه اشتباه تو لینکدهی که کاربرا رو به یه صفحه ناموجود هدایت میکنه.
- لینک دادن به یه صفحهای که قبلاً وجود داشته اما یهو غیبش زده.
اشتباه در لینکدهی
اگه دلیل خطای 404، اشتباه تو لینکدهی باشه، باید اون لینکها رو اصلاح کنین.
قسمت سخت ماجرا، پیدا کردن همه لینکهای خراب سایته. این کار برای خزیدن (crawl) تو سایتهای بزرگ و پیچیده که هزاران یا میلیونها صفحه دارن، میتونه خیلی چالشبرانگیزتر باشه.
تو اینجور مواقع، ابزارهای خزش (crawling tools) خیلی به درد میخورن.
کلی نرمافزار خزش سایت برای انتخاب وجود داره: از ابزارهای رایگان مثل Xenu و Greenflare گرفته تا نرمافزارهای پولی مثل Screaming Frog، DeepCrawl، Botify، Sitebulb و OnCrawl. خیلی از این ابزارهای پولی، نسخه آزمایشی رایگان یا نسخه رایگان با امکانات محدود هم دارن.
صفحهای که دیگه وجود نداره
وقتی یه صفحه دیگه وجود نداره، دو تا راه حل دارین:
- اگه حذف صفحه اتفاقی بوده، اون رو بازیابی کنین.
- اگه عمداً حذفش کردین، اون رو با یه ریدایرکت ۳۰۱ به نزدیکترین صفحه مرتبط منتقل کنین.
اول از همه، باید همه لینکهای خراب سایت رو پیدا کنین. مثل پیدا کردن خطاهای لینکدهی تو سایتهای بزرگ، اینجا هم میتونین از ابزارهای خزش استفاده کنین.
اما حواستون باشه که ابزارهای خزش ممکنه نتونن صفحات یتیم (orphaned pages) رو پیدا کنن. صفحات یتیم به صفحاتی میگن که از هیچ جای سایت، نه از منوهای اصلی و نه از صفحات دیگه، بهشون لینکی داده نشده.
این صفحات ممکنه قبلاً بخشی از سایت بودن، اما بعد از طراحی مجدد سایت، لینک داخلیشون حذف شده. با این حال، ممکنه هنوز لینکهای خارجی از سایتهای دیگه بهشون وجود داشته باشه.
برای اینکه مطمئن بشین همچین صفحاتی تو سایتتون وجود دارن یا نه، میتونین از ابزارهای مختلفی استفاده کنین.
چطوری صفحات با پاسخ 404 رو پیدا کنیم؟
گزارشهای گوگل سرچ کنسول
گزارش Coverage تو سرچ کنسول، لیست URLهایی که خطای 404 دارن رو نشون میده..
سرچ کنسول همزمان با خزش گوگل تو صفحات مختلف سایتتون، صفحات 404 رو هم گزارش میکنه. این گزارش میتونه شامل لینکهایی از سایتهای دیگه به صفحهای باشه که قبلاً تو سایت شما وجود داشته.
گوگل آنالیتیکس
به طور پیشفرض، گزارشی برای صفحات حذفشده تو گوگل آنالیتیکس پیدا نمیکنین. اما میتونین با روشهای مختلفی اونها رو ردیابی کنین.
مثلاً، میتونین یه گزارش سفارشی بسازین و صفحاتی که تو عنوانشون عبارت Error 404 – Page Not Found رو دارن، جدا کنین.
یه راه دیگه برای پیدا کردن صفحات یتیم تو گوگل آنالیتیکس اینه که گروهبندی محتوای سفارشی (custom content groupings) بسازین و همه صفحات 404 رو به یه گروه محتوایی اختصاص بدین.
اپراتور جستجوی :site
نمیتونین از اپراتور جستجوی :site برای پیدا کردن خطاهای 404 استفاده کنین، چون گوگل اصلاً صفحات 404 یا soft 404 رو ایندکس نمیکنه.
اپراتور :site گوگل برای پیدا کردن صفحاتی تو یه سایت به درد میخوره که یه کلمه کلیدی خاص رو تو محتواشون دارن.
بهترین منبع برای پیدا کردن لیست خطاهای soft 404 و 404 معمولی، همون گوگل سرچ کنسوله.
لاگهای خطای ترافیک وبسایت (Error logs) هم منبع خوبی برای شناسایی پاسخهای خطای 404 هستن.
ابزارهای تحقیق بکلینک
ابزارهای تحقیق بکلینک مثل Majestic، Ahrefs، Moz Open Site Explorer، Sistrix، Semrush، LinkResearchTools و CognitiveSEO هم میتونن بهتون کمک کنن.
بیشتر این ابزارها یه لیست از بکلینکهایی که به دامنه شما داده شده رو بهتون میدن. بعدش میتونین همه این صفحات لینکشده رو بررسی کنین و دنبال خطاهای 404 بگردین.
چطوری خطاهای Soft 404 رو برطرف کنیم؟
ابزارهای خزش نمیتونن خطای soft 404 رو تشخیص بدن، چون این اصلاً یه خطای 404 واقعی نیست. اما میتونین از این ابزارها برای پیدا کردن چیزای دیگه استفاده کنین.
چند تا چیزی که باید دنبالشون بگردین:
- محتوای ضعیف (Thin Content): بعضی از ابزارهای خزش، صفحاتی که محتوای ضعیف دارن رو به همراه تعداد کلماتشون (که قابل مرتبسازیه) گزارش میدن. کارتون رو با صفحاتی شروع کنین که کمترین تعداد کلمه رو دارن تا ببینین آیا واقعاً محتوای ضعیفی دارن یا نه.
- محتوای تکراری (Duplicate Content): بعضی از ابزارهای خزش اونقدر پیشرفته هستن که میتونن تشخیص بدن چند درصد از محتوای یه صفحه، تکراری و مربوط به قالب سایته. ابزارهای مخصوصی هم برای پیدا کردن محتوای تکراری داخلی مثل SiteLiner وجود داره. اگه محتوای اصلی یه صفحه تقریباً با صفحات دیگه یکسان باشه، باید این صفحات رو بررسی کنین تا بفهمین چرا محتوای تکراری تو سایتتون وجود داره.
علاوه بر ابزارهای خزش، میتونین از گوگل سرچ کنسول هم استفاده کنین و تو بخش crawl errors، دنبال صفحاتی بگردین که زیرمجموعه soft 404 لیست شدن.
با خزیدن تو کل سایت برای پیدا کردن مشکلاتی که باعث soft 404 میشن، میتونین قبل از اینکه گوگل پیداشون کنه، اونها رو شناسایی و اصلاح کنین.
بعد از اینکه این مشکلات soft 404 رو پیدا کردین، باید اونها رو برطرف کنین.
بیشتر وقتا، راه حلها خیلی ساده و منطقی به نظر میرسن. مثلاً کارهای سادهای مثل کاملتر کردن صفحات با محتوای ضعیف، یا جایگزین کردن محتوای تکراری با محتوای جدید و یونیک.
تو این فرایند، به چند تا نکته توجه کنین:
ادغام کردن صفحات
گاهی وقتا، دلیل محتوای ضعیف اینه که موضوع صفحه بیش از حد خاص و جزئیه و چیز زیادی برای گفتن باقی نمیذاره.
اگه موضوعات چند تا صفحه ضعیف به هم مرتبط باشن، ادغام کردنشون تو یه صفحه واحد میتونه کار خیلی بهتری باشه. این کار نه تنها مشکل محتوای ضعیف رو حل میکنه، بلکه میتونه مشکل محتوای تکراری رو هم برطرف کنه.
مثلاً، یه سایت فروشگاهی رو تصور کنین که کفشها رو تو رنگها و سایزهای مختلف میفروشه و برای هر ترکیب رنگ و سایز، یه URL جداگونه داره. این کار باعث میشه تعداد زیادی صفحه با محتوای ضعیف و تقریباً یکسان به وجود بیاد.
راه حل مؤثرتر اینه که همه اینها رو تو یه صفحه قرار بدیم و گزینههای مختلف (رنگ و سایز) رو همونجا لیست کنیم.
پیدا کردن مشکلات فنی که باعث محتوای تکراری میشن
حتی با استفاده از سادهترین ابزارهای خزش وب مثل Xenu (که به محتوا کاری نداره و فقط URLها، کدهای پاسخ و تگهای عنوان رو بررسی میکنه)، باز هم میتونین با نگاه کردن به URLها مشکلات محتوای تکراری رو پیدا کنین.
این مشکلات شامل URLهای با www و بدون www، نسخههای HTTP و HTTPS، با index.html و بدون اون، با پارامترهای ردیابی و بدون اونها و… میشه.
خطاهای 404 و Soft 404: جمعبندی نهایی
مهمترین چیزی که باید در مورد خطاهای 404 یادتون باشه اینه که اگه صفحهای واقعاً حذف شده، پس چیزی برای درست کردن وجود نداره. اینکه برای درخواست صفحاتی که وجود ندارن، پاسخ 404 نشون بدین، کاملاً اوکیه.
اما اگه صفحه وجود داره ولی تو یه URL دیگه، اون وقته که باید دست به کار بشین و با ریدایرکت کردن لینک خراب به URL درست، بازیابی صفحه حذفشده، یا ریدایرکت کردن URL قدیمی به صفحه جدیدی که جایگزینش شده، مشکل رو حل کنین.
اما خطای soft 404 همیشه نتیجه یه مشکله که باید شناسایی و برطرف بشه.
درک تفاوت بین این دو نوع 404 برای اینکه سایتتون همیشه با بهترین عملکرد کار کنه، ضروریه.
پاسخی بگذارید