کد وضعیت HTTP یا HTTP status codes پاسخ های سه رقمی سرور به درخواست Browser-Side هستن. احتمالا تا حالا خطای معروف 404 page-not-found رو دریافت کردین. این یک کد وضعیت خطای HTTP client هست و تعداد بیشتری ازش وجود داره.
این کدهای وضعیت (که کدهای وضعیت پاسخ هم نامیده میشن) به عنوان وسیله ای برای ارتباط بین سرور و مروگر اینترنت عمل میکنن و بر اساس نوع اطلاعاتی که در حال تبادلش هستن، چندین کلاس کد وجود داره. تفاوت در کلاس ها از طریق اولین رقم کد خطا نشون داده میشه، به عنوان مثال: درست مثل 404، هر 4xx دیگه ای به این معنیه که به نحوی امکان دسترسی به صفحه یا وبسایت وجود نداره؛ در حالی که 2xx به این معنیه که درخواست شما با موفقیت تکمیل شده.
کدهای وضعیت HTTP یا HTTP Status Codes چطور دسته بندی میشن؟
کدهای وضعیت HTTP به 5دسته مختلف تقسیم میشن. هر دسته به شما نکاتی رو درمورد این که پاسخ چی بوده، میده؛ حتی اگر کد پاسخ خاصی رو بلد نیستین.
1xx – Informational: سرور درخواست رو دریافت کرده و در حال ادامه فرایند هست.
2xx – Successful: درخواست با موفقیت انجام شد و مرورگر اطلاعات مورد انتظار رو دریافت کرده.
3xx – Redirection: شما ریدایرکت شدین و تکمیل درخواست نیاز به اقدامات بیشتری داره.
4xx – Client Error: وبسایت یا صفحه قابل دسترسی نیستن یا درخواست حاوی syntax بدی هست.
5xx – Server Error: در حالی که به نظر میرسه درخواست معتبره، سرور نمیتونه درخواست رو تکمیل کنه.
لیست کاملی از کدهای وضعیت HTTP
کد وضعیت | معنی |
Informational | |
100 | Continue |
101 | Switching protocols |
102 | Processing |
103 | Early Hints |
2xx – Successful | |
200 | OK |
201 | Created |
202 | Accepted |
203 | Non-Authoritative Information |
204 | No Content |
205 | Reset Content |
206 | Partial Content |
207 | Multi-Status |
208 | Already Reported |
226 | IM Used |
3xx – Redirection | |
300 | Multiple Choices |
301 | Moved Permanently |
302 | Found (Previously “Moved Temporarily”) |
303 | See Other |
304 | Not Modified |
305 | Use Proxy |
306 | Switch Proxy |
307 | Temporary Redirect |
308 | Permanent Redirect |
4xx – Client Error | |
400 | Bad Request |
401 | Unauthorized |
402 | Payment Required |
403 | Forbidden |
404 | Not Found |
405 | Method Not Allowed |
406 | Not Acceptable |
407 | Proxy Authentication Required |
408 | Request Timeout |
409 | Conflict |
410 | Gone |
411 | Length Required |
412 | Precondition Failed |
413 | Payload Too Large |
414 | URI Too Long |
415 | Unsupported Media Type |
416 | Range Not Satisfiable |
417 | Expectation Failed |
418 | I’m a Teapot |
421 | Misdirected Request |
422 | Unprocessable Entity |
423 | Locked |
424 | Failed Dependency |
425 | Too Early |
426 | Upgrade Required |
428 | Precondition Required |
429 | Too Many Requests |
431 | Request Header Fields Too Large |
451 | Unavailable For Legal Reasons |
5xx – Server Error | |
500 | Internal Server Error |
501 | Not Implemented |
502 | Bad Gateway |
503 | Service Unavailable |
504 | Gateway Timeout |
505 | HTTP Version Not Supported |
506 | Variant Also Negotiate |
507 | Insufficient Storage |
508 | Loop Detected |
510 | Not Extended |
511 | Network Authentication Required |
توضیح کدهای وضعیت HTTPS به صورت جداگانه
در برخی موارد یک کد پاسخ HTTP ممکنه به اندازه کافی برای درک معنی اون کد توصیفی باشه. 200 OK احتمالا به این معنیه که همه چی خوب پیش رفته. اما در مورد 103 نکات اولیه، 205 ریسیت کردن محتوا و 305 استفاده از پروکسی چطور؟
در ادامه توضیحی برای تمام 63 کد وضعیت ارائه شده که در 5 دسته کلی طبقه بندی شدن.
کد وضعیت 1xx informational به چه معناست؟
کد وضعیت 1xx informational به این معنیه که سرور درخواست رو دریافت کرده و در حال ادامه روند هست. یک کد وضعیت 1xx کاملا موقتیه و در حین ادامه پردازش این کد نمایش داده میشه. درمورد اکثر وظایف با این موارد زیاد مواجه نمیشین چون پاسخ نهایی به درخواست نیستن.
100 Continue به چه معناست؟
کد وضعیت 100 Continue به این معنیه که قسمت اولیه درخواست توسط سرور دریافت شده و کلاینت باید درخواست رو ادامه بده یا اگر درخواست قبلا تموم شده پاسخ رو نادیده بگیره.
101 Switching protocols به چه معناست؟
کد وضعیت 101 Switching protocols به این معنیه که سرور درخواست ارتقا فیلد هدر (Upgrade header field) رو میفهمه و مشخص میکنه که به کدوم پروتکل سوییچ میکنه.
102 Processing به چه معناست؟
کد وضعیت 102 Processing به این معنیه که سرور درخواست کامل رو پذیرفته اما هنوز اون رو تکمیل نکرده و هنوز پاسخی در دسترس نیست.
103 Early Hints به چه معناست؟
کد وضعیت 103 Early Hints در نظر گرفته شده تا در حالی که سرور پاسخی رو آماده میکنه به user agent اجازه بده که منابع رو از قبل بارگذاری کنه. در واقع این کد در نظر گرفته شده که با Link Header استفاده بشه.
کد وضعیت 2xx Succesful به چه معناست؟
کد وضعیت 2xx Succesful به این معنیه که درخواست موفقیت آمیز بوده و مرورگر اطلاعات موردانتظار رو دریافت کرده. به طور کلی این همون چیزیه که میخواهین ببینین، چون به این معنیه که درخواست موفقیت آمیز بوده، دریافت شده، درک شده و پذیرفته شده. به عنوان مالک وبسایت، باید مطمئن بشین که همه صفحات و منابع (تصاویر، ویدیوها و…) همه یک کد وضعیت 2xx رو بر میگردونن. این به این معنیه که مرورگرها میتونن با موفقیت به اون دسترسی پیدا کنن و بازدیدکنندگان وبسایت شما میتونن وبسایت رو ببینن و از اون استفاده کنن.
200 OK به چه معناست؟
کد وضعیت 200 OK به این معنیه که درخواست موفقیت آمیز بوده، اما معنی موفقیت به روش درخواستی که استفاده شده بستگی داره:
- GET: منبع درخواستی fetch شده و به بدنه پیام منتقل شده.
- HEAD: فیلدهای هدر از منبع درخواستی بدون متن پیام ارسال میشن.
- POST یا PUT: توضیحی از نتیجه عمل به بدنه پیام منتقل میشه.
- TRACE: پیام های درخواست (request messages) همونطور که توسط سرور دریافت میشن در بدنه پیام قرار داده میشن.
وقتی این موضوع رو از منظر SEO بررسی می کنیم، کد وضعیت 200 OK یک کد عالی برای یک صفحه کارآمد هست و همه صفحات لینک شده همونطور که باید کار میکنن. 200 به این معنیه که crawlerهای موتورهای جستجو میتونن با موفقیت صفحه رو crawl کنن و صفحه در فهرست جستجوی اونها قرار میگیره.
201 Created به چه معناست؟
کد وضعیت 201 Created به این معنیه که درخواست با موفقیت انجام شده و منجر به ایجاد یک یا احتمالا چندین منبع جدید شده.
202 Accepted به چه معناست؟
کد وضعیت 202 Accepted به این معنیه که درخواست برای پردازش پذیرفته شده، اما پردازش هنوز به پایان نرسیده. زمانی که پردازش در نهایت انجام بشه، درخواست میتونه تکمیل بشه یا نشه.
203 Non-Authoritative Information به چه معناست؟
کد وضعیت 203 Non-Authoritative Information به معنیه موفقیت آمیز بودن درخواسته. با این حال، meta-information که دریافت شده با اطلاعات موجود در سرور اصلی متفاوته که از یک نسخه 3rd party یا لوکال جمع آوری شده.
کد پاسخ 200 OK زمانی ترجیح داده میشه که برای پشتیبان گیری یا mirrorهای منبع دیگری استفاده نشه.
204 No Content به چه معناست؟
کد وضعیت 204 No Content به این معنیه که در حالی که سرور درخواست رو با موفقیت انجام داده، هیچ محتوایی برای این درخواست وجود نداره. اما user agent ممکنه بخواد هدرهای ذخیره شده فعلیش برای این منبع رو برای منبع جدید به روز کنه.
205 Reset Content به چه معناست؟
کد وضعیت 205 Reset Content به این معنیه که کاربر باید سندی (document) که این درخواست رو ارسال کرده، بازنشانی کنه.
206 Partial Content به چه معناست؟
کد پاسخ 206 Partial Content پاسخیه به Range header که از طرف کلاینت هنگام درخواست تنها بخشی از منبع، ارسال شده.
207 Multi-Status به چه معناست؟
کد وضعیت 207 Multi-Status اطلاعاتی رو درمورد منابع متعدد منتقل میکنه (در شرایطی که کد وضعیت ها multiple مناسب هستن).
208 Already Reported به چه معناست؟
کد وضعیت 208 Already Reported در داخل عناصر پاسخ DAV: propstat استفاده میشه تا از enumerate کردن مکرر اعضای داخلی bindingهای متعدد به یک مجموعه جلوگیری بشه.
226 IM به چه معناست؟
کد پاسخ 226 IM به این معنیه که سرور با موفقیت یک درخواست GET رو برای منبع برآورد کرده و پاسخ، نمایشی از نتیجه یک یا چند instance-manipulations هست که به نمونه فعلی اعمال شدن.
کد 3xx Redirection به چه معناست؟
کد 3xx Redirection به این معنیه که شما ریدایرکت شدین و تکمیل درخواست نیاز به اقدامات بیشتری داره. ریدایرکت ها بخش طبیعی از اینترنت هستن و شما نباید از داشتن کدهای وضعیت 3xx Redirection در وبسایتتون بترسین. ریدایرکت به این معنیه که درخواست با موفقیت دریافت شد اما منبع درخواست در جای دیگریه. اگر یک صفحه وب ریدایرکت شده باشه و شما سعی کنین از طریق مسیر قدیمی به اون دسترسی داشته باشین، CMS شما اغلب کاربر رو به مسیر جدید هدایت میکنه. در نهایت درخواست با 2xx success به پایان میرسه، اما ابتدا باید از طریق 3xx redirection انجام بشه.
300 Multiple Choices به چه معناست؟
کد وضعیت 300 Multiple Choices به این معنیه که درخواست چندین پاسخ ممکن داره و user/user agent باید یکی رو انتخاب کنه.
301 Moved Permanently به چه معناست؟
کد پاسخ 301 Moved Permanently به این معنیه که به منبع هدف یک URL دائمی جدید اختصاص داده شده و هر ارجاعی به این منبع در آینده باید از یکی از URLهای موجود در پاسخ استفاده کنه.
وقتی موضوع رو از منظر SEO بررسی کنیم، هربار که URL به طور دائم ریدایرکت بشه باید از 301 Permanent Redirect استفاده بشه. این ریدایرکت equity لینک فعلی شما رو از محتوای شما به URL جدید منتقل میکنه. لینک هایی که منجر به کد وضعیت 301 میشن، link equity کمی کمتر از 200 دارن. بنابراین اگر لینک های زیادی دارین که از طریق 301 Permanent Redirect میگذرن، توصیه میشه در صورت امکان این موارد رو اصلاح کنین.
302 found (نام قبلی Moved temporarily) به چه معناست؟
کد وضعیت 302 found که قبلا به عنوان Moved temporarily هم شناخته میشد، به این معنیه که URL درخواست به طور موقت تغییر کرده و از اونجایی که میشه در آینده تغییراتی در URL ایجاد کرد، URL درخواست باید باید برای درخواست های آینده استفاده بشه.
وقتی این موضوع رو از منظر SEO بررسی کنیم، 302 Found فقط باید در هنگام ایجاد تغییرات موقت استفاده بشه، چون link equity رو مثل 301 پاس نمیکنه. اگر صفحه قرار نیست برگرده، همیشه باید از 301 استفاده کنین.
303 See Other به چه معناست؟
کد پاسخ 303 See Other توسط سرور ارسال میشه تا کلاینت رو هدایت کنه تا منبع درخواستی رو در یک URL دیگر با درخواست GET دریافت کنه.
304 Not Modified به چه معناست؟
کد پاسخ 304 Not Modified به کلاینت اطلاع میده که پاسخ اصلاح نشده. این به این معنیه که کلاینت میتونه به استفاده از نسخه موجود و ذخیره شده پاسخ، ادامه بده.
305 Use Proxy به چه معناست؟
کد وضعیت 305 Use Proxy به کلاینت میگه که باید به یک پروکسی متصل بشه و سپس همون درخواست رو اونجا تکرار کنه. این کد پاسخ به دلیل نگرانی های امنیتی منسوخ شده.
306 Switch Proxy به چه معناست؟
کد وضعیت 306 Switch Proxy دیگه استفاده نمیشه. قبلا به این منظور استفاده میشد که به کلاینت اطلاع بده که درخواست های بعدی باید از پروکسی مشخص شده استفاده کنن.
307 Temporary Redirect به چه معناست؟
کد وضعیت 307 Temporary Redirect توسط سرور ارسال میشه تا کلاینت رو به یک منبع درخواستی در یک URL دیگر هدایت کنه. با این حال، روش درخواست نباید تغییر کنه.
308 Permanent Redirect به چه معناست؟
کد وضعیت 308 Permanent Redirect به این معنیه که یک URL جدید به منبع درخواستی به طور دائم اختصاص داده شده و ارجاعات بعدی به منبع باید با استفاده از یکی از URLهای enclosed شده انجام بشه.
4xx Client Error به چه معناست؟
کد وضعیت 4xx Client Error به این معنیه که وبسایت یا صفحه قابل دسترسی نیستن و یا درخواست حاوی syntax بدی هست. به عنوان یک ماالک وبسایت باید تمام تلاشتون رو برای جلوگیری از این موارد انجام بدین، چون به این معنیه که کاربران شما چیزی رو که به دنبالش هستن پیدا نمیکنن. این میتونه صفحاتی باشه که دیگه پیدا نمیشن و به طور موقت یا برای همیشه از بین رفتن که علاوه بر ارائه یک تجربه کاربری بد، میتونه به تلاش های SEO شما هم آسیب برسونه.
400 Bad Request به چه معناست؟
کد وضعیت 400 Bad Request به این معنیه که سرور نمیتونه درخواست رو به دلیل syntax نامعتبری درک کنه.
401 Unauthorized به چه معناست؟
کد وضعیت 401 Unauthorized به این معنیه که درخواست اعمال نشده چون سرور به احراز هویت کاربر نیاز داره.
402 Payment Required به چه معناست؟
کد وضعیت 402 Payment Required پرداخت موردنیاز پاسخیه که برای استفاده در آینده رزرو شده. این کد در ابتدا برای پیاده سازی در سیستم های پرداخت دیجیتال ایجاد شد، اما الان به ندرت استفاده میشه و یک قرارداد استاندارد برای اون وجود نداره.
403 Forbidden به چه معناست؟
کد وضعیت 403 Forbidden به این معنیه که درخواست کلاینت رد شده چون کلاینت حق دسترسی به محتوا رو نداره. بر خلاف خطای 401 هویت کلاینت برای سرور مشخصه، اما از اونجایی که اونها مجاز به مشاهده محتوا نیستن، ارائه پاسخ مناسب توسط سرور رد میشه.
خطای 404 به چه معناست؟
کد وضعیت 404 Not Found به این معنیه که سرور یا یک نمایش فعلی برای منبع درخواستی پیدا نکرده یا سعی داره وجود اون رو از یک کلاینت غیر مجاز پنهان کنه.
با بررسی موضوع از منظر SEO، صفحات کد وضعیت 404 Not Found با حجم بالای ترافیک باید با استفاده از 301 به مرتبط ترین صفحه ممکن ریدایرکت بشن. با این حال، برای برخی از صفحات، یک 404 ممکنه لازم باشه، به عنوان مثال، اگر محصول برای مدت زمان طولانی خارج از stock باشه. اگر لینک های خارجی دارین که به صفحه ای اشاره میکنه که 404 رو برمیگردونه، link equity که در غیر این صورت اون لینک ها میدادن رو از دست میدین.
405 Method Not Allowed به چه معناست؟
کد وضعیت 405 Method Not Allowed به این معنیه که در حالی که سرور روش درخواست رو میدونه، روش غیرفعال شده و نمیشه ازش استفاده کرد.
406 Not Acceptable به چه معناست؟
کد وضعیت 406 Not Acceptable زمانی توسط سرور ارسال میشه که محتوایی رو مطابق با معیارهای ارائه شده توسط user agent پیدا نکنه.
407 Proxy Authentication Required به چه معناست؟
کد وضعیت 407 Proxy Authentication Required به این معنیه که کلاینت ابتدا باید توسط یک پروکسی احراز هویت بشه (شبیه به 401).
408 Request Timeout به چه معناست؟
کد وضعیت 408 Request Timeout به این معنیه که سرور درخواست کاملی رو در مدت زمانی که آماده انتظار بوده رو دریافت نکرده.
409 Conflict به چه معناست؟
کد وضعیت 409 Conflict به این معنیه که درخواست به دلیل تضاد با وضعیت فعلی منبع هدف انجام نمیشه و در شرایطی استفاده میشه که کاربر میتونه بعد از رفع تداخل درخواست رو دوباره ارسال کنه.
410 Gone به چه معناست؟
کد وضعیت 410 Gone به این معنیه که منبع هدف حذف شده و به نظر میرسه این شرط دائمیه.
وقتی این موضوع رو از منظر SEO بررسی می کنیم، کد وضعیت 410 Gone نسخه دائمی تر 404 هست. چون صفحه دیگه از سرور در دسترس نخواهد بود و آدرس ارسالی در دسترس نیست. اگر می خواهین یک صفحه رو به طور کامل از فهرست جستجوی گوگل حذف کنین، استفاده از 410 در یک صفحه راه مناسبی برای انجام این کاره (به جای 404).
411 Length Required به چه معناست؟
کد وضعیت 411 Length Required به این معنیه که سرور درخواست رو رد کرده چون باید کادر هدر Content-Length تعریف بشه.
412 Precondition Failed به چه معناست؟
کد وضعیت 412 Precondition Failed به این معنیه که سرور یک یا چند پیش شرطی رو که در فیلدهای هدر درخواستی نشون داده شده رو برآورده نمیکنه.
413 Payload Too Large به چه معناست؟
کد وضعیت 413 Payload Too Large به این معنیه که سرور از پردازش درخواست خودداری میکنه چون بار درخواست بزرگتر از اون چیزیه که سرور میتونه یا مایله که اون رو پردازش کنه. در حالی که سرور ممکنه اتصال رو ببنده تا کلاینت از ادامه درخواست جلوگیری کنه، باید یک فیلد هدر Retry-After ایجاد کنه و بعد از مدتی کلاینت میتونه دوباره تلاش کنه.
414 URI Too Long به چه معناست؟
کد وضعیت 414 URI Too Long به این معنیه که سرور از ارائه درخواست خودداری میکنه چون هدف درخواست طولانی تر از اون چیزی که سرور مایل به تفسیر اون هست.
415 Unsupported Media Type به چه معناست؟
کد وضعیت 415 Unsupported Media Type به این معنیه که سرور درخواست رو رد میکنه چون از فرمت رسانه داده های درخواستی پشتیبانی نمیکنه.
416 Range Not Satisfiable به چه معناست؟
کد وضعیت 416 Range Not Satisfiable به این معنیه که محدوده مشخص شده در کادر Range header درخواست نمیتونه برآورده بشه. دلیلش ممکنه این باشه که محدوده داده شده خارج از اندازه داده های URL هدف هست.
417 Expectation Failed به چه معناست؟
کد وضعیت 417 Expectation Failed به این معنیه که انتظار نشون داده شده توسط کادر Expect request-header نمیتونه توسط سرور برآورده بشه.
418 I’m a Teapot به چه معناست؟
کد وضعیت 418 I’m a Teapot به این معنیه که سرور از دم کردن قهوه خودداری میکنه چون در واقع یک قوریه (اشاره به جوک اول آوریل 1998).
421 Misdirected Request به چه معناست؟
کد وضعیت 421 Misdirected Request به این معنیه که درخواست کلاینت به سروری هدایت شده که برای ایجاد پاسخ پیکربندی نشده.
422 Unprocessable Entity به چه معناست؟
کد وضعیت 422 Unprocessable Entity به این معنیه که درحالی که درخواست به خوبی شکل گرفته بود، سرور قادر به دنبال کردن اون به دلیل خطاهای معنایی نبود.
423 Locked به چه معناست؟
کد وضعیت 423 Locked به این معنیه که منبعی که در حال دسترسی به اون هستین قفل شده.
424 Failed Dependency به چه معناست؟
کد وضعیت 424 Failed Dependency به این معنیه که درخواست به دلیل شکست درخواست قبلی، ناموفق بوده (شکست خورده).
425 Too Early به چه معناست؟
کد وضعیت 425 Too Early به این معنیه که سرور مایل به ریسک پردازش درخواستی نیست که ممکنه دوباره پخش بشه.
426 Upgrade Required به چه معناست؟
کد وضعیت 426 Upgrade Required به این معنیه که در حالی که سرور از انجام درخواست داده شده با استفاده از پروتکل فعلی امتناع میکنه، ممکنه بعد از ارتقا کلاینت به پروتکل دیگری مایل به انجام این کار باشه.
428 Precondition Required به چه معناست؟
کد وضعیت 428 Precondition Required به این معنیه که سرور مبدا نیاز به شرطی (conditional) بودن درخواست داره.
429 Too Many Requests به چه معناست؟
کد پاسخ 429 Too Many Requests به این معنیه که کاربر در زمان معین درخواست های زیادی ارسال کرده.
431 Request Header Fields Too Large به چه معناست؟
431 Request Header Fields Too Large به این معنیه که سرور مایل به پردازش درخواست نیست چون درواقع کادرهای هدر اون بسیار بزرگه، با این حال ممکنه بعد از کاهش اندازه کادرهای هدر درخواست، درخواست دوباره ارسال بشه.
451 Unavailable For Legal Reasons به چه معناست؟
کد 451 Unavailable For Legal Reasons به این معنیه که کاربر یک منبع غیرقانونی (مثل صفحات و سایت های مسدود شده توسط دولت) رو درخواست کرده.
خطای سرور 5xx به چه معناست؟
کد وضعیت خطای سرور 5xx به این معنیه که در حالی که درخواست معتبر به نظر میرسه، سرور نمیتونه درخواست رو تکمیل کنه. اگر با خطاهای سرور 5xx در وبسایتتون مواجهین، باید بلافاصله سرورتون رو بررسی کنین. اگر سرور خودتون رو میزبانی (هاستینگ) میکنین، باید اشکال زدایی رو شروع کنین تا بفهمین چرا به درستی پاسخ نمیده. اگر از یک ارائه دهنده هاستینگ خارجی استفاده می کنین، باید با اونها تماس بگیرین تا بتونن اون رو بررسی کنن.
500 Internal Server Error به چه معناست؟
کد وضعیت 500 Internal Server Error به این معنیه که سرور با وضعیتی مواجه شده که نمیدونه چطور باید اون رو مدیریت کنه.
وقتی این موضوع رو از منظر SEO بررسی کنیم، 500 Internal Server Error نشون دهنده یک مشکل در سروره، نه در دسترس بودن واقعی محتوا. از اونجایی که ربات ها و کاربران هر دو از دست میرن، link equity به سرعت کاهش پیدا میکنه.
501 Not Implemented به چه معناست؟
کد پاسخ 501 Not Implemented به این معنیه که درخواست قابل رسیدگی نیست چون توسط سرور پشتیبانی نمیشه.
502 Bad Gateway به چه معناست؟
کد پاسخ 502 Bad Gateway به این معنیه که سرور در حین کار به عنوان gateway برای رسیدگی به پاسخ، یک پاسخ نامعتبر دریافت کرده.
503 Service Unavailable به چه معناست؟
کد پاسخ 503 Service Unavailable به این معنیه که سرور در حال حاضر آماده رسیدگی به درخواست نیست. زمانی که سرور برای تعمیر و نگهداری down شده یا overloaded شده باشه، این یک اتفاق رایجه.
با بررسی این موضوع از منظر SEO، کد 503 Service Unavailable به این معنیه که سرور در دسترس نیست و از بازدید کننده، ربات یا فرد خواسته میشه تا در زمان دیگری دوباره برگردن. این ممکنه به دلیل نگهداری سرور یا اضافه بار سرور باشه و موتورهای جستجو میدونن که باید بعدا برگردن و در دسترس بودن رو بررسی کنن.
504 Gateway Timeout به چه معناست؟
کد پاسخ 504 Gateway Timeout به این معنیه که سروری که به عنوان gateway عمل میکنه نمیتونه زمان پاسخ رو دریافت کنه.
505 HTTP Version Not Supported به چه معناست؟
کد پاسخ 505 HTTP Version Not Supported به این معنیه که نسخه HTTP استفاده شده در درخواست توسط سرور پشتیبانی نمیشه.
506 Variant Also Negotiates به چه معناست؟
کد پاسخ 506 Variant Also Negotiates به این معنیه که سرور دارای خطای پیکربندی داخلی زیر هست: The chosen variant resource is configured to engage in transparent negotiation itself, therefore it cannot be a proper endpoint in the negotiation process.
507 Insufficient Storage به چه معناست؟
کد وضعیت 507 Insufficient Storage به این معنیه که روش نمیتونه روی منبع انجام بشه چون سرور قادر به ذخیره نمایشی که برای تکمیل درخواست با موفقیت لازمه، نیست.
508 Loop Detected به چه معناست؟
کد پاسخ 508 Loop Detected به این معنیه که سرور در حین پردازش درخواست، یک لوپ بی نهایت رو شناسایی کرده.
510 Not Extended به چه معناست؟
کد پاسخ 510 Not Extended به این معنیه که extensionهای بیشتری برای سرور موردنیازه تا بتونه درخواست رو انجام بده.
511 Network Authentication Required به چه معناست؟
کد پاسخ 511 Network Authentication Required نشون میده که کلاینت برای دسترسی به شبکه نیاز به احراز هویت داره.
کدهای وضعیت HTTP و SEO: مواردی که باید بدونین
اگر می خواهین از سئو نتایج عالی بگیرین مهمه که با Technical SEO کار کنین. بخش بزرگی از اون، مدیریت کدهای پاسخ در وبسایتتونه تا اطمینان حاصل بشه که وبسایت به درستی توسط گوگل بات crawl شده و محتوای شما در صورت درخواست، کد پاسخ مناسب رو بر میگردونه.
در ادامه 5 کد که باید به عنوان یک سئوکار بدونین آورده شده.
200 OK و SEO
این هدف برای 99% از محتوای شما (صفحات، رسانه ها و…) هست: یک کد وضعیت موفق به این معنیه که همه چیز همونطور که باید کار میکنن. این کار برای داشتن یک وبسایت خوب و یک تجربه کاربری عالی بسیار مهمه.
همچنین به شما این اطمینان رو میده که تمام اشاره های خارجی به وبسایتتون، به شما link value میده. اگر همه محتوای شما یک کد وضعیت 200 OK رو برگردونه، میتونین مطمئن باشین که وبسایتتون کار میکنه و به درستی برای crawlerها و بازدیدکننده ها قابل دسترسه.
301 Moved Permanently و SEO
در یک دنیای عالی، تمام محتوای شما در همون URL باقی میمونه و همیشه با یک 200 OK پاسخ میده. اما در دنیای واقعی و هنگام مدیریت وبسایت، این اتفاق به ندرت می افته.
اگر صفحه ای URL رو تغییر داده، باید یک ریدایرکت برای ارسال کاربران و ربات ها از URL قدیمی به URL جدید تنظیم کنین. در غیر این صورت با صفحه 404 مواجه میشن. در برخی از سیستم های مدیریت محتوا، ریدایرکت خودکار یک ویژگی داخلی سئو هست، در حالی که در برخی دیگر باید اون رو به صورت دستی تنظیم کنین.
اگر صفحه برای همیشه از بین رفته و برنمیگرده، باید از 301 redirects استفاده کنین. این مورد برای صفحاتیه که URL یا محتوای حذف شدشون رو تغییر دادن.
اگر چیزی از بین رفته، به جای این که به سادگی جابجا بشه، میتونین اون رو به 404 تبدیل کنین یا اون رو به چیزی مشابه در وبسایتتون ریدایرکت کنین (میتونه محصولی باشه که دیگه قصد فروشش رو ندارین و منطقیه که اون صفحه رو به صفحه دسته بندی ریدایرکت کنین).
302 Found و SEO
اگر صفحه فقط به طور موقت از بین رفته باشه، اما بعدا دوباره برگرده چی؟ برای ارائه یک تجربه کاربری خوب، نمی خواهین اون رو به یک صفحه 404 تبدیل کنین و همچنین نمی خواهین یک ریدایرکت دائمی 301 انجام بدین.
راه حل اینه که به جای 301 از 302 Found استفاده کنین. برای کاربر هیچ تفاوتی نداره، اما برای crawlerها و ربات های موتورهای جستجو، بهشون میگخ که بعدا دوباره بررسی کنن، چون این ریدایرکت موقتیه. این به این معنیه که URL قدیمی تا زمانی که از بین میره، ارزشش رو حفظ میکنه.
این کار برای صفحاتی که به طور موقت در دسترس نیستن عالیه. یک مثال میتونه یک محصول فروخته شده باشه که از وبسایت حذف میشه تا زمانی که دوباره در انبار موجود بشه. در این حالت، میتونین از ریدایرکت موقت 302 Found استفاده کنین. وقتی که محصول دوباره موجود شد، ریدایرکت رو حذف کنین و صفحه هم ارزشش رو حفظ میکنه (و رتبه خوبی بین موتورهای جستجو دار).
توجه داشته باشین که اگر ریدایرکت 302 برای مدت طولانی وجود داشته باشه، گوگل اون رو به عنوان ریدایرکت دائمی 301 در نظر میگیره.
404 Not Found و SEO
اگر صفحه ای دیگه پیدا نشه، منجر به صفحه 404 میشه. این به این معنیه که سرور به کاربران، crawlerها و ربات ها میگه که صفحه ای که به دنبالش بودن، پیدا نشده.
توجه به این موارد بسیار مهمه چون در صورت عدم نظارت و رفع، میتونن به سئو سایت شما آسیب زیادی وارد کنن.
اولا، اگر صفحه ای 404 رو برگردوند، در نتایج جستجوی گوگل نمایش داده نمیشه. فورا حذف نمیشه، اما اگر مشکلش رفع نشه، بعد از مدت کوتاهی حذف میشه. بنابراین اگر هر کدوم از صفحاتی که خطای 404 رو نشون میدن باید سریعا اون رو برطرف کنین.
ثانیا، اگر صفحه دارای لینک های خارجی بود که بهش اشاره میکردن، دیگه هیچ ارزشی برای وبسایت شما قائل نمیشن و این میتونه به سئوی سایت شما آسیب برسونه.
ساده ترین راه برای حل این مشکل راه اندازی ریدایرکت 301 هست. این کار تجربه کاربری بهتری رو به ارمغان میاره و بیشتر ارزش لینک رو از لینک های خارجی به صفحه جدیدی که به اون ریدایرکت می کنین منتقل میکنه.
410 Gone و SEO
اگر واقعا بخواهین یک صفحه به طور کامل از فهرست موتور جستجوی گوگل ناپدید بشه چی؟
ممکنه دوست داشته باشین به سادگی از یک خطای 404 استفاده کنین، اما درمورد استفاده ازش یک هشدار وجود داره:
404 به crawlerها و ربات ها نمیگه که چرا صفحه پیدا نشد. به همین دلیل، حتی اگه خطای 404 نمایش داده بشه، ممکنه گوگل همچنان به این فکر کنه که صفحه اونجاست. در بیشتر موارد این خوبه، اما ممکنه وضعیتی پیش بیاد که بخواهین به وضوح نشون بدین که محتوا از بین رفته؛ وضعیتی که شما هک شده باشین و محتوای مخرب به وبسایت شما اضافه شده باشه.
بعد از انجام پاکسازی، این که اجازه بدین URLها 404 رو نشون بدن کافی نیست. در عوض باید مطمئن بشین که اونها کد وضعیت 410 Gone رو نشون میدنن. این به وضوح به crawlerها و ربات ها میگه که صفحه برای همیشه از بین رفته و باید اون رو از فهرستشون حذف کنن.
500 Server errors و SEO
مورد آخر مستقیما به سئو مربوط نمیشه و بیشتر یک نکته خوب برای عیب یابی وبسایت شماست.
اگر کد پاسخی رو مشاهده کردین که بای 5xx شروع میشه، باید بدونین که این یک خطای سروره. این به شما کمک زیادی در مواقع عیب یابی و رفع اونها میکنه.
به جای اتلاف وقت برای رفع مشکل از طریق بخش مدیریت CMS یا جاهای دیگه، میتونین مستقیما به تعمیر سرور بپردازین. مهم نیست که هاستینگ رو خودتون انجام میدین یا از یک ارائه دهنده هاست استفاده میکنین، دونستن این که مشکل از سرور شماست نه وبسایتتون، نکته مفیدیه.
نحوه بررسی کد وضعیت HTTP یک صفحه
پیدا کردن کد پاسخ سرور برای یک صفحه میتونه به صورت دستی در مرورگر شما یا با استفاده از ابزارهای مختلف و crawlerهای وبسایت انجام بشه.
بسته به مرورگری که استفاده میکنین ممکنه کمی متفاوت باشه. در ادامه نحوه انجامش در کروم آورده شده (اکثر مراحل در سایر مرورگرها مشابه هستن).
بررسی کد وضعیت HTTP در کروم
- URL موردنظر رو برای بررسی با مرورگرتون باز کنین
- تب Developer (F12) رو باز کنین و به تب Network برین
- صفحه رو ریفرش کنین
- به بالای لیست درخواست ها برین و اولین مورد از نوع document رو پیدا کنین
- حالا میتونین در Status کد پاسخ HTTP رو پیدا کنین
آموزش رفع خطاهای 404
اگر کد وضعیت 404 Page Not found رو دیدین، ممکنه به این فکر کرده باشین که خطای 404 به چه معناست؟
کد وضعیت HTTP 404 به معنی “Page Not Found” یعنی درخواستی که ارسال کردین توسط سرور دریافت شد، اما صفحه موردنظر شما رو پیدا نکرد.
بنابراین برای رفع خطای 404 ابتدا باید علتش رو پیدا کنین که میتونه دلایل زیادی داشته باشه. اما از اونجایی که میدونین سرور قابل دسترسیه (در غیر این صورت یک خطای 5xx رو نشون میداد)، میدونین که خطا در سمت کلاینت هست. اساسا این به این معنیه که مشکل از سمت شماست.
خوشبخانه این به این معنیه که شما همچنان میتونین بدون نیاز به اشکال زدایی سرورتون یا تماس با ارائه دهنده هاستتون، خطا رو برطرف کنین.
رفع خطاهای 404
برای رفع خطای 404 این چک لیست رو اجرا کنین:
- صفحه رو ریفرش کنین. ممکنه ساده به نظر برسه، اما خطای 404 میتونه یک مشکل موقتی باشه که به سادگی با تلاش مجدد رفع میشه.
- آدرس اینترنتی که تایپ کردین رو بررسی کنین. آیا جایی اشتباه کردین؟ اگر نشانی اینترنتی که تایپ کردین دقیقا درست نیست، وقوع خطای 404 قابل انتظاره (مگر این که یک ریدایرکت 3xx تنظیم شده باشه)
- اگر آدرس اشتباهی نداشت، ازدستگاه دیگری مثل تلفن همراه یا تبلتتون دوباره امتحان کنین. اگر با دستگاه دیگری کار میکنه به احتمال زیاد مشکل به خاطر کش و کوکی های مرورگه. کش مرورگر رو پاک کنین و کوکی ها رو حذف کنین، بعد سعی کنین دوباره به صفحه برگردین.
اگر هیچ کدوم از ترفندهای بالا جواب نداد، احتمالا اون قسمت از محتوا حذف شده یا به روش دیگری منتقل شده. اگر محتوا جابجا شده باشه که باعث تغییر URL شده، باید مطمئن بشین که یک ریدایرکت که از URL قدیمی به آدرس جدید اشاره میکنه رو تنظیم کنین. به این ترتیب مطمئن میشین که هر کسی که به دنبال صفحه است همچنان میتونه اون رو پیدا کنه.
اگر حذف شد، خطای 404 پاسخ درستیه چون صفحه واقعا در وبسایت شما پیدا نمیشه و همه چیز همون طور که باید کار میکنه.
اگر میبینین تعداد زیادی از بازدیدکننده ها به صفحه با خطای 404 میان، به احتمال زیاد به دلیل یکی از 3 مورد زیر هست:
- شما یک لینک داخلی در وبسایتتون دارین که به این صفحه اشاره داره. اگر اینطوره، باید این لینک رو حذف کنین (یا تغییرش بدین) تا دیگه به صفحه ای که پیدا نشده اشاره نکنه.
- وبسایت های خارجی به صفحه لینک میدن. این پیچیده تره چون نمیتونین به سادگی تغییرش بدین (اما اگر به اون وبسایت ها دسترسی دارین میتونین ازشون بخواهین که اون رو تغییر بدن). یک کار ساده تر برای شما اینه که یک ریدایرکت 301 اضافه کنبن و از اون صفحه به صفحه دیگری در وبسایتتون اشاره کنین. به این ترتیب افراد رو به صفحه ای ریدایرکت می کنین که کار میکنه و در عین حال گزینه ای برای سئوی سایت هم هست.
- این صفحه همچنان در نتایج جستجوی گوگل نمایش داده میشه و ترافیک رو به وبسایت شما ارسال میکنه. در حالی که این معمولا کوتاه مدته، ممکنه یک صفحه 404 بتونه برای مدتی در نتایج جستجو بمونه چون کد 404 به Googlebot نمیگه که صفحه به طور موقت یا دائم از بین رفته. اگر این اتفاق می افته، باید سریعا صفحه رو برگردونین یا اون رو به یک صفحه دیگه ریدایرکت کنین.
پیدا کردن صفحات 404 در Google Analytics
تا حالا به این فکر کردین که راهی برای پیدا کردن صفحات 404 در Google Analytics وجود داره؟
خب، خبر خوب این که راه هایی برای پیدا کردن این صفحات در تنظیمات analytics شما وجود داره. این کار به نحوه پیکربندی وبسایتتون بستگی داره. یکی از راه های پیدا کردنشون بررسی عنوان صفحه است – صفحه 404 شما به احتمال زیاد دارای “404” یا “Page not found” در عنوانش هست. و از این طریق پیدا کردن صفحه 404 خیلی آسونه:
- در ابزار analytics به behavior → Site Content → All Pages برین.
- حالا میتونین dimension اصلی رو روی عنوان صفحه تنظیم کنین و 404 یا Page not Found رو جستجو کنین
- و حالا – امیدواریم گزارش 404 رو پیدا کنین
این تنها راه تنظیم نیست، اما شانس بسیار خوبی وجود داره که بتونین صفحات رو از این طریق پیدا کنین.
آموزش رفع خطاهای 503
کد پاسخ 503 به معنی Service Unavailable هست و زمانی اتفاق میافته که سرور در حال حاضر آماده رسیدگی به درخواست نباشه. این میتونه به دلیل از کار افتادن سرور برای تعمیر و نگهداری یا overloaded شدنش باشه.
اگر این خطا در وبسایت شما رخ میده، باید نگاهی به سرورتون بندازین، چون چیزی باعث شده که درخواست های انجام شده رو پردازش نکنه.
متاسفانه رفعش همیشه آسون و ساده نیست. کد پاسخ 503 میتونه به دلایل زیادی باشه، اما حداقل میدونین که مربوط به سروره و مثل خطای 404 از طرف کلاینت نیست.
در ادامه لیستی از مراحلی که میتونین برای شناسایی و رفع خطای 503 طی کنین آورده شده:
- آیا وبسایتتون همچنان در حال اجراست و ترافیک دریافت میکنه؟ ابزار Analytics یا گزارش های سرورتون رو بررسی کنین تا ببینین که آیا سایر بازدیدکننده ها وارد وبسایت شما میشن یا نه.
- اگه ترافیکی دریافت نمیکنه سرور شما ممکنه تحت تعمیر باشه یا از کار افتاده باشه. اگر تحت تعمیر و نگهداری باشه، باید انتظار دریافت کد 503 رو داشته باشین و بعد از اتمام، همه چی به خوبی کار میکنن. اگر خراب شده باید اون رو دوباره راه اندازی کنین.
- اگر حجم زیادی از ترافیک وبسایت دریافت میکنین، سرور به احتمال زیاد overloaded شده و خطاهای 503 رو نشون میده چون منابع لازم برای ادامه دادن رو نداره. قبل از رفع چنین مشکلی باید تشخیص بدین که ترافیک بازدیدکننده ها واقعیه یا قربانی یک حمله DoS یا DDoS شدین.
- شناسایی یک حمله Dos یا DDoS میتونه سخت باشه، اما موثرترین راه ها عبارتند از:
بررسی این که آیا یک یا چند آدرس آی پی درخواست های زیادی دارن یا نه
زمان TTL (time to live) در درخواست پینگ به پایان میرسه
تجزیه و تحلیل لاگ های سرور و مشاهده جهش های عظیم در ترافیک - اگر فکر میکنین که یک حمله DoS یا DDoS باشه، باید از یک یا چند تکنیک دفاعی برای توقف این حمله استفاده کنین.
- اما اگر حمله DoS یا DDoS نیست، وبسایت شما به احتمال زیاد محبوب تر از چیزیه که سرور شما میتونه انجام بده. بهترین راه برای رفع این مشکل اینه که محدودیت های اتصال (connection limits)، محدود کردن پهنای باند، منابع سیستم، fail-safeهایی که ممکنه راه اندازی شده باشن یا هر چیزی که ممکنه عملکرد سرور رو محدود کنه رو بررسی کنین. اساسا باید سرورتون رو ارتقا بدین تا منابع مناسبی برای مدیریت ترافیک داشته باشین.
لیست بالا برای عیب یابی یکباره خطاهای 503 عالیه. اما اگر به طور منظم اتفاق بیفته، ممکنه یک مشکل دائمی تر در سرور شما باشه که باید اون رو عمیق تر بررسی و رفع کنین. این میتونه فرایندهای ناکارآمدی باشه که از تمام منابع شما استفاده میکنن یا این که سرور شما منابع اختصاص یافته کافی برای مدیریت ترافیک دریافتی وبسایت شما رو نداره.
در صورت موفقیت آمیز بودن درخواست مرورگر، چه کد وضعیتی توسط وبسایت برگردونده میشه؟
با همه این کدهای وضعیت HTTP فکر کردن به این که کدوم از اینها خوب هستن میتونه دلهره آور باشه، اما برخی از اونها خوبن. اگر درخواست مرورگر موفقیت آمیز باشه، یک مرورگر کد وضعیت 2xx رو برمیگردونه. بنابراین یک کد 2xx همون کدیه که دوست دارین ببینین. کد وضعیت 2xx به این معنیه که درخواست مرورگر موفقیت آمیز بوده و دریافت، درک و پذیرفته شده.