در این قسمت می خواهیم درباره ی ریدایرکت صحبت کنیم.   ریدایرکت یا همون مسیردهی مجدد ، عملی است برای انتقال دادن یک آدرس به آدرسی دیگر.
در واقع ما با ریدایرکت کردن از بوجود آمدن صفحات ۴۰۴ و از بین بردنشون جلوگیری میکنیم.

    انواع ریدایرکت ها:
۱- ریدایرکت ۳۰۱ (انتقال همیشگی آدرس ها)(توصیه شده برای سئو )
۲- ریدایرکت ۳۰۲ (انتقال موقت آدرس ها)
۳- ریدایرکت ۳۰۷ (انتقال موقت آدرس ها)
۴- متا ریفرش

    خوب ریدایرکت کردن به طور واضح چیست؟
میتونیم اینجوری تعریفش کنیم که ریدایرک راهی است برای انتقال دادن یوزر ها ، و موتورهای جستجو به آدرسی دیگر.

    ریدایرکت ۳۰۱:
همونطوری هم که تو بالا بهش اشاره کردم ، ریدایرکت ۳۰۱ بهترین روش برای انتقال دادن آدرس ها به آدرس جدید میباشد.
این روش متدی همیشگی برای انتقال دائمی لینک ها میباشد ، که بین ۹۰ تا ۹۹ درصد از رنک لینک قبلی شما رو ، به آدرس جدید منتقل میکند.
برای خیلی از موارد ، این نوع ریدایرکت رو به شما توصیه میکنیم.

    ریدایرکت ۳۰۲:
مسیر دهی موقتی است ، و هیچ رنکی رو از آدرس قبلی به آدرس ریدایرکت شده منتقل نمیکنه ، توی خیلی از موارد نباید از این نوع مسیردهی استفاده بشه ، این نوع ریدایرکت از پروتوکول هایپر تکست استفاده میکنه.
این نوع مسیر دهی فقط برای Http 1.0 استفاده میشه.

ریدایرکت ۳۰۷:
این نوع ریدایرکت نیز مشابه ۳۰۲ است ، و در بیشتر موارد کراولر ها اونو به عنوان ۳۰۲ تشخیص میدند.
این نوع مسیر دهی نیز ، برای آدرس های موقت است ، و البته به هیچ وجهه توصیه به استفاده از اون رو نمیکنیم ، مگر اینکه آدرس جدید واقعا موقتی باشه.
این نوع مسیر دهی فقط برای Http 1.1 استفاده میشه.

   متا ریفرش:
خوب متاریفرش نوعی از ریدایرکت هست که در اون ما از خود صفحه برای مسیردهی مجدد استفاده میکنیم ، نه سرور.
این نوع ریدایرکت ها اکثرا با تایم اوت ۵ ثانیه ای مسیردهی شون رو انجام میدند ، که اغلب با این مضمون همراه هستند.
“در صورتی که به طور خودکار به مسیر جدید منتقل نشدید ، اینجا را کلیک کنید.”
این نوع مسیردهی نیز از نظر سئو مناسب نیست ، چون که هیچ رنکی رو به آدرس جدید منتقل نمیکنه.
در ادامه ی این مقاله شما رو با نحوه ی انجام این کار ، و بهترین راه برای مسیردهی مجدد برای آدرس های مختلف آشنا میکنم.
شاید ما بارها و بارها خواسته باشیم یک آدرسی رو به یه آدرس ایی دیگه ریدایرکت کنیم.خوب ما شما رو برای انجام این کار به بهترین نحو آشنا میکنیم.
راه های زیادی برای ریدایرک کردن یک مسیر یا آدرس وجود دارد ، ولی به صورت کلی ریدایرکت ۳۰۱ بهترین راه هم برای یوزر و هم برای موتورهای جستجو است.ریدایرکت ۳۰۱ به موتورهای جستجو میفهماند که این مسیر برای همیشه به یک آدرس جدید مسیردهی میشود.با این کار موتورهای جستجو درک میکنند که فقط آدرس تغییر نمیکند ، بلکه ممکن است در مسیر جدید ، محتوا هم تغییر کرده باشه ، با به روز شده باشه ، البته توجه کنید که ایندکس کردن آدرس جدید مدتی زمان بر هست ، اما جای نگرانی نیست.شکل زیر کاملا گویای این جریان است.
حتی اگر قصد دارید آدرس سایتتون رو برای همیشه تغییر بدین ، و تمامی آدرس ها رو به یک دامین جدید انتقال بدین باز هم باید از این ریدایرکت استفاده کنید ، و اما نحوه ی انجام کار:برای ریدایرکت کردن کل مسیرهای یک سایت با سایت دیگر از کد زیر درون htaccess اتون استفاده کنید.
کد:

RewriteEngine onRedirect 301 / http://www.regiran.com/

به جای regiran  آدرس سایت خودتون رو قرار بدین.برای ریدایرکت یک ، نوع فایل خاص ، به نوعی دیگر از کدهای زیر استفاده کنید.(مثال ، ریدایرکت html به php)
کد:

RewriteEngine on RewriteBase / RewriteRule (.*).htm$ /$1.php

ریدایرکت فایل ای که دیگر وجود ندارد به صفحه ی اصلی:
کد:

RedirectMatch 301 /namefile.php http://www.regiran.com

ریدایرکت فایلی از یک مسیر به مسیر جدید:
کد:

RedirectMatch 301 /adressemasireghadimi/namefile.php http://www.regiran.com/

خوب یکی دیگه از نوع ریدایرکت کردن ها که با استفاده از صفحه انجام میگیره Meta refresh اه که در بالا راجع به اون صحبت کردیم.نحوه ی انجام کارش هم قرار دادن کد زیر در تگ head صفحه اتون اه.به جای X زمان مورد نظر برای مسیر دهی مجدد رو انتخاب کنید.سایر ریدایرکت ها رو با توجه به اینکه استفاده ای خاص دارند ، و برای سئو هم خوب نیستند ، توضیح نمیدم ،اما در صورت لزوم مقاله با کدهای جدید به روز خواهد شد.
خوب در بالا بیشتر درباره ی ریدایرکت بوسیله ی سرور بحث کردیم ،
البته متاریفرش رو هم ذکر کردیم که میتونید بوسیله ی اون کد اچ تی ام ال صفحاتتون رو به یک صفحه ی دیگه مسیر دهی مجدد کنید.
و اما ریدایرکت بوسیله ی صفحه توسط سایر زبان های برنامه نوسی:

ریدایرکت در PHP :

کد:

<?Header( “HTTP/1.1 301 Moved Permanently” );Header( “Location: http://www.new-url.com” );?>

ریدایرکت در ASP :

کد:

<%@ Language=VBScript %><%Response.Status=”301 Moved Permanently”Response.AddHeader “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>

ریدایرکت در جاوا:

کد:

<%response.setStatus(301);response.setHeader( “Location”, “http://www.new-url.com/” );response.setHeader( “Connection”, “close” );%>

ریدایرکت در پرل:

کد:

$q = new CGI;print $q->redirect(“http://www.new-url.com/”);