ریدایرکت 301 چیست ؟
ریدایرکت ۳۰۱ چیست : اگه تازه سایتت رو راه انداختی، احتمالاً یکی از اولین چالشهایی که باهاش روبهرو میشی، حذف یا اضافه کردن صفحات مختلف. گاهی وقتا هم پیش میاد که بخوای آدرس یه صفحه (همون URL) رو تغییر بدی؛ مثلاً برای بهینهسازی، مرتبکردن ساختار لینکها یا حتی انتقال محتوا به یه جای بهتر.
اینجاست که ریدایرکت 301 وارد میشه. این نوع ریدایرکت به مرورگر و موتورهای جستجو میگه: «این صفحه برای همیشه به یه آدرس جدید منتقل شده.» یعنی هر کسی که بخواد به آدرس قبلی بره، بهطور خودکار به آدرس جدید هدایت میشه، بدون اینکه با خطای 404 یا صفحه خالی مواجه بشه. تا پایان آموزش ریدایرکت ۳۰۱ چیست و آموزس ریدایرکت 301 با ما همراه باشید.
چرا ریدایرکت 301 مهم است؟
وقتی توی سایتت تغییراتی مثل حذف یا اضافه کردن صفحات انجام میدی یا حتی آدرس یه صفحه رو عوض میکنی، در حالت عادی ممکنه این کار ضربه بزرگی به سئو بزنه. اما خوشبختانه یه راهحل مطمئن وجود داره: ریدایرکت 301.
با استفاده از ریدایرکت 301 میتونی کاری کنی که همهی لینکهای قدیمی و آدرسهایی که تغییر دادی، بهطور خودکار به آدرس جدید هدایت بشن. اینطوری هم کاربرا سردرگم نمیشن و هم موتورهای جستجو اعتبار صفحاتت رو حفظ میکنن، بدون اینکه رتبه سایتت آسیب ببینه.
در مقاله ریدایرکت ۳۰۱ چیست میخوایم دقیقتر درباره ریدایرکت 301 صحبت کنیم؛ اینکه چی هست، چطور باید پیادهسازی بشه و چه زمانی استفاده ازش ضروریه. پس همراه ما باش تا همه چیز رو قدمبهقدم یاد بگیری و مطمئن بشی سایتت همیشه در بهترین حالت ممکن کار میکنه.
همچنین آموزش ما در مورد ریدایرکت در وردپرس با افزونه و بدون افزونه را مطالعه کنید.
ریدایرکت 301 چیست؟
فرض کن میخوای آدرس یه صفحه از سایتت رو تغییر بدی. طبیعتاً باید مطمئن بشی کاربرا وقتی روی لینک قبلی کلیک میکنن، مستقیم به آدرس جدید هدایت بشن. توی دنیای وب به این فرآیند میگن ریدایرکت 301.
ریدایرکت ۳۰۱ چیست؟ ریدایرکت 301 در واقع یه HTTP Status Codeه (مثل کدهای 404، 403 یا 500) که سرور سایت به مرورگر میفرسته. این کد به مرورگر میگه: «این صفحه برای همیشه به یه آدرس جدید منتقل شده.» نتیجه؟ هر کسی که بخواد به URL قدیمی بره، بدون دردسر به صفحه جدید هدایت میشه.
این نوع ریدایرکت بیشتر زمانی استفاده میشه که یه صفحه رو حذف یا منتقل کرده باشی. اگه ازش استفاده نکنی، کاربرا به جای محتوای جدید با خطای 404 Not Found روبهرو میشن؛ چیزی که هم تجربه کاربری رو خراب میکنه و هم به سئو سایتت ضربه میزنه.
از نظر سرعت هم خیالت راحت باشه؛ تغییر URL معمولاً اونقدر سریع اتفاق میافته که کاربر حتی متوجهش نمیشه. فقط ممکنه با نگاه کردن به نوار آدرس مرورگر بفهمه لینک تغییر کرده. برای بررسی دقیقتر هم میتونی از ابزارهایی مثل افزونه Ayima Redirect Path استفاده کنی.
یکی دیگه از نقشهای مهم ریدایرکت 301 مربوط به موتورهای جستجوست. وقتی درست از این کد استفاده کنی و مسیر هر URL رو مشخص کنی، موتورهایی مثل گوگل و بینگ اعتبار صفحه قدیمی رو به صفحه جدید منتقل میکنن. این یعنی سایتت همیشه بهروز میمونه و شانس حضور در نتایج بالای جستجو رو از دست نمیده.
در ادامه این مقاله، بهطور کامل بررسی میکنیم که چه زمانی باید از ریدایرکت 301 استفاده کنی و چطور میتونی اون رو روی سایتت پیادهسازی کنی.
همچنین آموزش ما در مورد رفع ارور Too Many Redirects با 6 روش آسان را هم مطالعه کنید.
چه زمانی باید از ریدایرکت 301 استفاده کنیم؟
تغییر URL
گاهی وقتها لازمه آدرسهای سایتت رو تغییر بدی؛ مثلاً برای اینکه ساختار لینکها مرتبتر بشه، یا URLها کوتاهتر و بهینهتر باشن. این تغییرات اگر بدون ریدایرکت انجام بشن، باعث میشن کاربرا با خطای 404 مواجه بشن و موتورهای جستجو هم اعتبار صفحه رو از دست بدن. بهترین راهحل اینه که از ریدایرکت 301 استفاده کنی تا همهی بازدیدکنندهها و موتورهای جستجو به آدرس جدید هدایت بشن و هیچ آسیبی به سئو وارد نشه.
بازآفرینی یک صفحه یا محتوا
گاهی پیش میاد که بخوای یه صفحه قدیمی رو بهطور کامل بازسازی کنی؛ این بازسازی میتونه شامل تغییر متن، ویدیو، تصاویر یا حتی قالب صفحه باشه. در چنین شرایطی باید مطمئن بشی که ریدایرکت 301 از آدرس قبلی به آدرس جدید فعال شده. این کار باعث میشه صفحه قدیمی بایگانی بشه و همهی اعتبار و ترافیکش به صفحه جدید منتقل بشه. به این ترتیب، کاربرا بهطور خودکار به نسخه تازه هدایت میشن و هیچ بازدیدی از دست نمیره.
ادغام چند صفحه مشابه
اگه چند صفحه توی سایتت داری که محتوای مشابه دارن یا روی یه کلمه کلیدی واحد تمرکز کردن، احتمالاً بهتره اونها رو با هم ادغام کنی تا یک صفحه جامعتر و قدرتمندتر بسازی. اما برای اینکه رتبهی صفحاتت توی موتورهای جستجو از بین نره، باید همهی اون صفحات رو با ریدایرکت 301 به صفحه اصلی جدید منتقل کنی. این کار باعث میشه اعتبار همهی صفحات قدیمی روی یک صفحه متمرکز بشه و شانس بیشتری برای گرفتن رتبههای بالاتر داشته باشی.
انتقال سایت به دامنه جدید
وقتی کل سایتت رو از یه دامنه به دامنه دیگه منتقل میکنی، خیلی مهمه که همهی لینکهای قدیمی با ریدایرکت 301 به آدرسهای جدید هدایت بشن. این ریدایرکتها باید دقیقاً از URL اصلی پیروی کنن تا هیچ کاربری گم نشه و هیچ لینکی بیاستفاده نمونه. با این کار، هم کاربرا بدون مشکل به دامنه جدید منتقل میشن و هم موتورهای جستجو اعتبار صفحات قدیمی رو به دامنه جدید منتقل میکنن.
در همهی این شرایط، ریدایرکت 301 مثل یه پل مطمئن عمل میکنه؛ هم کاربرا رو بیدردسر به مقصد جدید میرسونه و هم سئو سایتت رو حفظ میکنه.
همچنین اموزش ما در مورد حل مشکل ارسال نشدن ایمیل در وردپرس را هم مطالعه کنید.
آموزش ریدایرکت 301 در وردپرس
آموزش ریدایرکت 301 : وردپرس بهعنوان محبوبترین سیستم مدیریت محتوا (CMS) در دنیا، انعطافپذیری بالایی داره و همین باعث میشه راههای مختلفی برای پیادهسازی ریدایرکت 301 وجود داشته باشه. البته بسته به نسخه وردپرس یا نوع هاست، ممکنه روشها کمی متفاوت باشن. در این آموزش ما از آخرین نسخه وردپرس استفاده میکنیم تا مطمئن بشیم توضیحات بهروز و کاربردی هستن.
1) ریدایرکت از طریق سرور
یکی از بهترین و سریعترین روشها برای اعمال ریدایرکت، استفاده مستقیم از وبسروره. این روش بهجای اینکه بار پردازشی رو روی وردپرس بذاره، از سطح سرور عمل میکنه و همین باعث میشه سرعت و کارایی بالاتری داشته باشه.
اگر سرورت روی Apache باشه، معمولاً باید تغییرات رو در فایل .htaccess انجام بدی.
اگه از Nginx یا پلتفرمهای دیگه استفاده میکنی، روش کار کمی فرق میکنه و باید قوانین ریدایرکت رو در فایل کانفیگ مربوط به همون سرور وارد کنی.
بعضی وقتها هم نحوهی پیادهسازی ریدایرکت به تنظیمات و امکاناتی که هاستینگ در اختیارت میذاره بستگی داره.
نکته مهم: اگه تجربه کافی در کار با سرور نداری، بهتره سراغ این روش نری. چون یه اشتباه کوچیک توی فایلهای سرور میتونه کل سایت رو از دسترس خارج کنه و حتی خطای 500 Internal Server Error بده. همیشه قبل از تغییرات، یه بکاپ کامل از فایلها و دیتابیس بگیر.
نمونه کد در فایل .htaccess
برای ایجاد ریدایرکت 301 در Apache، باید بخش مربوط به mod_rewrite رو پیدا کنی و کد زیر رو به انتهای فایل اضافه کنی:
RewriteEngine On
Redirect 301 /old-page/ https://example.com/new-page/
این دستور به مرورگر و موتورهای جستجو میگه که آدرس /old-page/ برای همیشه به آدرس جدید منتقل شده و از این به بعد باید کاربرا رو به مقصد تازه هدایت کنه.
<IfModule mod_rewrite.c>
RewriteEngine On
</IfModule>
اضافه کردن دستورات ریدایرکت در فایل .htaccess
وقتی بخش RewriteEngine On رو فعال کردی، میتونی هر فرمانی که نیاز داری رو در ادامهی اون قرار بدی. نوع دستوری که اضافه میکنی کاملاً به هدفی بستگی داره که دنبالشی؛ ممکنه بخوای مسیر یه صفحه رو تغییر بدی، کل پوشهای رو منتقل کنی یا حتی چند آدرس رو به یک مقصد مشخص هدایت کنی.
برای نمونه، اگر قصدت فقط تغییر مسیر یک URL باشه، کافیست دستور مربوطه رو بعد از RewriteEngine On وارد کنی و بخشهای oldpage و newpage رو با آدرس قدیمی و جدید خودت جایگزین کنی. به این ترتیب، هر کاربری که به آدرس قبلی مراجعه کنه، بهطور خودکار به آدرس تازه منتقل میشه و هیچ خطای 404 یا مشکل دسترسی براش پیش نمیاد.
RedirectMatch 301 /oldpage/ /newpage/
علاوه بر تغییر مسیر یک صفحهی مشخص، این امکان رو داری که کل یک پوشه رو هم به مسیر جدید منتقل کنی. کافیست فرمان مربوطه رو بعد از بخش RewriteEngine On قرار بدی. این دستور باعث میشه هر کاربری که وارد یکی از آدرسهای داخل اون پوشه بشه، بهطور خودکار به مقصد تازه هدایت بشه.
به این ترتیب، نهتنها یک صفحه بلکه همهی فایلها و زیرصفحههای موجود در اون پوشه به آدرس جدید منتقل میشن و هیچ کاربری با خطای دسترسی یا صفحهی خالی مواجه نخواهد شد. این روش زمانی خیلی کاربردیه که بخوای ساختار سایتت رو تغییر بدی یا کل یک بخش رو به مسیر تازه منتقل کنی.
RewriteRule ^/?folder/(.\*)$ /location/$1 [R,L]
در قطعه کدی که پیشتر دیدی، باید نام پوشه و مسیر موردنظر خودت رو بهجای عبارتهای folder و location قرار بدی تا تغییر مسیر دقیقاً همونطور که میخوای اجرا بشه.
علاوه بر این، ریدایرکت 301 این قابلیت رو در اختیارت میذاره که نسخهی دارای www در ابتدای آدرس سایت رو به نسخهی بدون www منتقل کنی. این کار باعث میشه همهی بازدیدکنندهها تنها یک نسخهی استاندارد از دامنه رو ببینن و موتورهای جستجو هم اعتبار سایتت رو روی یک آدرس متمرکز کنن.
بهاینترتیب، با اجرای دستور مربوطه، هر کاربری که آدرس سایت رو با www وارد کنه، بهطور خودکار به نسخهی بدون www هدایت میشه و هیچ مشکلی در دسترسی یا سئو ایجاد نخواهد شد.
RewriteCond %{HTTP_HOST} ^(.\*)$ http://example.com/$1 [L,R=301]
ریدایرکت 301 با افزونه
ریدایرکت 301 با افزونه : اگر تجربه یا دانش کافی برای اعمال ریدایرکت 301 از طریق سرور رو نداری، یکی از سادهترین و مطمئنترین راهها استفاده از افزونههای رایگان وردپرسه. البته باید بدونی که پلاگینها معمولاً کمی کندتر عمل میکنن و همیشه باید به کیفیت و امنیت کدی که توسعهدهنده نوشته اعتماد داشته باشی.
وردپرس افزونههای متنوعی برای مدیریت ریدایرکتها داره. بهترین کار اینه که قبل از نصب، به وبسایت رسمی توسعهدهنده مراجعه کنی و مطمئن بشی افزونه بهروز و معتبره. در این آموزش، ما سراغ یکی از محبوبترین و پراستفادهترین افزونهها یعنی Redirection میریم که بهطور گسترده برای مدیریت ریدایرکت 301 استفاده میشه.
مرحله اول: نصب و فعالسازی افزونه Redirection
ابتدا باید افزونه Redirection رو روی سایت وردپرسی خودت نصب و فعال کنی. این افزونه بهت اجازه میده بدون نیاز به تغییرات دستی در فایلهای سرور، مسیرهای قدیمی رو به آدرسهای جدید هدایت کنی و همه چیز رو از داخل پیشخوان وردپرس مدیریت کنی.

2- بعد از نصب افزونه، وارد بخش Settings در پیشخوان وردپرس بشو و روی گزینهی Redirection کلیک کن. سپس دستورالعملهایی که برای راهاندازی نمایش داده میشن رو مرحلهبهمرحله دنبال کن تا افزونه بهدرستی فعال بشه.

3- پس از پایان مراحل نصب، به بخش پلاگینها منتقل میشی. برای ایجاد یک ریدایرکت تازه، از منوی بالای صفحه گزینهی Redirects رو انتخاب کن.

4- در بخش Redirects میتونی همهی ریدایرکتهای 301 فعال رو مشاهده کنی و در صورت نیاز موارد جدیدی اضافه کنی. برای ایجاد یک ریدایرکت تازه، وارد قسمت Add new redirection بشو، آدرس قدیمی رو در بخش اول وارد کن و سپس آدرس جدید رو در بخش بعدی قرار بده.

5- پس از وارد کردن آدرسهای موردنظر، روی گزینهی Add Redirect کلیک کن. حالا تغییر مسیر جدید در فهرست ریدایرکتهای فعال نمایش داده میشه و میتونی اون رو مدیریت یا ویرایش کنی.
اعمال تغییرات در فایل htaccess برای ریدایرکت 301
فایل htaccess یکی از مهمترین فایلهای پیکربندی در وردپرس و سرورهای مبتنی بر Apache محسوب میشه. این فایل بهت اجازه میده بدون دستکاری مستقیم فایلهای اصلی سرور، تنظیمات مهمی مثل ریدایرکتها، امنیت، و مدیریت دسترسیها رو کنترل کنی.
ویرایش htaccess رو میشه سادهترین راه برای ایجاد تغییرات حیاتی در سایت دونست، اما باید خیلی محتاط باشی؛ چون یک اشتباه کوچک در کدنویسی میتونه باعث خطاهای جدی مثل 500 Internal Server Error بشه و کل سایت رو از دسترس خارج کنه. بنابراین همیشه قبل از هر تغییر، یک نسخهی بکاپ از فایل تهیه کن.
مراحل دسترسی و ویرایش فایل htaccess
برای اعمال ریدایرکت 301 از طریق htaccess در وردپرس، باید ابتدا به سرور سایتت وصل بشی. این کار رو میتونی به دو روش انجام بدی:
اتصال از طریق FTP: با استفاده از نرمافزارهایی مثل FileZilla به سرور وصل شو و فایل htaccess رو در پوشهی اصلی وردپرس پیدا کن.
استفاده از File Manager در cPanel: وارد داشبورد cPanel بشو، ابزار File Manager رو باز کن و فایل htaccess رو در مسیر ریشهی سایت پیدا کن.
بعد از پیدا کردن فایل، این مراحل رو انجام بده:
یک نسخهی بکاپ از فایل htaccess ذخیره کن تا در صورت بروز مشکل بتونی به حالت قبل برگردی.
روی فایل کلیک کن و گزینهی Edit رو انتخاب کن.
حالا وارد محیط ویرایشگر متنی میشی و میتونی کدهای ریدایرکت 301 رو اضافه کنی.
نکته مهم
نوع کدی که وارد میکنی کاملاً به هدفی بستگی داره که دنبالشی. مثلاً ممکنه بخوای یک صفحهی خاص رو منتقل کنی، کل پوشهای رو تغییر مسیر بدی یا حتی دامنهی دارای www رو به نسخهی بدون www هدایت کنی.
برای نمونه، اگر بخوای یک صفحهی مشخص رو به صفحهی جدید منتقل کنی، باید در کد بخشهای example، oldpage و newpage رو با آدرسهای واقعی خودت جایگزین کنی.
Redirect 301 /oldpage.html http://www.example.com/newpage.html
اگر قصد داری کل نام یک دامنه رو به دامنهی جدید منتقل کنی، تنها کافیه از دستور مربوطه استفاده کنی. این کد بهطور کامل همهی درخواستها رو از دامنهی قدیمی به دامنهی تازه هدایت میکنه و باعث میشه کاربران همیشه به آدرس جدید دسترسی داشته باشن.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(?:www\.)oldsite\.com$ [NC]
RewriteRule ^http://newsite.com%{REQUEST_URI} [L,R=301]
در این مرحله لازم هست آدرس قبلی و آدرس جدید وبسایتت رو بهجای مقادیر oldsite و newsite قرار بدی. با این کار، ریدایرکت 301 بدون مشکل اجرا میشه و همهی درخواستها بهدرستی از دامنهی قدیمی به دامنهی تازه هدایت خواهند شد.
جمعبندی
در این مقاله به موضوع ریدایرکت ۳۰۱ چیست؟ آموزش ریدایرکت 301 با افزونه و بدون افزونه پرداختیم و توضیح دادیم که در چه شرایطی باید از آن استفاده شود. همچنین با نحوهی پیادهسازی این ریدایرکت در وبسایت آشنا شدی و نکات مهمی که باید هنگام اجرا در نظر بگیری رو مرور کردیم.
اجرای صحیح ریدایرکت 301 نیازمند دانش فنی مناسبه. اگر این دانش رو در اختیار نداری، بهتره انجام این کار رو به یک فرد متخصص بسپاری. چرا که در صورت پیادهسازی نادرست، احتمال داره وبسایتت با مشکلات جدی مواجه بشه و حتی از دسترس خارج بشه.