ریدایرکت 301 چیست؟ (کد htaccess + وردپرس) و تاثیر آن در سئو

ریدایرکت 301

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

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

منظور از ریدایرکت 301، کد 301 در وضعیت HTTP صفحه است که بیانگر این است که این صفحه یا URL به طور دائمی به یک صفحه یا URL دیگر منتقل شده است. به دلیل این که این نوع ریدایرکت نشان گر منتقل شدن دائمی صفحه است، تا حد زیادی اعتبار آن صفحه نیز از نظر سئو به صفحه جدید منتقل می شود. پس اگر یک صفحه را ریدایرکت 301 کنیم، کاربر با وارد کردن آدرس آن صفحه، بلافاصله به یک صفحه دیگر منتقل می شود.

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

redirect 301

چرا باید از ریدایرکت 301 استفاده کنیم؟

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

اگر صفحه ای از سایت خود را حذف کنید یا URL آن را تغییر دهید و از ریدایرکت استفاده نکنید، هم کاربران و هم موتور های جستجو مانند گوگل، موقع چک کردن این URL حذف شده، با خطا رو به رو می شوند. کاربران خطای 404 می بینند و ممکن است از سایت شما خارج شوند و ربات های موتور های جستجو نیز نمی توانند صفحه جایگزینی پیدا کنند. به همین دلیل به سئو سایت شما ضرر وارد می شود.

چه زمانی باید از ریدایرکت 301 استفاده کنیم؟

شرایط مختلفی وجود دارد که ما مجبور به استفاده از 301 Redirect هستیم تا هم کاربران تجربه بدی در سایت ما نداشته باشند و هم گوگل خطایی دریافت نکند و سئو سایت ما افت نکند. در اینجا برخی از متداول ترین شرایطی که باید از ریدایرکت 301 استفاده کنیم را گفته ایم:

  • زمانی که URL یک صفحه را تغییر می دهید. (مثلا از example.com/old-post به example.com/new-post)
  • زمانی که نام ساب فولدری را در سایت خود تغییر داده اید. (مثلا از example.com/old-folder به example.com/new-folder)
  • زمانی که یک ساب دامین را به ساب فولدر تغییر داده اید یا برعکس. (مثلا از blog.example.com به example.com/blog)
  • زمانی که به صورت کلی دامین سایت را تغییر داده اید. (باید تمام صفحات سایت، به همان صفحه با دامین جدید ریدایرکت شوند)
  • زمانی که SSL را برای سایت خود فعال می کنید و می خواهید لینک ها را از HTTP به HTTPS تغییر دهید.

در کل هر زمانی که دیدید URL تغییر یا حذف شده است، باید جایگزینی برای آن URL مشخص کنید تا هم کاربران و هم گوگل به خطا رو به رو نشوند.

نحوه ریدایرکت 301 چگونه است؟

در این جا می خواهیم روش ریدایرکت 301 را با کد از طریق فایل htaccess و بدون کد با افزونه در وردپرس به شما آموزش دهیم.

ریدایرکت 301 در htaccess

اگر می خواهید ریدایرکت 301 را از طریق فایل htaccess انجام دهید، کافیست از کد زیر استفاده کنید:

<IfModule mod_rewrite.c>

RewriteEngine On

RedirectMatch 301 /old-page/ /new-page/

</IfModule>

در قسمت old-page باید URL قدیمی و در قسمت new-page باید URL جدید را وارد کنید.

حتی می توانید ریدایرکت را کلا به یک سایت دیگر هم انجام دهید. کد زیر را ببینید:

Redirect 301 /old-page/ http://newsite.com/new-page/

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

در وردپرس به دلیل وجود افزونه های مختلف، کار ریدایرکت بسیار آسان است و نیاز به درج کد در جایی ندارید. افزونه های مختلف Redirection برای این کار وجود دارند. اما اگر از افزونه Yoast SEO یا Rank Math استفاده می کنید، نیازی به نصب افزونه جدیدی ندارید و همین افزونه ها امکان ریدایرکت را دارند. البته باز هم امکان ریدایرکت از طریق htaccess در وردپرس فراهم است اما با افزونه این کار ساده تر است.

در اینجا به دلیل استفاده بیشتر وردپرس کاران از افزونه یوست، نحوه ریدایرکت در این افزونه را آموزش می دهیم اما روش کلی آن در سایر افزونه ها هم به همین ترتیب است.

اگر افزونه یوست را نصب دارید، ابتدا از منو سئو > تغییر مسیر را انتخاب کنید.

yoast seo redirection 1

در صفحه باز شده، از قسمت نوع، گزینه “301 کاملا انتقال یافت” را انتخاب کنید. سپس در فیلد “نشانی قدیمی” آدرس صفحه قدیمی که می خواهید ریدایرکت شود را وارد کنید. از فیلد “آدرس” نیز لینک صفحه جدید را وارد کنید و در نهایت افزودن ارجاع دهنده را کلیک کنید. (ممکن است برخی ترجمه های این عبارات در نسخه افزونه یواست شما متفاوت باشد)

ریدایرکت 301 در yoast seo

خواهید دید که در جدول داخل این صفحه، ریدایرکت اضافه شده است و حالا اگر کسی آدرس قدیمی را وارد کند، به آدرس جدید ریدایرکت 301 می شود و اعتبار آن صفحه نیز تا حد زیادی منتقل می شود.

تغییر مسیر 301 افزونه یواست سئو

ریدایرکت 301 در nginx

در nginx ریدایرکت ها در فایلی به نام nginx.conf نگه داری می شوند. برای ریدایرکت در nginx کافیست از کد زیر در فایل nginx.conf استفاده کنید:

server {

rewrite ^/old-page/$ /new-page/ permanent;

}

ریدایرکت 301 به https از طریق htaccess

اگر SSL را برای سایت خود فعال کرده اید، باید تمام صفحات قدیمی http را به https ریدایرکت 301 کنید. برای این کار کافیست از کد زیر در فایل htaccess استفاده کنید.

RewriteEngine On

RewriteCond %{HTTPS} off

RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

ریدایرکت کل صفحات دامین قدیمی به دامین جدید

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

RewriteEngine on

RewriteRule ^(.*)$ https://newwebsite.com/$1 [R=301,L]

به جای آدرس سایت وارد شده در کد بالا (newwebsite.com)، دامین جدید را باید وارد کنید.

چه بلایی سر لینکی که به یک آدرس دیگر ریدایرکت شده است می آید؟!

وقتی یک لینک ریدایرکت می شود، دیگر نه کاربران و نه بات های موتور های جستجو، به آن دسترسی نخواهند داشت و همیشه به URL جدید منتقل می شود. البته موتور های جستجو بعد از آن که چندین بار به URL جدید منتقل شوند، به مرور زمان، دیگر آدرس قدیمی را در نظر نمی گیرند و آدرس جدید را جایگزین می کنند. این فرایند جایگزینی ممکن است چند هفته تا چند ماه طول بکشد و عدد دقیقی برای مدت آن وجود ندارد.

اما کاربران اگر از هر جایی به لینک قدیمی دسترسی داشته باشند (چه در سایت شما و چه در سایت های دیگران)، همچنان با کلیک روی آن، به لینک جدید منتقل می شوند.

میخوای سئو رو کامل یاد بگیری؟ عالیه! در دوره آموزش سئو، تمام آنچه که برای بهبود سئو سایت خود نیاز دارید را گفته ایم!

فرایند ریدایرکت 301 در سرور چطور اجرا می شود؟

اگر بخواهیم کمی فنی تر به بحث 301 ریدایرکت نگاه کنیم، مراحل اجرای این ریدایرکت در سرور به صورت زیر است:

  1. قدم اول: ارسال درخواست: کاربر درخواست باز کردن یک URL را به سرور ارسال می کند.
  2. قدم دوم: پاسخ سرور: سرور URL را بررسی می کند و متوجه می شود که این URL به یک URL دیگر به طور دائمی و برای همیشه منتقل شده است و این را به مرورگر کاربر اعلام می کند.
  3. قدم سوم: ارسال درخواست جدید از سمت کاربر: بر اساس پاسخ قبلی سرور، URL جدید به سمت سرور ارسال می شود.
  4. قدم چهار: پاسخ سرور: حالا سرور URL جدید را پیدا می کند و صفحه درخواستی را به کاربر نمایش می دهد. در اینجا Status Code 200 را بر می گرداند که به معنای است که همه چیز درست است و صفحه نمایش داده می شود.

آیا می توان ریدایرکت های 301 را تغییر داد؟

پاسخ کوتاه این سوال، بله است. شما می توانید این ریدایرکت های تنظیم شده را (چه از طریق فایل htaccess و چه از طریق پلاگین های وردپرسی) تغییر دهید. فقط مراقب باشید که با تغییر ها، باعث تولید Redirect Loop نشوید! یعنی اینطور نشود که از صفحه A به صفحه B ریدایرکت انجام شود و خود صفحه B به صفحه C ریدایرکت شود و صفحه C به صفحه A ریدایرکت شود!

به این صورت یک لوپ در ریدایرکت بوجود می آید و تمامی ندارد و باعث مشکلاتی در سایت و سئو سایت شما می شود. همچنین زنجیره ریدایرکت هم نباید ساخته شود. مثلا در مثال بالا یک نوع زنجیره ریدایرکت است و چندین ریدایرکت انجام می شود تا به یک صفحه برسد. همیشه ریدایرکت ها را چک کنید تا مشکلاتی از این دست به وجود نیاید.

آیا شرایطی هم وجود دارد که نباید از ریدایرکت 301 استفاده کنیم؟

بله، به عنوان مثال زمانی که لینک شما به طور دائمی حذف نشده است، نباید از ریدایرکت 301 استفاده کنید. با ریدایرکت 301 شما به گوگل می گویید که این صفحه برای همیشه منتقل شده است. اگر بخواهید آن صفحه را موقتا به یک آدرس دیگری منتقل کنید، باید از ریدایرکت 302 استفاده کنید.

ریدایرکت 302 مشخص می کند که یک URL به طور موقت و برای مدت محدودی به یک URL دیگر منتقل شده است که بعدا دوباره همان URL قبلی را فعال خواهید کرد. همچنین در بعضی مواقع مشکل با تگ کنونیکال حل می شود. در مورد این تگ مقاله ای جداگانه در سایت داریم که می توانید مطالعه کنید.

ریدایرکت را حذف کرده اید اما هنوز ریدایرکت می شود؟!

شاید برای شما هم پیش بیاید که یک ریدایرکت 301 را حذف کرده اید، اما هنوز با وارد کردن URL به صفحه دیگری منتقل می شود در حالی که نه در کد htaccess و نه در افزونه های وردپرسی، این ریدایرکت وجود ندارد! این مورد به دلیل کش مرورگر است. کافیست کش مرورگر خود را خالی کنید تا مشکل حل شود. اگر از یک مرورگر دیگری که قبلا این لینک را باز نکرده هم تست کنید، خواهید دید که ریدایرکت حذف شده است و مشکلی نیست.

جمع بندی

در این مقاله یاد گرفتیم که ریدایرکت 301 چیست. این ریدایرکت زمانی استفاده می شود که یک آدرس را به طور دائمی به آدرس دیگر تغییر داده ایم. به دلیل ماهیت کد 301، اعتبار صفحه قدیمی به صفحه جدید منتقل می شود تا ضرری از بابت سئو به سایت زده نشود. برای پیاده سازی ریدایرکت 301 نیز می توانید از htaccess یا افزونه های وردپرسی مانند Yoast SEO استفاده کنید که آموزش های لازم آن را در بالا گفتیم.

در آخر چند پیشنهاد ویژه هم برای شما داریم. شما می توانید کتاب آموزش سئو را به صورت رایگان از سایت دانلود کنید. همچنین یک چک لیست سئو سایت آماده کرده ایم که به بهینه سازی سئو سایت شما کمک می کند. همچنین اگر هدف شما این است که سئو را کامل یاد بگیرید، پیشنهاد ما دوره آموزش سئو است.

امیدوارم این مقاله برای شما مفید بوده باشد و نکات خوبی از ریدایرکت 301 یاد گرفته باشید. سعی کردم سوالات و مشکلاتی که در ریدایرکت 301 وجود دارد را پوشش دهم. شما هم اگر سوال یا نظری دارید، از بخش نظرات همین پست با من در میان بگذارید.

میخوای سئو رو کامل یاد بگیری؟ عالیه! در دوره آموزش سئو، تمام آنچه که برای بهبود سئو سایت خود نیاز دارید را گفته ایم!
حتما عضو کانال تلگرام و صفحه اینستاگرام فصل وردپرس باشید! ما در تلگرام و اینستاگرام مطالب متفاوت تری داریم که در سایت نیست!


من مسعود جواهری نویسنده این مقاله هستم

لیسانس نرم افزار و دیپلم زبان انگلیسی دارم و بیش از 8 سال است که در زمینه طراحی سایت فعالیت می کنم. هم اکنون مدیریت تیم طراحی سایت ورتکس را بر عهده دارم و همچنین در زمینه آموزش طراحی سایت، سایت فصل وردپرس را راه اندازی کردم. در زمینه بازاریابی اینترنتی نیز مشغول مطالعه هستم.

دانلود رایگان کتاب آموزش سئو!