اگر در زمینه طراحی و پشتیبانی سایت فعالیت دارید حتما میدانید که گاهی اوقات نیاز است کاربران را از یک صفحه به صفحه دیگر در سایت هدایت کنید. این فرآیند که به آن ریدایرکت (Redirect) گفته میشود یکی از کارهای ضروری برای حفظ ساختار سایت، ارتقای تجربه کاربری و بهینه سازی سئو است. چه در حال مدیریت یک سایت روی هاست باشید چه روی سرور مجازی، آشنایی با انواع ریدایرکت و نحوه تنظیم آن امری ضروری است. ریدایرکت ها انواع مختلفی دارند؛ مانند ریدایرکت 301 برای انتقال دائمی، 302 برای انتقال موقت و نسخه های جدیدتر مثل 307 و 308 که هر کدام بسته به هدف، در موقعیت خاصی مورد استفاده قرار میگیرند. انتخاب نوع مناسب ریدایرکت میتواند بر عملکرد سایت و جایگاه آن در نتایج موتورهای جستجو تاثیرگذار باشد. در مقالهای دیگر به آموزش ریدایرکت در فایل htaccess پرداختیم. در این مقاله قصد داریم به بررسی کامل انواع ریدایرکت، تفاوت ها و کاربردهای آن ها بپردازیم.


انواع ریدایرکت و کاربردهای آن ها
ریدایرکت ها بسته به هدف و نوع انتقال، در قالب وضعیت های مختلف HTTP تعریف میشوند. هر یک از انواع ریدایرکت برای یک سناریوی خاص طراحی شده و انتخاب صحیح آن، نقش مهمی در حفظ تجربه کاربری، جلوگیری از بروز خطاهای رایج مثل ارور 404 و همچنین حفظ یا انتقال اعتبار سئوی صفحات دارد. در ادامه با مهمترین انواع ریدایرکت و کاربردهای هر کدام آشنا میشویم.
ریدایرکت 301 (دائمی)
ریدایرکت 301 برای مواقعی استفاده میشود که یک آدرس یا صفحه بهطور دائم به آدرس جدیدی منتقل میشود. در این حالت، موتورهای جستجو مثل گوگل متوجه میشوند که این تغییر دائمی است و تمام اعتبار سئوی صفحهی قدیمی (مثل بک لینک ها و رتبه بندی در موتورهای جستجو) به آدرس جدید منتقل میشود. این نوع ریدایرکت معمولاً در موارد زیر کاربرد دارد:
- انتقال دامنهاگر شما دامنه خود را تغییر دادهاید یا میخواهید آدرس یک صفحه یا سایت را تغییر دهید، باید از ریدایرکت 301 استفاده کنید تا موتورهای جستجو آدرس جدید را ایندکس کنند.
- انتقال صفحات قدیمی به جدیداگر محتوای یک صفحه به طور کامل تغییر کرده و صفحهی جدیدی با محتوای مشابه ساختهاید، باید از ریدایرکت 301 برای انتقال اعتبار سئو استفاده کنید.
- انتقال پروتکلهازمانی که بخواهید سایت خود را از HTTP به HTTPS انتقال دهید، باید از ریدایرکت 301 برای هدایت کاربران و موتورهای جستجو از نسخه غیرامن (HTTP) به نسخه امن (HTTPS) استفاده کنید.
ریدایرکت 302 (موقت)
یکی دیگر از انواع ریدایرکت، ریدایرکت 302 است و برای مواقعی استفاده میشود که شما قصد دارید موقتا کاربران را به یک آدرس دیگر هدایت کنید، اما تغییرات موقتی بوده و در آینده ممکن است به آدرس قبلی بازگردید. موتورهای جستجو معمولاً اعتبار سئو را منتقل نمیکنند و آدرس قدیمی را در نتایج جستجو نگه میدارند. این نوع ریدایرکت بیشتر در موارد زیر کاربرد دارد:
- صفحات موقتیاگر شما یک صفحه را برای یک رویداد خاص یا تخفیف موقت تغییر دادهاید و میخواهید بعد از تمام شدن رویداد، صفحه اصلی به حالت اولیه بازگردد، از ریدایرکت 302 استفاده کنید.
- انتقال موقت در زمان تعمیرات سایتاگر سایت شما در حال تعمیر است و میخواهید کاربران را به یک صفحه دیگر هدایت کنید تا زمانی که تعمیرات به پایان برسد، ریدایرکت 302 گزینهی مناسبی است.


ریدایرکت 307 (موقت - HTTP/1.1)
از دیگر انواع ریدایرکت، ریدایرکت 307 میباشد که مشابه ریدایرکت 302 است، اما با این تفاوت که در ریدایرکت 307، نوع درخواست (POST یا GET) حفظ میشود. به این معنی که اگر کاربر از فرم یا درخواست خاصی استفاده کرده باشد (مثل ارسال فرم اطلاعات)، درخواست او بدون تغییر به آدرس جدید منتقل میشود. این ریدایرکت بیشتر برای مواقعی استفاده میشود که:
- حفظ اطلاعات فرمهااگر شما نیاز دارید که اطلاعات فرم ها، بهویژه داده های POST، بدون تغییر در انتقال باقی بمانند، ریدایرکت 307 مناسب است. برای مثال، در هنگام انتقال به صفحهای دیگر، اطلاعات وارد شده توسط کاربر (مانند دادههای خرید یا ثبت نام) باید بدون تغییر باقی بماند.
- انتقال موقت با حفظ نوع درخواستاین ریدایرکت زمانی کاربرد دارد که بخواهید درخواست ها با حفظ نوع خود (مثل POSTو GET) به آدرس جدید منتقل شوند. این مسئله به ویژه در APIها یا صفحات وب سایت هایی که با فرم های پیچیده کار میکنند، مهم است.
ریدایرکت 308 (دائمی - HTTP/1.1)
ریدایرکت 308 مشابه 301 است، با این تفاوت که در آن نوع درخواست (POST یا GET) حفظ میشود. در مواقعی که نیاز به انتقال دائمی و بدون از دست دادن اطلاعات درخواست ها (مثل اطلاعات فرم ها) دارید، از ریدایرکت 308 استفاده میشود. این نوع ریدایرکت بیشتر در موارد زیر کاربرد دارد:
- انتقال دائمی صفحات APIاگر شما یک API دارید و میخواهید نسخه جدید آن را راه اندازی کنید، از ریدایرکت 308 برای انتقال دائمی کاربران و درخواست ها از نسخه قدیمی به نسخه جدید استفاده کنید، بدون اینکه اطلاعات درخواست ها از بین بروند.
- انتقال دائمی با حفظ درخواست هااگر شما یک فرم یا صفحهای دارید که اطلاعات آن باید برای همیشه حفظ شود (مانند اطلاعات پرداخت یا فرم های ثبت نام)، از ریدایرکت 308 استفاده میکنید تا اطلاعات درخواست ها در حین انتقال به آدرس جدید، حفظ شوند.
Meta Refresh
ریدایرکت Meta Refresh یک روش ریدایرکت در HTML است که معمولاً در سطح صفحه استفاده میشود و به کاربر میگوید که صفحه به طور خودکار به یک آدرس دیگر منتقل خواهد شد. این ریدایرکت از طریق تگ <meta> در بخش <head> صفحه HTML انجام میشود و معمولاً برای انتقال های موقت یا زمانی که نیاز به تغییر آدرس بدون استفاده از کدهای سرور دارید، استفاده میشود. موتورهای جستجو معمولا به ریدایرکت های Meta Refresh توجه نمیکنند. این ریدایرکت ممکن است باعث از دست رفتن اعتبار سئو شود.
ریدایرکت Meta Refresh یک روش ساده برای انتقال کاربر به آدرس جدید است، اما بهطور کلی، بهتر است از روشهای ریدایرکت HTTP (مثل 301 یا 302) استفاده کنید، زیرا این روشها از نظر سئو و تجربه کاربری بهتر عمل میکنند. Meta Refresh بیشتر برای مواقعی است که نیاز به پیادهسازی سریع و ساده ریدایرکت دارید.


انتخاب درست نوع ریدایرکت تأثیر مستقیم بر عملکرد سایت و سئوی آن دارد. استفاده نادرست از ریدایرکت ممکن است منجر به از بین رفتن ترافیک، خطاهای ناخواسته یا افت رتبه در موتورهای جستجو شود.
نوع ریدایرکت | وضعیت (Status Code) | نوع انتقال | حفظ روش درخواست (POST/GET) | تاثیر بر سئو | کاربرد اصلی |
---|---|---|---|---|---|
301 | 301 – Moved Permanently | دائمی | خیر | بله (اعتبار سئو منتقل میشود) | انتقال دائمی آدرس صفحه یا دامنه |
302 | 302 – Found | موقت | خیر | خیر(اعتبار آدرس قدیمی حفظ میشود) | تغییر موقت یا تست صفحات |
307 | 307 – Temporary Redirect | موقت (در HTTP/1.1) | بله | خیر (مشابه 302) | انتقال موقت با حفظ روش درخواست |
308 | 308 – Permanent Redirect | دائمی (در HTTP/1.1) | بله | بله (مشابه 301) | انتقال دائمی با حفظ روش درخواست، مناسب API |
Meta Refresh | ندارد | موقت (قابل تعیین) | خیر | بله (تاثیر منفی دارد) | انتقال ساده در مرورگر بدون نیاز به سرور |
- روش درخواست (POST/GET)اگر کاربر فرمی را با POST ارسال کند، در ریدایرکتهایی مثل 301 و 302 معمولاً به GET تبدیل میشود، ولی در 307 و 308 نوع درخواست حفظ میشود.
- تأثیر بر سئوریدایرکت 301 و 308 اعتبار لینک را به مقصد منتقل میکنند، ولی 302 و 307 این انتقال را تضمین نمیکنند.
- نسخههای HTTP ریدایرکت 302 در HTTP/1.0 تعریف شده و در HTTP/1.1 توسط 307 جایگزین شده است. همین موضوع برای 301 و 308 نیز صادق است.
بدون دیدگاه