تغییر مسیر URL ها (ریدایرکت URL) روشی برای انتقال یک URL موجود به آدرس دیگری است که به طور موثر به بازدیدکنندگان و جستجوی Google شما می گوید که این صفحه دارای مکان جدیدی است. تغییر مسیرها به ویژه در شرایط زیر مفید هستند:
- شما سایت خود را به یک دامنه جدید منتقل کرده اید و می خواهید این انتقال را تا حد امکان بدون مشکل انجام دهید.
- افراد از طریق چندین URL مختلف به سایت شما دسترسی دارند. اگر، برای مثال، می توان به صفحه اصلی شما به روش های مختلفی دسترسی داشت (به عنوان مثال، https://example.com/home، http://home.example.com، یا https://www.example.com)، ایده خوبی است که یکی از آن URL ها را به عنوان مقصد ترجیحی (متعارف) خود انتخاب کنید و از تغییر مسیرها برای ارسال ترافیک از سایر URL ها به URL دلخواه خود استفاده کنید.
- شما در حال ادغام دو وب سایت هستید و می خواهید مطمئن شوید که پیوندهای URL های قدیمی به صفحات صحیح هدایت می شوند.
- شما یک صفحه را حذف کردید و می خواهید کاربران را به صفحه جدیدی بفرستید.
مروری بر انواع تغییر مسیر
در حالی که کاربران شما معمولاً نمی توانند تفاوت بین انواع مختلف تغییر مسیرها را تشخیص دهند، جستجوی Google از تغییر مسیرها به عنوان یک سیگنال قوی یا ضعیف استفاده می کند که نشان می دهد هدف تغییر مسیر باید متعارف باشد. انتخاب ریدایرکت بستگی به این دارد که انتظار دارید چه مدت تغییر مسیر برقرار باشد و چه صفحهای را میخواهید جستجوی Google در نتایج جستجو نشان دهد:
- تغییر مسیرهای دائمی: نشان دادن هدف تغییر مسیر جدید در نتایج جستجو.
- تغییر مسیرهای موقت: صفحه منبع را در نتایج جستجو نشان دهید.
جدول زیر راههای مختلفی را که میتوانید برای راهاندازی تغییر مسیرهای دائمی و موقت استفاده کنید، توضیح میدهد که بر اساس میزان احتمالی Google قادر به تفسیر صحیح است (به عنوان مثال، تغییر مسیر سمت سرور بیشترین شانس را برای تفسیر صحیح توسط Google دارد). نوع تغییر مسیر را انتخاب کنید که برای موقعیت و سایت شما مناسب است:
انواع تغییر مسیر | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
دائمی |
|
||||||||||
موقت |
|
تغییر مسیرهای سمت سرور
راه اندازی تغییر مسیرهای سمت سرور نیاز به دسترسی به فایل های پیکربندی سرور (به عنوان مثال، فایل .htaccess در آپاچی) یا تنظیم هدرهای تغییر مسیر با اسکریپت های سمت سرور (مثلاً PHP) دارد. شما می توانید تغییر مسیرهای دائمی و موقت را در سمت سرور ایجاد کنید.
تغییر مسیرهای سمت سرور دائمی
اگر نیاز دارید URL صفحه را همانطور که در نتایج موتورهای جستجو نشان داده شده است تغییر دهید، توصیه می کنیم تا حد امکان از تغییر مسیر دائمی سمت سرور استفاده کنید. این بهترین راه برای اطمینان از اینکه جستجوی Google و افراد به صفحه صحیح هدایت می شوند، است. کدهای وضعیت 301 و 308 به این معنی است که یک صفحه برای همیشه به مکان جدیدی منتقل شده است.
تغییر مسیرهای موقت سمت سرور
اگر فقط می خواهید کاربران را به طور موقت به صفحه دیگری بفرستید، از تغییر مسیر موقت استفاده کنید. این همچنین تضمین می کند که گوگل URL قدیمی را برای مدت طولانی تری در نتایج خود نگه می دارد. به عنوان مثال، اگر سرویسی که سایت شما ارائه می دهد به طور موقت در دسترس نیست، می توانید یک تغییر مسیر موقت برای ارسال کاربران به صفحه ای که اتفاقات رخ داده را توضیح می دهد، بدون به خطر انداختن URL اصلی در نتایج جستجو تنظیم کنید.
تغییر مسیرهای سمت سرور را پیاده سازی کنید
اجرای تغییر مسیرهای سمت سرور به میزبانی و محیط سرور شما یا زبان برنامه نویسی باطن سایت شما بستگی دارد.
برای تنظیم یک تغییر مسیر دائمی با PHP، از تابع header() استفاده کنید. قبل از ارسال هر چیزی به صفحه، باید هدرها را تنظیم کنید:
header('HTTP/1.1 301 Moved Permanently'); header('Location: https://www.example.com/newurl'); exit();
به طور مشابه، در اینجا مثالی از نحوه تنظیم یک تغییر مسیر موقت با PHP آورده شده است:
header('HTTP/1.1 302 Found'); header('Location: https://www.example.com/newurl'); exit();
اگر به فایل های پیکربندی وب سرور خود دسترسی دارید، ممکن است بتوانید قوانین تغییر مسیر را خودتان بنویسید. راهنماهای وب سرور خود را دنبال کنید:
- pache: با Apache .htaccess Tutorial، راهنمای بازنویسی URL Apache و مستندات mod_alias Apache مشورت کنید. به عنوان مثال، می توانید از mod_alias برای تنظیم ساده ترین شکل تغییر مسیرها استفاده کنید:
تغییر مسیر دائمی:
تغییر مسیر دائمی “/old” “https://example.com/new”
تغییر مسیر موقت:
تغییر مسیر دما “/two-old” “https://example.com/two-new”
- برای تغییر مسیرهای پیچیده تر، از mod_rewrite استفاده کنید. به عنوان مثال:
- RewriteEngine روشن باشد
صفحه سرویس را به صفحه جدیدی با تغییر مسیر دائمی هدایت کنید
RewriteRule “^/service$” “/about/service” [R=301]
صفحه سرویس را با تغییر مسیر موقت به صفحه جدیدی هدایت کنید
RewriteRule “^/service$” “/about/service” [R]
- NGINX: درباره ایجاد قوانین بازنویسی NGINX در وبلاگ NGINX بخوانید. همانند آپاچی، شما چندین انتخاب برای ایجاد تغییر مسیر دارید. به عنوان مثال:
location = /service {
-
- for a permanent redirect
return 301 $scheme://example.com/about/service - for a temporary redirectreturn 302 $scheme://example.com/about/service
}
- for a permanent redirect
برای تغییر مسیرهای پیچیده تر، از قانون بازنویسی استفاده کنید:
location = /service {
for a permanent redirect
rewrite service?name=$1 ^service/offline/([a-z]+)/?$ permanent;
# for a temporary redirect
rewrite service?name=$1 ^service/offline/([a-z]+)/?$ redirect;
}
- برای همه سرورهای وب دیگر، با مدیر سرور یا میزبان خود تماس بگیرید، یا راهنماها را در موتور جستجوی مورد علاقه خود جستجو کنید (به عنوان مثال، “Redirects LiteSpeed” را جستجو کنید).
متا رفرش و معادل HTTP آن
اگر تغییر مسیرهای سمت سرور در پلتفرم شما امکان پذیر نیست، تغییر مسیرهای تازه سازی متا ممکن است جایگزین مناسبی باشد. گوگل بین دو نوع تغییر مسیر بهروزرسانی متا تفاوت قائل میشود:
- Redirect Meta Refresh Instant: به محض بارگیری صفحه در مرورگر فعال می شود. جستجوی Google، تغییر مسیرهای فوری متا را به عنوان تغییر مسیرهای دائمی تفسیر می کند.
- تغییر مسیر بهروزرسانی متا تأخیر: فقط پس از تعداد دلخواه ثانیه تنظیم شده توسط مالک سایت فعال میشود. جستجوی گوگل تغییر مسیرهای متا تازه سازی تاخیری را به عنوان تغییر مسیرهای موقت تفسیر می کند.
تغییر مسیر متا refresh را یا در عنصر <head> در HTML یا در هدر HTTP با کد سمت سرور قرار دهید. به عنوان مثال، در اینجا یک تغییر مسیر متا تازه سازی فوری در عنصر <head> در HTML آمده است:
<html>
<head>
<meta http-equiv=”refresh” content=”0; url=https://example.com/newlocation”>
<title>Example title</title>
<!–…–>
در اینجا نمونه ای از معادل هدر HTTP آورده شده است که می توانید آن را با اسکریپت های سمت سرور تزریق کنید:
HTTP/1.1 200 OK Refresh: 0; url=https://www.example.com/newlocation ...
برای ایجاد یک تغییر مسیر با تأخیر، که توسط Google به عنوان تغییر مسیر موقت تعبیر می شود، ویژگی محتوا را بر روی تعداد ثانیه هایی تنظیم کنید که تغییر مسیر باید به تأخیر بیفتد:
<!doctype html> <html> <head> <meta http-equiv="refresh" content="5; url=https://example.com/newlocation"> <title>Example title</title> <!--...-->
تغییر مسیرهای مکان جاوا اسکریپت
جستجوی Google پس از پایان خزیدن URL، جاوا اسکریپت را با استفاده از سرویس رندر وب تفسیر و اجرا می کند.
برای تنظیم تغییر مسیر جاوا اسکریپت، ویژگی مکان را روی URL هدف تغییر مسیر در یک بلوک اسکریپت در سر HTML تنظیم کنید. به عنوان مثال:
<!doctype html> <html> <head> <script> window.location.href = "https://www.example.com/newlocation"; </script> <title>Example title</title> <!--...-->
تغییر مسیرهای رمزنگاری
اگر نمی توانید هیچ یک از روش های تغییر مسیر سنتی را پیاده سازی کنید، همچنان باید تلاش کنید تا به کاربران خود اطلاع دهید که صفحه یا محتوای آن جابجا شده است. ساده ترین راه برای انجام این کار اضافه کردن لینکی است که به صفحه جدید همراه با توضیح کوتاه اشاره دارد. به عنوان مثال:
<a href=”https://newsite.example.com/newpage.html”>ما نقل مکان کردیم! محتوای سایت جدید ما را پیدا کنید!</a>
این به کاربران کمک می کند تا سایت جدید شما را پیدا کنند و گوگل ممکن است این موضوع را به عنوان یک تغییر مسیر رمزنگاری درک کند (مانند هیولای دریاچه نس، ممکن است وجود آن مورد مناقشه باشد؛ همه موتورهای جستجو ممکن است این تغییر مسیر کاذب را به عنوان یک تغییر مسیر رسمی تشخیص ندهند).
نسخه های جایگزین URL
وقتی یک URL را تغییر مسیر می دهید، Google هم منبع تغییر مسیر (URL قدیمی) و هم هدف تغییر مسیر (URL جدید) را پیگیری می کند. یکی از URL ها متعارف خواهد بود. کدام یک، به سیگنال هایی مانند موقت یا دائمی بودن تغییر مسیر بستگی دارد. URL دیگر به نام جایگزین URL متعارف تبدیل می شود. نامهای جایگزین نسخههای مختلفی از یک URL متعارف هستند که کاربران ممکن است آنها را تشخیص دهند و بیشتر به آنها اعتماد کنند. نامهای جایگزین ممکن است در نتایج جستجو ظاهر شوند زمانی که درخواست کاربر اشاره میکند که ممکن است به URL قدیمی اعتماد بیشتری داشته باشد.
به عنوان مثال، اگر به یک نام دامنه جدید منتقل شده اید، به احتمال بسیار زیاد گوگل گهگاه URL های قدیمی را در نتایج نشان می دهد، حتی اگر URL های جدید از قبل ایندکس شده باشند. این طبیعی است و با عادت کردن کاربران به نام دامنه جدید، نام های جایگزین بدون انجام کاری محو می شوند.