ریدایرکت به معنای جابهجایی و انتقال کاربر از یک صفحه به آدرس جدید آن است. به طور کلی هر زمان مدیر سایت تصمیم به انتقال کاربر به صفحاتی مشخص داشته باشد از Redirect استفاده میشود. یکی از مهمترین و کابردیترین حوزههای استفاده از انواع ریدایرکت، در زمان سئو و بهینه سازی سایت است. در این مقاله از پارس وب قصد داریم تا شمارا با ریدایکت، کاربردها و انواع آن آشنا کرده و نحوه انجام ریدایرکت را به شما آموزش دهیم.
با توجه به تعریف ارائه شده در پاراگراف قبل، یکی از رایجترین موارد استفاده مدیران سایت، وب مستران و... از امکان ریدایرکت، زمانی است که شما آدرس برخی از صفحات سایت را تغییر داده و قصد دارید کاربران را از صفحات قبلی به آدرس صفحه جدید منتقل کنید( حتی زمانی که کاربر روی لینک قبلی کلیک کند) در این شرایط صفحه یا آدرس قدیم را با استفاده از انواع ریدایرکت (301،302( به صفحه و یا آدرس جدید منتقل میکنید.
مورد دوم استفاده از تغییر آدرسها، زمانی است که شما 2 صفحه مشابه به هم یا اصطلاحا Duplicate در سایت خود دارید. در این شرایط پس از بررسی میزان بازدید، جایگاه صفحه و .... یکی از صفحات را روی صفحه دیگر Redirect میکنید.
ریدایرکتها از انواع مختلفی به منظور پیاده سازی اهداف مشخص تشکیل شدهاند. در بین تمامی این موارد از نظر کاربرد 2 مورد بیشتر از همه رایج است. ریدایرکت 301 و ریدایرکت 302 که هر دو در عمل شبیه به هم بوده با این تفاوت که انتقال اعتبار، کاربر و خزنده در Redirect 301 دائمی بوده و در حالت دیگر به صورت موقت انجام میشود.
نکته: در صورتی که دامنههایی با پسوند مختلف روی نام برند خود خریداری کردهاید، به منظور در دسترس بودن تمامی آدرسها برای کاربران، ریدایرکت 301 را برای تمامی آن صفحات به مقصد آدرس سایت اصلی انجام دهید. رعایت اصول SEO و جلوگیری از محتوا تکراری و کپی از دلایل اصلی انجام این کار است.
اگر تصمیم دارید به صورت دائم آدرس صفحهای را تغییر داده و به همراه آن اعتبار، کاربران و خزنده گوگل هم به طور دائم به آن صفحه منتقل شود، از ریدایرکت 301 استفاده کنید. در ادامه توضیحات انتقال اعتبار میتوان اضافه کرد که گوگل برای هر صفحه امتیازی را در نظر میگیرد. این امتیاز به صورت مستقیم در تعیین جایگاه صفحه در نتایج گوگل نقش دارد. به منظور هدر نرفتن و انتقال این اعتبار به صفحه جدید از این روش تغییر آدرس استفاده میشود.
فرض کنید بخشها و صفحاتی از سایت شما به صورت موقت در دسترس نبوده و فاقد محتوا میباشند. به منظور رعایت اصول سئو و خذف موقت صفحه 404 از سایت، ریدایرکت 302 استفاده میشود. در این روش به موتورهای جست و جو میفهمانیم که آدرس قدیم به صورت موقت در دسترس نبوده و تمامی موارد از جمله اعتبار را به طور موقت به آدرس جدید انتقال بده.
تغییر آدرسها به صورت کلی با قرار دادن کد در فایل htaccess موجود در روت سایت انجام میشود. حال اگر شما از سیستم مدیریت محتوا وردپرس به عنوان بستری برای طراحی سایت در مشهد استفاده کرده باشید، افزونههای طراحی شده برای بهینه سازی وضعیت سئو سایت وردپرسی در انجام انواع ریدایرکتها به کمک شما خواهند آمد.
به طور مثال 2 افزونه معروف و کاربردی Yoast و Rankmath قابلیت ریدایرکت کردن صفحات را در پنل خود برای کاربران سایتهای وردپرسی فعال کردهاند.
در صورتی که سایت شما وردپرسی نبوده و با زبان برنامه نویسی خاصی نوشته شده است، کافیست طبق دستور زیر عمل کنید.
نکته: کدهای مربوط به ریدایرکت که در ادامه به آنها اشاره میکنیم، فقط زمانی مورد استفاده قرار میگیرند که هر 2 صفحه ( قدیم و جدید) در دامنه یکسانی باشند.
به روت سایت خود رفته و فایل Htaccess را پیدا کنید و کد زیر را وارد کنید.
Redirect 301 /Oldpage /Newpage
Redricet 302 /Oldpage /Newpage
حال فرض کنید که صفحات شما از دامنه یکسانی نبوده و در این حالت تصمیم به استفاده از Redirect دارید. مانند دستور زیر برای 2 نوع از تغییر آدرسها پیش بروید.
مانند حالت قبل وارد فایل htaccess شوید. ( نکته مهم در این حالت این است که برای انجام ریدایرکت بین 2 صفحه از 2 دامنه متفاوت، باید وارد فایل htacess مربوط به دامنهای شوید که آدرس قدیمی در آن است.)
Redirect 301 /Oldpage NewDomain /Newpage
طبق دستور بالا ابتدا عبارت ریدایرکت را نوشته، سپس آدرس صفحه قدیم را وارد کرده و در ادامه دامنهای که آدرس جدید در آن قرار گرفته است را وارد کنید. در انتها آدرس صفحه جدید را زده و فایل را ذخیره کنید. صفحه مد نظر خود را refresh کرده و انتقال صحیح را بررسی کنید.
پس از معرفی ریدایرکت ۳۰۱ و ریدایرکت ۳۰۲، اکنون نوبت به بررسی ریدایرکت ۳۰۷ میرسد. همانطور که اشاره شد، ریدایرکت به مفهوم انتقال یک آدرس و URL به یک آدرس جدید دیگر است. این کار به چند روش دائمی و موقت قابل انجام است.
ریدایرکت ۳۰۷ یکی از ریدایرکتهای موقت (Temporarily Redirect) سمت سرور است. ریدایرکت ۳۰۷ در واقع معادل و جایگزینی برای ریدایرکت موقت ۳۰۲ در HTTP نسخه ۱.۱ است. برای آن که روش HTTP که برای ایجاد درخواست مورد استفاده قرار میگیرد، دچار تغییر نشود، از ریدایرکت ۳۰۷ استفاده میشود.
در واقع میتوان اینطور گفت که اگر از GET HTTP در سمت سرور استفاده شده باشد، GET بهعنوان بخشی از ریدایرکت به آدرس جدید منتقل خواهد شد؛ اما اگر از POST استفاده شده باشد، POST بهعنوان قسمتی از ریدایرکت به آدرس جدید مورد نظر ما منتقل خواهد شد.
میدانیم که اینترنت بر اساس پروتکل HTTP (HyperText Transfer Protocol) کار میکند و این پروتکل در حال حاضر دو نسخه ۱.۰ و ۱.۱ دارد که در برخی موارد با یکدیگر تفاوتهایی دارند. در ریدایرکت کاربر در نسخه ۱.۰ ، وضعیت Moved Temporarily یا اعلام انتقال موقت به صفحه دیگر اتفاق میافتد، در حالی که در نسخه ۱.۱، ریدایرکت با کد وضعیت Found در صفحه دیگری به درخواست کاربر پاسخ میدهد.
ریدایرکت موقت ۳۰۲ با هر دو نسخه پروتکل HTTP یعنی نسخه ۱.۰ و نسخه ۱.۱ کار میکند و سازگاری دارد؛ اما ریدایرکت ۳۰۷ تنها با نسخه ۱.۱ پروتکل HTTP سازگاری دارد. بنابراین اگر سرور شما نسخه ۱.۱ را نمیشناسد، نمیتوانید از ریدایرکت ۳۰۷ استفاده کنید و از این نظر، ریدایرکت ۳۰۲ نسخهای کاملتر است.
اگر قصد انتقال موقت محتوای خود به یک آدرس و URL جدید را دارید و سرور شما نیز نسخه ۱.۱ پروتکل HTTP را ساپورت میکند، میتوانید از ریدایرکت ۳۰۷ برای این کار استفاده کنید؛ اما بهدلیل این که هنوز نحوه برخورد و سازوکار خزندهها و موتورهای جستجو با ریدایرکت ۳۰۷ چندان مشخص نیست، برای سئو بهینهتر، پیشنهاد میکنیم از همان ریدایرکت ۳۰۲ برای انتقال موقت محتواهای خود استفاده کنید.
meta refresh چیست؟
یکی دیگر از انواع ریدایرکتها و انتقال کاربر و محتوا به آدرس جدید، استفاده از روش ریداریت متا تگ رفرش یا همان meta refresh است. این روش انتقال چندان کاربرپسند نیست، چرا که رفرش سایت بدون رضایت و نیاز کاربران منجر به بارگذاری مجدد صفحه، استفاده مجدد از حجم اینترنت برای دانلود تصاویر و المانهای گرافیکی و همچنین انتقال کاربر به ابتدای صفحه و محتوا خواهد شد. این نوع از ریدایرکت سمت سرور نیست و روی صفحه مورد نظر انجام میشود.
این نوع ریدایرکت بهدلیل کند بودن، معطلکردن کاربر و موتورهای جستجو و همچنین عدم انتقال کامل اعتبار و کارایی ضعیف، چندان مورد توجه و پیشنهاد سئوکاران و وبمسترها قرار نمیگیرد. برای مثال زمانی که لینکی را باز میکنید و با عبارت «اگر تا چند ثانیه دیگر به صفحه مورد نظر منتقل نشدید، روی عبارت زیر کلیک کنید» روبرو شده و برای چند ثانیهای معطل میشوید، برای انتقال شما و محتوا به صفحه جدید و مدنظر مدیر سایت، از روش ریدایرکت متا رفرش استفاده شده است.
ریدایرکت متا رفرش را به کمک قرار دادن یک کد متا در قسمت HEAD صفحه انجام میهیم. در این روش از مرورگر درخواست میکنیم پس از چند ثانیه مشخص، صفحه مورد نظر را مجدداً بارگذاری کرده و یا آدرس دیگری را بارگذاری کند. برای مثال، اگر بخواهیم پس از بارگذاری صفحه، کاربران را به آدرس http://www.Google.com// انتقال بدهیم، باید کد زیر را در قسمت هد صفحه اضافه کنیم:
<meta content=”0; url=http://www.Google.com” http-equiv=”refresh” />
اعدادی که در بخش Content در متا تگ رفرش قرار داده میشود، در واقع مدت زمان انتظار صفحه و کاربر (به ثانیه) است و پس از تمامشدن شمارش معکوس است که کاربر به صفحه بعد یا همان صفحه منتقل خواهد شد. همچنین آدرس صفحه مقصد در بخش URL متا رفرش تگ، حتماً باید به شکل کامل وارد شود، وگرنه کد بهدرستی اجرا نخواهد شد.
یکی دیگر از روشهای ریدایرکت محتوا و کاربر به صفحه اینترنتی جدید، روش ریدایرکت در php و جاوا اسکریپت (JavaScript) است. اگر در برنامهنویسی سمت بک اند فعالیت میکنید، انتقال و هدایت کاربر از پشت صحنه و بدون نیاز به کلیک و تاچ کاربر به آدرس و صفحه مورد نظر، به کمک ریدایرکت php انجام میشود. ریدایرکتکردن کاربران به صفحات و آدرسهای جدید به کمک تابع php، بسیار آسانتر، منطقیتر و قابل فهمتر از روش جاوا اسکریپت است.
برای مثال زمانی که کاربر در حال انتقال به صفحات پرداخت است، این نوع ریدایرکت بهصورت خودکار و به کمک اسکریپت php انجام میشود. Php برای راحتی کار و بالا بردن سرعت، تابع پیشفرضی ایجاد کرده است که از آن برای هدایت کاربر از طریق url استفاده میشود. این تابع به اسم header نامگذای شده است.
همانطور که میدانید در ریدایرکت با جاوا اسکریپت، راهها و آیتمهای متنوعی برای مدیریت URL بر اساس مرورگر مورد استفاده توسط کاربر در اختیار داریم؛ اما php تمام این پیچیدگیها را فاکتور گرفته و یک تابع به نام تابع header را در اختیار ما قرار داده است تا با استفاده از نقاط مشترک مرورگرهای مختلف، یک روش یکسان و واحد برای انتقال و ریدایرکت محتوا در اختیار داشته باشیم.
در روش ریدایرکت با php تنها کافی است تا تارگت و لوکیشن (Location) مورد نظر برای انتقال محتوا و کاربر را در قالب یک کد و url و بهصورت relative مشخص کنیم.
Header(“location: target-url”);
در کد سینتکس ریدایرکت با php بالا فقط کافی است تا url صحیح آدرسی را که قصد هدایت و انتقال کاربر به آن را داریم، بهصورت کامل و صحیح وارد کنیم. در این روش ریدایرکت، میتوانیم urlها را بهصورت کامل (absolute) یا نسبی (relative) تعیین کنید، فقط قبل از مشخصکردن آدرس url در loction header، باید از وجود صفحه با آدرس مورد نظر مطمئن شوید.
ریدایرکت کاربر و محتوا با جاوا اسکریپت راههای مختلفی دارد. برای مثال تمام کدهای زیر برای ریدایرکت کاربر با جاوا اسکریپت مورد استفاده قرار میگیرند:
.replace('http://www.example.com')
.assign('http://www.example.com')
.href = 'http://www.example.com'
location.href = '/path'
location = '/path'
در ریدایرکت با جاوا اسکریپت میتوانید از متدهای replace، متد assign و .href برای هدایت و انتقال کاربر به صفحه مورد نظر استفاده کنید. جاوا اسکریپت آپشنها و آیتمهای مختلفی را در اختیار ما قرار میدهد و روش جامعتری است؛ اما نیاز به دانش فنی و تجربه بالاتری نیز دارد.
در این مقاله از پارس وب ...
با اصطلاح فنی ریدایرکت یا تغییر آدرس آشنا شده و از فواید آن صحبت کردیم. در ادامه به بررسی نقش تغییر آدرس در رتبهگیری صفحات در گوگل توضیح داده و با انواع ریدایرکت شمارا آشنا کردیم. در انتهای مقاله بخشی به منظور آموزش نحوه انجام ریدایرکت در سایتهای وردپرسی ( استفاده از افزونه و وارد کردن کد ریدایرکت) توضیح داده و مهمترین آنها را برای راحتی کار در اختیارتان قرار دادیم.