为WordPress的首页及内页每篇文章自动添加关键词(keywords)和描述(description)

这几日一直捣鼓《文字阁》(www.wenzige.com),从ZBlog转成Wordpress,汉化主题、针对搜索引擎的优化等,工作量可不少。早上起来突然想起好像博客的分类、文章页等地方的描述都是同一样的设置,这点对于SEO角度来说是不好的,虽然我不是SEO狂,也不热衷于SEO,但这个最基本的讨好搜索引擎的工作还是要做做的,不能太懒。

刚说到博客的分类与内页等的keywords、description都是一样的,最先当然都是想到了用插件实现,后面找了大名鼎鼎的All in One SEO Pack,但发现自己还是不习惯且不适用这个插件,还是尽量少用插件好,这是自己的初衷。既然不用插件,只能手动在模板添加了,好了开始!

在网上逛了一圈,也找到了适合的方法,但都有点毛病,毕竟都是Ctrl+C、Ctrl+V转来转去的,错也不足为奇。

首先,先添加一个判断,这个很重要,主要是为了识别各个页面调用不同的keywords、description而作的。下面是我自己使用的判断,代码如下:

<?php
if (is_home() || is_page()) {
    // 将以下引号中的内容改成你的主页description
    $description = "文字阁WENZIGE.COM,能给的就只有思想,偶尔发发自己对一些人或事或物的思考,偶尔写写那些无限的遐想.";
    // 将以下引号中的内容改成你的主页keywords
    $keywords = "生活感悟,生活随笔,互联网评论,网站推荐,技术教程,软件尝鲜,博客日志,电影评论,电影影评";
}
elseif (is_single()) {
    $description1 = get_post_meta($post->ID, "description", true);
    $description2 = mb_strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 200, "…");

    // 填写自定义字段description时显示自定义字段的内容,否则使用文章内容前200字作为描述
    $description = $description1 ? $description1 : $description2;

    // 填写自定义字段keywords时显示自定义字段的内容,否则使用文章tags作为关键词
    $keywords = get_post_meta($post->ID, "keywords", true);
    if($keywords == '') {
        $tags = wp_get_post_tags($post->ID);    
        foreach ($tags as $tag ) {        
            $keywords = $keywords . $tag->name . ",";    
        }
        $keywords = rtrim($keywords, ',');
    }
}
elseif (is_category()) {
    $description = category_description();
    $keywords = single_cat_title('', false);
}
elseif (is_tag()){
    $description = tag_description();
    $keywords = single_tag_title('', false);
}
$description = trim(strip_tags($description));
$keywords = trim(strip_tags($keywords));
?>

把上面代码放到模板的header.php文件的开始处。

然后再把下面的keywords、description调用代码放到header.php该文件中的结束头</head> 前面。

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

OK,完成

分享到:

为WordPress的首页及内页每篇文章自动添加关键词(keywords)和描述(description)》有11个想法

  1. 博主你好 代码用上了 很赞的说

    想请教下 在页面与作者页面如何获取关键词与描述呢? 页面中能否使用页面标题作为关键词 而描述则自动提取;作者页面用作者名字作为关键词 个人说明提取为描述 没有个人说明则自动提取 。这样的效果能实现吗?

    1. 很抱歉喔,帮不到你。我对php代码也很小白。这篇内容是我参考【露兜博客】的,具体原文出处,我在文章底部版权声明那儿给出了,你可以去看看。:)

      1. 好的 谢谢 我也经常去LUDOU博客学习 不过依旧是个小白 呼呼 。已经换用插件解决

  2. 博主,你域名、主机空间花了多少银子?谁提供的?我正考虑这方面的事情,希望你能给点建议。

    1. 一个域名几十块钱,在goddady注册的。由于没备案,所以主机也选择了美国主机,现在用的是好像200元/年的,我不记得了。如果你了解建站知识的话,可以试试的。呵呵~

      1. 我在戈戈主机那里看到的.com域名65元,新手空间100元,标准空间180元。对域名的后缀你有什么看法吗?

        1. 戈戈主机我好像有用过,好像都还没过期。现在好久都没去了

发表评论

电子邮件地址不会被公开。