معرفی انواع ریدایرکت و بررسی روش های انجام آن
به زبان ساده، ریدایرکت (Redirect) یک کد دستوری است که کاربران (و ربات ها) را به آدرس اینترنتی (URL) متفاوتی از آنچه در ابتدا روی آن کلیک کرده اند انتقال می دهد. URL جدید باید حاوی اطلاعاتی مشابه با آدرس اصلی باشد تا هدف کاربر از کلیک برآورده شود.
دلایل مهمی برای استفاده از ریدایرکت ها وجود دارد که در این مقاله به آنها می پردازیم. همچنین انواع مختلف تغییر مسیرها، به همراه روش استفاده صحیح از آنها را بررسی خواهیم کرد.
ریدایرکت چیست و چرا از آن استفاده می کنیم؟
ریدایرکت ها برای ارسال بازدیدکنندگان یا موتورهای جستجو از یک URL قدیمی به یک آدرس جدید استفاده می شوند. وقتی کاربر وارد آدرس https://www.seranking.com/ می شود و سپس به آدرس https://seranking.com/ می رسد، یک تغییر مسیر اتفاق افتاده است. در این حالت از نظر ظاهری، تفاوت زیادی بین این دو URL وجود ندارد و حتی ممکن است کسی متوجه این تغییر نشود. اما گاهی اوقات این تفاوت کاملاً آشکار است.
مثل زمانی که کاربر، صفحه یک محصول خاص را جست و جو می کند، اما به جای آن به صفحه اصلی سایت منتقل می شود. این موضوع می تواند تأثیر منفی از برند شما در ذهن مخاطب ایجاد کند.
چرا وب مسترها کاربران را به صفحات جدید هدایت می کنند؟
دو دلیل کلی برای استفاده از ریدایرکت ها وجود دارد. اول اینکه برای بازدیدکنندگان سایت تجربه کاربری بهتری ایجاد کنید و دوم اینکه به موتورهای جستجو کمک کنید تا سایت شما را بهتر Crawl کنند (بخزند). در ادامه این موارد را بیش تر بررسی می کنیم.
جهت انتقال کاربران به نسخه اصلی یک وب سایت
برخی از وب سایت ها از پروتکل های HTTPS و برخی دیگر از HTTP استفاده می کنند. همین موضوع در مورد آدرس های حاوی www و بدون www نیز صدق می کند. پروتکلی که انتخاب می کنید و همچنین تصمیم شما برای اضافه کردن یا عدم افزودن پیشوند www، نسخه اصلی وب سایت یا به عبارتی دیگر، URL نشان داده شده در نتایج جستجو را مشخص می کند. همه کاربران در صورت استفاده از URL جایگزین به این نسخه هدایت می شوند.
به عنوان مثال، https://seranking.com/ نسخه اصلی آدرس یک وب سایت است. به همین دلیل وقتی که کاربران URLهایی مانند http://seranking.com/، http://www.seranking.com/ و https://www.seranking.com/ را وارد می کنند، باز هم به نسخه اصلی هدایت می شوند. این تغییر مسیر برای جلوگیری از ایجاد محتوای تکراری ضروری است.
برای جلوگیری از ایجاد صفحات تکراری
اگر بتوانید از طریق دو آدرس example.com/fish و example.com/fish/ به یک صفحه سایت دسترسی پیدا کنید یعنی این صفحه، مشکل محتوای تکراری دارد. فرقی نمی کند که در انتهای نام دامنه شما یک علامت اسلش وجود داشته باشد یا خیر، زیرا هر دو به یک معنی هستند.
بسیار بعید است که کاربران هنگام وارد کردن آدرس یک سایت، اسلش پایانی آدرس را هم وارد کنند. اما مرورگر به دلیل ریدایرکت، اسلش را به طور خودکار به URL اضافه می کند و به این ترتیب به جلوگیری از ایجاد محتوای تکراری کمک می کند.
صفحات تکراری به دلایل متفاوتی ایجاد می شوند که وجود پروتکل های مختلف و پیشوندهای www در آدرس صفحه یکی از آنها است. گاهی اوقات، هنگامی که چند صفحه حاوی محتوای یکسان هستند، وب مسترها صفحات تکراری را حذف می کنند و یک تغییر مسیر به صفحه با محتوای اصلی تنظیم می کنند.
برای حفظ پیوند و ترافیک یک URL قدیمی
دلایل متفاوتی برای عوض کردن URL وجود دارد. مثلاً وقتی به یک CMS جدید منتقل می شوید، هنگامی که ساختار وب سایت خود را تغییر می دهید و یا زمانی که می خواهید از شر تمام صفحات تکراری خلاص شوید، مجبور هستید URL را تغییر دهید. در چنین شرایطی ریدایرکت ها به شما کمک می کنند تا با حفظ پیوندها، ترافیک صفحه قدیمی را به صفحه جدید ارسال کنید.
برای مثال، اگر می خواهید یک محتوای قدیمی را از سایت خود حذف کنید، برای اطمینان از اینکه بک لینک به صفحه قدیمی هنوز هم در سئو و بهینه سازی وبسایت شما تأثیر گذار است، بهتر است URL آن را به طور دائم به یک صفحه مرتبط و مشابه هدایت کنید.
جهت ادغام چندین دامنه در یک دامنه جدید
اگر به هر دلیلی مانند تغییر نام تجاری، می خواهید وب سایت خود را به دامنه دیگری منتقل کنید، باید به طور دائم تمام صفحات دامنه قدیمی را به صفحات جدید، در دامنه جدید هدایت کنید. در چنین شرایطی بازدیدکنندگان و خزنده ها، از وب سایت قدیمی به وب سایت جدید منتقل می شوند.
ریدایرکت با چه روش هایی انجام می شود؟
ریدایرکت ها به دو گروه ریدایرکت سمت سرور و ریدایرکت سمت گیرنده تقسیم می شوند. هر گروه شامل تعدادی تغییر مسیر موقت یا دائمی است که برای جلوگیری از مشکلات احتمالی سئو، هر ریدایرکت باید در جایگاه مناسب خود استفاده شود.
1- ریدایرکت سمت سرور (Server-side redirects)
ریدایرکت سمت سرور، زمانی استفاده می شود که سرور تصمیم می گیرد کاربر یا موتور جستجو در هنگام درخواست صفحه، به کجا منتقل شود. این کار را با برگرداندن کد وضعیت HTTP 3XX انجام می دهد. ریدایرکت HTTP رایج ترین نوع تغییر مسیر است که برای مواردی مانند نمایش نسخه اصلی وب سایت، اجتناب از محتوای تکراری، حفظ ارزش لینک و انتقال سایت ها به دامنه های جدید استفاده می شود.
یک سئو کار، بیش تر اوقات از ریدایرکت های سمت سرور استفاده می کند، زیرا تغییر مسیرهای سمت گیرنده اشکالات زیادی دارند و در مواردی بسیار خاص استفاده می شوند. در ادامه به بررسی مهم ترین ریدایرکت های سمت سرور می پردازیم.
ریدایرکت 301
ریدایرکت 301 یعنی یک صفحه به طور دائم منتقل شده است. در این حالت موتورهای جستجو متوجه می شوند که پارامترهای یک آدرس URL قدیمی، باید به یک URL جدید اختصاص داده شود. در نتیجه URL قدیمی به نفع URL جدید از فهرست موتور جست و جو حذف می شود و PageRank صفحه قدیمی نیز به URL جدید منتقل می شود.
ریدایرکت 301 برای جلوگیری از محتوای تکراری، مهاجرت به دامنه ای دیگر، ارسال تمام ارزش لینک و ترافیک به آدرس جدید استفاده می شود. وب مسترها از ریدایرکت 301 بیش تر برای اهداف سئو استفاده می کنند.
ریدایرکت 302
ریدایرکت 302 کاربران را به صورت موقت به آدرس دیگری منتقل می کند. در این حالت، فقط بخشی از مشخصات URL قدیمی به آدرس جدید منتقل می شود. زمانی که می خواهیم کاربران را به نسخه محلی وب سایت خود هدایت کنیم یا هنگامی که قصد داریم نسخه های مختلف صفحات وب را تست کنیم و یا زمانی که قرار است یک تبلیغات موقت داشته باشیم، از ریدایرکت 302 استفاده می کنیم. اگر ریدایرکت 302 در یک بازه زمانی طولانی به حال خود رها شود، موتورهای جستجو با آن مانند تغییر مسیر 301 رفتار خواهند کرد و از آن به بعد URL جدید را ایندکس می کنند.
ریدایرکت 303
ریدایرکت 303 کاربر را به صورت موقتی به منبعی مشابه منبع درخواستی هدایت می کند. این حالت تقریباً مشابه کد وضعیت 302 است، با این تفاوت که پیوندها به URL جدید ارسال نمی شوند و توسط موتور جستجو قابل کش نیستند.
ریدایرکت 303 معمولاً برای مواردی مانند جلوگیری از ارسال مجدد فرم، هنگامی که کاربر دکمه بازگشت را در مرورگر خود می زند، استفاده می شود. تغییر مسیرهای 303 معمولاً برای اهداف سئو استفاده نمی شوند چون موتورهای جستجو ممکن است آنها را به عنوان 301 یا 302 در نظر بگیرند.
ریدایرکت 307
ریدایرکت 307 همان تغییر مسیر 302 است. با این تفاوت که کد وضعیت 307 نشان می دهد که اگر از روش POST در درخواست اول استفاده شده باشد، بعداً نیز باید از همین روش استفاده شود. کد وضعیت 307 مانند ریدایرکت 308، برای اطمینان از عدم تغییر روش POST در حین ریدایرکت استفاده می شود.
ریدایرکت 308
ریدایرکت 308 همان تغییر مسیر 301 است، با این تفاوت که برخلاف کد 301، 308 اجازه تغییر روش درخواست از POST به GET را نمی دهد. زمانی باید از کد 308 استفاده کنیم که بعضی از فرم های HTML در صفحه، از روش POST استفاده می کنند یا فقط مجبوریم از روش POST استفاده کنیم.
گوگل با ریدایرکت های 308 مانند ریدایرکت های 301 رفتار می کند، اما بیش تر سئوکاران همچنان از ریدایرکت های 301 استفاده می کنند.
2- ریدایرکت سمت گیرنده (Server-side client)
ریدایرکت سمت گیرنده، زمانی استفاده می شود که مرورگر تصمیم می گیرد کاربر در هنگام درخواست صفحه، به کجا منتقل شود. استفاده از این نوع تغییر مسیر، فقط در مواقع ضروری و زمانی که هیچ گزینه دیگری ندارید، پیشنهاد می شود.
ریدایرکت 307
هنگامی که یک سایت از HSTS استفاده می کند، تغییر مسیر 307 معمولاً در سمت گیرنده انجام می شود. این موضوع به این دلیل رخ می دهد که HSTS به مرورگر گیرنده اعلام می کند که سرور فقط اتصالات امن (HTTPS) را می پذیرد و اگر درخواستی از یک منابع ناامن (HTTP) ارسال شد، ریدایرکت داخلی 307 انجام شود.
ریدایرکت HTML یا متا رفرش (Meta refresh)
یک تگ خاص در کد HTML صفحه نیز می تواند برای هدایت کاربران از یک صفحه به صفحه دیگر استفاده شود. زمانی که مرورگر شروع به دانلود کد HTML صفحه می کند، تغییر مسیر شروع می شود. ریدایرکت متا رفرش به مرورگر اعلام می کند که کاربر را پس از چند ثانیه به صفحه جدید منقل کند. معمولاً گوگل با متا رفرش مانند کد 301 رفتار می کند.
این روش فقط در مواقع ضروری توصیه می شود، زیرا ممکن است همه پیوندها را حفظ نکند، موتورهای جستجو محتوای اشتباه را فهرست کنند، برای کاربر گیج کننده باشند و توسط برخی مرورگرها پشتیبانی نشوند. گوگل توصیه می کند به جای ریدایرکت متا رفرش، از تغییر مسیر 301 سمت سرور استفاده کنید.
ریدایرکت جاوا اسکریپت
همان طور که از نام آن پیداست، در این نوع ریدایرکت، این کدهای جاوا اسکریپت هستند که به مرورگر دستور می دهند، کاربر را به یک URL دیگر هدایت کند. هنگام پردازش فایل های جاوا اسکریپت در مراحل پایانی بارگذاری صفحه، از چنین تغییر مسیرهایی می توان استفاده کرد.
برخی متخصصان بر این باورند که ریدایرکت JS برای موتورهای جستجو مشکلاتی ایجاد می کند. زیرا اگر کاربر جاوا اسکریپت را غیرفعال کند، تغییر مسیر کار نخواهد کرد، Crawlerها مجبور هستند یک صفحه را رندر کنند تا بتوانند تغییر مسیر را پیدا کنند و موتورهای جستجو ممکن است محتوای اشتباه را فهرست کنند. با این حال ریدایرکت جاوا اسکریپت معمولاً برای Google مشکلی ایجاد نمی کند.
چطور ریدایرکت را پیاده سازی کنیم؟
چند راه برای تنظیم تغییر مسیر وجود دارد. اگر وب سایت با وردپرس ایجاد شود، ساده ترین راه برای تنظیم ریدایرکت ها استفاده از افزونه های خاصی مانند Redirection است. برخی از افزونه های سئو در وردپرس در صورت حذف شدن هر صفحه، به طور خودکار به شما پیشنهاد می دهند که ریدایرکت ها را تنظیم کنید.
شما همچنین می توانید ریدایرکت ها را در سطح سرور نیز تنظیم کنید. در این حالت، تغییر مسیرها سریع تر از افزونه ها کار می کنند. تنها کاری که باید انجام دهید این است که اگر وب سایت شما با Apache پشتیبانی می شود، فایل htaccess. و اگر وب سایت شما با NGINX پشتیبانی می شود، فایل های پیکربندی میزبان مجازی را ویرایش کنید.
سخن آخر
در ظاهر استفاده از ریدایرکت ها ساده به نظر می رسد، اما مانند بسیاری از موارد دیگر در بهینه سازی جستجو، صحبت از آن بسیار آسان تر از انجام آن است. استفاده صحیح از ریدایرکت ها به دلیل تأثیر زیادی که بر بهینه سازی وب سایت دارند، بسیار مهم است.
سعی کنید وب سایت خود را دائماً بررسی کرده و به طور مرتب مشکلات ریدایرکت را برطرف کنید. همچنین توجه داشته باشید که به هیچ وجه در استفاده از تغییر مسیرهای HTML و JS زیاده روی نکنید. بهتر است تا حد امکان از کدهای وضعیت 3XX استفاده کنید و صفحه که URL را به آن هدایت می کنید با دقت انتخاب کنید تا تغییر مسیرهای شما هم برای موتورهای جستجو و هم برای کاربران سایت مفید باشد.
سلام ضمن تشکر و قدردانی بابت مطالب خوبی که گذاشتید