هر بار که آدرس یک صفحه را عوض میکنید، یک تصمیم فنی میگیرید که میتواند رتبهٔ آن صفحه را حفظ کند یا کاملاً از بین ببرد. ریدایرکت ۳۰۱ ابزار اصلی این کار است. در این راهنما دقیقاً میبینید گوگل با هر نوع ریدایرکت چه رفتاری دارد، کِی باید ۳۰۱ بزنید و کِی نباید، و کدام اشتباهات رایج بیسروصدا به سئوی شما ضربه میزنند.
ریدایرکت ۳۰۱ چیست؟
ریدایرکت ۳۰۱ یک کد وضعیت HTTP است که اعلام میکند یک آدرس بهطور دائمی به آدرس دیگری منتقل شده است. وقتی مرورگر یا خزندهٔ گوگل این کد را دریافت میکند، بهجای صفحهٔ قدیمی مستقیم به صفحهٔ جدید میرود. گوگل هم آدرس مقصد را بهعنوان نسخهٔ اصلی در نظر میگیرد و اعتبار صفحهٔ قدیمی را به آن نسبت میدهد.
سادهترین تشبیه، سرویس تغییر نشانی پستی است. وقتی خانه عوض میکنید و به ادارهٔ پست اطلاع میدهید، نامههای نشانی قدیمی خودکار به خانهٔ جدید میرسند. ریدایرکت ۳۰۱ همین کار را برای یک URL انجام میدهد، با این تفاوت که علاوه بر کاربر، اعتبار سئوی آن آدرس هم منتقل میشود.
از نظر فنی، سرور در پاسخ به درخواست، کد وضعیت ۳۰۱ و یک هدر با نام Location برمیگرداند که آدرس مقصد در آن نوشته شده است. کل این اتفاق در کسری از ثانیه و پیش از بارگذاری صفحه رخ میدهد، برای همین کاربر معمولاً متوجه آن نمیشود.
انواع ریدایرکت: ۳۰۱، ۳۰۲، ۳۰۷ و ۳۰۸
چهار کد ریدایرکت اصلی وجود دارد که در دو دستهٔ دائمی و موقت جای میگیرند. کدهای ۳۰۱ و ۳۰۸ دائمی هستند و به موتور جستجو میگویند این تغییر ماندگار است. کدهای ۳۰۲ و ۳۰۷ موقت هستند و یعنی آدرس اصلی قرار است برگردد. انتخاب اشتباه بین این دو دسته، رایجترین خطای ریدایرکت در سئو است.
ریدایرکت ۳۰۱ (انتقال دائمی)
وقتی مطمئن هستید آدرس قدیمی دیگر هرگز برنمیگردد، ۳۰۱ گزینهٔ درست است. تغییر ساختار URL، ادغام دو صفحه، مهاجرت از HTTP به HTTPS و تغییر دامنه همگی موارد کلاسیک استفاده از ۳۰۱ هستند. این کد پرکاربردترین ریدایرکت در پروژههای سئو است.
ریدایرکت ۳۰۲ (انتقال موقت)
۳۰۲ یعنی این جابهجایی موقتی است و آدرس اصلی بهزودی برمیگردد. مثال درست: صفحهٔ یک محصول که موقتاً ناموجود شده و کاربر را به دستهٔ مرتبط میفرستید، یا صفحهای که در حال بازطراحی است. اگر بهاشتباه برای انتقال دائمی از ۳۰۲ استفاده کنید، گوگل آدرس قدیمی را همچنان اصلی میداند.
ریدایرکت ۳۰۷ و ۳۰۸
این دو نسخهٔ سختگیرانهتر ۳۰۲ و ۳۰۱ هستند. تفاوتشان در حفظ متد درخواست است: ۳۰۷ و ۳۰۸ تضمین میکنند که متد اصلی درخواست (مثلاً POST) در مسیر تغییر نکند، در حالی که ۳۰۱ و ۳۰۲ در عمل ممکن است آن را به GET تبدیل کنند. برای صفحات محتوایی معمولی تفاوت عملی چندانی ندارند، ولی در فرمها و APIها مهم میشوند.
| کد | نوع | سیگنال کنونیکال به گوگل | کاربرد اصلی |
|---|---|---|---|
| ۳۰۱ | دائمی | بله | تغییر آدرس، ادغام صفحات، مهاجرت |
| ۳۰۸ | دائمی | بله | مثل ۳۰۱ با حفظ متد درخواست |
| ۳۰۲ | موقت | خیر | ناموجودی موقت، تست، بازطراحی |
| ۳۰۷ | موقت | خیر | مثل ۳۰۲ با حفظ متد درخواست |
گوگل دقیقاً با هر نوع ریدایرکت چه میکند؟
گوگل همهٔ ریدایرکتها را دنبال میکند، ولی فقط ریدایرکتهای دائمی را بهعنوان سیگنال کنونیکال میپذیرد. این دقیقترین و مهمترین نکتهٔ کل این موضوع است و بیشتر منابع فارسی آن را مبهم رها میکنند. تفاوت اینجاست که آیا گوگل آدرس مقصد را نسخهٔ اصلی ثبت میکند یا نه.
طبق مستندات رسمی گوگل دربارهٔ ریدایرکتها، در ریدایرکت دائمی «خزندهٔ گوگل ریدایرکت را دنبال میکند و خط لولهٔ ایندکس از آن بهعنوان سیگنالی استفاده میکند که مقصد ریدایرکت باید کنونیکال باشد». اما در ریدایرکت موقت «خزنده ریدایرکت را دنبال میکند، ولی خط لولهٔ ایندکس از آن بهعنوان سیگنال کنونیکالبودن مقصد استفاده نمیکند».
ترجمهٔ عملی این جمله برای شما: اگر صفحهای را برای همیشه منتقل کردهاید ولی ۳۰۲ زدهاید، گوگل همچنان آدرس قدیمی را در ایندکس نگه میدارد و اعتبار به مقصد منتقل نمیشود. این خطا معمولاً ماهها بیسروصدا ادامه پیدا میکند چون از دید کاربر همهچیز درست کار میکند.
meta refresh و ریدایرکت جاوااسکریپتی
دو روش غیرسروری هم وجود دارد که رفتار گوگل با آنها متفاوت است. در روش meta refresh، اگر تأخیر صفر باشد گوگل آن را مثل ریدایرکت دائمی حساب میکند، ولی اگر تأخیر داشته باشد (مثلاً «تا ۵ ثانیه دیگر منتقل میشوید») آن را موقت در نظر میگیرد. همین جزئیات کوچک، سرنوشت کنونیکال صفحه را عوض میکند.
دربارهٔ ریدایرکت جاوااسکریپتی، توصیهٔ گوگل صریح است: فقط زمانی از آن استفاده کنید که امکان ریدایرکت سمت سرور یا meta refresh وجود ندارد. دلیلش هم روشن است؛ گوگل برای دیدن این ریدایرکت باید صفحه را رندر کند و اگر رندر شکست بخورد، ممکن است اصلاً متوجه ریدایرکت نشود. جزئیات بیشتر در راهنمای گوگل دربارهٔ سئوی جاوااسکریپت آمده است.
تاثیر ریدایرکت ۳۰۱ بر سئو
ریدایرکت ۳۰۱ اعتبار و سیگنالهای رتبهبندی صفحهٔ قدیمی را به صفحهٔ مقصد منتقل میکند. یعنی بکلینکهایی که به آدرس قدیمی داده شدهاند، همچنان به نفع صفحهٔ جدید کار میکنند. به همین دلیل ۳۰۱ تنها راه درست برای حفظ رتبه هنگام تغییر آدرس است و حذف ساده صفحه، معادل دور ریختن تمام اعتبار آن است.
با این حال دو نکتهٔ واقعبینانه را در نظر بگیرید. اول اینکه انتقال اعتبار آنی نیست و گوگل برای پردازش کامل ریدایرکتها به زمان نیاز دارد؛ در پروژههای بزرگ این فرایند میتواند هفتهها طول بکشد. دوم اینکه ریدایرکت معجزه نمیکند: اگر صفحهٔ مقصد محتوای مرتبطی با صفحهٔ قدیمی نداشته باشد، انتظار حفظ رتبه واقعبینانه نیست.
ریدایرکت درست، بخشی از سلامت فنی سایت است و در کنار مواردی مثل رفع لینک شکسته و ساختار صحیح آدرسها معنا پیدا میکند. اگر میخواهید وضعیت کلی سایتتان را بسنجید، چک لیست سئو تکنیکال نقطهٔ شروع خوبی است.
چه زمانی ۳۰۱ بزنیم و چه زمانی نزنیم؟
ریدایرکت ۳۰۱ فقط وقتی درست است که محتوای صفحهٔ قدیمی جایگزین مشخصی داشته باشد. اگر محتوا صرفاً حذف شده و معادلی ندارد، ریدایرکت اجباری به صفحهٔ نامرتبط از حذف ساده بدتر است. در این حالت کد ۴۱۰ یا ۴۰۴ پاسخ صادقانهتر و برای سئو سالمتر است.
یک اشتباه رایج هم خلط کردن ریدایرکت با تگ کنونیکال است. این دو کار متفاوتی میکنند: ریدایرکت صفحهٔ قدیمی را واقعاً از دسترس خارج میکند، ولی کنونیکال هر دو صفحه را در دسترس نگه میدارد و فقط به گوگل میگوید کدام نسخه اصلی است. برای درک کامل این تفاوت، مطلب تگ کنونیکال را بخوانید.
| وضعیت | راهحل درست |
|---|---|
| آدرس صفحه تغییر کرده | ریدایرکت ۳۰۱ |
| دو صفحهٔ مشابه را ادغام کردهاید | ریدایرکت ۳۰۱ به صفحهٔ باقیمانده |
| دو نسخهٔ مشابه باید هر دو در دسترس بمانند | تگ کنونیکال |
| محتوا حذف شده و جایگزین ندارد | کد ۴۱۰ یا ۴۰۴ |
| صفحه موقتاً در دسترس نیست | ریدایرکت ۳۰۲ یا کد ۵۰۳ |
آموزش پیادهسازی ریدایرکت ۳۰۱
ریدایرکت ۳۰۱ را میتوان در سطح سرور، کنترل پنل هاست یا با افزونه پیاده کرد. بهترین گزینه از نظر سرعت، ریدایرکت سمت سرور است چون پیش از اجرای وردپرس انجام میشود و بار اضافی تولید نمیکند. افزونهها سادهترند ولی هر درخواست را از دل PHP عبور میدهند.
روش اول: فایل htaccess در سرور آپاچی
# ریدایرکت یک صفحهٔ مشخص
Redirect 301 /old-page/ https://example.com/new-page/
# ریدایرکت کل دامنه
RewriteEngine On
RewriteCond %{HTTP_HOST} ^old-domain\.com [NC]
RewriteRule ^(.*)$ https://new-domain.com/$1 [L,R=301]روش دوم: پیکربندی nginx
location = /old-page/ {
return 301 https://example.com/new-page/;
}روش سوم: افزونه در وردپرس
اگر به فایلهای سرور دسترسی ندارید، افزونههایی مثل Redirection یا بخش ریدایرکت افزونههای سئو کار را ساده میکنند. کافی است آدرس مبدأ و مقصد را وارد کنید و نوع را روی ۳۰۱ بگذارید. برای سایتهای کوچک و تعداد محدود ریدایرکت، این روش کاملاً کافی است.
در مهاجرتهای بزرگ حتماً پیش از اجرا یک نقشهٔ کامل تهیه کنید که هر آدرس قدیمی دقیقاً به کدام آدرس جدید میرود. گوگل هم در راهنمای رسمی جابهجایی سایت با تغییر آدرس بر همین نگاشت یکبهیک تأکید میکند. اگر ساختار آدرسها را هم بازطراحی میکنید، مطلب ساختار سایت کمکتان میکند.
۶ اشتباه رایج ریدایرکت که به سئو ضربه میزند
بیشتر آسیبهای ریدایرکت از خودِ ریدایرکت نمیآید، بلکه از نحوهٔ اجرای آن است. این شش خطا را در پروژهها بیش از همه میبینیم و نکتهٔ مشترکشان این است که هیچکدام پیام خطای آشکاری تولید نمیکنند؛ سایت ظاهراً سالم کار میکند در حالی که اعتبار در مسیر هدر میرود.
- زنجیرهٔ ریدایرکت: آدرس الف به ب و ب به ج میرود. هر حلقهٔ اضافه سرعت را کم میکند و ریسک از دست رفتن سیگنال را بالا میبرد. همیشه مبدأ را مستقیم به مقصد نهایی وصل کنید.
- حلقهٔ بینهایت: الف به ب و ب دوباره به الف میرود. نتیجه خطای مرورگر و صفحهای است که هرگز باز نمیشود.
- ریدایرکت همهچیز به صفحهٔ اصلی: سادهترین راه ولی بدترین انتخاب. وقتی دهها آدرس نامرتبط به صفحهٔ اصلی میروند، گوگل این را انتقال معنادار حساب نمیکند.
- استفاده از ۳۰۲ بهجای ۳۰۱: رایجترین خطای فنی. همانطور که دیدیم، گوگل ۳۰۲ را سیگنال کنونیکال نمیداند.
- فراموشکردن نسخههای موازی آدرس: نسخهٔ با www و بدون www، نسخهٔ HTTP و HTTPS و نسخهٔ با اسلش پایانی و بدون آن باید همگی به یک نسخهٔ واحد ریدایرکت شوند.
- لینکدادن داخلی به آدرس ریدایرکتشده: لینکهای داخلی خودتان باید مستقیم به آدرس نهایی اشاره کنند، نه به آدرسی که ۳۰۱ میخورد.
مورد ششم را دستکم نگیرید. در آخرین بازبینی فنی سایت خودمان در آژانس سئودو، ۱۲ لینک در منو و فوتر پیدا کردیم که بدون اسلش پایانی نوشته شده بودند و هر کلیک روی آنها یک ریدایرکت اضافه تولید میکرد. این نوع خطا هیچ هشداری نمیدهد و فقط با بررسی دستی یا ابزار خزش پیدا میشود.
چطور ریدایرکتهای سایت را بررسی و عیبیابی کنیم؟
سادهترین راه بررسی، دیدن کد وضعیتی است که سرور واقعاً برمیگرداند. ابزارهای خزش مثل Screaming Frog کل سایت را پیمایش میکنند و ستون کد وضعیت و تعداد حلقههای ریدایرکت را نشان میدهند. برای بررسی تکآدرس هم افزونههای مرورگر یا تب Network در ابزار توسعهدهنده کافی است.
سه چیز را در گزارشها دنبال کنید: آدرسهایی که بیش از یک حلقه دارند، آدرسهایی که کد ۳۰۲ برمیگردانند در حالی که باید دائمی باشند، و لینکهای داخلی که به آدرس ریدایرکتشده اشاره میکنند. رفع همین سه مورد معمولاً بیشترین بهبود را میدهد.
در سرچ کنسول هم بخش گزارش ایندکس، آدرسهایی را که بهدلیل ریدایرکت ایندکس نشدهاند جدا نشان میدهد. اگر میخواهید مطمئن شوید گوگل کدام نسخه را اصلی میداند، ابزار بازرسی URL دقیقترین پاسخ را میدهد. مبنای نظری این تصمیمگیری در مستندات کنونیکالسازی گوگل توضیح داده شده است.
اگر مهاجرت بزرگی پیش رو دارید یا افت رتبه پس از تغییر آدرسها را تجربه کردهاید، بررسی تخصصی میتواند جلوی آسیب بلندمدت را بگیرد. تیم خدمات سئو سئودو این نوع بازبینی فنی را بهصورت پروژهای انجام میدهد.
جمعبندی
ریدایرکت ۳۰۱ ابزار انتقال دائمی آدرس و مطمئنترین راه حفظ اعتبار صفحه هنگام تغییر URL است. کلید کار، انتخاب درست بین دائمی و موقت است؛ چون گوگل فقط ریدایرکتهای دائمی را سیگنال کنونیکال میداند و استفادهٔ اشتباه از ۳۰۲ باعث میشود آدرس قدیمی در ایندکس بماند. پیش از هر مهاجرت نقشهٔ یکبهیک آدرسها را آماده کنید، زنجیرهها را حذف کنید و لینکهای داخلی را مستقیم به مقصد نهایی ببرید. همین سه کار ساده، بیشترین اثر را در حفظ رتبه دارد.
سوالات متداول
تفاوت ریدایرکت ۳۰۱ و ۳۰۲ چیست؟+
۳۰۱ انتقال دائمی است و گوگل آدرس مقصد را نسخهٔ اصلی ثبت میکند و اعتبار را منتقل میکند. ۳۰۲ موقت است و گوگل آن را سیگنال کنونیکال حساب نمیکند، پس آدرس قدیمی در ایندکس میماند.
آیا ریدایرکت ۳۰۱ اعتبار سئو را کامل منتقل میکند؟+
بله، ریدایرکت ۳۰۱ سیگنالهای رتبهبندی را به آدرس جدید منتقل میکند، ولی این انتقال آنی نیست و به زمان نیاز دارد. همچنین اگر محتوای صفحهٔ مقصد با صفحهٔ قدیمی مرتبط نباشد، حفظ رتبه تضمین نمیشود.
زنجیرهٔ ریدایرکت چرا بد است؟+
وقتی آدرس الف به ب و ب به ج میرود، هر حلقه زمان بارگذاری را بالا میبرد و ریسک از دست رفتن سیگنال را بیشتر میکند. راهحل، وصلکردن مستقیم مبدأ به مقصد نهایی است.
برای صفحهای که حذف شده چه کنیم؟+
اگر جایگزین مرتبطی دارد، ریدایرکت ۳۰۱ بزنید. اگر جایگزینی وجود ندارد، کد ۴۱۰ یا ۴۰۴ پاسخ درستتری است. ریدایرکت اجباری به صفحهٔ اصلی برای سئو مفید نیست.
ریدایرکت را تا کی باید نگه داریم؟+
ریدایرکت دائمی را حذف نکنید؛ تا زمانی که لینک یا ترافیکی از آدرس قدیمی میآید، ریدایرکت ارزش نگهداشتن دارد. حذف زودهنگام باعث میشود آن لینکها به خطای ۴۰۴ برسند و اعتبارشان از بین برود.
ریدایرکت بهتر است یا تگ کنونیکال؟+
بستگی به هدف دارد. اگر میخواهید صفحهٔ قدیمی دیگر در دسترس نباشد، ریدایرکت ۳۰۱ درست است. اگر هر دو نسخه باید باقی بمانند و فقط میخواهید گوگل یکی را اصلی بداند، تگ کنونیکال گزینهٔ درست است.
منابع




