ریدایرکت 301 صفحه در وردپرس بدون افزونه با تابع wp_redirect

  • چهارشنبه ۰۷ تیر, ۱۳۹۶
  • ۳۵۸۳ بازدید
ریدایرکت 301 صفحه در وردپرس بدون افزونه با تابع wp_redirect
به این نوشته امتیاز بدهید

ریدایرکت 301 در بحث سئو از اهمیت بالایی برخوردار است. ریدایرکت در واژه به معنای هدایت کردن است و در بحث صفحات وب چندین نوع ریدایرکت داریم که در ادامه در ابتدا بطور کامل درباره ریدایرکت و انواع مختلف ریدایرکت ها توضیح می دهیم و سپس آموزش ساخت ریدایرکت 301 در وردپرس را بدون نیاز به افزونه خواهیم داد.

از ریدایرکت برای صفحات وب زمانی استفاده می کنیم که بخواهیم در صورتی که کاربر آدرس صفحه A را در مرورگر وب خود وارد کرد، به آدرس صفحه B و در نتیجه محتوای صفحه B هدایت شود.

ولی خود همین بحث Redirect انواع مختلفی دارد که در این نوشته قرار است بطور کامل ریدایرکت 301 را پوشش بدهیم.

ریدایرکت 301 چیست؟

ریدایرکت 301 نوعی از انواع Redirect هاست که ویژگی مهم آن که در زمینه سئو بسیار کمک خواهد کردن این است که اگر صفحه از وبسایت خود را حذف کنید می توانید با استفاده از این نوع ریدایرکت تمامی اعتبار لینک صفحه حذف شده را به لینک جدیدی منتقل کنید و موتورهای جستجوگر مانند گوگل هم به انجام چنین کاری در زمان حذف یک صفحه تشویق می کنند.

ساخت یک ریدایرکت 301 در سرور

یکی از رایج ترین روش ها برای ساخت یک ریدایرکت 301 استفاده از فایل htaccess. است که در سرور های آپاچی پیدا می شود. وبسرور انجین ایکس روش خاص خود را دارد و نیاز است تا دانش فنی شما مقداری بالاتر باشد.

ساخت یک ریدایرکت 301 در وردپرس بدون افزونه

به عنوان یک وردپرس کار، شما دو راه برای ساخت ریدایرکت 301 دارید؛ یا باید کد های Header یک فایل را تغییر بدهید یا از تابع آماده wp_redirect وردپرس استفاده کنید.

برای نمونه اگر بخواهید یک فایل PHP را به روش دستی Redirect کنید، کدی که در همان فایل PHP (فرق نمی کند که وردرس باشد یا هر اسکریپت دیگری) قرار می دهید باید به شکل زیر باشد.

<?php
// MyExampleFile.php
header("HTTP/1.1 301 Moved Permanently"); 
header("Location: http://www.my-blog.com/a-new-destination"); 
?>

اما دقیقا همین کار در وردپرس میی توانید با استفاده از تابع آماده به شکل زیر انجام بدهید.

wp_redirect( "http://www.my-blog.com/a-new-destination", 301 );

اگر در هر دو حالت کد بالا فراموش کنید که عدد 301 را قرار بدهید در هر دو حالت فرض می شود که عدد 302 است که ممکن است شما چنین چیزی نخواهید!

از wp_redirect چگونه استفاده کنیم؟

حالا که می دانیم چطور می شود با استفاده از این تابع redirect را در وردپرس انجام داد، احتمالا سوالل شما این است که حالا از wp_redirect چگونه استفاده کنیم؟

کد زیر را در فایل functions.php پوسته وردپرس قرار بدید.

function cupcode_redirect_301()
	{
	if (is_single())
		{
		$perm = get_the_ID();
		$pid = ID_POST;
		if ($perm == $pid)
			{
			wp_redirect('Address_Maghsad', 301);
			}
		}
	}

add_action('template_redirect', 'cupcode_redirect_301');

در کد بالا عبارت ID_POST رو با آی دی نوشته یا برگه ای که قصد هدایت اون رو به یک آدرس دیگری دارید، جایگزین کنید. آیدی هر نوشته یا برگه در وردپرس رو به سادگی میتوانید به این شکل پیدا کنید:

  • وارد بخش ویرایش صفحه یا نوشته موردنظر بروید.
  • آدرس یا URL آن صفحه را نگاه کنید. عددی که جلوی =post نوشته شده آیدی نوشته شماست.

در نهایت به جای عبارت Address_Maghsad در کد بالا آدرس ریدایرکت یعنی صفحه ای که می خواهید به آن ریدایرکت کنید را وارد کنید.

ریدایرکت 301 با افزونه Yoast SEO Premium

اگر نمی خواهید با کدنویسی درگیر بشوید یکی از راه های ساده برای ساخت ریدایرکت 301 استفاده از افزونه Yoast SEO Premium است. این افزونه نسخه پولی افزونه رایگان وردپرس سئو یوست است و البته با کلیک بر روی لینک می توانید نسخه رایگان آن را دانلود کنید.

ریدایرکت 301 صفحه در وردپرس بدون افزونه با تابع wp_redirect
به این نوشته امتیاز بدهید
برای دریافت تازه‌ترین ها به کانال تلگرامی کدفنجونی بپیوندید : cupcode_ir@

حمیدرضا

آذر ۲۹, ۱۳۹۶ در ۱۲:۲۳ ب.ظ

پاسخ

در حال حاضر من هر روز تعدادی ارور ۴۰۴ از گوگل وبمستر تولز میگیرم در صورتی که این محتواها خیلی وقت است که از سایت حذف شدند و همچنین خودم با استفاده از ابزار remove urls چندین بار این url های قدیمی رو پاک کردم ولی همچنان هر روزه این ارورهای ۴۰۴ رو دریافت میکنم.
راهی به ذهنم نرسید جز ریدایرکت ۳۰۱ ولی از پلاگین های معروف وردپرس برای ریدایرکت کردن ۳۰۱ صفحات استفاده کردم.مشکل حل میشه ولی سایت به شدت کند میشه جوری که سایت بالا نمیاد
و حتی اگه با استفاده از کد در htaccess هم بخوام ریدایرکت کنم باز هم سایت به شدت کند میشه
در حال حاضر ممنون میشم سریعتر کمکم کنید چون راه دیگه ای برای از بین بردن ارورهای ۴۰۴ وبمستر تولز به ذهنم نمیرسه

آرتین

آذر ۲۹, ۱۳۹۶ در ۸:۱۰ ب.ظ

پاسخ

درود، اگر ارور تازه ای در وبسمتر دریافت می کنید، ببینید Linked from رو چی میزنه؟ یعنی از کجا این لینک رو پیدا کرده؛ مطمئن باشید که لینک در اون صفحه وجود نداشته باشه. در این صورت اگر fixed رو بزنید دفعه بعد شناسایی نمی کنه. مطمئن بشید last detected تازگی نداشته باشه!

دیدگاه خود را در میان بگذارید

@
1 + 1 =

اگر ربات نیستید به پرسش پاسخ دهید! *