WordPress页面没有keywords和description属性,虽然现在SEO的关键不在于此,但是完善一下还是有望提高命中率的。
将下面的代码修改后加到主题文件header.php中的title后面就可以了。
下载完整示例代码: wordpress-keywords-description
- <?php // add meta keywords and description
- //以下内容针对网站首页
- if ( is_home() || is_front_page() ) {
- $description = "一个分享各种资源,偶尔发两句牢骚,写写生活琐事的个人博客。";
- $keywords = "模拟人生,Sims2 Heaven,紫风铃,手工,手工制作,民间文化,传统手工艺,非遗,Wordpress";
- }
- //以下内容针对单个文章
- elseif (is_single()) {
- $exerpt = get_the_excerpt();
- if ( $exerpt != '') { //是否存在摘要
- $description = trim(strip_tags($exerpt)); //使用文章摘要作为描述
- }
- else {
- $description = $post->post_title ; //使用文章标题作为描述
- }
- $keywords ="";
- $tags = wp_get_post_tags($post->ID);
- foreach ($tags as $tag ) {
- $keywords = $tag->name . ", " . $keywords; //使用标签tags作为关键词
- }
- }
- elseif (is_tag())
- {
- $keywords = single_tag_title(”, false);
- $description = "一个分享各种资源,偶尔发两句牢骚,写写生活琐事的个人博客。您现在查看的是 $keywords 标签分类下的文章。";
- }
- elseif (is_category())
- {
- $keywords = single_cat_title(”, false);
- $description = "一个分享各种资源,偶尔发两句牢骚,写写生活琐事的个人博客。您现在查看的是 $keywords 分类目录下的文章。";
- }
- elseif ( is_page(20) ){ //修改成你自己实际的页面ID号
- $description = "Sims2 Heaven提供丰富的模拟人生2资源下载。";
- $keywords = "模拟人生,Sims2 Heaven,紫风铃";
- }
- elseif ( is_page(93) ){ //修改成你自己实际的页面ID号
- $description = "一个分享各种资源,偶尔发两句牢骚,写写生活琐事的个人博客。您现在查看的是一些关于我的个人信息。";
- $keywords = "模拟人生,Sims2 Heaven,紫风铃,手工,手工制作,民间文化,传统手工艺,非遗,Wordpress";
- }
- //判断前面的程序是否给description赋予了具体内容
- //如果description没有内容就不在网页中显示这一部分
- if ( $description != '' ): ?>
- <meta name="description" content="<?php echo "$description" ?>" />
- <?php endif;
- //类似description来处理keywords
- if ( $keywords !='' ): ?>
- <meta name="keywords" content="<?php echo "$keywords" ?>" />
- <?php endif; ?>
=====================================
2012.3.25 更新
如果文章的自定义栏目设置了description,则显示;否则显示220字节的文章摘要。
这样设置感觉比较灵活,特别是在文章摘要中含有图片、多媒体文件时。可以在自定义栏目中添加一个名称为“description”的栏目,并填写对应值。
- elseif (is_single()) {
- //如果文章的自定义栏目设置了description,则显示;否则显示220字节的文章摘要
- $description1 = get_post_meta($post->ID, "description", true);
- $description2 = mb_strimwidth(strip_tags(apply_filters('the_excerpt()', $post->post_excerpt)), 0, 220);
- $description = $description1 ? $description1 : $description2;
- $keywords ="";
- $tags = wp_get_post_tags($post->ID);
- foreach ($tags as $tag ) { //遍历该文的所有标签
- $keywords = $keywords . $tag->name . ","; //使用标签tags作为关键词
- }
- }