ریدایرکت به چه معناست و چه زمانی مورد استفاده قرار می گیرد؟
ریدایرکشن (Redirection) چیست؟ فرآیندی است که یک URL را به یک URL دیگر منتقل می کند.
ریدایرکت، تغییر آدرس یا تغییر مسیر (به انگلیسی: Redirect) یک تکنیک ضروری است که می تواند در مراحل مختلفی از سئو مفید باشد. این روش، راهی برای ارسال کاربران و موتورهای جستجو به یک URL می باشد که متفاوت از آدرسی است که در ابتدا درخواست کرده بودند.
در واقغ Redirect تکنیکی است که برای ارسال یا تغییر مسیر URL درخواست شده توسط مشتری (مرورگر) به یک URL دیگر استفاده می شود. هنگامی که مشتری با موفقیت به URL می رسد که هدف این تغییر مسیر است، این پروسه تکمیل می شود. ریدایرکتها می توانند به روش های مختلفی اجرا شوند و می توانند موقت یا دائمی باشند.
وب سایت ها ساختار را تغییر می دهند، صفحات را حذف می کنند و اغلب از یک دامنه به دامنه دیگر منتقل می شوند. مدیریت صحیح تغییر مسیرها برای جلوگیری از از دست دادن رتبه و کمک به موتورهای جستجو برای درک تغییراتی که انجام داده اید، بسیار مهم است. با این حال مهم است که توجه داشته باشید که انواع مختلفی از ریدایرکتها وجود دارد که هر یک از آنها برای اهداف خاصی مناسب هستند.
ریدایرکتهای تأثیرگذار بر سئو دارای یک کد وضعیت هستند که با شماره سه شروع می شود. (یعنی ۳xx)
۱۰۰ کد وضعیت مختلف احتمالی وجود دارد، اما تنها تعداد کمی از آنها حاوی اطلاعات خاص هستند. ما در این راهنما ریدایرکتهای ۳xx مرتبط با سئو را پوشش خواهیم داد.
دوست دارید در زمینه سئو اطلاعات زیادی کسب کنید؟! شما با شرکت در یک دوره اموزش سئو به راحتی می توانید با تمام اصول و مبانی سئو آشنا شوید. در صورتی هم که نیاز به مشاوره در این زمینه دایرد می توانید از متخصصان لایق و کارآزموده سایت ایران فاندر در این زمینه مشاوره بگیرید.
چه زمانی استفاده از تغییر مسیر یا redirect مفید است؟
موارد استفاده مختلفی برای تغییر مسیرها وجود دارد. به عنوان مثال یکی از رایج ترین موارد استفاده، مهاجرت یا انتقال دامنه است، در این صورت خود گوگل به صراحت ۳۰۱ redirect را توصیه می کند و دستورالعمل هایی را هم در این مورد بیان کرده است.
۸ موقعیت دیگری که استفاده از تغییر مسیر URL منطقی است:
- وقتی URL های مختلفی به صفحه اصلی شما منتهی می شوند، مثل https://homepage.com و https://www.homepage.com و https://www.homepage.com/homepage در این حالت، می توانید یک URL را به عنوان URLی انتخاب کنید که باید ایندکس شود و سایر URL ها را به آن هدایت کنید تا از محتوای تکراری جلوگیری کنید.
- هنگامی که می خواهید دو وبسایت را در یک دامنه جدید ادغام کنید. در این صورت می توانید URL های قدیمی را به URL های جدید ریدایرکت کنید.
- زمانی که ساختار وب سایت خود و یا URL ها را تغییر دادید. در این حالت شما ممکن است دایرکتوری های جدیدی ایجاد یا یکسری از دایرکتوری ها را حذف کرده باشید. اگر ریدایرکتها انجام نشوند، سرور هنگام بازیابی URL های قدیمی، کد خطای ۴۰۴ را نشان خواهد داد. redirect تضمین می کند که ترافیک و لینک جویس (link juice) به URL های جدید ارسال می شود. بهتر است بدانید که لینک جویس یک اصطلاحی در سئو و به معنی ارزش و اعتباری است که از طریق هایپر لینک های یک سایت و یا یک صفحه به سایت و فروشگاه اینترنتی دیگری داده می شود.
- زمانی که از هدف گذاری جغرافیایی (geotargeting) استفاده می کنید و می خواهید بازدیدکنندگان خود را به طور خودکار به زبان و نسخه کشوری مناسب بر اساس موقعیت مکانی آنها هدایت کنید. برای دستیابی به این هدف می توان ریدایرکتهای دائمی را اجرا کرد.
- هنگامی که افیلیت مارکتینگ یا همان همکاری در فروش را انجام می دهید و لینک های وب سایت شما توسط یک سیستم وابسته ردیابی می شود. کاربر تقریباً به صورت ناخواسته هنگام کلیک بر روی لینک، به صفحه ردیابی ارائه دهنده افیلیت فرستاده شده و سپس دوباره به دامنه شما تغیییر مسیر می دهد.
- زمانی که می خواهید کاربران را به URLی هدایت کنید که ابزار خاصی را هدف قرار می دهد. این تغییر مسیرها موقتی هستند.
- هنگامی که می خواهید صفحات http را به نسخه ای که حاوی گواهی SSL است (یعنی https) ، تغییر مسیر دهید تا از محتوای تکراری جلوگیری کنید.
- هنگامی که می خواهید صفحاتی را از وب سایت بدون www خود به نسخه ای با www تغییر مسیر دهید تا از محتوای تکراری جلوگیری کنید.
انواع ریدایرکت
به طور کلی ۲ نوع redirect وجود دارد:
- تغییر مسیر سمت سرور (server-side redirect): رایج ترین تغییر مسیرهای سمت سرور، ریدایرکتهای ۳۰۱، ۳۰۲ و… هستند.
- تغییر مسیر سمت کلاینت (Client-side redirects): رایج ترین تغییر مسیر سمت کلاینت، تغییر مسیر متا رفرش و جاوااسکریپت است.
ریدایرکت سمت سرور چیست؟
تغییر مسیر سمت سرور زمانی رخ می دهد که یک درخواست HTTP انجام شود. این نوع redirect زمانی اتفاق می افتد که یک کلاینت (به عنوان مثال یک مرورگر یا یک ربات) یک URL را درخواست می کند و درخواستی را به سرور ارائه می دهد. سپس سرور وب یک کد وضعیت (status code) را ارائه می دهد تا نشان مدهد که سند درخواستی به URL دیگری هدایت شده است. سپس کلاینت به این URL جدید دسترسی پیدا می کند و کاربر یا ربات به آن هدایت می شود.
سرورها می توانند کدهای وضعیت مختلف را مطابق با RFC 7231 specification تحویل دهند. هر یک از تغییر مسیرها وظیفه جداگانه ای را انجام می دهد. کل فرآیند تغییر مسیر سمت سرور تنها کسری از ثانیه طول می کشد و بسته به نوع تغییر مسیر، کاربر اصلاً متوجه redirect نمی شود. موتورهای جستجو باید هر تغییر مسیر را تفسیر کنند و تصمیم بگیرند که چگونه آن را مدیریت کنند. برای سئوکاران و وب مسترها، همیشه این سوال وجود دارد که آیا تغییر مسیر مورد نظر می تواند در هنگام استفاده از سمت سرور، سیگنال های لینک جویس و رنکینگ را منتقل کند یا خیر!
انواع تغییر مسیرهای سئو سمت سرور
تغییر مسیرهای سمت سرور عبارتند از:
- ۳۰۱ دائمی
- ۳۰۲ موقت
- ۳۰۳ موقت
- ۳۰۷ موقت
- ۳۰۸ دائمی
۳۰۱ (moved permanently)
ریدایرکت ۳۰۱ چیست و چه زمانی باید از آن استفاده کنیم؟ درباره rel=canonical چطور؟
از نظر سئو، redirect 301 بسیار مهم است چون لینک جویس و همه سیگنال های رتبه بندی مرتبط را به URL جدید هدف منتقل می کند.
۳۰۱ یک تغییر مسیر دائمی است که ارزش کامل لینک یا همان قدرت رنکینگ را به صفحه تغییر مسیر داده شده انتقال می دهد. در بیشتر موارد این نوع تغییر مسیر بهترین روش برای اجرای ریدایرکتها در یک وب سایت است و برای SEO توصیه می شود. تغییر مسیر ۳۰۱ به موتورهای جستجو نشان می دهد که این صفحه برای همیشه منتقل شده است. در واقع آن نوعی تغییر مسیر HTTP است که برای مثال اگر کل وب سایت خود را به یک دامنه جدید منتقل کنید، باید از آن استفاده نمایید.
برخی از برندها ممکن است هنگام خریدِ URL هایی که در دامنه خودشان حاوی غلط املایی هستند، از این تغییر مسیر استفاده نمایند تا ترافیک را به وب سایت صحیح هدایت کنند. این تغییر مسیر HTTP همچنین می تواند به شما کمک کند تا از سردرگمی با معضل «www.yoursite.com» و «yoursite.com» جلوگیری کنید.
از آنجایی که بسیاری از افراد هنگام نوشتن آدرس وبسایت ها از شیوه کوتاه نویسی استفاده می کنند، تعیین نسخه پیش فرض سایت شما و سپس انتقال سایر ورژن ها به ورژنی که مد نظرتان است، به شما کمک می کند تا تجربه کاربری برتری ارائه دهید. همچنین اطمینان حاصل کنید که همه مطالب برای عنکبوت های موتور جستجو، روشن، قابل درک و واضح است. علیرغم شایعات، مت کاتس از گوگل بیان کرده است که وقتی از تغییر مسیر ۳۰۱ استفاده می کنید، دیگر نباید نگران از دست دادن رتبه صفحه (PageRank) از طریق لینک داخلی داده شده باشید. این بدان معنی است که ۳۰۱ به عملکرد سئو سایت شما آسیبی نمی رساند.
توجه به این نکته نیز مهم است که در حالی که برخی از سازندگان و طراحان سایت معتقدند که استفاده از “rel=canonical” کاری مشابه با redirect 301 انجام می دهد، اما این موضوع صحت ندارد. تگ کنونیکال برای نشان دادن شرکت ارجینال در زمانی که نیاز به محتوای تکراری وجود دارد، طراحی شده است. پس هنگام جابجایی صفحه بهتر است از ۳۰۱ استفاده کنید.
این تغییر مسیر به کاربر نشان میدهد که منبع به مکان دیگری تغییر کرده است و باید از URL جدید برای درخواست های بعدی استفاده کند. وقتی موتورهای جستجو ریدایرکت ۳۰۱ را می بینند، رتبه صفحه قدیمی را به صفحه جدید منتقل می کنند.
قبل از ایجاد هر گونه تغییر و هنگام تصمیم گیری برای استفاده از تغییر مسیر ۳۰۱ باید مراقب باشید. چرا؟ چون اگر بعداً نظر خود را تغییر دهید و تصمیم به حذف آن بگیرید، ممکن است URL قدیمی شما دیگر رتبه ای نداشته باشد.
حتی اگر تغییر مسیرها را دوباره جابجا کنید، به شما کمک نمی کند صفحه قدیمی را به موقعیت رتبه بندی قبلی خود برگردانید. بنابراین نکته اصلی این است که هیچ راهی برای لغو تغییر مسیر ۳۰۱ وجود ندارد.
۳۰۱ redirect برای تغییر مسیر دائمی URL ها در نظر گرفته شده است. پس این تغییر مسیر راه حل مناسبی برای فعال سازی های موقت مانند محصولات فصلی در فروشگاه آنلاین شما یا تغییر مسیر به یک صفحه تبلیغاتی کوتاه مدت نیست.
redirect 301 تا چه مدت می تواند فعال بماند؟
هیچ پاسخی قطعی برای این سوال وجود ندارد. حتی مت کاتز نیز در سال ۲۰۱۱ در پاسخ به این سوال، طفره رفت و از دادن یک پاسخ واضح و مشخص اجتناب کرد.
لازم به ذکر است که گوگل به زمان نیاز دارد تا متوجه شود که URL های قدیمی به آدرس های جدید منتقل شده اند. سپس این URL های جدید باید ایندکس شوند و به جای URL های قدیمی نمایش داده شوند. این فرآیند را می توان در عرض چند روز برای وب سایت های کوچک که صفحات زیادی ندارند، انجام داد. در حالی که قطعاً این پروسه برای پروژه های بزرگتر با چندین هزار آدرس URL بسیار طولانی تر خواهد بود.
شما باید ریدایرکتها را تا زمانی که لازم است نگه دارید. توصیه می شود به طور منظم تغییر مسیرها را از طریق جستجوی سایت در Google تست کنید تا بفهمید که آیا URL های جدید ایندکس و در حافظه پنهان ذخیره شده اند یا خیر!
۳۰۲ (Found or Moved Temporarily)
ریدایرکت ۳۰۲ چیست و چه زمانی باید از آن استفاده کنیم؟
با این ۳۰۲ به مشتری نشان می دهید که سند درخواستی به طور موقت از طریق URL دیگری قابل دسترسی است. مانند همه ریدایرکتهای ۳xx، ریدایرکت ۳۰۲ پیج رنک یا سیگنال های مرتبط SEO را به URL مقصد منتقل می کند.
۳۰۲ redirect یک تغییر مسیر موقت است. این همان چیزی است که وقتی می خواهید بازدید کننده را برای مدت کوتاهی از یک صفحه به صفحه دیگر هدایت کنید، استفاده می نمایید. برای مثال اگر در حال طراحی مجدد بخشی از سایت خود هستید و نیاز است تا کاربران را برای چند روز به صفحه دیگری هدایت نمایید، ممکن است از تغییر مسیر ۳۰۲ استفاده کنید. این ریدایرکتها به جای فرستادن کاربران به صفحه ۴۰۴ یافت نشد، در ارائه یک تجربه کاربری خوب به جستجوگران کمک می کنند.
اگر نیاز به تغییر مسیر موقتی دارید که هیچ تأثیری بر رتبه بندی شما نداشته باشد و نباید در حافظه پنهان ذخیره شود، تغییر مسیر ۳۰۲ توصیه می شود. برای مثال اگر میخواهید URL را به یک صفحه تبلیغاتی یا صفحه محصول با کالاهای فصلی هدایت کنید، میتوانید از تغییر مسیر ۳۰۲ استفاده کنید. این بدان معناست که منبعی که مشتری به دنبال آن است در URL دیگری در نسخه HTTP 1.1 وجود دارد اما به طور موقت به HTTP 1.0 منتقل شده است.
برخی از کارمندان Google بیان کردهاند که مواردی وجود دارد که ممکن است که ریدایرکتهای ۳۰۱ و ۳۰۲ به طور مشابه در نظر گرفته شود، اما مدارک و مستندات نشان می دهد که مطمئن ترین راه برای اطمینان از این موضوع که تمام موتورهای جستجو و مرورگرها اعتبار کاملی به آن می دهند، استفاده از ۳۰۱ هنگام تغییر مسیر دائمی URLها است.
در حالی که در تئوری هم ۳۰۱ و هم ۳۰۲ می توانند مقدار یکسانی از ارزش یا برابری لینک (link equity) را انتقال دهند، اما مواردی وجود دارد که ۳۰۱ ممکن است سیگنال قوی تری از کنونیکالیزاسیون (canonicalization signal) را به Google ارسال کند. پس برای مواردی که تغییر مسیر واقعاً موقتی است، ۳۰۲ ممکن است مناسب ترین روش باشد.
وبمستران در هنگام تعمیر سایت های خود اغلب از تغییر مسیر ۳۰۲ استفاده می کنند چون معمولاً باید کمتر از ۳۰۱ استفاده شود، زیرا شرایط بسیار کمتری وجود دارد که ممکن است نیاز به هدایت موقت بازدیدکنندگان از یک سایت به سایت دیگر داشته باشید.
گوگل می فهمد که مردم گاهی اوقات به جای ۳۰۱ از ۳۰۲ استفاده می کنند. به همین دلیل جان مولر گفته است که وقتی برای اولین بار تغییر مسیر ۳۰۲ در یک سایت قرار می گیرد، الگوریتم ها آن را موقتی فرض می کند. با این حال هنگامی که آشکار گردید که ۳۰۲ در واقع برای انتقال دائمی استفاده شده است، الگوریتم های گوگل آن را redirect 301 در نظر می گیرند. یعنی صفحه مورد نظر را به جای صفحه اصلی ایندکس می کنند.
به یاد داشته باشید که شما فقط زمانی می خواهید از تغییر مسیر ۳۰۲ استفاده کنید که قصد دارید مشتریان را در مقطعی از زمان به صفحه قدیمی بازگردانید.
۳۰۷ (moved temporarily)
ریدایرکت ۳۰۷ چیست و چه زمانی باید از آن استفاده کنیم؟
۳۰۷ redirect جانشین HTTP 1.1 تغییر مسیر ۳۰۲ است. در حالی که خزنده های اصلی در برخی موارد با آن مانند ۳۰۲ رفتار می کنند، تقریباً بهتر است برای همه موارد از ۳۰۱ استفاده کنید. به استثنای زمانی که محتوا واقعاً فقط به طور موقت جابجا شود (مانند هنگام تعمیر و نگهداری) و سرور قبلاً توسط موتورهای جستجو سازگار با ۱٫۱ شناسایی شده باشد. از آنجایی که اساساً تعیین اینکه آیا موتورهای جستجو یک صفحه را سازگار تشخیص داده اند یا خیر، غیرممکن است! به طور کلی بهتر است از تغییر مسیر ۳۰۲ برای محتوایی که به طور موقت منتقل شده است، استفاده کنید.
در تغییر مسیر ۳۰۷ برخلاف ۳۰۱ redirect پیج رنک از منبع اصلی به منبع جدید منتقل نمی شود. اگر یک URL فقط برای مدت زمان کوتاهی باید منتقل شود، می توانید از این تغییر مسیر موقت هم استفاده کنید.
مقایسه ریدارکت های ۳۰۲ با ۳۰۷
تقریباً در همه موارد ریدایرکتهای ۳۰۲ و ۳۰۷ یکسان خواهند بود. اما کد وضعیت ۳۰۲ لزوماً به این معنی نیست که مشتری باید تغییر مسیر را دنبال کند و اگر تصمیم به ماندن در آنجا داشته باشد، خطا محسوب شود.
مشتریان مدرن به احتمال زیاد مقصد جدید را دنبال خواهند کرد، اما برخی از مشتریان قدیمی ممکن است به اشتباه در همان URL قدیمی باقی بمانند.
بر خلاف کد وضعیت ۳۰۲، کد وضعیت ۳۰۷ تضمین می کند که روش درخواست تغییر نخواهد کرد. برای مثال، درخواست GET به GET و POST به POST باید ادامه یابد.
برای ریدایرکتهای موقت می توانید از ۳۰۲ یا ۳۰۷ استفاده کنید. برای ریدایرکتهای روتین، بسته به نوع تغییری که در وب سایت خود اعمال می کنید، باید از کدهای وضعیت ۳۰۱ (تغییر مسیر دائمی) و ۳۰۷ (تغییر مسیر موقت) استفاده کنید. می توانید ریدایرکت را از طریق فایل های پیکربندی سرور .htaccess در آپاچی (Apache)، فایل example.conf در Nginx یا در صورت استفاده از پلاگین ها از طریق آنها، مدیریت و کنترل کنید.
در همه موارد آنها دستور یکسانی برای نوشتن قوانین تغییر مسیر دارند. فقط دستورات مورد استفاده در فایل های پیکربندی متفاوت هستند.
به عنوان مثال تغییر مسیر در آپاچی به شکل زیر خواهد بود:
Options +FollowSymlinks RewriteEngine on RedirectMatch 301 ^/oldfolder/ /newfolder/
و در سرورهای Nginx به صورت زیر خواهد بود:
rewrite ^/oldfolder/ /newfolder/ permanent;
همان طور که مشاهده می کنید دستورات مورد استفاده برای اعلام کد وضعیت سرور ریدایرکت و فرمان اکشن در این سرورها متفاوت است. برای مثال:
کد وضعیت تغییر مسیر سرور: «۳۰۱» در آپاچی در مقایسه با «permanent» در سرور Nginx
فرمان اکشن: «RedirectMatch» در آپاچی در مقایسه با «Rewrite» در سرور Nginx
اما نحو تغییر مسیر /oldfolder/ /newfolder/ ^ برای هر دو یکسان است یعنی صفحه قدیمی باید به صفحه جدید منتقل شود. در آپاچی شما باید مطمئن شوید که ماژول های mod_rewrite و mod_alias که مسئول مدیریت تغییر مسیرها هستند، در سرور شما فعال هستند.
مقایسه ریدایرکتهای ۳۰۲ با ۳۰۱
توجه به این نکته مهم است که تغییر مسیر ۳۰۲ برای تغییر مسیر موقت طراحی شده است در حالی که تغییر مسیر ۳۰۱ به عنوان یک تغییر مسیر دائمی در نظر گرفته شده است. این بدان معنی است که تفاوت هایی در نحوه برخورد موتورهای جستجو به این دستورات وجود دارد.
برای مثال برای تغییر مسیر دائمی، موتور جستجو به جای سایت اصلی بر رتبه بندی سایت مورد نظر تمرکز می کنند چون به عنوان مالک سایت، شما دو نسخه از محتوای خود را در فضای وب نمی خواهید.
از طرف دیگر اگر همچنان قصد استفاده از سایت اصلی را دارید و نمی خواهید گوگل سایت اصلی را نادیده بگیرد، بنابراین تغییر مسیر موقت، کاربردی تر خواهد بود. زمانی که در وضعیت انتقال دائمی هستید، redirect 302 خود را به redirect 301 تنظیم نکنید! چرا؟ چون این خطر وجود دارد که موتورهای جستجو توجه کافی به سایت مورد نظر شما نداشته باشند یا به ایندکس کردن صفحه قدیمی ادامه دهند.
همانطور که در بالا ذکر شد، اگرچه گوگل خاطر نشان ساخته است که آنها سعی می کنند زمانی که ۳۰۲ redirect را تفسیر کنند، با آن مانند ۳۰۱ redirect رفتار کند اما همچنان این ریسک وجود دارد که سایت اصلی هم ایندکس شود.
به همین خاطر به طور کلی مطمئن تر است که ریدایرکتهای موقت شما با دقت به عنوان ۳۰۷ redirect نوشته شده باشند. redirect HTTP می تواند ابزار ارزشمندی باشد که به شما کمک می کند ترافیک خود را کنترل کنید و اطمینان حاصل کنید که بازدیدکنندگان تجربه کاربری مورد نظر شما را دریافت می کنند. درک نحوه استفاده صحیح از این دستورات می تواند به شما کمک کند تا سایت خود را بهبود بخشید و تغییرات را در دامنه خود به درستی هدایت کنید.
تغییر مسیرهای سمت کلاینت چیست؟
Client-side redirects توسط یک سرور انجام نمی شود، بلکه مستقیماً توسط یک کلاینت مانند مرورگر اجرا می شود. معمولاً ریدایرکت سمت سرور بهتر است اما در عمل، مواردی وجود دارد که تغییر مسیر سمت کلاینت منطقی است.
خود گوگل در دستورالعملهای کیفیت خود (Quality Guidelines) به تغییر مسیرهای سمت مشتری اشاره می کند و متذکر می شود که آنها ممکن است برای تغییر مسیرهای جاوا اسکریپت مفید باشند.
“استفاده از جاوا اسکریپت برای ریدایرکت کاربران می تواند یک عمل قانونی باشد. به عنوان مثال اگر کاربران را پس از لاگین شدن به یک صفحه داخلی هدایت کنید، می توانید از جاوا اسکریپت برای انجام این کار استفاده نمایید.”
علاوه بر تغییر مسیرهای جاوا اسکریپت، Meta Content Refresh redirects به عنوان تغییر مسیرهای سمت کلاینت معنا در نظر گرفته می شوند. در این حالت یک متا تگ به گونه ای تنظیم می شود که مرورگر پس از مدت زمان تعیین شده، URL را به یک وب سایت مشخص هدایت می کند.
اما مراقب باشید! چون برای مدت زمانی طولانی، از این تغییر مسیرها برای ریدایرکت های به اصطلاح یواشکی یا مخفیانه به منظور دستکاری صفحات وب استفاده می شد، بنابراین موتورهای جستجو همانند گوگل آن را نوعی تکنیک سئو کلاه سیاه فرض کرده و از این عمل انتقاد می کردند.
ریدایرکت های جاوا اسکریپت (JavaScript redirects)
در حالی که می توانید از نظر فنی تغییر مسیرها را با استفاده از جاوا اسکریپت اجرا و پیادهسازی کنید، این روش برای اهداف سئو توصیه نمیشود. در حالی که آزمایش نشان داده است که گوگل ممکن است تغییر مسیرهای جاوا اسکریپت را به عنوان ۳۰۱ تفسیر کند، اما این امر مسلم نیست و قطعیت ندارد. از آنجایی که جاوا اسکریپت در سمت کلاینت اجرا می شود، هیچ تضمینی برای ایندکس کردن صحیح ریدایرکت توسط گوگل وجود ندارد. و در نهایت، هیچ راهی برای اعلام کد وضعیت HTTP هنگام استفاده از جاوا اسکریپت برای تغییر مسیر وجود ندارد.
این شکل از تغییر مسیرهای URL سمت کلاینت به کلاینت هایی نیاز دارد که بتوانند جاوا اسکریپت را مدیریت کنند. آنها عمدتاً برای تغییر مسیرهایی استفاده می شوند که بر اساس ورودی کاربر هستند یا به تغییر مسیر بین مرورگرهای مختلف اشاره می کنند. علاوه بر این از این تغییر مسیرها می توان برای تطبیق فوری صفحه هدف با دستگاه خروجی مربوطه استفاده کرد.
مانند همه ریدایرکتهای سمت کلاینت، یکی از معایب اصلی JavaScript redirect وابستگی آن به کلاینت مربوطه است. اگر کلاینت نتواند جاوا اسکریپت را تفسیر کند، تغییر مسیر کار نخواهد کرد. به همین دلیل، همیشه باید ابتدا تغییر مسیرهای سمت سرور را در نظر بگیرید و از انها استفاده نمایید.
در حالی که این نوع redirect توصیه نمی شود، اما مثالی از نحوه پیاده سازی تغییر مسیر در جاوا اسکریپت برای شما بیان می کنیم:
<script type="text/javascript"> function redirect1(){ window.location = "http://www.example.com/new-url/" } setTimeout('redirect1()', 5000); </script>
یا وقتی یک جاوا اسکریپت را به عنوان یک اسکریپت به کد منبع صفحه وارد میکنید، باید چیزی مثل این، به نظر برسد.
<script type="text/javascript"> <!-- window.location = "http://www.newpage.com/"; //–> </script>
در این حالت با باز شدن URL موجود، کاربر به “newpage.com” هدایت می شود.
متا رفرش (Meta refresh)
متا رفرش نوعی تغییر مسیر است که در سطح صفحه به جای سرور اجرا می شود. آنها معمولا کندتر هستند و یک تکنیک توصیه شده سئو نمی باشند. آنها معمولاً با یک شمارش معکوس پنج ثانیه ای با متن “اگر در پنج ثانیه ریدایرکت نشدید، اینجا را کلیک کنید” مرتبط هستند. متا رفرش ها مقداری ارزش لینک را انتقال می دهند، اما به دلیل قابلیت استفاده ضعیف و کاهش یا از بین رفتن ارزش لینک منتقل شده، به عنوان یک تاکتیک سئو توصیه نمی شوند.
یک متا رفرش ممکن است به این صورت باشد:
>http-equiv="refresh" content="0; url=https://example.com/">
بدترین روش های انجام ریدایرکت
۱- هدایت همه URL شکسته ۴۰۴ به صفحه اصلی (Redirecting All 404 Broken URLs to the Home Page)
این مورد اغلب زمانی اتفاق میافتد که برای تحقیق و برسی همه URLهای ۴۰۴ خود سستی می کنید و آنها را به صفحه فرود مناسب نگاشت می کنید. به گفته گوگل بازهم همه آنها به عنوان ۴۰۴ در نظر گرفته می شوند.
اگر صفحات زیادی از این قبیل دارید، باید به فکر ایجاد صفحات زیبای ۴۰۴ باشید و با نمایش یک گزینه جستجو، کاربران را به مرور بیشتر یا یافتن چیزی غیر از آنچه که به دنبال آن بودند، دعوت کنید.
گوگل قویاً توصیه می کند که محتوای صفحه تغییر مسیر داده شده باید معادل و مشابه صفحه قدیمی باشد. در غیر این صورت ممکن است چنین تغییر مسیری به عنوان ۴۰۴ نرم در نظر گرفته شود و رتبه آن صفحه را از دست بدهید.
۲- تغییر مسیرهای اشتباه ویژه صفحه موبایل (Wrong Mobile Page Specific Redirects)
اگر URL های مختلفی برای وب سایت های دسکتاپ و تلفن همراه دارید (یعنی “yoursite.com” برای دسکتاپ و “m.yoursite.com” برای تلفن همراه)، باید مطمئن شوید که کاربران را به صفحه مناسب نسخه موبایل هدایت می کنید.
صحیح: “yoursite.com/sport/” به “m.yoursite.com/sport/”
اشتباه: “yoursite.com/sport/” به “m.yoursite.com”
همچنین باید مطمئن شوید که اگر یک صفحه روی دسکتاپ ۴۰۴ است، در موبایل نیز باید ۴۰۴ باشد. اگر نسخه موبایلی برای صفحه ای ندارید، می توانید از تغییر مسیر به نسخه موبایل خودداری کنید و آنها را در صفحه دسکتاپ نگه دارید.
۳- استفاده از متا رفرش (Using Meta Refresh)
امکان تغییر مسیر با استفاده از تگ متا رفرش مانند مثال زیر وجود دارد:
<meta http-equiv=”refresh” content=”۰;url=http://yoursite.com/new-page/” />
اگر این تگ را در /old-page/ وارد کنید، کاربر بلافاصله به /new-page/ هدایت می شود. این تغییر مسیر توسط گوگل منع نشده است اما آنها به وضوح استفاده از آن را توصیه نمی کنند. به گفته جان مولر، موتورهای جستجو ممکن است نتوانند این نوع تغییر مسیر را به درستی تشخیص دهند. همین امر در مورد تغییر مسیرهای جاوا اسکریپت نیز صادق است.
۴- تغییر مسیرهای بسیار زیاد (Too Many Redirects)
فرض کنید صفحه ۱ را خیلی وقت پیش به صفحه ۲ هدایت کرده اید. بعد از مدتی ممکن است فراموش کرده باشید که صفحه ۱ ریدایرکت شده است و تصمیم بگیرید که صفحه ۲ را دوباره به صفحه ۱ هدایت کنید. در نتیجه شما با یک قانون مانند زیر مواجه خواهید شد:
RewriteRule ^page1 /page2 [R=301,NC,L] RewriteRule ^page2 /page1 [R=301,NC,L]
این کار یک حلقه بی نهایت از تغییر مسیرها ایجاد می کند که یکی از خطاهای رایج سئو در تغییر مسیرها است. یعنی ایجاد زنجیره های ریدایرکتی
اگر از ریدایرکتها به خصوص ریدایرکتهای ۳۰۱ استفاده می کنید، باید از ایجاد redirect chains خودداری کنید. چنین زنجیرههایی زمانی اتفاق میافتند که یک URL دوباره به یک URL دیگری که قبلاً در آن تغییر مسیر اجرا شده است، ریدایرکت شود.
در خیلی از موارد مرورگر یا ربات اصلاً نمی تواند درخواست اصلی را اجرا کند و هشداری مبنی بر تغییر مسیرهای بیش از حد (too many redirects) نشان می دهد. در همان زمان تغییر مسیرهای متعدد، زمان بارگذاری و لود سرور را افزایش می دهند. پیامدهای منفی دیگر زنجیره های تغییر مسیر، هدر دادن بودجه خزش و پتانسیل SEO است. جان مولر از گوگل در پاسخ به درخواست seoundtable.com در سال ۲۰۱۶ این موضوع را تأیید کرده است که مدیران وبسایت ها باید از زنجیره های تغییر مسیر مخصوصاً هنگام جابجایی دامنه ها اجتناب کنند و آنها را اصلاح نمایند.
هنگام مهاجرت یک دامنه بهتر است از قبل یک نمای کلی از تمام زنجیره های تغییر مسیر داشته باشید تا از ایجاد زنجیره های تغییر مسیر بعدی جلوگیری کنید.
آیا تغییر مسیرها می توانند روی رتبه صفحه (PageRank) تأثیر بگذارند؟
برای مدت طولانی ۳۰۱ redirect با از دست دادن رتبه صفحه یا لینک جویس مرتبط بود. اما امروزه اظهارات متعددی از سوی کارمندان گوگل وجود دارد که نشان می دهد این تغییر مسیرها بر رتبه صفحه تأثیری ندارند.
در فوریه ۲۰۱۶ جان مولر اعلام کرد که در تغییر مسیر ۳۰۱ یا ۳۰۲ http به https، رتبه صفحه از بین نمی رود.
گری ایلیز همچنین در مورد موضوع redirects و PageRank دو بیانیه داد. او در یک پست وبلاگ تایید کرد که PageRank بدون توجه به تغییر مسیر استفاده شده (۳۰۱، ۳۰۲ یا ۳۰۷) به صفحه جدید منتقل می شود. او مجدداً در جولای ۲۰۱۶ در توییتر این اظهارات را تأیید کرد که ریدایرکتهای ۳۰x اصلاً باعث از بین رفتن رتبه صفحه نمی شوند.
حتی اگرچه این اظهارات تأیید می کند که تغییر مسیرها در PageRank تاثیری ندارد، مدیران وب سایت ها باید سایر عوامل سئو که ممکن است هنگام ریدایرکت به URL های جدید تحت تأثیر قرار گیرند را در نظر داشته باشند.
تغییر مسیرها چه تأثیری بر بودجه خزش (crawl budget) دارند؟
موتورهای جستجو به طور مداوم وب را برای محتوای جدید می خزند. ربات ها لینک ها را دنبال میکنند، وبسایت ها را میخزند تا محتوا و سایر عناصر را ایندکس کنند. با این حال فقط مقدار محدودی از بودجه خزش برای این فرآیند در دسترس است! اما خوشبختانه وب مسترها می توانند بر نحوه استفاده ربات گوگل از بودجه خزش تأثیر بگذارند. یکی از این راه ها از طریق تعداد درخواست هایی است که ربات به سرور ارسال می کند.
اگر URL ریدایرکت شود، ربات گوگل باید یک درخواست اضافی را اجرا کند. اگر تعداد زیادی تغییر مسیر در یک صفحه وب وجود داشته باشد، تعداد درخواست ها نیز افزایش می یابد اما بودجه خزش کاهش می یابد. بنابراین به طور کلی باید از تغییر مسیرها به مقدار کم استفاده کنید. اگر بودجه خزش با تغییر مسیر، سریع تر تمام شود، Googlebot زمان کمتری برای خزیدن و ایندکس کردن صفحات بیشتری دارد، به این معنی که صفحات ایندکس شده شما دیگر به روز نیستند.
آیا می توانم به خاطر URL redirects شاهد کاهش ترافیک باشم؟
به طور کلی هر تغییر مسیر، خطر از دست دادن ترافیک را به همراه دارد. اگر وبسایت ها با ۳۰۱ redirects فوروارد شوند، دیگر گوگل آنها را با کاهش لینک جویس مجازات نمی کند، اما اجرای نادرست یا تغییر مسیرهای زیاد می تواند برای یک وبسایت، مضر و زیانآور باشد.
این مورد مخصوصاً زمانی اتفاق می افتد که URLها را به صفحات نامرتبط هدایت کنید تا عمداً ترافیک را به صفحه فروشی هدایت کنید که هیچ ربطی به صفحه ریدایرکت شده ندارد. به عنوان مثال تغییر مسیر از یک صفحه اطلاعات پر ترافیک به یک صفحه افیلیت از طریق ۳۰۱!
یک مطالعه در سال ۲۰۱۶ ثابت کرد که گوگل تغییر مسیرهای نامرتبط را به عنوان خطاهای نرم ۴۰۴ تفسیر می کند. در واقع لینک جویس تنها یکی از بسیار فاکتورهای رتبه بندی است که در طی تغییر مسیر منتقل می شود. به عنوان مثال اگر عناوین موجود در صفحه هدف جدید حفظ نشوند یا محتوا از کیفیت پایین تری برخوردار باشد، تغییر مسیر نیز می تواند عواقب منفی برای رتبه بندی داشته باشد.
آیا ریدایرکت کردن کاربران امن است؟
مواردی وجود دارد که تغییر مسیرهای باز، حتی زمانی که ساختار صحیحی داشته باشند؛ می توانند وبسایت ها را در معرض سوء استفاده احتمالی توسط هرزنامه ها یا اسپمرها قرار دهند. این کلاهبرداران سعی می کنند از سایت شما برای فریب کاربران استفاده کنند و آنها را در صفحاتی فرود بیاورند که حاوی فیشینگ، بدافزار یا سایر محتواهای نامطلوب هستند.
این کلاهبرداران از نقاط ضعف سایت سوء استفاده نمی کنند، بلکه آنها از سایت هایی سوء استفاده می کنند که دقیقاً به روشی که برای کار آنها طراحی شده اند، اجرا می شوند. چند مورد وجود دارد که ریدایرکتهای شما ممکن است در برابر هرزنامه ها، آسیب پذیرتر باشند.
گوگل به طور خاص به وب مسترهایی اشاره می کند که از تغییر مسیر برای آوردن بازدیدکنندگان به یک فایل یا برای جستجوهای داخلی سایت استفاده می کنند. نمونه های ارائه شده توسط جیسون موریسون عبارتند از:
<< An open redirect for a file
تغییر مسیر باز برای نتایج جستجو (An open redirect for search results): بررسی اینکه آیا سایت شما قربانی شده است یا خیر می تواند چالش برانگیز باشد، اما در اینجا چند محافظ وجود دارد:
- از عملکرد جستجوی گوگل یا از فرمان site:yoursite.com استفاده کنید تا ببینید آیا چیزی در نتایج شما وجود دارد که نباید وجود داشته باشد. همچنین میتوانید با اضافه کردن کلمات کلیدی که هیچ ارتباطی با محتوای شما ندارند، اما اهداف اسپم رایج هستند، این کار را انجام دهید
- شکایات کاربران را زیر نظر بگیرید تا ببینید آیا کسی به بدافزار یا ویروس هایی که به نظر می رسد از سایت شما منشأ می گیرند، اشاره کرده است یا خیر. گاهی اوقات مردم متوجه نمی شوند که ریدایرکت شده اند و ممکن است شما را مسئول بدانند.
- میتوانید از ابزارهایی مانند پلتفرم BrightEdge برای زیر نظر گرفتن رفتار افراد در سایت خود، URLهایی که ترافیک دریافت می کنند، و بررسی هر گونه ناهنجاری استفاده کنید. به ویژه مراقب هر گونه جهش در ترافیک در صفحاتی باشید که تغییر مسیر URL دارند.
نتیجه گیری
اگر از ریدایرکتهای URL به درستی استفاده کنید، می توانید مشکلات سئو و سئو تکنیکال سایت را برطرف کرده و دامنه های قدیمی را با خیال راحت و بدون مشکل عمده ای به دامنه های جدید هدایت کنید. در مورد هر تغییر مسیر فکر کرده و مطمئن شوید که واقعاً انجام این کار، منطقی است یا خیر! از تغییر مسیرهای ۳۰۱ با احتیاط استفاده کنید، مطمئن شوید که latency یا تأخیر سرور را بی دلیل افزایش نداده یا بودجه خزش Googlebot را بی مورد هدر نمی دهید.
هنگامی که قصد اجرای یک تغییر مسیر دائمی را دارید، باید بدانید که نمی توانید آن را به راحتی با حذف تغییر مسیر، بازگردانید. چون هنگامی که گوگل چنین تغییر مسیری را تشخیص دهد، PageRank را به صفحه جدید منتقل می کند و URL موجود در SERP ها را برای استفاده از صفحه جدید تغییر می دهد.
در صورتی که قصد ریدایرکت یک وب سایت بزرگ با ده ها هزار صفحه از یک دامنه قدیمی به یک دامنه جدید یا حتی از HTTP به HTTPS را دارید، توصیه می شود ابتدا یک تغییر مسیر موقت ۳۰۲ انجام دهید و مطمئن شوید که همه قوانین تغییر مسیر به درستی کار می کنند. داده هایتان را آنالیز کنید و به گوگل نگاه کرده تا مطمئن شوید که هیچ نتیجه غیرمنتظره ای وجود ندارد. سپس تغییر مسیر ۳۰۲ را به ۳۰۱ تغییر دهید.
در صورتی که در مقصد تغییر مسیر دائمی ۳۰۱ اشتباه کرده اید و می خواهید مجدداً آن را به URL دیگری تغییر مسیر دهید، توصیه می شود از ریدایرکتهای زنجیره ای خودداری کنید و همه لینک ها را به URL جدید تغییر دهید.
سوالات متداول
۱- تغییر مسیر HTML چیست و چرا این روش منع شده است؟
تغییر مسیر HTML به طور خودکار بازدید کننده صفحه شما را پس از مدت زمان مشخصی به یک سایت جدید می فرستد. در این تغییر مسیر، به طور کلی به بازدید کننده شما پیامی داده می شود که سایت منتقل شده است و کاربر در عرض چند ثانیهبه مقصد جدید هدایت می شود. این نوع تغییر مسیر اغلب دلسرد کننده است زیرا پرش غیرمنتظره می تواند برای کاربران گیج کننده باشد. آنها همچنین می توانند به تجربه کاربر آسیب بزنند زیرا در شرایط خاص، استفاده از دکمه بازگشت در مرورگر فقط کاربر را به صفحه تغییر مسیر هدایت می کند و باعث می شود او در یک زنجیره و حلقه ای از تغییر مسیرها گیر کند.
۲- ابزار تغییر آدرس گوگل چیست؟
اگر دامنه یا زیر دامنه خود را از یک دامنه به دامنه دیگری هدایت کرده اید، می توانید با استفاده از Change of Address Tool به گوگل اطلاع دهید. این ابزار، تغییر را به اطلاع گوگل رسانده و به شما کمک می کند نتایج جستجوی خود را از وبسایت یا زیر دامنه های قدیمی به وبسایت جدید منتقل کنید. برای استفاده از این ابزار باید یک حساب کاربری در گوگل سرچ کنسول برای دامنه مورد نظر داشته باشید.
توجه داشته باشید که تنها در صورتی می توانید از این ابزار برای نظارت بر ترافیک هدایت شده استفاده کنید که تغییر دامنه اتفاق افتاده باشد.
۳- برای تغییر مسیرهای URL در محتوای تکراری از چه چیزی باید استفاده کنیم: تگ کنونیکال یا ریدایرکت؟
دو گزینه فنی متداول برای جلوگیری از محتوای تکراری وجود دارد: تگ canonical و تغییر مسیر ۳۰۱٫ در حالی که تگ canonical یک المان متا HTML است که در کد منبع صفحه پیاده سازی می شود، تغییر مسیرهای ۳۰۱ را میتوان از طریق سرور اجرا کرد.
علاوه بر این یک تگ کنونیکال به طور فعال URL را به URL کنونیکال، redirect نمی کند. بلکه به موتورهای جستجو نشان می دهد که یک URL ارجینال وجود دارد که سند موجود به آن اشاره دارد یا سند موجود، کپی آن است.
در حالت ایده آل موتورهای جستجو پس از استفاده از این تگ، موارد تکراری را نادیده می گیرند و فقط URL کنونیکال را ایندکس می کنند. با این حال استفاده از یک تگ کنونیکال فقط یک توصیه است و ربات های گوگل لزوماً مجبور نیستند به آن توصیه توجه کنند.
از طرف دیگر ۳۰۱ redirect یک دستورالعمل واضح است که سرور یا کلاینت باید از آن دنباله روی کند. حتی با تغییر مسیر ۳۰۱، URL اصلی همچنان می تواند ایندکس شود. با این حال پس از مدتی در هنگام ایندکس شدن با URLی که هدف جدید ریدایرکت است، جایگزین می شود.
به طور کلی ۳۰۱ redirects برای یکپارچه سازی یا تغییر مسیر URL ها و زمانی که هیچ دلیلی وجود نداشته باشد که بتوان به محتوا از طریق URL های مختلف دسترسی داشت، راه حل بهتری است.
۴- برای موقعیت های مختلف، کدام ریدایرکت بهتر است؟
- ۳۰۱ برای راه اندازی مجدد وب سایت، تغییرات در ساختار URL و برای دسته بندی URL بهتر است چون دائمی و قابل ذخیره سازی (Cacheable) است.
- ۳۰۲ و ۳۰۷ برای هدف گذاری جغرافیایی یا ژئوتارکتینگ بهتر است چون موقت و غیر قابل ذخیره سازی است.
- ۳۰۲ برای کمپین افیلیت یا همکاری در فروش بهتر است چون دائمی است و بسته به هدف می تواند قابل ذخیره سازی و غیر قابل ذخیره سازی باشد.
۵- نحوه ریدایرکت در سایت های وردپرسی چگونه است؟
با استفاده از افزونه: نصب یکی از افزونه Redirection ،Page Links to یا Simple 301 Redirects و پس از نصب به مسیر ابزارها رفته و سپس تغییر مسیرهای URL ها را انجام دهید. البته با استفاده از افزونه یوست سئو هم می توانید این کار را انجام دهید. در این افزونه ابتدا وارد قسمت سئو در پیشخوان شده و روی گزینه تغییر مسیرها کلیک کنید. در پنجره باز شده می توانید نوع تغییر مسیر، نشانی قدیمی و آدرس جدید را وارد کرده و سپس روی گزینه افزودن تغییر مسیر کلیک نمایید. به همین راحتی!
بدون استفاده از افزونه: در صورتی که با کدنویسی و سرور آشنایی ندارید، استفاده از این روش را توصیه نمی کنیم.
تیم تولید محتوا
این مطلب توسط تیم تولید محتوای ایران فاندر تهیه شده است. ما در تلاش برای توسعه وب فارسی هستیم تا بهترین مقالات در هر زمینه ای را برای وبسایت ها تهیه کنیم. کیفیت محتوای این صفحه توسط متخصصین و کارشناسان ما بررسی و تایید شده است.