همانطور که به یاد دارید در درس «ریدایرکت چیست و چرا انجام می شود؟» به تعریف ریدایرکت و توضیح انواع آن پرداختیم. همچنین موارد استفاده از ریدایرکت در وب سایت را نیز توضیح دادیم. حال در این درس قصد داریم ریدایرکت 301 که مهمترین نوع تغییر مسیر در وب سایت محسوب می شود را زیر ذره بین برده و درباره اجرای کد های مرتبط با آن نیز، با یکدیگر بحث کنیم. با ما همراه باشید...
همانطور که به یاد دارید از ریدایرکت 301 برای تغییر مسیر دائمی وب سایت بدون قصد بازگشت مجدد به آدرس قبلی استفاه می کردیم. هدف از این ریدایرکت نیز، ایندکس بهتر سایت در موتورهای جستجو، شناخته نشدن محتوای سایت به عنوان مطالب کپی و تکراری، و در نهایت تمرکز بهتر روی آدرس ها و دامنه های دلخواه ما برای کسب رتبه در موتورهای جستجو است.
سه دلیل مهم برای استفاده از تغییر مسیر به شکل 301 موارد زیر محسوب می شوند.
سوال: آیا با ریدایرکت 301 اعتبار و رتبه صفحات قدیمی به صفحات جدید منتقل می شود یا خیر؟
پاسخ: بنا به تحقیقات وب سایت های معتبر در این زمینه، چنین مواقعی نزدیک به 70 درصد رتبه و اعتبار آدرس قبلی به آدرس جدید منتقل می شود. بنابراین نیاز نیست برای کسب مجدد رتبه و اعتبار برای صفحات یا دامنه های جدید موراد سئو را از صفر شروع کنید.
یکی از رایج ترین شیوه های پیاده سازی ریدایرکت 301 استفاده از فایل .htaccess می باشد که در ریشه سایت (فولدر public_html در هاست) شما موجود است. این فایل برای ریدایرکت های مرتبط با پروتکل های تحت وب بسیار مورد استفاده قرار می گیرد.
توجه: در اکثر مواقع این فایل از قبل روی هاست موجود است و نیاز به ساخت آن نیست. تنها باید دقت کنید که از آنجا که فایل هایی که با دات(.) شروع می شوند معمولا در هاست به حالت پنهان(hidden) هستند باید ابتدا از قسمت تنظیمات هاست تیک گزینه show hidden files را فعال کنید تا فایل نمایش داده شود و بتوانید آنرا ویرایش کنید. اگر این فایل از قبل موجود نباشد می توانید یک فایل با همین نام ایجاد کنید.
اخطار: پیشنهاد می کنیم به دلیل اهمیت بالای فایل .htaccess حتما قبل از هر ویرایشی یک نسخه بک آپ از آن تهیه کنید. روکسو مسئولیت استفاده ناصحیح از کد ها و دستورات در وب سایت شما را به عهده نخواهد داشت.
اما ریدایرکت های مرتبط با پروتکل ها دقیقا چه مواردی هستند؟
گاهی اوقات تمایل دارید سایت شما حتما با پیشوند www برای مخاطبان نمایش داده شود حتی اگر آنها بدون www آدرس سایت را تایپ کردند. در این حال می توانید کد های زیر را در جای مناسبی (معمولا خط اول) از فایل .htaccess کپی کنید. فراموش نکنید که به جای example.com باید آدرس سایت خود را جایگزین کنید.
RewriteEngine on RewriteCond %{HTTP_HOST} ^example.com [NC] RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301,NC]
همچنین اگر می خواهید سایت شما حتما بدون www نمایش داده شود حتی اگر مخاطبان آنرا با www تایپ کردند از کد زیر به جای کد بالا استفاده کنید. فراموش نکنید که آدرس سایت خود را جایگزین example.com کنید.
RewriteEngine on RewriteCond %{HTTP_HOST} ^www.example.com [NC] RewriteRule ^(.*)$ http://example.com/$1 [L,R=301,NC]
لازم به ذکر است در صورت استفاده از برخی افزونه های مرتبط با ریدایرکت و یا برخی تغییرات در تنظیمات پنل وردپرس ممکن است کد های بالا کارایی خود را از دست بدهند. در صورتی که در اجرای کد های بالا به مشکل برخوردید در قسمت نطرات با ما در میان بگذارید و یا با یک متخصص وب سایت و سئو مشورت کنید.
حال به سراغ یکی دیگر از موارد رایج ریدایرکت 301 می رویم.
برای ریدایرکت کردن پروتکل http به https می توانید از کد زیر در ابتدای فایل .htaccess استفاده کنید. فراموش نکنید این مورد تنها برای سایت های امن می باشد که که گواهینامه SSL برای آنها فعال می باشد.
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
همچنین برای ریدایرکت پروتکل https به http از دستور زیر استفاده کنید. استفاده از این دستور برای تمام سایت هایی که گواهینامه SSL ندارند پیشنهاد می شود.
RewriteEngine On RewriteCond %{HTTPS} on RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
برای آنکه یک فایل را به صورت جداگانه به یک فایل از یک دامنه دیگر ریدایرکت کنید (برای مثال فایل example.com/old-adress.htm را به آدرس example.net/new-adress.htm منتقل کنید)، باید دستور زیر را در فایل htaccess. وارد نمایید:
Redirect 301 /oldfile.htm http://example.net/newfile.htm
حتما به فاصله ها در کدهای دستوری بالا دقت کنید. همانطور که مشاهده می کنید یک فاصله بین کلمه redirect و 301 وجود دارد. یک فاصله بین کلمه 301 و آدرس مبدا. فاصله سوم نیز بین آدرس مبدا و آدرس مقصد. همچنین از آنجا که آدرس فعلی example.com می باشد از نوشتن ریشه دامنه مبدا در کد دستوری خودداری کرده ایم.
روش های بالا برای ریدایرکت پروتکل های سایت مورد استفاده قرار می گرفت و برای ریدایرکت یک یا چند صفحه از سایت کاربردی ندارند. برای تغییر مسیر صفحات سایت در زبان های برنامه نویسی مختلف می توانید از کدهای زیر در ابتدای صفحه قدیمی که قرار است به آدرس جدید منتقل شود استفاده کنید. فراموش نکنید که به جای http://www.new-url.com آدرس وبسایت خود را جایگزین کنید.
البته استفاده از این روش تنها برای کاربران حرفه ای که با زبان برنامه نویسی هدف آشنایی کم و بیش دارند توصیه می شود. برای کاربران مبتدی روش استفاده از افزونه را پیشنهاد می کنیم که در انتهای مقاله به توضیح آن خواهیم پرداخت.
دستور تغییر مسیر در زبان جاوا
<% response.setStatus(301); response.setHeader( “Location”, “http://www.new-url.com/” ); response.setHeader( “Connection”, “close” ); %>
دستور تغییر مسیر در زبان PHP
<? Header( “HTTP/1.1 301 Moved Permanently” ); Header( “Location: http://www.new-url.com” ); ?>
دستور تغییر مسیر در زبان ASP.NET
<script runat=”server”> private void Page_Load(object sender, System.EventArgs e) { Response.Status = “301 Moved Permanently”; Response.AddHeader(“Location”,”http://www.new-url.com”); } </script>
دستور تغییر مسیر در زبان ASP
<%@ Language=VBScript %> <% Response.Status=”301 Moved Permanently” Response.AddHeader “Location”,”http://www.new-url.com/” %>
شاید ساده ترین روش برای ریدایرکت صفحات مختلف سایت استفاده از افزونه های مرتبط در این زمینه باشد. با یک جستجوی ساده می توانید افزونه های زیادی از این قبیل پیدا کنید. توصیه می کنیم، برای سایت های وردپرس از افزونه yoast که جامع ترین و پرطرفدارترین افزونه وردپرسی در زمینه سئو می باشد استفاده کنید. در این افزونه بخش مجزایی برای ریدایرکت ها در نظر گرفته شده است که می توانید انواع ریدایرکت را در آن اجرا کنید.
همچنین این افزونه ویرایش هایی را که در آدرس صفحات انجام می دهید را به صورت خودکار شناسایی کرده و آدرس های قدیمی را به صورت 301 به آدرس جدید منتقل می کند. فراموش نکنید که نسخه کامل و کرک شده را از سایت های فارسی زبان دانلود و به صورت دستی روی وردپرس خود نصب کنید تا از امکانات کامل آن بهره مند شوید.
در پایان امیدواریم این آموزش مورد استفاده شما عزیزان قرار گرفته باشد. همچنین در قسمت نظرات پاسخگوی سوالات شما خواهیم بود و می توانید مشکلات احتمالی را از این طریق با ما در میان بگذارید، هرچند مسئولیت خرابی های احتمالی سایت در صورت استفاده نا صحیح از کد ها و دستورات به عهده خود شما خواهد بود.
پیروز و سربلند باشید....
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.