راهنمای جامع تغییر مسیر URL برای سئو
مجله تودی :ریدایرکتها برای سئو باید به درستی استفاده شوند، زیرا بر نحوه خزیدن و نمایهسازی وبسایتها توسط Google تأثیر میگذارند.
در حالی که اکثر مردم به تغییر مسیرها به عنوان یک علامت اشتباه اینترنتی تصور می کنند، موارد مهمی در پس هر ریدایرگت وجود دارد.
در ادامه توضیحات کوتاهی راجب ریدایرکت ها میدهیم.
تغییر مسیر (ریدایرکت Redirects ) چیست؟
تغییر مسیرهای وبسایت به مرورگرها و موتورهای جستجو اطلاعاتی در مورد URL و مکان یافتن صفحه وب میدهد.
یک تغییر مسیر URL شامل کدی است که در یک URL خاص یا گروهی از URL ها پیاده سازی می شود تا کاربر (یا موتور جستجو) به صفحه دیگری از URL واقعی که وارد شده یا کلیک شده است ارسال شود.
یک تغییر مسیر را می توان به صورت:
تنظیم کرد
- تغییر مسیر موقت: 302، 303، 307، 308.
- تغییر مسیر دائمی: 301.
زمان استفاده از تغییر مسیرها
دلایل اصلی استفاده از تغییر مسیرها عبارتند از:
- یک صفحه مجزا یا کل دامنه منتقل شده است (URL تغییر کرده است).
- اجازه دادن به استفاده از کوتاهکنندههای URL یا “URLهای زیبا”.
- انتقال سایت (به عنوان مثال، HTTP به HTTPS).
برای اهداف سئو، تغییر مسیرهای URL مهم هستند زیرا:
- مجوز هر پیوندی که به صفحهای که منتقل شده یا حذف شده است را هدایت کنید.
- از خطاهای یافت نشدن صفحه 404 اجتناب کنید (اگرچه گاهی اوقات بهتر است یک 404 بگذارید).
تغییر مسیرها را میتوان به صورت گروهی یا در سطح دامنه پیادهسازی کرد، اما اغلب باید به صورت فردی تنظیم شوند تا از مشکلات جلوگیری شود.
هنگام استفاده از RegEX برای تغییر مسیرهای گروهی، اگر منطق شما بی عیب نباشد، می تواند نتایج غیرمنتظره ای داشته باشد!
انواع تغییر مسیرها
سه نوع اصلی تغییر مسیر وجود دارد:
- تغییر مسیرهای Meta Refresh در سطح صفحه تنظیم شده اند اما معمولاً برای اهداف سئو توصیه نمی شوند. دو نوع تغییر مسیر متا وجود دارد: تاخیری که به عنوان تغییر مسیر موقت دیده می شود و فوری که به عنوان تغییر مسیر دائمی دیده می شود.
- تغییر مسیرهای جاوا اسکریپت نیز در صفحه سمت مشتری است و می تواند باعث مشکلات سئو شود. Google برای تغییر مسیرهای سمت سرور HTTP ترجیح داده است.
- تغییر مسیرهای HTTP در سمت سرور تنظیم شدهاند و بهترین رویکرد برای اهداف سئو هستند – در زیر به طور عمیق به آن پرداختیم.
کد وضعیت پاسخ HTTP چیست؟
مرورگرها و خزندههای موتور جستجو مانند GoogleBot عاملهای کاربر نامیده میشوند.
وقتی یک نماینده کاربر سعی میکند به یک صفحه وب دسترسی پیدا کند، اتفاقی که میافتد این است که عامل کاربر درخواستی میدهد و سرور وبسایت پاسخی را صادر میکند.
پاسخ کد وضعیت پاسخ HTTP نامیده می شود. این یک وضعیت برای درخواست URL ارائه می دهد.
در شرایطی که یک عامل کاربر مانند GoogleBot یک URL درخواست میکند، سرور پاسخ میدهد.
به عنوان مثال، اگر درخواست URL موفقیت آمیز باشد، سرور کد پاسخ 200 را ارائه می دهد، که به این معنی است که درخواست URL با موفقیت انجام شده است.
بنابراین، وقتی به این فکر میکنید که GoogleBot به یک وبسایت میرسد و سعی میکند آن را بخزد، چیزی که اتفاق میافتد مجموعهای از درخواستها و پاسخها است.
تغییر مسیرهای HTTP
تغییر مسیر HTTP یک پاسخ سرور برای درخواست URL است.
اگر URL در URL دیگری وجود داشته باشد (به دلیل اینکه منتقل شده است)، سرور به عامل کاربر می گوید که درخواست URL به یک URL دیگر هدایت می شود.
کد پاسخ برای URL تغییر یافته معمولاً به شکل کد وضعیت پاسخ 301 یا 302 است.
کل سری 3xx از کدهای پاسخ، اطلاعات زیادی را که میتواند به صورت اختیاری توسط عامل کاربر انجام شود، به هم منتقل میکند.
نمونهای از اقدامی که عامل کاربر میتواند انجام دهد این است که یک حافظه پنهان URL جدید را ذخیره کند تا دفعه بعد که URL قدیمی درخواست شد، URL جدید را بخواهد.
بنابراین، تغییر مسیر 301 و 302 چیزی بیش از یک تابلوی جاده اینترنتی است که میگوید: «اینجا برو نه آنجا».
سری 3XX کدهای وضعیت
تغییر مسیرها بیش از دو کد وضعیتی هستند که همه با آنها آشنا هستند، کدهای پاسخ 301 و 302.
در مجموع هفت کد رسمی وضعیت پاسخ 3xx وجود دارد.
اینها انواع مختلف تغییر مسیرهای موجود برای استفاده هستند:
- 300 گزینه چندگانه.
- 301 به طور دائم منتقل شد.
- 302 پیدا شد.
- 303 موارد دیگر را ببینید.
- 304 اصلاح نشده است.
- 305 از پروکسی استفاده کنید.
- 306 (استفاده نشده).
- 307 تغییر مسیر موقت.
- 308 تغییر مسیر دائمی.
بعضی از کدهای وضعیت فوق به مدت طولانی وجود نداشته و ممکن است مورد استفاده قرار نگیرند. بنابراین، قبل از استفاده از هر کد تغییر مسیری غیر از 301 یا 302، مطمئن شوید که عامل کاربر مورد نظر می تواند آن را تفسیر کند.
از آنجایی که GoogleBot از آخرین نسخه کروم (به نام مرورگر بدون هد) استفاده میکند، بررسی سازگاری کد وضعیت با بررسی اینکه آیا کروم کد وضعیت را با لیست سازگاری مرورگر.
برای SEO، باید از کدهای پاسخ 301 و 302 استفاده کرد، مگر اینکه دلیل خاصی برای استفاده از یکی از کدهای دیگر وجود داشته باشد.
301: به طور دائم منتقل شد
کد وضعیت 301 معمولاً به عنوان تغییر مسیرهای 301 ارجاع می شود. اما نام رسمی 301 Moved Permanently است.
تغییر مسیر 301 به یک عامل کاربر نشان میدهد که URL (گاهی اوقات به عنوان منبع هدف یا به سادگی منبع شناخته میشود) به مکان دیگری تغییر کرده است و باید از URL جدید برای درخواستهای بعدی استفاده کند.
همانطور که قبلا ذکر شد، اطلاعات بیشتری نیز وجود دارد.
کد وضعیت 301 همچنین به نماینده کاربر پیشنهاد می کند:
- درخواستهای بعدی برای URL باید با URL جدید انجام شود.
- هر کسی که درخواست می کند باید پیوندهای خود را به URL جدید به روز کند.
- درخواستهای بعدی را میتوان از GET به POST تغییر داد.
این نکته آخر یک مسئله فنی است. طبق استانداردهای رسمی 301 کد وضعیت:
“نکته: به دلایل تاریخی، یک عامل کاربر ممکن است روش درخواست را از POST به GET برای درخواست بعدی تغییر دهد. اگر این رفتار نامطلوب باشد، میتوان به جای آن از کد وضعیت 308 (تغییر مسیر دائمی) استفاده کرد.»
برای سئو، وقتی موتورهای جستجو تغییر مسیر 301 را مشاهده میکنند، رتبه صفحه قدیمی را به صفحه جدید منتقل میکنند.
قبل از ایجاد تغییر، هنگام استفاده از تغییر مسیر 301 باید مراقب باشید. تغییر مسیرهای 301 فقط زمانی باید استفاده شوند که تغییر به یک URL جدید دائمی باشد.
کد وضعیت 301 نباید زمانی که تغییر موقتی است استفاده شود.
علاوه بر این، اگر بعداً نظر خود را تغییر دهید و به نشانی اینترنتی قدیمی بازگردید، ممکن است نشانی اینترنتی قدیمی دیگر رتبهبندی نشود و ممکن است برای به دست آوردن مجدد رتبهبندی زمان ببرد.
بنابراین، نکته اصلی که باید به خاطر بسپارید این است که زمانی که تغییر دائمی باشد، از کد وضعیت 301 استفاده می شود.
302: پیدا شد
نکته اصلی در مورد کد وضعیت 302 این است که برای موقعیت هایی که URL به طور موقت تغییر می کند مفید است.
معنای این کد پاسخ این است که URL به طور موقت در یک URL متفاوت است و پیشنهاد میشود از URL قدیمی برای درخواستهای بعدی استفاده کنید.
کد وضعیت تغییر مسیر 302 همچنین با یک هشدار فنی مرتبط با GET و Post همراه است:
“نکته: به دلایل تاریخی، یک عامل کاربر ممکن است روش درخواست را از POST به GET برای درخواست بعدی تغییر دهد. اگر این رفتار نامطلوب باشد، میتوان به جای آن از کد وضعیت 307 (تغییر مسیر موقت) استفاده کرد.»
اشاره به “دلایل تاریخی” ممکن است به عوامل کاربری قدیمی یا باگ اشاره داشته باشد که ممکن است روش درخواست را تغییر دهند.
307: تغییر مسیر موقت
تغییر مسیر 307 به این معنی است که URL درخواستی به طور موقت منتقل شده است و عامل کاربر باید از URL اصلی برای درخواستهای بعدی استفاده کند.
تنها تفاوت بین کد وضعیت 302 و 307 این است که یک عامل کاربر باید URL جدید را با همان درخواست HTTP مورد استفاده برای درخواست URL اصلی درخواست کند.
این بدان معناست که اگر نماینده کاربر صفحه را با درخواست GET درخواست کند، نماینده کاربر باید از درخواست GET برای URL موقت جدید استفاده کند و نمی تواند از درخواست POST استفاده کند.
مستندات موزیلا در مورد وضعیت 307 code آن را واضح تر از اسناد رسمی توضیح می دهد.
“سرور این پاسخ را می فرستد تا مشتری را هدایت کند تا منبع درخواستی را در URI دیگری با همان روشی که در درخواست قبلی استفاده شده بود، دریافت کند.
این همان معنای کد پاسخ HTTP 302 یافت شده را دارد، با این استثنا که عامل کاربر نباید روش HTTP استفاده شده را تغییر دهد: اگر در درخواست اول از POST استفاده شده باشد، در درخواست دوم باید از POST استفاده شود. “
به غیر از کد وضعیت 307 که نیاز به درخواستهای بعدی دارد که از یک نوع باشند (POST یا GET) و اینکه 302 میتواند به هر سمتی برود، همه چیز بین کدهای وضعیت 302 و 307 یکسان است.
302 در مقابل 307
اگر از وردپرس استفاده میکنید، میتوانید از طریق فایلهای پیکربندی سرور .htaccess. در Apache، فایل example.conf در Nginx یا از طریق افزونهها، هدایت کنید.
در همه موارد، دستور یکسانی برای نوشتن قوانین تغییر مسیر دارند. آنها فقط با دستورات مورد استفاده در فایل های پیکربندی متفاوت هستند. برای مثال، تغییر مسیر در آپاچی به این صورت خواهد بود:
گزینه ها +FollowSymlinks RewriteEngine روشن است RedirectMatch 301 ^/oldfolder/ /newfolder/
(میتوانید درباره پیوندهای نمادین اینجا بخوانید< /a>.)
در سرورهای Nginx، به این صورت خواهد بود:
rewrite ^/oldfolder/ /newfolder/ permanent;
دستورات مورد استفاده برای اعلام کد وضعیت سرور تغییر مسیر و فرمان عمل متفاوت است.
به عنوان مثال:
- کد وضعیت تغییر مسیر سرور: “301″ در مقابل “دائمی.”
- دستور عمل: “RedirectMatch” در مقابل “Rewrite.”
اما نحو تغییر مسیر ( ^/oldfolder/ /newfolder/ ) برای هر دو یکسان است.
در آپاچی، مطمئن شوید که ماژولهای mod_rewrite و mod_alias (مسئول مدیریت تغییر مسیرها) در سرور شما فعال هستند.
از آنجایی که گستردهترین نوع سرور Apache است، در اینجا نمونههایی برای فایلهای apache .htaccess آورده شده است.
مطمئن شوید که فایل .htaccess دارای این دو خط بالای قوانین تغییر مسیر باشد و قوانین را در زیر آنها قرار دهید:
Options +FollowSymlinks RewriteEngine on
برای کسب اطلاعات بیشتر در مورد اسناد رسمی را بخوانید RewriteEngine.
برای درک مثالهای زیر، میتوانید به جدول زیر در RegExp اصول اولیه.
* | صفر یا بیشتر بار |
+ | یک یا چند بار |
. | هر کاراکتری |
؟ | صفر یا یک بار |
^ | شروع رشته |
$ | انتهای رشته |
a|b | OR operadn “|” a یا b |
(z) | مطابقت مورد استفاده در هنگام فراخوانی $1 را به خاطر می آورد |
نحوه ایجاد تغییر مسیر
چگونه یک تغییر مسیر برای یک URL واحد ایجاد کنیم
متداولترین و پرکاربردترین نوع تغییر مسیر هنگام حذف صفحات یا تغییر URLها است.
به عنوان مثال، فرض کنید URL را از /old-page/ به /new-page/ تغییر دادید. قانون تغییر مسیر این خواهد بود:
RewriteRule ^old-page(/?|/.*)$ /new-page/ [R=301,L]
یا
RedirectMatch 301 ^/old-page(/?|/.*)$ /new-page/
تنها تفاوت بین این دو روش این است که اولی از ماژول Apache mod_rewrite و دومی از mod_alias استفاده می کند. با استفاده از هر دو روش قابل انجام است.
عبارت منظم “^” به این معنی است که URL باید با “/old-page” شروع شود، در حالی که (/?|/.*)$ نشان می دهد که هر چیزی که پس از “/old-page/” با اسلش “/” یا بدون تطابق دقیق باید به /new-page/ هدایت شود.
ما همچنین میتوانیم از (.*)، یعنی ^/old-page(.*) استفاده کنیم، اما مشکل اینجاست که اگر صفحه دیگری با URL مشابه مانند /old-page-other/ دارید، این صفحه نیز وجود دارد. زمانی که ما فقط بخواهیم /old-page/ را تغییر مسیر دهیم هدایت شود.
URL های زیر مطابقت دارند و به صفحه جدیدی هدایت می شوند:
/old-page/ | /new-page/ |
/old-page | /new-page/ |
/old-page/?utm_source=facebook.com | /new-page/?utm_source=facebook.com |
/old-page/child-page/ | /new-page/ |
هر گونه تغییر URL صفحه را به یک آدرس جدید هدایت می کند. اگر از تغییر مسیر به شکل زیر استفاده کنیم:
تغییر مسیر 301 /old-page/ /new-page/
بدون عبارات منظم، همه نشانیهای اینترنتی با رشته جستجوی UTM، بهعنوان مثال، /old-page?utm_source=facebook.com (که رایج است زیرا نشانیهای اینترنتی برای اشتراکگذاری در شبکههای اجتماعی استفاده میشوند)، به 404 تبدیل می شود.
حتی /old-page بدون اسلش انتهایی “/” به 404 ختم می شود.
تغییر مسیر همه به جز
فرض کنید ما یک سری URL مانند /category/old-subcategory-1/، /category/old-subcategory-2/، /category/final-subcategory/ داریم و میخواهیم همه زیر شاخهها را در /category/final ادغام کنیم. -زیررده/. ما در اینجا به قانون “همه جز” نیاز داریم.
RewriteCond %{REQUEST_URI} !/category/final-subcategory/ RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(دسته/). /category/final-subcategory/ [R=301,L]
در اینجا، میخواهیم همه را در خط سوم زیر /category/ هدایت کنیم، به جز اگر /category/final-subcategory/ در خط چهارم باشد. ما همچنین قانون “!-f” را در خط دوم داریم که هر فایلی مانند تصاویر، CSS یا فایل های جاوا اسکریپت را نادیده می گیرد.
در غیر این صورت، اگر دارایی هایی مانند “/category/image.jpg” داشته باشیم، به “/final-subcategory/” نیز هدایت می شود و باعث شکستن تصویر می شود.
تغییر دایرکتوری
اگر تغییر ساختار دستهبندی را انجام دادهاید و میخواهید همه چیز را از دایرکتوری قدیمی به فهرست جدید منتقل کنید، میتوانید از قانون زیر استفاده کنید.
RewriteRule ^old-directory$ /new-directory/ [R=301,NC,L] RewriteRule ^old-directory/(.*)$ /new-directory/$1 [R=301,NC,L]
من از $1 در هدف استفاده کردم تا به سرور بگویم که باید همه چیز را در URL زیر /old-directory/ (به عنوان مثال /old-directory/subdirectory/) به خاطر بسپارد و آن را ارسال کند (به عنوان مثال، “/subdirectory/” ) به مقصد. در نتیجه، به /new-directory/subdirectory/ هدایت می شود.
من از دو قانون استفاده کردم: یک مورد بدون اسلش انتهایی و دیگری با اسلش انتهایی.
من میتوانم آنها را در یک قانون با استفاده از (/?|.*)$ RegExp در پایان ترکیب کنم، اما باعث ایجاد مشکل میشود و زمانی که URL درخواستی بدون هیچ دنبالهای، یک اسلش «//» به انتهای URL اضافه میکند. اسلش دارای یک رشته پرس و جو است (به عنوان مثال، “/old-directory?utm_source=facebook” به “/new-directory//?utm_source=facebook” هدایت می شود).
حذف کلمه از URL
فرض کنید 100 URL در وب سایت خود با نام شهر “شیکاگو” دارید و می خواهید آنها را حذف کنید.
برای URL http://yourwebiste.com/example-chicago-event/، قانون تغییر مسیر به این صورت خواهد بود:
RewriteRule ^(.*)-chicago-(.*) http://%{SERVER_NAME}/$1-$2 [NC,R=301,L]
اگر URL نمونه به شکل http://yourwebiste.com/example/chicago/event/ باشد، تغییر مسیر به این صورت خواهد بود:
RewriteRule ^(.*)/chicago/(.*) http://%{SERVER_NAME}/$1/$2 [NC,R=301,L]
تنظیم URL متعارف
داشتن URL های متعارف مهمترین بخش سئو است.
در صورت گم شدن، ممکن است وبسایت خود را با مشکلات محتوای تکراری به خطر بیندازید زیرا موتورهای جستجو URLهای دارای نسخههای «www» و «non-www» را بهعنوان صفحات مختلف با محتوای یکسان در نظر میگیرند.
بنابراین، باید مطمئن شوید که وب سایت را فقط با یک نسخه که انتخاب می کنید اجرا می کنید.
اگر می خواهید وب سایت خود را با نسخه “www” اجرا کنید، از این قانون استفاده کنید:
RewriteCond %{HTTP_HOST} ^yourwebsite.com [NC] RewriteRule ^(.*)$ http://www.yourwebsite.com/$1 [L,R=301]
برای نسخه “غیر www”:
RewriteCond %{HTTP_HOST} ^www.yourwebsite.com [NC] RewriteRule ^(.*)$ http://yourwebsite.com/$1 [L,R=301]
اسلش انتهایی نیز بخشی از متعارف سازی است، زیرا نشانیهای وب با اسلش در انتها یا بدون آن نیز به گونهای متفاوت رفتار میشوند.
RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*[^/])$ /$1/ [L,R=301]
با این کار مطمئن می شوید که /example-page به /example-page/ هدایت می شود. میتوانید به جای اضافه کردن، اسلش را حذف کنید، سپس به قانون دیگر زیر نیاز خواهید داشت:
RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)/$ /$1 [L,R=301]
HTTP به HTTPS Redirect
پس از ابتکار Google برای تشویق مالکان وب سایت به استفاده از SSL، مهاجرت به HTTPS یکی از موارد ریدایرکت های رایجی که تقریباً هر وب سایتی دارد.
قانون بازنویسی زیر را می توان برای اجبار HTTPS در هر وب سایت استفاده کرد.
RewriteCond %{HTTP_HOST} ^yourwebsite.com [NC,OR] RewriteCond %{HTTP_HOST} ^www.yourwebsite.com [NC] RewriteRule ^(.*)$ https://www.yourwebsite.com/$1 [L,R=301,NC]
با استفاده از این، میتوانید یک تغییر مسیر نسخه www یا غیرwww را در یک قانون تغییر مسیر HTTPS ترکیب کنید.
تغییر مسیر از دامنه قدیمی به جدید
این همچنین یکی از پرکاربردترین ریدایرکتهایی است که وقتی تصمیم به تغییر نام تجاری میگیرید و باید دامنه خود را تغییر دهید. قانون زیر old-domain.com را به new-domain.com هدایت می کند.
RewriteCond %{HTTP_HOST} ^old-domain.com$ [OR] RewriteCond %{HTTP_HOST} ^www.old-domain.com$ RewriteRule (.*)$ http://www.new-domain.com/$1 [R=301,L]
از دو حالت استفاده میکند: یکی با نسخه «www» URLها و دیگری «غیر www» زیرا هر صفحهای به دلایل تاریخی ممکن است پیوندهای ورودی به هر دو نسخه داشته باشد.
اکثر صاحبان سایت از وردپرس استفاده میکنند و ممکن است برای تغییر مسیر به فایل htaccess. نیازی نداشته باشند، اما در عوض از یک افزونه استفاده میکنند.
مدیریت تغییر مسیرها با استفاده از افزونه ها ممکن است کمی با آنچه در بالا بحث کردیم متفاوت باشد. برای مدیریت صحیح RegExp برای پلاگین خاص، ممکن است لازم باشد اسناد آنها را بخوانید.
از میان افزونههای موجود، من یک افزونه رایگان به نام تغییر مسیر را توصیه میکنم. ، که دارای پارامترهای زیادی برای کنترل قوانین تغییر مسیر و بسیاری از اسناد مفید است.
بهترین شیوهها را هدایت کنید
1. همه 404 URL شکسته را به صفحه اصلی هدایت نکنید
این مورد اغلب زمانی اتفاق میافتد که برای بررسی آدرسهای اینترنتی 404 خود و ترسیم آنها به صفحه فرود مناسب تنبل هستید.
طبق گفته Google، همه آنها همچنان به عنوان 404 در نظر گرفته می شوند.
بله، این یک روش عالی نیست (کاربران را سردرگم می کند)، و ما به هر حال آنها را به عنوان 404s در نظر می گیریم (آنها soft-404 هستند)، بنابراین هیچ چیز مثبتی وجود ندارد. این به شدت خراب/بد نیست، اما پیچیدگی اضافی بدون دلیل موجهی دارد – در عوض یک صفحه 404 بهتر بسازید.
— ???? جان ???? (@JohnMu) ژانویه 2019
اگر صفحات زیادی از این قبیل دارید، باید به ایجاد صفحات زیبای 404 و جذاب فکر کنید. کاربران برای مرور بیشتر یا یافتن چیزی غیر از آنچه به دنبال آن بودند با نمایش گزینه جستجو.
Google اکیداً توصیه میکند که محتوای صفحه هدایتشده باید معادل صفحه قدیمی باشد. در غیر این صورت، چنین تغییر مسیری ممکن است یک نرم افزار 404 در نظر گرفته شود و رتبه آن صفحه را از دست بدهید.
2. تغییر مسیرهای خاص صفحه موبایل را درست دریافت کنید
اگر آدرسهای اینترنتی متفاوتی برای وبسایتهای دسکتاپ و تلفن همراه دارید (به عنوان مثال، «example.com» برای دسکتاپ و «m.example.com» برای تلفن همراه)، باید مطمئن شوید که کاربران را به صفحه مناسب نسخه موبایل هدایت میکنید. .
درست: “example.com/sport/” به “m.example.com/sport/”
اشتباه: “example.com/sport /” به “m.example.com”
همچنین، باید مطمئن شوید که اگر یک صفحه روی دسکتاپ 404 باشد، در تلفن همراه نیز باید 404 باشد.
اگر نسخه موبایلی برای صفحه ای ندارید، می توانید از تغییر مسیر به نسخه موبایل خودداری کنید و آنها را در صفحه دسکتاپ نگه دارید.
3. نحوه استفاده از Meta Refresh
این امکان وجود دارد که با استفاده از تگ متا رفرش مانند مثال زیر یک تغییر مسیر انجام دهید:
اگر این تگ را در /old-page/ وارد کنید، کاربر را بلافاصله به /new-page/ هدایت میکند.
Google این تغییر مسیر را ممنوع نمیکند، اما استفاده از آن را توصیه نمیکند.
یک تغییر مسیر نوع تازه سازی متا فقط باید کار کند. ما آن را به دو دلیل توصیه نمیکنیم: UX (صفحه را در تاریخچه مرورگر نگه میدارد، afaik) و زمان پردازش (برای دیدن آن باید صفحه را تجزیه کنیم). پس از پردازش، درست مانند تغییر مسیر است.
— ???? جان ???? (@JohnMu) 2 مارس، 2018
طبق گفته جان مولر، موتورهای جستجو ممکن است نتوانند آن نوع تغییر مسیر را به درستی تشخیص دهند. همین امر در مورد تغییر مسیرهای جاوا اسکریپت نیز صادق است.
4. اجتناب از تغییر مسیر زنجیره
این پیام زمانی نمایش داده میشود که تنظیم عبارت منظم اشتباهی داشته باشید و در یک حلقه بینهایت ختم میشود.
معمولاً، این زمانی اتفاق میافتد که شما یک زنجیره تغییر مسیر دارید.
فرض کنید صفحه 1 را خیلی وقت پیش به صفحه 2 هدایت کرده اید. شاید فراموش کرده باشید که صفحه 1 تغییر مسیر داده است و تصمیم گرفته اید که صفحه 2 را دوباره به صفحه 1 هدایت کنید.
در نتیجه، در نهایت با قانونی مانند این مواجه خواهید شد:
RewriteRule ^page1 /page2 [R=301,NC,L] RewriteRule ^page2 /page1 [R=301,NC,L]
این یک حلقه بی نهایت ایجاد می کند و خطای نشان داده شده در بالا را ایجاد می کند.
نتیجه گیری
دانستن اینکه تغییر مسیرها چیست و کدام موقعیت به کد وضعیت خاصی نیاز دارد، برای بهینه سازی صحیح صفحات وب ضروری است. این بخش اصلی درک SEO است.
بسیاری از موقعیتها به دانش دقیق تغییر مسیرها نیاز دارند، مانند انتقال یک وبسایت به یک دامنه جدید یا ایجاد یک URL صفحه نگهدارنده موقت برای یک صفحه وب که تحت URL عادی خود باز میگردد.
در حالی که بسیاری از افزونهها امکانپذیر است، میتوان از افزونهها بدون درک درستی از زمان و چرایی استفاده از نوع خاصی از تغییر مسیر استفاده کرد.