ریدایرکت چیست؟ آشنایی با نحوه انجام انواع ریدایرکت
ریدایرکت چیست ؟
اگر از قبل کمی با حوزه وب یا سئو آشنایی داشته باشید احتمالاً با واژه ریدایرکت (تغیر مسیر | redirect) برخورد کردهاید، در واقع redirect به معنی انتقال آدرس است، به این معنی که آدرس یک صفحه وب را به یک صفحه دیگر انتقال میدهد. در طول فرایند redirect ممکن است دامنه و حتی مفهوم محتوا تغییر کند.
استفاده از استراتژی ریدایرکت باعث میشود که صفحات ۴۰۴ دیگر به وجود نیایند و مخاطبی که به آن آدرس سرزده است دستخالی برنگردد و این خودبهخود باعث عدم آسیب به تجربه کاربری و از آن مهمتر به سئوی سایت میشود. بهصورت کلی میتوان گفت که redirect زمانی مفید است که ما URL سایت را تغییر داده باشیم. در این پست آموزشی از مجله هاست ایران قصد داریم با redirect و انواع آن آشنا شویم. پس باما همراه باشید.
انواع ریدایرکت :
پروتکل http تغیر مسیر مختلفی را پشتیبانی میکند که عبارتاند از:
- ۳۰۱ دائمی
- ۳۰۲ موقت
- ۳۰۷ موقت
- regex
- ۴۱۰
- ۴۵۱
مقاله پیشنهادی: ریدایرکت دامنه چیست؟
ریدایرکت دائمی یا ۳۰۱ redirect
ممکن است در نگاه اول هم مفهوم این نوع redirect برای شما قابل درک باشد. تغییر آدرس از یک صفحه به صفحه دیگر در این redirect دائمی است و زمانی باید انجام شود که قصدی برای برگشت به آدرس اولیه نداشته باشیم. با استفاده از این نوع redirect رنک و تمام محتوا از صفحه مبدأ به صفحه مقصد انتقال داده میشود.
این نوع تغیر مسیر متداول ترین نوع redirect در سطح وب است و از آن هنگامی استفاده میشود که قصد انتقال دائمی آدرس صفحه را داشته باشیم. یک مثال بارز از این نوع redirect تغیر ساختار پیوندهای یکتا در وردپرس است که به با این کار موتورهای جستجو میفهمند که آدرس قبلی دیگر در دسترس نیست و نیازی به ایندکس ندارد.
آموزش ساخت ریدایرکت ۳۰۱
روشهای زیادی برای ساخت ۳۰۱ redirect وجود دارد که یکی از مهمترین این روشها ویرایش فایل htaccess در پوشه اصلی وبسایت است. این روش در سروهای آپاچی مورداستفاده قرار میگیرد.
در سروهای Nginx استراتژی متفاوتی برای این امر وجود دارد و برای پیکربندی redirect باید هر بار که قصد تغییر آدرس را دارید با استفاده از FTP به سرور لاگین کرده و فایلهای مربوط را در آن ویرایش کنید. redirect در سروهای Nginx نیاز به دانش فنیتری نبست به سرورهای آپاچی دارد.
یکی از مهمترین دلایلی که ما از تغییر مسیر استفاده میکنیم، جلوگیری از جریمههای گوگل به خاطر محتوای تکراری است. به فرض مثال اگر وبسایتی با دو آدرس www.example.com و example.com اگر در دسترس باشد گوگل آنها را دو آدرس متفاوت با محتوای یکسان تشخیص میدهد و باید یکی از آنها را به دیگری ریدایرکت ۳۰۱ بزنیم.
فایل htaccess که از طریق آن عمل تغیر مسیر انجام میشود در روت هاست و در پوشه Public_Html قرار دارد و بهصورت زیر قابلویرایش است.
ریدایرکت example.com به www.example.com:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.example.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
تغیر مسیر www.example.com به example.com:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^/?$ “http\:\/\/example\.com\/” [R=301,L]
تغیر مسیر به com/index.php
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !oldexample.com$ [NC]
RewriteRule ^(.*)$ http://newexample.com/$1 [L,R=301]
ساخت ریدایرکت ۳۰۱ برای درخواستهای http دامنه قدیمی:
مثال ۱ – انتقال از com به www.newexample.com
RewriteEngine On
RewriteCond %{HTTP_HOST} !oldexample.com$ [NC]
RewriteRule ^(.*)$ http://www.newexample.com/$1 [L,R=301]
قطعه کد بالا هنگامی مفید است که ما از آدرس www.newexample.com بهعنوان دامنه جدید وبسایت خود استفاده کنیم. بهتر است وبسایت فقط با www یا بدون www نمایش داده شود.
مثال ۲ – تغیر مسیر از com به newexample.com
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !oldexample.com$ [NC]
RewriteRule ^(.*)$ http://newexample.com/$1 [L,R=301]
جهت انجام مراحل تغیر مسیر بالا از قبل باید مراحل زیر را طی کنید:
- لاگین کردن به کنترل پنل میزبانی وب
- کلیک روی علامت چرخدنده یا تنظیمات هاست در سمت راستبالای صفحه
- فعال کردن Show Hidden Files
- رفتن به بخش File Manager در هاست
- یافتن فایل htaccess در پوشه روت وبسایت یا پوشه Public_Html
- کلیک راست روی فایل htaccess ویرایش آن طبق تصویر زیر. با این کار میتوانید کدهای مربوطه را در آن وارد کنید و آن را ذخیره کنید.
این احتمال وجود دارد که از قبل فایل htaccess در هاست شما موجود نباشد و لازم است که خودتان دستی آن را بسازید. برای این کار لازم است که در داخل هاست و یا در هر مکان دیگری یک فایل متنی بانام htaccess بسازید و آن را در پوشه public_html قرار دهید.
ریدایرکت ۳۰۱ با PHP
جهت ایجاد تغیر مسیر ۳۰۱ دو راه در وردپرس وجود دارد که این دو راه عبارتاند از:
- تغییر کدهای هدر صفحه برای ریدایرکت
- استفاده از تابع ساختهشده در وردپرس
مقاله پیشنهادی: تاثیر ریدایرکت یا هدایت سایت به دامنه اصلی
نحوه ایجاد تغیر مسیر در افزونه Yoast SEO وردپرس
در وبسایتهای وردپرسی کار تغیر مسیر با افزونهها بسیار آسان است و در این رابطه نصب افزونه Redirection بسیار کمککننده خواهد بود. پس از اینکه افزونه Redirection را نصب کردید کافی است که در منو افزونه و از طریق بخش Redirection وارد محیط پیکربندی آن شوید. در این تب میتوانید به راحتی لینکهای آدرس سایت خود را به همدیگر ریدایرکت بزنید.
برای این کار کافی است که از طریق بخش Add new redirection در بخش Source URL آدرس مبدأ یا آدرس قدیمی و در بخش Target URL آدرس مقصد یا آدرس جدیدی را وارد کنید. در بخش ویرایش نیز میتوانید نوع ریدایرکت خود را تغییر دهید و از انواع ریدایرکت های ۳۰۱، ۳۰۲ و یا ۳۰۷ استفاده کنید.
در نسخه پولی یا پریمویم افزونه یاست سئو امکان ریدایرکت به راحتترین شکل ممکن و بدون هیچ دردسری وجود دارد. در افزونه یاست سئو این ماکان وجود دارد که در بخش تغییر مسیر یا Redirect به آسانی کارهای انتقال آدرس بین صفحات را انجام دهید بدون اینکه هیچ خطای ۴۰۴ اتفاق بیفتد.
ریدایرکت ۳۰۲ یا ریدایرکت موقت
یکی دیگر از انواع ریدایرکت، ۳۰۲ است که نسبت به نوع اولی یعنی نسبت به ۳۰۱ کمتر شناختهشده است و با این وجود گاها از آن استفاده میشود. اگرچه شباهت زیادی بین این دو ریدایرکت وجود دارد اما در اصل رسالت آنها باهم فرق دارد، به این معنی که ریدایرکت ۳۰۲ برخلاف نوع ۳۰۱ یک ریدایرکت موقتی است. یک تفاوت دیگر آنها درگذشته قابلیتهای انتقال رنک بود که در ۳۰۲ هیچ رنکی از لینکها به همدیگر انتقال داده نمیشد ولی طبق قوانین جدید در حال حاضر هردوی آنها قابلیت انتقال رنک رادارند.
زمانی که ما از ریدایرکت ۳۰۲ استفاده میکنیم موتورهای جستجو میفهمند که محتوای این آدرس بهصورت موقت در جای دیگری است و دنبال کنندگان را به آن صفحه هدایت میکند و رنک را نیز انتقال میدهد. درصورتیکه شما به سیستم مدیریت سایت خود تسلط دارید میتوانید ریدایرکت ۳۰۲ را با استفاده از روشهای زیر انجام داد:
ریدایرکت ۳۰۲ برای وبسایتهای بر روی سرور یونیکس یا آپاچی:
- ایجاد یک کپی از فایل htaccess و قرار دادن در پوشه بک آپ
- ایجاد یک فایل متنی بانام htaccess و قراردادن کدهای مربوطه در آن؛ مانند نمونه داخل پرانتر (redirect 302 /OldPage.html http://xyzname.com/NewPage.html)
- آپلود فایل جدید htaccess روی پوشه روت هاست و امتحان کردن ریدایرکت ۳۰۲ انجامشده
انجام ریدایرکت ۳۰۲ در سرور ویندوز
تغیر مسیر ۳۰۲ در سروهای ویندوز نسبت به سرورهای دیگر کمی پردردسر است، برای انجام این کار کافی است که مراحل زیر را انجام دهید:
- یک صفحه در موقعیت آدرس قدیمی وبسایت قرار دهید (http://xyzname.com/OldPage.asp).
- اگر یک وبسایت ASP استاندارد را اجرا میکنید، کد زیر را در بالای تگ <html> یا <!DOCTYPE> کپی کنید:
<%@ Language=VBScript %>
<%
Response.Status=”۳۰۲ Found”
Response.AddHeader “Location”,”http://xyzname.com/NewPage.asp”
%>
- اگر یک وبسایت Net. را اجرا میکنید، کد زیر را در بالای تگ <html> یا <!DOCTYPE> قرار دهید:
<script runat=”server”>
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = “۳۰۲ Found”;
Response.AddHeader(“Location”,”http://xyzname.com/NewPage.asp”);
}
</script>
- درنهایت با مراجعه به آدرس قدیمی یعنی (com/OldPage.html) از ریدایرکت صحیح ۳۰۲ به آدرس جدید (NewPage.html) اطمینان حاصل کنید.
ریدایرکت موقت نوع ۳۰۷
با به وجود آمدن تکنولوژی HTTP 1.1 در وب، ریدایرکت موقت ۳۰۲ جای خود را به ریدایرکت موقت ۳۰۷ داد. با استفاده از این نوع ریدایرکت موتورهای جستجو از انتقال موقت محتوای صفحه به یک صفحه دیگر با خبر میشوند. این ریدایرکت پس از مدتی بازمیگردد و بهتر است فقط زمانی استفاده شود که بخواهیم انتقال آدرس را بهصورت موقت انجام دهیم.
ریدایرکت های REGEX
ریدایرکت REGEX بهترین گزینه برای ساخت ریدایرکت های پیچیده برای یک صفحه است. برای مثال هنگامیکه تعدادی از صفحات ما کلمه کلیدی مشابهی دارند و ما میخواهیم همه آنها را به یک صفحه ریدایرکت کنیم مناسب است. استفاده از این نوع redirect در پروژههای پیچیده و بزرگ سئو کمک زیادی میکند. برای استفاده از این نوع ریدایرکت شما باید تخصص کافی در این زمینه داشته باشید زیرا در غیر این صورت امکان به وجود آمدن مشکلات برای وبسایت زیاد است.
ریدایرکت ۴۱۰
استفاده از تغیر مسیر ۴۱۰ برای جلوگیری از خطای ۴۰۴ یا خطای نبود صفحه استفاده میشود. این نوع redirect به موتورهای جستجو و همچنین به کاربران میگویید که آدرسی که به دنبال آن میگردید از وبسایت حذف شده است و با این کار موتورهای جستجو سعی میکنند که این صفحه را از نتایج سرپ حذف کنند.
ریدایرکت ۴۵۱
این نوع تغیر مسیر که به Meta Refresh معروف است برخلاف اغلب ریدایرکت ها که در سطح سرور انجام میشوند در سطح صفحه انجام میشود. Meta Refresh را ممکن است در صفحات انجمنهای گفتگو، برخی از صفحات دانلود و… بیابید و معمولاً با پیغامی مانند اگر تا چند ثانیه دیگر لینک دانلود فعال نشد اینجا کلیک کنید و … ظاهر میشوند.
این نوع ریدایرکت نیز اعتبار و رنک صفحه را تا حدودی انتقال میدهد اما ازآنجهت که کند است در سئو کمتر استفاده میشود.
[su_button url=”https://hostiran.net/domain” style=”flat” size=”7″]خرید دامنه [/su_button]
انواع کدهای دیگر شبیه ریدایرکت
علاوه بر تغیر مسیرها، کدهای دیگری نیز در مواجه با برخی از صفحات وجود دارند که درصورتی که ریدایرکت بهدرستی انجام نشود و یا به دلایل مختلف دیگر ظاهر میشوند که مهمترین آنها عبارتاند از:
- کد ۴۰۴: به دلیل حذف یا پیدا نشدن صفحه ایجاد میشود.
- کد ۵۰۳: به خطای سرور اشاره دارد و احتمال دارد سرور آفلاین باشد و یا کاربر به آن دسترسی نداشته باشد. حتی ممکن است در حالت آپدیت، بک آپ گرفتن و یا اشتباه در پیکربندی دی ان اس نیز رخ دهد.
تأثیر ریدایرکت در سئو اهمیت به کاربردن آن
تغیر مسیر نقش غیرقابلانکاری در سئو دارد و بیشترین نوع redirect که در سئو مورداستفاده قرار میگیرد از نوع ۳۰۱ است. در این نوع redirect تمام رنک صفحه انتقال داده میشود و یک انتقال دائمی است و هیچگونه افت رتبهای در درازمدت به سایت یا صفحه ما تحمیل نمیشود. این ریدایرکت برای حفظ اعتبار سایت بهترین نوع redirect است که باید انجام شود.
کاربرد redirect
Redirect در مواقع زیادی مورداستفاده قرار میگیرد که مهمترین کاربرهای آنها عبارتاند از:
- حذف یک مقاله یا صفحه از سایت و انتقال آنها به آدرس جدید
- انتقال سایت به دامنهای جدید
- حذف www در دامنه
- فعالسازی پیوند یکتا permalink در ورد پرس
- ادغام سایتها
- تغییر سیستم مدیریت محتوا
- تغیر آدرس به علت تغیر سیستمها
- هنگامیکه قصد ادغام کردن محتوای چندین صفحه در یک صفحه رادارید.
- جهت ادغام صفحات سایت و انتقال ارزش آنها به یک صفحه خاص
- حذف یک صفحه و ایجاد محتوای مشابه آن در صفحه دیگر
- و…