گاهی اوقات نیاز است که به دلایل مختلف همچون: بهبود روند سئو (seo – بهینهسازی موتورهای جستجو برای یافتن بهتر نتایج وبسایت در آنها) در وبسایت، از بین بردن نشانیهای (url) مشکلدار وبسایت، کوتاهسازی یا زیباسازی نشانیهای اینترنتی و امثال این، بعضی از نشانیهای اینترنتی, از یک آدرس به آدرس دیگر تغییر پیدا کنند؛ که به این تغییر نشانی ریدایرکت (Redirect) میگویند.
ریدایرکت (redirect – مخفف: redirection) یک ارسال خودکار سمت سرور یا مشتری از یک URL به URL دیگر است. و همانطور اشاره شد، ریدایرکتها برای اهداف مختلفی مانند جابجایی یک وبسایت به یک دامنه جدید، انتقال موقت ترافیک در حین نگهداری سرور، ادغام محتوای تکراری، و برای جابجایی بازدیدکنندگان وبسایت از محتوای قدیمی و کهنه به صفحات جدید استفاده میشود.
تغییر مسیر همیشه خودکار است و از همین رو به سختی توسط کاربر درک میشود. به خصوص در سمت سرور، تغییر مسیرهای خودکار یک راه ایدهآل برای ارسال کاربر از یک URL به URL دیگر بدون تأثیر بر قابلیت استفاده است.
تغییر مسیرهای سمت سرور (خلاصه)
با این شکل تغییر مسیر، دستور مربوطه در فایل htaccess (فایل پیکربندی اختصاصی دایرکتوری برای وب سرورهای سازگار با NCSA مانند وب سرور آپاچی هستند) روی سرور (بیشتر با Apache-Servers) وارد میشود. اگر URL فراخوانی شود، سرور بلافاصله به مقصد جدید هدایت میشود.
معرفی انواع ریدایرکت
به طور کلی و بسته به نوع تغییر نشانیها، ریدایرکتهای زیر مورد توجه و اهمیت هستند:
redirect 301 – تغییر مسیر ۳۰۱
ریدایرکت ۳۰۱ باید برای ارسال دائم یک URL استفاده شود. یعنی این تغییر نشانی زمانی مورد استفاده قرار میگیرد، که قصد داشته باشیم برای همیشه نشانی قبلی را به نشانه جدید منتقل کنیم؛ و مشخص است که در چنین ریدایرکتی، اعتبار و ارزش نشانی قبلی به طور کامل به نشانی جدید انتقال پیدا خواهد کرد.
بدین صورت کلیه موتورهای جستجو نیز متوجه میشوند که نشانی قبلی برای همیشه به نشانی جدید منتقل شده؛ و از این رو ارزش سئو آن نیز به نشانی جدید منتقل خواهد شد.
برای مثال، ریدایرکت ۳۰۱ برای راهاندازی مجدد یک وبسایت ایدهآل است، تا URLهای قدیمی را که دیگر معتبر نیستند به آدرسهای جدید هدایت کنند. مزیت بزرگ تغییر مسیر ۳۰۱ این است که این تغییر مسیر تقریباً ۱۰۰ درصد از آب پیوند را منتقل می کند و به موتورهای جستجو نشان می دهد که منبع مورد نیاز را می توان به طور دائم در URL دیگری پیدا کرد.
ریدایرکت های ۳۰۱ را می توان با تغییر فایل htaccess یا با استفاده از PHP پیادهسازی کرد.
این کد برای فایل .htaccess استفاده میشود:
RewriteEngine on
rewritecond %{http_host} ^domain.com [nc]
rewriterule ^(.*)$ http://www.domain.com/$1 [r=301,nc]
و اگر تغییر مسیر ۳۰۱ با استفاده از PHP پیادهسازی شود، کد مورد استفاده باید شبیه به این باشد. مستقیماً در کد منبع سند برای هدایت مجدد وارد میشود.
<?phpheader("HTTP/1.1 301 Moved Permanently");header("Location: http://www.domain.com/the-new-name.php");header("Connection: close");?>
redirect 302 – تغییر مسیر ۳۰۲
اگر قصد داشته باشید به صورت موقت، نشانی قبلی را به نشانی جدید منتقل کنید؛ استفاده از این ریدایرکت مورد قبول خواهد بود.
به این صورت؛ ارزش سئوی نشانی قبلی برای موتورهای جستجو حفظ میشود, و با توجه به اینکه این نوع ریدایرکت موقتی میباشد؛ موتورهای جستجو نشانه جدید را برای جستجو در اطلاعات خود ایندکس نمیکند؛ چرا که این نوع ریدایرکت به صورت دائمی و همیشگی نمیباشد، و لازم است پس از مدتی از نشانی قبلی استفاده شود.
با تغییر مسیر ۳۰۲، صفحات به طور دائم به HTTP نسخه ۱.۰ هدایت میشوند. با این حال، شایعه شده بود که این مسیریابی نمیتواند در PageRank منتقل شود. در همین حال، تغییر مسیرها ۳۰۲ هم اکنون دارای قدرت پیوند کامل هستند، همانطور که جان مولر گوگل (Google’s John Müller indirectly) به طور غیرمستقیم در پست Google+ خود این را تایید کرد. در نسخه HTTP 1.1، کد وضعیت HTTP اکنون به سادگی میگوید “یافت شد”، به این معنی که منبع درخواستی در سرور در دسترس است.
redirect 307 – تغییر مسیر ۳۰۷
به نوعی میتوان گفت این ریدایرکت همان ریدایرکت ۳۰۲ میباشد. اما تفاوت این نوع ریدایرکت با ریدایرکت ۳۰۲ در این است که، ریدایرکت ۳۰۷ صرفاً از ورژن جدید پروتکل http استفاده میکند (ورژن ۱.۱)؛ اما ریدایرکت ۳۰۲ از هر دو ورژن اولی و جدید پروتکل http میتواند استفاده کند. به همین دلیل، توصیه ما بر این است که برای انتقالهای موقت، تا حد امکان از ریدایرکت ۳۰۲ استفاده کنید.
ریدایرکت ۳۰۷ میتواند برای تغییر مسیر موقت یک وبسایت استفاده شود، و البته این اغلب زمانی انجام می شود که یک سرور در حال سرویس دهی است.
برای این منظور یک فایل php نوشته میشود که در آن پیامی برای بازدیدکنندگان صفحات وبسایت درج میشود. سپس این فایل در پوشه اصلی ذخیره میشود. سپس یک فایل htaccess جدید باید ایجاد شود که htaccess.307 نام دارد.
یکی از راه حلهای ممکن به این صورت است:
RewriteEngine On
Rewrite Base /
RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123$
RewriteCond %{REQUEST_URI} !^/307\.php$
RewriteRule ^(.*)$ http://www.your-site.com/307.php [R=307,L]
بدین صورت سرور کد وضعیت ۳۰۷ را نمایش داده و URL را به طور موقت تغییر مسیر میدهد.
redirect 404 – تغییر مسیر ۴۰۴
با این تغییر مسیر، نشانیهای مربوط به نوشتار و یا صفحات حذف شده به نشانی صفحهای دلخواه تغییر پیدا میکنند تا وبسایت از روبرو شدن با آدرسهایی که وجود خارجی ندارند در امان قرار بگیرد.
بدینصورت موتورهای جستجو نیز میفهمند که نشانی مذکور دیگر وجود ندارد؛ اما تاثیر سویی بر روی سئوی وبسایت نمیگذارد.
البته توجه کنید که ریدایرکتهای ۴۰۴ همیشه نباید هدایت شوند و بهتر است به صورت جهانی به صفحه اصلی هدایت نشوند. بلکه فقط باید به یک دسته یا صفحه والد هدایت شوند که مرتبطترین تجربه کاربری موجود باشد. هرچند، وقتی صفحه دیگری وجود ندارد، سرویس ۴۰۴ اشکالی ندارد.
redirect 410 – تغییر مسیر ۴۱۰
این تغییر مسیر چندان تفاوتی با ۴۰۴ ندارد. اما سرعت حذف ایندکسهای موتورهای جستجویی مثل گوگل را تا حدی بالا میبرد.
redirect 451 – تغییر مسیر ۴۵۱
این تغییر مسیر برای زمانی مناسب بوده و توصیه میشود که اطلاعاتی به دلیل قانونی از وبسایت حذف شده باشد و برای فهماندن این مسئله به موتورهای جستجو از این تغییر مسیر بهره گرفته میشود.
تغییر مسیرهای سمت کلاینت (خلاصه)
با تغییر مسیرهای سمت مشتری (Client)، نیازی به تغییر در سرور نیست زیرا تغییر مسیرها مستقیماً در کد منبع صفحه ذخیره میشوند. با این وجود، تغییر مسیر سمت مشتری برای بهینهسازی موتور جستجو توصیه نمیشود.
تازهسازی متا – Meta refresh
این تغییر مسیر با قرار دادن یک متا تگ در هدر سند HTML تنظیم میشود.
این تگ به شکل زیر است:
<meta http-equiv="refresh" content="0;url=http://www.newsite.com/">
یک متا رفرش روی کلاینت، یعنی مرورگر اجرا میشود. اگرچه این شکل از تغییر مسیر را میتوان به سرعت راهاندازی کرد، اما از نظر سئو و قابلیت استفاده دارای معایبی است.
کاربران باید چند ثانیه منتظر بمانند تا به صفحه جدید هدایت شوند. علاوه بر این، این تغییر مسیرها به صفحه هدف منتقل میشوند.
تغییر مسیر از طریق جاوا اسکریپت – Redirect via JavaScript
ریدایرکتها را میتوان با جاوا اسکریپت نیز پیادهسازی کرد، اما این توصیه نمیشود، زیرا برای این کار، مرورگر کاربر باید جاوا اسکریپت را فعال کند. موتورهای جستجو نیز اغلب چنین تغییر مسیرهایی را به عنوان پنهان کاری یا ربودن URL تعبیر می کنند.
اگر تغییر مسیر با استفاده از جاوا اسکریپت انجام شود، به نظر می رسد.
document.location.href = 'index.html'
خطرات تغییر مسیر
با درخواست مشتری، هر تغییر مسیر یک مرحله اضافی برای سرور ایجاد میکند. همه تغییر مسیرها در دادههای htaccess نوشته شدهاند که باید با هر سرور جدید بارگذاری شوند. به همین دلیل، وب مسترها و سئوکاران نباید از تغییر مسیرهای غیر ضروری استفاده کنند، زیرا میتوانند عملکرد وبسایت را محدود کنند.
علاوه بر این، از زنجیرههای تغییر مسیر، که در آن بسیاری از تغییر مسیرها به یکدیگر متصل هستند، باید اجتناب شود. اگر تعداد آنها خیلی زیاد باشد، گوگل نمیتواند ریدایرکتها را دنبال کند و خزنده خطایی دریافت میکند. که این نیز برای سئو تاثیر سوء و نامطلوب دارد.
مزایای تغییرمسیر برای سئو
تغییر مسیر از بسیاری جهات برای بهینهسازی موتور جستجو مفید است. از جمله:
- پیوندهای مرده را میتوان با تغییر مسیر ۳۰۱ یا ۳۰۲ به یک مقصد جدید هدایت کرد.
- با تغییر مسیر دائمی به یک URL، با www به نسخه بدون www یا بالعکس، میتوان از محتوای تکراری جلوگیری کرد.
- کاربران را میتوان در مورد تعمیر و نگهداری سرور در هر تغییر مسیر ۳۰۷ هشدار داد که به جلوگیری از تجربه کاربری ضعیف کمک می کند.
- با استفاده از تغییر مسیرهای ۳۰۱ برای راهاندازی مجدد یک وبسایت، میتوان از از دست رفتن خصوصیات پیوند (link juice) جلوگیری کرد. در عین حال، تغییر مسیرها از ایجاد پیوندهای مرده جلوگیری میکند.
- استفاده از ریدایرکتها به این معنی است که هیچ صفحه رتبهای از بین نمیرود.
- با تغییر مسیر ۳۰۱، وبسایتها میتوانند از پروتکلی مانند http به https تغییر مسیر دهند.
- در بازاریابی وابسته، پیوندهای ردیابی را میتوان از برنامه وابسته به صفحه فرود واقعی هدایت کرد.
- با تغییر مسیر دائمی، یک وبسایت با موقعیت جغرافیایی میتواند به طور خودکار به نسخه با زبان مناسب هدایت شود.
همچنین بخوانید: فایل robots.txt چیست؟ (و چه زمانی از یکی استفاده کنیم)
8 پاسخ
چرا تغییر مسیرها مهم هستند؟
سلام
تغییر مسیرها یا redirect ها به دلایل مختلفی ممکنه در وب سایت ها استفاده بشن و اهمیتشون هم براساس همین استفادههاست، از جمله:
تاثیر انواع ریدایرکت روی سئوی وبسایت چطوریه
سلام
انواع ریدایرکت میتونند تأثیر مهمی بر روی سئو وبسایت داشته باشند. همون طور در مقاله بیان شد ریدایرکت به معنای ارسال کاربران از یه صفحه به صفحه دیگره و این روند میتونه تأثیرات مختلفی روی سئو داشته باشه. در زیر تاثیرات بعضی از انواع ریدایرکتها بر روی سئو رو عنوان میکنم:
۱. ریدایرکت ۳۰۱ (Moved Permanently): این نوع ریدایرکت به معنای انتقال دائمی یه صفحه به صفحه دیگره. این نوع ریدایرکت تأثیر مثبتی بر رتبهبندی وبسایت در موتورهای جستجو داره، زیرا موتورهای جستجو متوجه میشن که صفحه اصلی به صفحه جدیدی منتقل شده و ارزش و رتبهبندی صفحه اصلی به صفحه جدید منتقل میشه.
۲. ریدایرکت ۳۰۲ (Found): این نوع ریدایرکت به معنای انتقال موقت یه صفحه به صفحه دیگره. این نوع ریدایرکت تأثیر کمتری بر رتبهبندی وبسایت داره و موتورهای جستجو به عنوان یه انتقال موقت اون رو در نظر میگیرند.
۳. ریدایرکت ۳۰۷ (Temporary Redirect): این نوع ریدایرکت هم به معنای انتقال موقت صفحه هست و تأثیر مشابهی با ریدایرکت ۳۰۲ داره.
۴. ریدایرکت ۴۰۴ (Not Found): این نوع ریدایرکت به معنای عدم یافتن صفحه است. این نوع ریدایرکت تأثیر منفی بر رتبهبندی وبسایت داره چون موتورهای جستجو صفحه رو یافت نمیکنند و ممکنه بهش صفحهای ارجاع ندن.
به طور کلی، استفاده از ریدایرکتهای ۳۰۱ به عنوان یه روش استاندارد برای انتقال صفحات و حفظ رتبهبندی سئو توصیه میشه. همینطور، مهمه که ریدایرکتها به درستی پیادهسازی بشن و به صفحه مرتبط و معتبری ارجاع بدند.
ممنون اطلاعات خوبی گرفتم من
ممنون از مطالب کاملتون
خداییش مطالبتون از بقیه سایتا خیلی کامل تره
خیلی ممنون
مفید بود
سلام
سلامت باشید