هر بار که قصد باز کردن یک صفحه از سایتی را دارید یا میخواهید هر محتوایی از آن را ببینید، فعل و انفعالاتی بین مرورگر سیستم شما و سرور سایت رخ میدهد که هیچوقت به چشمتان نمیآید. این فعل و انفعالات با کدهای وضعیت HTTP به کاربر هم اطلاع داده میشود. البته از آنجا که معمولاً باز کردن صفحات به صورت موفقیتآمیز انجام میشود، اصلاً نیازی هم به دانستن این فعل و انفعالات نیست؛ اما برخی اوقات ممکن است خطا یا هرگونه تغییری در روند طبیعی ارتباط با سرور رخ دهد و محتوای موردنظر به حالت طبیعی نمایش داده نشود.
در چنین شرایطی تشخیص خطا یا تغییر و علت بروز آن برای مدیر سایت ضروری است؛ به خصوص اگر مشکل ایجادشده بتواند روی سئو سایت تأثیر بگذارد. تصور کنید صفحهای از سایت شما از سرور سایت حذف شده باشد یا آدرس صفحهای را تغییر داده باشید یا هرگونه اشکال دیگری در ارتباط کاربران با سایت وجود داشته باشد. اگر کدهای وضعیت را بشناسید، به راحتی میتوانید خطاهای رخ داده را مدیریت کرده و مشکلات را برطرف کنید. در این مقاله از وب 24 راهنمای کاملی از کدهای وضعیت HTTP برای شما تهیه کردهایم که میتوانید از آن برای یافتن خطاهای احتمالی سایت خود کمک بگیرید.
کد وضعیت HTTP یا http status code چیست؟
کدهای وضعیت HTTP یا http status code چیزی نیستند جز پاسخی که سرور یک سایت برای مرورگر سیستم کاربر ارسال میکند. هر بار که شما آدرس سایتی را وارد مرورگر اینترنت خود میکنید تا به سایت وارد شوید، مرورگر شما درخواستی را به سرور سایت ارسال میکند. این درخواست توسط سرور دریافت شده و پاسخی به آن داده میشود. این پاسخ به وسیله یک کد سه رقمی ارسال میشود که به عنوان http استاتوس کد شناخته میشود.
در واقع میتوان گفت کدهای وضعیت HTTP، مکالمه دیجیتالی بین مرورگرها و سرورها به شمار میآیند. این مکالمه قرار است وضعیت اتصال مرورگر و سرور را مشخص کند؛ اینکه شرایط دسترس به سایت کاملاً برقرار است یا اینکه خطایی برای دسترسی رخ داده، همه توسط کدهای سه رقمی وضعیت مشخص میشوند.
شناخت کدهای وضعیت HTTP و نحوه به کار بردن آنها به شما کمک میکند خطاهای سایت خود را به راحتی تشخیص داده و به سرعت برای رفع آنها اقدام کنید. بدین ترتیب زمانهایی که سایت شما در دسترس نیست، به حداقل ممکن میرسد. علاوه بر این با مدیریت کدهای وضعیت HTTP میتوانید دسترسی موتورهای جستجو و کاربران به صفحات سایتتان را کنترل کنید. برای مثال ریدایرکت 301 به خزندههای موتور جستجو و کاربران اعلام میکند صفحه موردنظر آنها به صورت دائمی به آدرس دیگری منتقل شده است.
لازم است بدانید اولین رقم سمت چپ کدهای وضعیت HTTP شامل یکی از اعداد 1 تا 5 میشود. بسته به این عدد، کد وضعیت مربوطه در یک کلاس مشخص دستهبندی میشود. هر کلاس از کدها نشاندهنده شرایط خاصی در سایت هستند، مثلاً کدهای سری 200 نشان از روبهراه بودن اوضاع سایت و ارتباط کاربران با سایت دارند؛ در حالی که کدهای سری 400 نشاندهنده عدم وجود صفحه درخواستی در سایت هستند.
ارتباط کدهای وضعیت http با سئو
از آنجا که کدهای وضعیت HTTP بهترین نشانه برای تشخیص مشکلات سایت هستند، برای هر وبمستری ضروری است که آنها را بشناسد. تصور کنید به عنوان یک متخصص سئو در حال کار روی سایتی هستید که کد 5xx زیادی نشان میدهد، در این حالت شما باید بدانید مشکل از سمت سرور بوده و برای رفع آن باید چه کاری میتوانید انجام دهید. همچنین کدهای 4xx به شدت بر تجربه کاربری سایت تأثیر میگذارند؛ در صورت بروز خطایی در این کلاس باید به سراغ تغییراتی که در آدرس url صفحات ایجاد کردهاید یا صفحاتی که حذف کردهاید، بروید.
مشخصاً در صورتی که شناختی از این کدها نداشته باشید، نمیتوانید با مباحث فنی و سئو تکنیکال خود به راحتی کار کنید و به زودی به مشکلات جدی برمیخورید.
فهرست کدهای وضعیت http
همانطور که گفتیم کدهای وضعیت http بر اساس رقم اول سمت چپ آنها به دستههای مختلفی تقسیم میشوند. از روی این رقم میتوانید جنس پیام را درک کنید، اینکه همه چیز به حالت طبیعی در حال اجرا است یا مثلاً خطایی در بخش سرور اتفاق افتاده یا اینکه خطایی در خود سایت رخ داده، همه با استفاده از این رقم قابل شناسایی است؛ اما اینکه جزئیات خطای رخ داده چیست به دو رقم دیگر کد بستگی دارد. در ادامه فهرست کدهای وضعیت را بررسی میکنیم؛ توجه داشته باشید که به طور کلی تعداد statusهای درخواست http زیادی وجود دارد که نیاز به شناخت همه آنها ندارید اما رایجترین آنها را در این راهنما میشناسید.
کدهای وضعیت 500
کدهای وضعیت 500 وقتی ایجاد میشوند که درخواستی از مرورگر به سرور ارسال شود اما سرور نتواند به آن پاسخ دهد. به این کدها اصطلاحاً خطاهای سمت سرور گفته میشود. مهمترین کدهای وضعیت 500 شامل موارد زیر است:
کد 500
این کد به خطای سرور داخلی معروف است و نشان میدهد سرور با موقعیتی مواجه شده که نمیداند چگونه آن را مدیریت کند. به عنوان یک وب مستر وقتی با این خطا مواجه شدید باید بدانید که مشکلی در مورد دسترسی به محتوای سایت وجود ندارد، بلکه مشکل از سرور سایت است. در این حالت نه رباتهای خزنده گوگل و نه کاربران امکان دسترسی به صفحات سایت را ندارند و این میتواند به شدت بر جایگاه آن در موتورهای جستجو تأثیر بگذارد.
کد 501
این کد نشان میدهد درخواستی از سوی مرورگر به سرور سایت ارائه شده که برای سرور ناشناخته بوده و امکان پاسخگویی به آن را ندارد.
کد 502
این کد هم نشان میدهد سرور هنگام پاسخگویی به درخواست مرورگر، پاسخ نامعتبری دریافت کرده است.
کد 503
این کد وضعیت اعلام میکند که سرور برای پاسخگویی به درخواست مرورگر آماده نیست. این حالت معمولاً زمانی رخ میدهد که سرور برای تعمیر و نگهداری از دسترس خارج شده یا بار ترافیک زیادی به آن تحمیل شده است. از لحاظ سئو این خطا خیلی بد نیست، زیرا خبر از یک وقفه موقت در کار سرور میدهد و رباتهای موتور جستجو متوجه میشوند که سرور برای مدت کوتاهی پاسخگو نیست، درنتیجه اتفاق بدی برای رتبه سایت در نتایج جستجو نمیافتد، مگر اینکه وقفه طولانی شود.
کد 504
این کد نشان میدهد سرور نتوانسته در زمان مناسب به درخواست مرورگر پاسخ دهد.
کد 505
کد 505 نشان میدهد نسخهای از پروتکل HTTP که مرورگر کاربر از آن استفاده میکند با سرور سازگار نیست.
بیشتر بخوانید: خطای 500 چیست
کدهای وضعیت 400
کدهای وضعیت HTTP سری 400 برعکس کدهای سری 500، شامل خطاهای سمت کاربر بوده و در مواقعی نمایش داده میشود که سایت یا صفحه درخواستی قابل دسترسی نیست. این دسته کدها اعلام میکنند درخواست مرورگر دریافت شده اما آدرس صفحهای که درخواست شده، وجود ندارد. این خطاها از طرف وبسایت ایجاد میشوند و معمولاً وقتی رخ میدهند که صفحه موردنظر کاربر در سایت وجود نداشته باشد یا مثلاً آدرس آن تغییر کرده است. در ادامه مهمترین کدهای سری 400 را بررسی میکنیم:
کد 400
وقتی کد وضعیت 400 اعلام شود بدین معنا است که سرور نتوانسته معنای درخواست مرورگر را درک کند، زیرا خطایی در دستور آن وجود داشته است.
کد 401
کد 401 نشان میدهد که درخواست مرورگر توسط سرور پذیرفته نشده، زیرا برای این کار باید کاربر احراز هویت شود.
کد 403
نمایش کد 403 بدین معنا است که درخواست کاربر توسط سرور رد شده، زیرا اجازه دسترسی به محتوای درخواستی را نداشته است. تفاوت این کد با کد 401 در این است که هویت کاربر تشخیص داده شده است. درواقع خطای 401 زمانی رخ میدهد که هویت کاربر نامشخص بوده و سرور نمیتواند پاسخ درخواستی را به آن ارائه کند؛ اما خطای 403 وقتی رخ میدهد که هویت کاربر توسط سرور شناسایی شده اما کاربر اجازه دسترسی به محتوای درخواستی را ندارد. در این حالت درخواست کاربر به طور کلی رد میشود.
کد 404
کد 404 را احتمالاً در بین کدهای وضعیت زیاد دیدهاید. کدی که اعلام میکند سرور صفحهای را که باید برای پاسخ به درخواست کاربر نمایش دهد، پیدا نمیکند یا میخواهد وجود آن را از کاربری که هویتش نامشخص است، پنهان کند. البته این کد مشخص نمیکند، از دست رفتن صفحه به صورت موقتی اتفاق افتاده یا دائمی است.
کافی است یک آدرس اشتباه را در مرورگر وارد کنید و نتیجه را ببینید. در صورتی که در سایت شما هم صفحه 404 بازگرداند، کاربران سایتتان با چنین موقعیتی مواجه شده و معمولاً سایت شما را میبندند و میروند. البته در هر سایتی ممکن است صفحاتی وجود داشته باشند که کد وضعیت 404 را بازمیگردانند، از لحاظ سئو در صورتی که صفحهای از سایت شما با خطای 404 روبرو شده، باید آن را با ریدایرکت 301 به یک صفحه دیگر که موضوعی مرتبط با آن دارد، تغییر مسیر دهید.
یکی از اقدامات اشتباهی که در مواجهه با این صفحات مرتکب میشوند، این است که آن را به صفحه اصلی سایت ریدایرکت میکنند. این کار اشتباه است، چراکه کاربر وارد شده به سایت را سردرگم کرده و باعث میشود کاربر سایت شما را ترک کند. بهترین کار ریدایرکت صفحه روی صفحهای با موضوع مشابه است. برای مثال فرض کنید محصولی از سایت شما با عنوان «کیک رژیمی بدون شکر» دیگر وجود ندارد، میتوانید صفحه این محصول را روی صفحه دستهبندی محصولات بدون شکر ریدایرکت کنید.
با این حال در برخی موارد هم استفاده از کد 404 برای صفحه لازم است. برای مثال اگر یک محصول مشخص را به مدت طولانی موجود ندارید، بهتر است آن را 404 کنید. این کار باعث میشود از خزش دوباره و ایندکس شدن صفحه جلوگیری کنید.
کد 410
کد 410 را باید دائمیتر از 404 در نظر بگیرید. یعنی در این حالت صفحه موردنظر به طور کلی از سرور حذف شده و هیچ آدرس جایگزینی برای آن وجود ندارد. هر لینکی که از صفحات سایتتان به یک صفحه 410 داده باشید، در واقع کاربران و خزندههای گوگل را به یک مقصد نامعتبر میفرستند، بنابراین بهتر است لینکهایی که به چنین صفحاتی داده شده را به طور کلی حذف کنید.
بیشتر بخوانید: خطای 404 را چگونه برطرف کنیم؟
کدهای وضعیت 300
کدهای وضعیت سری 300 شامل پیام تغییر مسیر است. این دسته کدها وقتی نمایش داده میشوند که هنگام درخواست یک صفحه به صفحه دیگری تغییر مسیر دهید. درواقع این کدها اعلام میکنند درخواست مرورگر به درستی دریافت شده اما پاسخ آن در مسیر دیگری قرار دارد. این کدها نهتنها خطری ندارند، بلکه بخشی از کار شما به عنوان وبمستر، استفاده از ریدایرکتها برای انتقال کاربر از برخی صفحات به صفحات دیگر است. برای مثال اگر نمیخواهید یک صفحه از سایتتان به هر دلیلی در معرض دید مخاطبان قرار گیرد، آن را به صفحهای مشابه ریدایرکت میکنید. در این قسمت از راهنمای کدهای وضعیت HTTP به بررسی مهمترین کدهای سری 300 میپردازیم:
کد 300
این کد اعلام میکند درخواست ارائه شده به سرور چند پاسخ مختلف دارد؛ یعنی کاربر یا مرورگر باید یکی از پاسخها را برای نمایش انتخاب کند.
کد 301
وقتی این کد نمایش داده میشود بدین معنا است که آدرس جدیدی به صفحه درخواستشده اختصاص یافته است، درنتیجه کاربر برای دیدن صفحه به آدرس جدید هدایت میشود. به لحاظ سئویی وقتی باید از این ریدایرکت استفاده کنید که صفحه موردنظر شما برای همیشه به آدرس جدید منتقل شده باشد. خوبی ریدایرکت 301 این است که اعتبار محتوایی هر صفحه را به آدرس جدید آن انتقال میدهد.
کد 302
این کد که به ریدایرکت موقت معروف است، نشاندهنده انتقال موقت محتوای یک صفحه به آدرس جدید است. یعنی ممکن است پس از مدتی صفحه موردنظر به آدرس قبلی خود برگردد. از آنجا که در این حالت ریدایرکت به صورت موقت در نظر گرفته میشود، اعتبار سئویی صفحه به آدرس جدید منتقل نمیشود. بنابراین حتماً توجه داشته باشید، زمانی که قصد دارید صفحه موردنظر را برای همیشه به آدرس جدید منتقل کنید، حتماً از ریدایرکت 301 استفاده کرده و زمانی که نمیخواهید این کار را برای همیشه انجام دهید، حتماً از ریدایرکت 302 استفاده کنید تا دچار مشکلات سئویی نشوید.
کدهای وضعیت 200
کدهای وضعیت سری 200، کدهای شامل پیام موفقیت هستند. این دسته کدها اعلام میکنند که همه چیز به حالت طبیعی اجرا شده و پاسخ مورد انتظار برای مرورگر ارسال شده است. در این حالت سرور درخواست مرورگر را به خوبی دریافت کرده و پاسخ صحیح آن را بدون اختلال صادر کرده است. در نتیجه کاربر میتواند دقیقاً همان صفحهای را که درخواست کرده، مشاهده کند. به عنوان یک وب مستر باید مطمئن شوید همه صفحات و منابع سایت شما، کدهای سری 200 را در پاسخ به کاربران اعلام کرده و همه آنها به راحتی در دسترس کاربران قرار دارند. مهمترین کدهای سری 200 را در ادامه مرور میکنیم:
کد 200
کد 200 اعلام میکند که درخواست کاربر گرفته شده و پاسخ آن با موفقیت داده شده است. از لحاظ سئویی، کد 200 کاملترین حالت عملکرد یک صفحه است، یعنی صفحه به درستی در معرض دید کاربران قرار دارد و همچنین خزندههای موتور جستجو هم میتوانند صفحه را به طور کامل خزش و ایندکس کنند.
کد 201
این کد اعلام میکند، درخواست موردنظر کاربر با موفقیت برآورده شده و در پاسخ آن یک یا چند منبع جدید به وجود آمده است.
کد 202
کد 202 هم نشانهای از موفقیت درخواست کاربر است اما اعلام میکند درخواست کامل نشده است. یعنی در این حالت درخواست کاربر برای یک پردازش توسط سرور پذیرفته شده اما هنوز کامل نشده است. معمولاً این کد وقتی اعلام میشود که در میان روند پردازش، درخواست جدیدی ارائه شود.
کد 203
این کد هم اعلام میکند که درخواست کاربر با موفقیت پاسخ داده شده است اما اطلاعات موجود در درخواست مرورگر با آنچه که باید باشد، کمی متفاوت بوده است.
کد 204
کد 204 اعلام میکند که سرور درخواست کاربر را به خوبی برآورده کرده است اما محتوای جدیدی در پاسخ به درخواست در دسترس نیست.
کدهای وضعیت 100
کدهای وضعیت سری 100 شامل پاسخ اطلاعاتی است و اعلام میکند سرور در حال پردازش درخواست مرورگر است. این کدها کاملاً موقتی هستند و امکان ظاهر شدن آنها بسیار کم است. درواقع، کدهای وضعیت 100 پاسخ نهایی یک پردازش نیستند و در صورتی که حین پردازش درخواستی به سرور ارسال شود، پاسخهایی از سری 100 داده میشود. البته این شرایط خیلی به ندرت اتفاق میافتد.
کد 100
وقتی این کد به عنوان پاسخ سرور ارسال میشود، بدین معنا است که بخش اولیه درخواست کاربر توسط سرور دریافت شده و در حال اجرا است. در این حالت کاربر باید منتظر ادامه پردازش باشد یا اگر تمایلی به ادامه ندارد، درخواست خود را لغو کند.
کد 101
کد 101 نشان میدهد سرور درخواست ارائه شده را درک کرده و در حال تغییر پروتکل خود است.
کد 102
کد 102 اعلام میکند کل درخواست کاربر را پذیرفته و در حال پردازش آن است. از آنجا که پردازش درخواست به پایان نرسیده، هنوز پاسخی هم برای آن وجود ندارد.
جمعبندی
کد وضعیت وب سایت یا http status code پاسخهایی هستند که سرور به درخواست مرورگر سیستم کاربر ارائه میکند. این پاسخها وضعیت دسترسی به صفحات یا منابع سایت را مشخص میکنند. کدهای وضعیت http، بسته به رقم اول سمت چپ آنها در دستههای مختلفی قرار میگیرند؛ هر دسته نشاندهنده یک وضعیت مشخص برای وبسایت است. برای انجام فعالیتهای سئوی سایت باید آشنایی لازم را با این کدها داشته باشید؛ به خصوص کدهای دسته 400 و 300 در حوزه سئو اهمیت زیادی دارند. این کدها میتوانند به شما نشان دهند کدام صفحات سایتتان در دسترس نیستند یا مثلاً اگر آدرس یک صفحه را تغییر دادهاید، تغییر مسیر آن به درستی انجام شده یا نه. همچنین کدهای سری 500، نشان از ایجاد خطا در سرور سایت دارند و کدهای سری 200، اعلام میکنند صفحه موردنظر به خوبی در دسترس کاربران قرار دارد.
کدهای وضعیت http status code چیزی نیستند جز پاسخی که سرور یک سایت برای مرورگر سیستم کاربر ارسال میکند.
در صورتی که سئوکاری شناختی از این کدها نداشته باشد، نمیتواند با مباحث فنی و سئو تکنیکال به راحتی کار کند و مشکلات فنی سایت را درک کند.