wordpress 对于大多数个人博客来说,似乎All in One SEO Pack插件并不是一个有效率的SEO解决方案(具体可查看这篇文章)。 在软件开发中,有一个说法: “约定优于配置”,众多的配置选项是以性能的降低为代价的,作为一个通用型插件,All in One SEO Pack必不可少的需要照顾到方方面面,…

WordPress更加有效率的SEO方法,无须插件
wordpress

对于大多数个人博客来说,似乎All in One SEO Pack插件并不是一个有效率的SEO解决方案(具体可查看这篇文章)。

在软件开发中,有一个说法: “约定优于配置”,众多的配置选项是以性能的降低为代价的,作为一个通用型插件,All in One SEO Pack必不可少的需要照顾到方方面面,而很多耗时巨大的功能,对于个人小型博客来说,并不是很需要。

默认情况下,WordPress已经可以很到的做到“Search Engine Friendly”。原创而且有意义的文章内容,才能让个人博客获得更好的SEO评价,下面的优化方法只是锦上添花而已。而且相对于All in One SEO Pack插件,本篇文章提供的方法在一些低流量的博客上,性能的提高可能不那么“显而易见”。但是对于我这样对代码有着“洁癖”的人来说,在自己的博客上 加上一堆不是自己写的插件,总是让自己如坐针簪。

我们需要All in One SEO Pack插件的哪些功能?

在寻找All in One SEO Pack插件的替代方案前,首先要弄明白这个问题。下面几个功能是最有价值的,也是wordpress默认无法提供的:

1、博客的标题(title)应当写成内容 | 博客名的形式;

2、head部分添加充足的meta说明;

3、让搜索引擎不要索引存档页面,存档页面都是重复内容,这会降低博客的评分。

4、为每一篇文章以及博客首页,加上独特的关键词(keywords);

下面就会针对这些问题,给出解决方案。如果你不大了解php语言,只需要按照说明复制粘贴到自己的wordpress模板中就可以了。

修正博客的标题

在模板文件夹中找到header.php文件,打开后修改title标签:

<title><?php wp_title(' | ', true, 'right'); ?><?php bloginfo('name'); ?></title>  
/**或者干脆把博客的名字写死,你总不会时常换博客名字吧**/  
<title><?php wp_title(' | ', true, 'right'); ?>Cogipard Playground</title>  

添加充足的meta说明

还是修改header.php文件,在head标签中酌情加入如下内容:

/**博客的描述性内容,你可以像我这样写死,也可以采用wordpress的副标题(用bloginfo("description")获得)**/  
<meta name="description" content="A personal online home, portfolio and journal." />  
/**博主的名字**/  
<meta name="author" content="dotswing" />  
/**版权信息**/  
<meta name="copyright" content="Cogipard Playground" />  

不索引存档页面

修改header.php文件,紧接着上述的meta标签,加入:

<?php if (is_single() || is_page() || is_home() ) : ?>  
<meta name="robots" content="index,follow" />  
<?php else : ?>  
<meta name="robots" content="noindex,follow" />  
<?php endif; ?>  

这样对于存档页面,搜索引擎就不会去索引这些重复的内容了。

个性化输出页面文章的关键词

在模板文件夹下的functions.php文件中,加入如下的函数:

function keywords() {  
$keywords = '';  
if( is_single() || is_page() ){  
$terms = get_the_terms( get_the_ID(), 'post_tag' );  
if ( is_wp_error( $terms ) )  
return $terms;  
if ( emptyempty( $terms ) )  
return false;  
foreach ( $terms as $term ) {  
$keywords .= $term->name;  
$keywords .= ', ';  
}  
}  
else {  
$tags = get_tags('orderby=count&order=DESC');  
foreach ($tags as $tag){  
$keywords .= $tag->name;  
$keywords .= ', ';  
}  
}  
$keywords = substr($keywords, 0, strlen($keywords)-2);  
echo $keywords;  
}  

这个函数的作用是,如果访客浏览的是单独的某文章页面,就会把该文章对应的tag提取出来,作为关键词;如果是其它页面,则把博客所有的tag一起输出成关键词。关键词用逗号隔开。

在header.php中调用这个函数:

<meta name="keywords" content="<?php keywords();?>" /> 

functions.php中的代码,可以在模板页中直接使用,wordpress已经为我们做好了include操作,不需要自己来写include_once(‘functions.php’);了。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。