Meta Descriptions برای وردپرس

امروز Bavota در وبلاگش در مورد Meta Descriptions که یکی از موارد مهم بهینه سازی برای موتورهای جستجو هست مطلبی نوشته بود که شامل توضیحاتی برای تمامی صفحات وردپرس است. برای ایجاد Meta Descriptions در وردپرس بیشتر از افزونه all-in-one-seo-pack برای این کار استفاده می شه! ولی بد نیست این مورد رو برای کسانی که از all-in-one-seo-pack به دلیل مصرف بالای منابع سرور استفاده نمی کنن به کار ببرن.

برای اضافه کردن این قابلیت طبق معمول با فایل functions.php پوسته سروکار داریم. تابعی به نام dynamic_meta_description برای این کار معرفی شده و در این تابع هم حروف و اعداد رو جایگزین نوشته می کنه و از نمایش اونها در موتورهای جستجو جلوگیری می کنه که ۱۵۵ کارکتر رو به نمایش می گذاره.

<?php function dynamic_meta_description() {
	$rawcontent = 	get_the_content();
	if(empty($rawcontent)) {
		$rawcontent = htmlentities(bloginfo('description'));
	} else {
		$rawcontent = apply_filters('the_content_rss', strip_tags($rawcontent));
		$rawcontent = preg_replace('/\[.+\]/','', $rawcontent);
		$chars = array("", "\n", "\r", "chr(13)",  "\t", "\0", "\x0B");
		$rawcontent = htmlentities(str_replace($chars, " ", $rawcontent));
	}
	if (strlen($rawcontent) < 155) {
		echo $rawcontent;
	} else {
		$desc = substr($rawcontent,0,155);
		return $desc;
	}
} ?>

بعد از اینکار نیاز هست که این تابع رو در فایل header.php پوسته فراخوانی کنیم. از کد زیر برای این کار استفاده کنید:


<meta name="description" content="<?php echo dynamic_meta_description(); ?>" />

توجه: اگر meta description در این فایل بود, کدبالا رو جایگزین اون کنید. هم اکنون برای تمامی برگه ها و نوشته های شما meta description جداگانه ای تعریف می شود!

10 thoughts on “Meta Descriptions برای وردپرس

  1. سلام آقا مصطفی
    آموزش خوب و بسیار جالبی بود
    مرسی
    یه سوال: افزونه all in one SEO رو سرعت لود صفحه اصلی سایت من (باتوجه به چیدمانش که بدون مطلب هست و فقط لینک داره) موثره؟
    افزونه Yslow فایرفاکس به سایت من Grade B داده
    منتظر جوابتون هستم
    موفق باشید

  2. به نظر من یکم روش کار بشه می تونه بهتر جای افزونه all-in-one-seo-pack بگیره. با چند تا شرط می شه اگر تو صفحات tag یا category باشه Meta Descriptions مفیدی به صفحات اضافه کرد تا به صورت تکراری در همه ی آن ها Descriptions پایه نمایش داده نشود.
    در هر صورت ممنون مصطفی جان از معرفی اینگونه کد نویسی

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

*

شما می‌توانید از این دستورات HTML استفاده کنید: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>