wordpress为文章页面、分类页面、首页等添加keywords和description

  • 内容
  • 评论
  • 相关

相信大家都用过大名鼎鼎(当然很多人都觉得wp就是个垃圾,不过wp确实有很多不合理之处,可这丝毫不影响其全球使用量最大的blog地位),我的个人网页也就是本网站也是基于wordpress搭建,很多企业在做博客推广的时候会使用wp,但是呢,在wp默认的情况下,所有页面使用的keywords和description的meta标签都是网页的主副标题,这样对seo无疑是不友好的,那么我们今天给出一段代码自己为文章页、分类页面、首页等添加这些标签,利于搜索优化(当然网上有很多的插件,在此不提)。
首先要说明一下,本博客的主题中是以哥们儿写的,其中有一个地方需要注意,也就是在header.php中有一个$post变量,这个变量做了随机变换处理,因此我们会在这个变量被随机之前赋给一个变量以便正确的获得每个页面的ID。
因此我们先在此文件的头部加一句:

$postOriginal = $post;
<?php
//如果是首页
if (is_home()){
	$keywords = "高学平,高学平中文网,PHP,JAVA,PYTHON";
	$description = "高学平,高学平中文网,网络开发";
}
//如果是文章页
elseif (is_single()){
	//默认使用文章页添加关键字
	$keywords = get_post_meta($postOriginal->ID, "keywords", true);
	//如果为空,使用标签作为关键字
	if($keywords == ""){
		$tags = wp_get_post_tags($postOriginal->ID);
		foreach ($tags as $tag){
			$keywords = $keywords.$tag->name.",";
		}
		//去掉最后一个,
		$keywords = rtrim($keywords, ', ');
	}
	//默认使用文章页添加描述
	$description = get_post_meta($postOriginal->ID, "description", true);
	//如果为空,使用文章前100个字作为描述
	if($description == ""){
		if($postOriginal->post_excerpt){
			$description = $postOriginal->post_excerpt;
		}else{
			$description = mb_strimwidth(strip_tags(apply_filters('the_content',$postOriginal->post_content)),0,200);
		}
	}
}
//如果是页面,使用页面添加的关键字和描述
//elseif (is_page()){
//	$keywords = get_post_meta($postOriginal->ID, "keywords", true);
//	$description = get_post_meta($postOriginal->ID, "description", true);
//}
//如果是分类页,使用分类名作为关键字,分类描述作为描述
elseif (is_category()){
	$keywords = single_cat_title('', false);
	$description = category_description();
}
//如果是标签页,使用标签名作为关键字,标签描述作为描述
elseif (is_tag()){
	$keywords = single_tag_title('', false);
	$description = tag_description();
}
//去掉两段空格
$keywords = trim(strip_tags($keywords));
$description = trim(strip_tags($description));
?>

然后再本文件的head内部添加或者替换掉这两个标签:

<meta name="keywords" content="<?php echo $keywords?>" />
<meta name="description" content="<?php echo $description?>" />

评论

0条评论

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注