ریدایرکت 301 کد وضعیتی است که به مرورگر و موتور جستجو می‌گوید آدرس یک صفحه برای همیشه عوض شده و باید به آدرس جدید بروند. گوگل در نتایج جستجو آدرس جدید را نشان می‌دهد و سیگنال‌های صفحه قدیمی را به مرور به آن منتقل می‌کند. در ادامه تاثیر این ریدایرکت بر سئو، تفاوت آن با 302 و روش اجرای آن در وردپرس، افزونه Redirection و سرور را می‌بینیم.

روش ریدایرکت 301

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

تغییر مسیر دائمی 301 به شما این امکان را می‌دهد تا برای همیشه مسیر یک URL را به آدرس دیگری انتقال دهید تا به‌واسطه این کار، وقتی کاربر وارد لینک قدیمی شد، به صفحه جدید هدایت شود‌. معمولاً این روش زمانی کاربرد دارد که یک صفحه از وب‌سایت ما دارای اعتبار و رتبه باشد؛ اما دیگر نیازی به آن صفحه نداشته باشیم یا بخواهیم کاربر را به مرتبط‌ترین صفحه دیگری که در سایت وجود دارد، هدایت کنیم. در این صورت، آدرس صفحه موردنظر را روی آدرسِ دیگر ریدایرکت می‌کنیم تا کاربران به صفحه جدید منتقل شوند.

دلایل استفاده از ریدایرکت 301

از جمله رایج‌ترین علل ریدایرکت 301 صفحات عبارت‌اند از:

  • ادغام صفحات با یکدیگر: گاهی ممکن است به‌اشتباه چند صفحه مختلف با کلمه کلیدی یکسان یا محتوای مشابه ایجاد کرده باشید که موضوعات یکسانی را پوشش می‌دهند و کنیبالیزیشن ایجاد می‌کنند. در این صورت می‌توانید با روش ریدایرکت مذکور این مشکل را برطرف کنید. البته با راهکارهای دیگر مانند تگ کنونیکال، نو ایندکس کردن صفحات و... نیز می‌توان مشکل کنیبالیزشن را برطرف کرد؛ اما محوریت بحث ما در این مقاله تغییر مسیر دائمی 301 است
  • انتقال محتوا به دامنه دیگر: هنگامی که یک دامنه را به دامنه دیگری انتقال دهید، باید تمام محتوای آن را با ریدایرکت 301 به صفحات جدید منتقل کنید. نکته‌ مهم این است که در این فرایند آدرس‌های ریدایرکت شده حتماً باید از url جدید پیروی کنند
  • تغییر URL: گاهی برای تغییر ساختار پوشه‌های URL نیز می‌توان از این روش استفاده کرد

تفاوت ریدایرکت 301 با 302، 307 و 308

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

کد معنی نوع آدرسی که گوگل نشان می‌دهد
301 Moved Permanently دائمی آدرس جدید
308 Permanent Redirect دائمی آدرس جدید
302 Found موقت آدرس قدیمی
307 Temporary Redirect موقت آدرس قدیمی

تأثیرات ریدایرکت 301 در سئو

دررابطه‌با تأثیرات کد ریدایرکت 301 روی سئوی وب‌سایت باید بگوییم که اگر این کار به‌درستی انجام شود، تاثیر مخربی روی سئوی وب‌سایت سمت نخواهد گذاشت. از سوی دیگر همان‌طور که در قسمت قبل توضیح دادیم، با این ریدایرکت، اعتبار و ارزش صفحه قدیمی به صفحه مقصد انتقال می‌یابد؛ پس بهتر است ابتدا مرتبط‌ترین صفحه به موضوعِ صفحه موردنظر را در اولویت قرار دهید. پس اگر در ریدایرکت‌کردن دقت کنید و به نکاتی را که در این مقاله خواهیم گفت، توجه داشته باشید، می‌توانید بدون نگرانی این فرایند را با موفقیت پشت سر بگذارید.

سیگنال‌ها فورا منتقل نمی‌شوند. گوگل در راهنمای انتقال سایت توصیه می‌کند ریدایرکت‌ها تا جایی که می‌شود بمانند و این مدت "generally at least 1 year" باشد، یعنی معمولا دست کم یک سال. پس بعد از چند هفته ریدایرکت‌ها را حذف نکنید. برای انتقال کل سایت مقاله تاثیر انتقال دامنه بر سئو و برای یکی کردن نسخه‌های سایت ریدایرکت http به https را هم ببینید.

اشتباهات رایج در ریدایرکت 301

  • زنجیره ریدایرکت: اگر A به B و B به C برود، A را مستقیم به C ریدایرکت کنید.
  • ریدایرکت همه صفحات به صفحه اصلی: مقصد باید هم‌موضوع با صفحه قدیمی باشد، وگرنه ممکن است گوگل آن را Soft 404 بداند.
  • به‌روز نکردن لینک‌های داخلی: لینک‌های داخل سایت را هم به آدرس جدید تغییر دهید تا کاربر و ربات مسیر اضافه نروند.
  • استفاده از 302 برای تغییر دائمی: در این حالت ممکن است آدرس قدیمی در نتایج بماند.

برای تست، آدرس قدیمی را در پنجره ناشناس باز کنید یا با دستور curl -I کد پاسخ را ببینید. افزونه Redirect Path هم که در مقاله بهترین اکستنشن‌های سئو معرفی شده، مسیر ریدایرکت را نشان می‌دهد.

نحوه ریدایرکت 301

نحوه اجرای ریدایرکت 301

برای ریدایرکت 301 می‌توانید از افزونه‌های وردپرس یا تنظیمات سرور استفاده کنید. هر دو روش در ادامه آمده است.

ریدایرکت در وردپرس

در این روش ریدایرکت 301 شما می‌توانید از افزونه‌های مختلفی مانند رنک مث redirection، Quick Redirect، yoast و... استفاده کنید.

  • افزونه Yoast: اگر در وب‌سایت وردپرس خود از سیستم مدیریت محتوای Yoast استفاده می‌کنید، باید در منوی سئو، گزینه «تغییر مسیر» را انتخاب کنید. بعد از انتخاب نوع ریدایرکت موردنظر «redirect 301» در قسمت «نشانی قدیمی»، آدرس صفحه قدیمی و در قسمت «آدرس»، url صفحه مقصد را وارد کنید. سپس روی گزینه «افزودن تغییر مسیر» ضربه بزنید تا ریدایرکت ثبت شود
  • افزونه rank math: از منوی رنک مث به قسمت «تغییر مسیرها» بروید و پس از واردکردن url مبدأ و مقصد، روی گزینه «301 انتقال دائمی» کلیک کنید و در نهایت با ذخیره تغییرات، فرایند مربوطه را به انجام برسانید
  • افزونه Quick Redirect: اگر برای انجام ریدایرکت‌های وب‌سایت خود، این افزونه را نصب کرده‌اید، کافی است روی اسم آن در منوی وردپرس کلیک کنید و پس از واردکردن لینک مبدأ و مقصدِ صفحات موردنظر در صفحه‌ای که نمایش‌ داده‌ شده است، روی گزینه Add New Redirects کلیک کنید. در این افزونه دو گزینه وجود دارد که NF مربوط به نوفالوشدن لینک موردنظر و NW مربوط به بازشدن لینک در تب جدید است
  • افزونه redirection: این پلاگین برای تغییر مسیر urlها پرکاربرد است و روش کار با آن را در بخش بعد توضیح داده‌ایم.

افزونه Redirection چیست و چطور با آن ریدایرکت کنیم؟

افزونه Redirection پلاگین رایگان وردپرس از John Godley است که با آن ریدایرکت 301 می‌سازید و خطاهای 404 را هم پیگیری می‌کنید. برای کار با آن به دانش Apache یا Nginx نیاز ندارید.

  1. از بخش افزونه‌ها در پیشخوان وردپرس، Redirection را نصب و فعال کنید.
  2. از منوی ابزارها (Tools) وارد Redirection شوید و تنظیمات اولیه را کامل کنید.
  3. در کادر Source URL آدرس قدیمی و در کادر Target URL آدرس جدید را بنویسید.
  4. روی Add Redirect بزنید و ریدایرکت را تست کنید.
  5. لاگ 404 افزونه را مرور کنید و آدرس‌های مهمی را که خطا می‌دهند به صفحه مرتبط ریدایرکت کنید.

ریدایرکت در htaccess

نحوه ریدایرکت 301 در htaccess به این صورت است که باید کد مربوط به نوع ریدایرکت موردنظر را داخل این فایل قرار دهید. در جدول زیر برخی از کدهای مربوط به ریدایرکت انواع آدرس‌ها از طریق htaccess آورده شده است:

نوع ریدایرکت کد htaccess
ریدایرکت http به https RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
ریدایرکت دامنه به نسخه بدون www RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.yourdomain.com [NC]
RewriteRule ^(.*)$ https://yourdomain.com/$1 [L,R=301,NC]
ریدایرکت فایل ها تغییر پسوند داده شده با htaccess RewriteEngine On
RewriteCond %{REQUEST_URI} .php$
RewriteRule ^(.*).php$ /$1.htm [R=301,L]}
ریدایرکت یک فایل به دامنه دیگر Redirect 301 /oldfile.htm https://yourdomain.ir/newfile.htm
ریدایرکت دامنه به نسخه www RewriteEngine on
RewriteCond %{HTTP_HOST} ^yourdomain.com [NC]
RewriteRule ^(.*)$ https://www.yourdomain.com/$1 [L,R=301,NC]}
ریدایرکت فایل ها Redirect 301 /oldfile.htm /newfile.htm
ریدایرکت کل دامنه RewriteEngine on
RewriteCond %{HTTP_HOST} ^yourdomain.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.yourdomain.com [NC]
RewriteRule ^(.*)$ https://yourdomain.ir/$1 [L,R=301,NC]

ریدایرکت 301 در Nginx و هاست

در سرور Nginx به جای htaccess این کد را داخل بلوک server قرار دهید:

location = /old-page { return 301 https://example.com/new-page; }

اگر به تنظیمات سرور دسترسی ندارید، بخش Redirects در پنل هاستی مثل cPanel هم همین کار را انجام می‌دهد.

جمع‌بندی

در این مطلب توضیح دادیم ریدایرکت 301 چیست و نحوه اجرای آن در وردپرس و فایل htaccess به چه صورت است؛ برای تغییرهای موقت هم از 302 یا 307 استفاده کنید.