WordPress 很多SEO插件有名但不好用,其实我的需求很简单,每次写博客能自动让前一段文字作为Description,让标签自动作为Keywords。默认WP这两个字段都为空。
在网上找来找去,下面这篇文章提供的方法很给力,在我的wordpress4.0+商业主体中亲测有效。
用了下面这个方法,首页可以自定义关键词描述,博客正文可以手写或者自动关键词描述,分类、标签等列表页都能自动识别。简直就是Wordpress的官方for China补丁啊。呵呵。
以下是原文:
你下载的 WordPress 主题提供的keywords和description这两个meta标签一般都做得很差,或者根本就不提供,这样不利于SEO。本文将指导你如何给主页、分类、页面以及文章页添加单独的Description 和 Keywords。
很多人都在用All in One SEO插件解决这个问题,但是又有很多人说这个插件不好。大不了咱就自己用代码实现吧。
下面提供露兜博客设置keywords和description的代码,将以下代码添加至WordPress主题header.php的<head></head>之间,最后用UTF-8编码另存为,否则中文会乱码:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
<?php
$description = ”; $keywords = ”;if (is_home() || is_page()) { // 将以下引号中的内容改成你的主页description $description = “露兜博客描述”;// 将以下引号中的内容改成你的主页keywords $keywords = “WordPress, 博客, 编程,php,ludou”; } elseif (is_single()) { $description1 = get_post_meta($post->ID, “description”, true); $description2 = str_replace(“\n“,“”,mb_strimwidth(strip_tags($post->post_content), 0, 200, “…”, ‘utf-8’));// 填写自定义字段description时显示自定义字段的内容,否则使用文章内容前200字作为描述 $description = $description1 ? $description1 : $description2; // 填写自定义字段keywords时显示自定义字段的内容,否则使用文章tags作为关键词 |
以后在写博客文章时只需添加两个自定义栏目(在文章编辑页面下面,没有就点击右上角的显示选项)即可,第一个自定义栏目名称为keywords,栏目值写上这篇文章的关键字。接着再添加第二个自定义栏目,自定义栏目名称为description,后面的栏目值写上这篇日志的描述。自定义栏目用过一次后,以后再写日志只需在下拉框中选择即可。这样每篇文章都有你自定义的keywords和description了,你完全可以抛弃All in One SEO插件了。(如果你嫌自定义字段麻烦,可以添加一个自定义字段面板,录入更简单:详见:WordPress添加自定义字段面板)
主页(home)和页面(page)的description和keywords是用PHP代码直接写的,你可将上面的露兜博客的描述改成你的。
分类(category)页和标签页(tag)的description直接取分类或标签的描述,这个可以根据需要在WordPress管理后台更改,keywords则取分类或标签的名称。如果你想手动给每个分类定义description和keywords,可以将第27-28行代码改成:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
if (is_category(‘音乐’)) {
$description = ‘这里填音乐分类的描述’; $keywords = ‘这里填音乐分类的关键字,半角逗号隔开’; } elseif (is_category(‘电影’)) { $description = ‘这里填电影分类的描述’; $keywords = ‘这里填电影分类的关键字,半角逗号隔开’; } elseif (is_category(‘戏剧’)) { $description = ‘这里填戏剧分类的描述’; $keywords = ‘这里填戏剧分类的关键字,半角逗号隔开’; }// 多个分类,复制9-12行代码,粘贴到13后面行,类似5-12行,改一下分类名称即可 // 使用UTF-8编码另存为,替换原来的文件,否则可能会乱码 |