ریدایرکت چیست؟

ریدایرکت (Redirect) دستوری است که کاربر یا موتور جستجو را به‌صورت خودکار از یک نشانی (URL) به نشانی دیگری هدایت می‌کند. وقتی مرورگر آدرسی را درخواست می‌کند، سرور به‌جای نمایش محتوای همان آدرس، یک کد وضعیت (Status Code) از خانواده ۳xx برمی‌گرداند و مرورگر را به مقصد تازه می‌فرستد. این مکانیزم در سناریوهای پرتکراری کاربرد دارد؛ از انتقال کل سایت به دامنه‌ای جدید گرفته تا حذف یک صفحه، تغییر ساختار آدرس‌ها یا یکپارچه‌سازی نسخه‌های مختلف یک نشانی.

نکته کلیدی این است که مقصد ریدایرکت باید تا حد ممکن با صفحه مبدأ هم‌موضوع و مرتبط باشد؛ هدایت کاربر به صفحه‌ای نامرتبط (مثلاً فرستادن همه آدرس‌های حذف‌شده به صفحه اصلی) برای SEO ارزشی ندارد و حتی می‌تواند زیان‌آور باشد. ریدایرکت‌ها را می‌توان در سطح سرور، از طریق سیستم مدیریت محتوا (مانند وردپرس) یا با ابزارهای لایه شبکه مثل Cloudflare اعمال کرد. انتخاب درست نوع و روش پیاده‌سازی، نقش مهمی در حفظ رتبه و ترافیک سایت هنگام تغییرات ایفا می‌کند.

ریدایرکت چیست، ریدایرکت دامنه، ریدایرکت 301

انواع ریدایرکت و کد وضعیت آن‌ها

همه ریدایرکت‌ها یکسان نیستند. تفاوت آن‌ها در دو محور اصلی خلاصه می‌شود: ثابت یا موقت بودن، و این‌که آیا روش درخواست (مثل POST بودن یک فرم) هنگام هدایت حفظ می‌شود یا نه. هر نوع، کد وضعیت HTTP مخصوص خود را دارد که به موتورهای جستجو می‌گوید با این انتقال چگونه رفتار کنند. در ادامه مهم‌ترین انواعی را که باید بشناسید مرور می‌کنیم.

ریدایرکت ۳۰۱ (انتقال دائمی)

ریدایرکت ۳۰۱ یک انتقال دائمی است و رایج‌ترین نوع ریدایرکت در سئو به شمار می‌رود. زمانی از آن استفاده می‌کنید که می‌دانید یک آدرس برای همیشه جای خود را به آدرس جدید داده است؛ مثلاً هنگام تغییر دامنه، اصلاح ساختار آدرس‌ها یا ادغام دو صفحه. با ۳۰۱، این پیام به خزنده‌های گوگل منتقل می‌شود که «آدرس قدیمی را فراموش کن و از این پس آدرس جدید را معتبر بدان». در نتیجه، گوگل ایندکس خود را به‌روزرسانی می‌کند و اعتبار صفحه (Link Equity) به‌تدریج به مقصد تازه منتقل می‌شود.

ریدایرکت 301 چیست؛ انتقال دائمی دامنه

ریدایرکت ۳۰۲ (انتقال موقت)

ریدایرکت ۳۰۲ یک انتقال موقت است و زمانی به کار می‌آید که قرار است آدرس اصلی پس از مدتی دوباره فعال شود؛ مثلاً وقتی صفحه‌ای را برای تعمیر یا به‌روزرسانی موقتاً از دسترس خارج می‌کنید. در این حالت، خزنده‌ها همچنان آدرس اصلی را در ایندکس نگه می‌دارند و اعتبار را به مقصد منتقل نمی‌کنند، چون انتظار دارند آدرس قدیمی به‌زودی بازگردد. به همین دلیل، استفاده اشتباه از ۳۰۲ به‌جای ۳۰۱ برای انتقال‌های دائمی، یکی از خطاهای رایجی است که می‌تواند انتقال اعتبار صفحه را مختل کند.

ریدایرکت‌های ۳۰۷ و ۳۰۸؛ نسخه‌های مدرن و دقیق‌تر

کدهای ۳۰۱ و ۳۰۲ قدیمی‌اند و یک ابهام تاریخی دارند: در عمل، برخی مرورگرها هنگام ریدایرکت یک درخواست POST آن را به GET تبدیل می‌کردند. برای رفع این ابهام، استاندارد HTTP دو کد دقیق‌تر معرفی کرد که امروزه به‌ویژه در APIها و فرم‌ها اهمیت دارند:

  • ریدایرکت ۳۰۸ (Permanent Redirect): معادل دائمی ۳۰۱ است، با این تفاوت که تضمین می‌کند روش درخواست (مثلاً POST) دست‌نخورده باقی بماند. برای انتقال‌های دائمی APIها و فرم‌ها انتخاب دقیق‌تری است.
  • ریدایرکت ۳۰۷ (Temporary Redirect): معادل موقتِ ۳۰۲ است و باز هم روش درخواست را حفظ می‌کند. برای هدایت‌های موقتی که نباید داده‌های ارسالی کاربر را از دست بدهند، گزینه مطمئن‌تری محسوب می‌شود.

برای صفحات معمولی محتوایی، تفاوت ۳۰۱/۳۰۸ یا ۳۰۲/۳۰۷ از نگاه سئو تقریباً ناچیز است و گوگل هر دو زوج را به‌درستی تفسیر می‌کند؛ اما برای مسیرهایی که با فرم یا API سروکار دارند، استفاده از ۳۰۷ و ۳۰۸ رفتار قابل‌پیش‌بینی‌تری به همراه دارد.

ریدایرکت دامنه

ریدایرکت دامنه زمانی اهمیت پیدا می‌کند که نام دامنه سایت را تغییر می‌دهید یا دو وب‌سایت را در هم ادغام می‌کنید. در این شرایط، باید مطمئن شوید این جابه‌جایی به رتبه و ترافیک سایت آسیب نمی‌زند. با هدایت دامنه قدیمی به دامنه جدید (معمولاً با ریدایرکت ۳۰۱ یا ۳۰۸)، هم ترافیک کاربران به مقصد تازه می‌رسد و هم موتورهای جستجو از تغییر آگاه می‌شوند و ایندکس خود را با آدرس جدید به‌روز می‌کنند. اگر این کار درست انجام شود، اثر منفی بر سئو نخواهد داشت.

برای پیاده‌سازی ریدایرکت دامنه چند مسیر وجود دارد: استفاده از فایل پیکربندی سرور (در Nginx بلوک server با دستور return 301 و در آپاچی فایل .htaccess)، استفاده از افزونه‌های مدیریت ریدایرکت در سیستم‌های مدیریت محتوا مانند وردپرس، یا تعریف Redirect Rule در پنل Cloudflare که هدایت را پیش از رسیدن درخواست به سرور و در لبه شبکه انجام می‌دهد. روش لایه شبکه به‌ویژه برای سایت‌های پرترافیک سریع‌تر و کم‌هزینه‌تر است.

ریدایرکت‌های سمت سرور

در ریدایرکت سمت سرور (Server-Side Redirect)، تصمیم هدایت پیش از تحویل صفحه و مستقیماً روی سرور گرفته می‌شود. وقتی مرورگر درخواستی برای آدرس A می‌فرستد، سرور بلافاصله پاسخ می‌دهد که این آدرس به B منتقل شده است. بیشتر ریدایرکت‌های واقعی (شامل ۳۰۱، ۳۰۲، ۳۰۷ و ۳۰۸) از همین نوع‌اند؛ این روش سریع، قابل‌اتکا و دوست‌دار سئو است، چون موتورهای جستجو سیگنال انتقال را به‌روشنی دریافت می‌کنند.

انواع ریدایرکت؛ ریدایرکت سمت سرور

ریدایرکت‌های سمت کلاینت

در ریدایرکت سمت کلاینت (Client-Side Redirect)، این مرورگر است که مسئول هدایت می‌شود، نه سرور. ابتدا صفحه‌ای دریافت می‌شود و سپس درون همان صفحه، دستوری برای رفتن به آدرس جدید اجرا می‌گردد. چون این فرایند به یک رفت‌وبرگشت اضافی نیاز دارد، کندتر است و معمولاً برای سئو توصیه نمی‌شود. دو نوع رایج آن عبارت‌اند از:

  • متاتگ Refresh: با دستور <meta http-equiv="refresh"> صفحه پس از مدت مشخصی به آدرس دیگری منتقل می‌شود. این روش کند است و گوگل آن را سیگنال ضعیف و گاه شبیه اسپم تلقی می‌کند؛ بنابراین برای انتقال‌های دائمی مناسب نیست.
  • جاوااسکریپت: با تغییر window.location پس از بارگذاری صفحه، کاربر به آدرس جدید فرستاده می‌شود. هرچند گوگل امروزه جاوااسکریپت را اجرا و دنبال می‌کند، این روش از نظر سرعت و قطعیت به‌اندازه ریدایرکت سمت سرور قابل‌اعتماد نیست.

حلقه‌ها و زنجیره‌های ریدایرکت

یکی از مشکلات رایج هنگام مدیریت ریدایرکت‌ها، شکل‌گیری حلقه ریدایرکت (Redirect Loop) است. این حالت زمانی رخ می‌دهد که آدرس قدیمی به آدرس جدید هدایت می‌شود، اما آدرس جدید نیز دوباره به آدرس قدیمی برمی‌گردد و این چرخه بی‌پایان تکرار می‌شود. نتیجه، نمایش پیام خطا و عدم دسترسی کاربر به هیچ‌کدام از صفحات است.

مشکل دیگر، زنجیره ریدایرکت (Redirect Chain) است؛ یعنی وقتی یک آدرس پیش از رسیدن به مقصد نهایی از چند ریدایرکت پشت‌سرهم عبور می‌کند (مثلاً A به B، B به C و C به D). هر حلقه اضافی، سرعت بارگذاری را کاهش می‌دهد، بخشی از اعتبار صفحه را تحلیل می‌برد و کار خزنده‌های گوگل را دشوارتر می‌کند. این زنجیره‌ها اغلب ناخواسته ساخته می‌شوند؛ مثلاً وقتی صفحه‌ای را حذف می‌کنید که خودش پیش‌تر ریدایرکت شده بود.

برای پیشگیری، بهتر است همیشه ریدایرکت‌ها را مستقیماً به مقصد نهایی تعریف کنید و از انباشته‌شدن زنجیره‌ها بپرهیزید. ابزارهایی مانند Screaming Frog، Ahrefs و Google Search Console می‌توانند حلقه‌ها و زنجیره‌های ریدایرکت سایت را شناسایی و گزارش کنند.

نقش ریدایرکت‌ها در سئو

ریدایرکت‌ها، وقتی درست به کار روند، یکی از ابزارهای کلیدی حفظ سلامت سئوی سایت هستند و تجربه کاربر را بهبود می‌بخشند. مهم‌ترین اثرهای مثبت آن‌ها عبارت‌اند از:

  • حفظ اعتبار لینک‌ها: با ریدایرکت دائمی، بخش عمده ارزش و اعتبار صفحه قدیمی به صفحه جدید منتقل می‌شود و رتبه به‌دست‌آمده از بین نمی‌رود.
  • اصلاح لینک‌های خراب: وقتی صفحه‌ای حذف یا جابه‌جا می‌شود، ریدایرکت مانع از مواجهه کاربر با خطای 404 می‌شود و او را به نزدیک‌ترین صفحه مرتبط می‌رساند.
  • مدیریت تغییر ساختار آدرس‌ها: هنگام بازطراحی سایت یا تغییر الگوی URLها، ریدایرکت تضمین می‌کند بازدیدکنندگان و رتبه صفحات از آدرس‌های قدیمی به جدید منتقل شوند.
  • یکپارچه‌سازی نسخه‌های آدرس: هدایت همه نسخه‌ها (مانند نسخه با و بدون www، یا HTTP به HTTPS) به یک آدرس استاندارد، از تقسیم اعتبار میان نشانی‌های تکراری جلوگیری می‌کند.

سخن پایانی

ریدایرکت در ظاهر یک خط ساده تنظیمات است، اما در عمل یکی از پایه‌های حفظ رتبه و ترافیک سایت هنگام هر تغییری به شمار می‌رود. شناخت تفاوت میان انواع دائمی و موقت، استفاده درست از کدهای ۳۰۱، ۳۰۲، ۳۰۷ و ۳۰۸، انتخاب روش مناسب پیاده‌سازی (از Nginx و آپاچی تا Cloudflare و افزونه‌های وردپرس) و پرهیز از حلقه‌ها و زنجیره‌ها، تفاوت میان یک مهاجرت موفق و یک افت ناگهانی رتبه را رقم می‌زند.

توصیه می‌کنیم پیش از هر تغییر بزرگ در ساختار سایت، نقشه ریدایرکت‌ها را از قبل آماده کنید و پس از اعمال آن‌ها، با ابزارهای پایش، صحت مسیرها را بررسی کنید. همین دقت ساده، سرمایه سئویی شما را در برابر تغییرات حفظ می‌کند.

سؤالات متداول

آیا ریدایرکت‌ها برای سئو مضر هستند؟

به‌خودی‌خود خیر. ریدایرکت اگر درست و در جای مناسب استفاده شود، ابزاری ضروری برای حفظ رتبه و تجربه کاربر است. مشکل زمانی پیش می‌آید که نوع اشتباه (مثلاً ۳۰۲ به‌جای ۳۰۱) انتخاب شود، کاربر به صفحه‌ای نامرتبط هدایت گردد یا زنجیره‌های طولانی شکل بگیرند. در این موارد است که ریدایرکت می‌تواند به افت رتبه و ترافیک منجر شود.

تفاوت ریدایرکت ۳۰۱ و ۳۰۸ در چیست؟

هر دو انتقال دائمی هستند و از نظر سئو رفتار مشابهی دارند. تفاوت اصلی در این است که ۳۰۸ تضمین می‌کند روش درخواست (مانند POST) هنگام هدایت حفظ شود، در حالی که ۳۰۱ ممکن است در برخی موارد قدیمی، درخواست POST را به GET تبدیل کند. برای صفحات محتوایی معمولی ۳۰۱ کافی است، اما برای APIها و فرم‌ها استفاده از ۳۰۸ دقیق‌تر است.

Redirect Checker چیست و چه کاربردی دارد؟

Redirect Checker ابزاری است که نشان می‌دهد یک آدرس به کجا و با چه کد وضعیتی هدایت می‌شود و کل مسیر آن را ترسیم می‌کند. با این ابزار می‌توانید زنجیره‌ها و حلقه‌های ریدایرکت را شناسایی کنید؛ مشکلاتی که اغلب بدون اطلاع شما شکل می‌گیرند و هم خزش گوگل را دشوار و هم تجربه کاربر را بدتر می‌کنند. پایش منظم با چنین ابزاری بخشی از نگه‌داری سالم سایت است.

آیا باید HTTP را به HTTPS ریدایرکت کنیم؟

بله، این کار ضروری است. اگر سایت هم‌زمان روی HTTP و HTTPS در دسترس باشد، با محتوای تکراری و تقسیم اعتبار میان دو نسخه روبه‌رو می‌شوید و مرورگرها هم برچسب «ناامن» (Not Secure) را نمایش می‌دهند. گوگل نیز HTTPS را به‌عنوان یک سیگنال رتبه‌بندی در نظر می‌گیرد. بهترین کار، اعمال یک ریدایرکت دائمی (۳۰۱ یا ۳۰۸) در سطح سرور است؛ در Nginx با یک بلوک server روی پورت ۸۰ و دستور return 301 https://...، در آپاچی از طریق .htaccess، یا به‌سادگی با فعال‌کردن گزینه Always Use HTTPS در پنل Cloudflare.

بهترین روش پیاده‌سازی ریدایرکت در وردپرس کدام است؟

برای کاربرانی که به فایل‌های سرور دسترسی ندارند، افزونه‌هایی مانند Redirection یا قابلیت مدیریت ریدایرکت در Rank Math و Yoast SEO ساده‌ترین راه است. اما اگر تعداد ریدایرکت‌ها زیاد یا سایت پرترافیک باشد، اعمال آن‌ها در سطح سرور (Nginx یا آپاچی) یا در لبه شبکه (Cloudflare) عملکرد بهتری دارد، چون پردازش اضافی روی وردپرس تحمیل نمی‌شود و سرعت پاسخ‌دهی بالاتر می‌رود.