Ygs

Feed Rss

一日一折腾之 WordPress SEO 优化

07.21.2010, WordPress, by , 1次阅读.

哈哈,参照WordPress SEO 技巧把博客给优化优化,受益匪浅,匪浅啊。

折腾也挺多的,分开来说。

1.标题优化

title 使用文中的方法,代码如下:

<title><?php if ( is_single() || is_page() || is_category() || is_tag() ) { wp_title(''); } else { bloginfo('name'); } ?></title>

去掉标题前的预留空格,看图识字,左为修正前,右为修正后:
标题优化

代码,放进模板 function.php ,格式为 <?php 代码 ?> :

function titledespacer($title) {
	return trim($title);
}
add_filter('wp_title', 'titledespacer');

2.为 Read more 加上 nofollow

方法跟上面的一样,也是加到 function.php。

add_filter('the_content_more_link','nofollowReadMore' ,0);
function nofollowReadMore($link) {
	return str_replace('class="more-link"', 'class="more-link" rel="nofollow"', $link);
}

3.Keywords & Description

类似的插件很多,我只用过 Simple Tags,觉得不太如意。后来移植了某个主题的代码,再后来在某个博客看到的代码,现在是根据上文的技巧改写的代码,只是还没完成页面的 Description ,加上我只有‘关于’一个页面,那就暂时忽略了,呵呵。经过折腾,代码已基本完美了,分类页的 description 是分类描述,要后台添加。完整代码,放到 head 中:

<?php if (is_home()){
$description = "Ygs' blog以民间折腾为主,个人生活为辅,前端设计为目的的个人博客";
$keywords = "YGS,WordPress,前端设计,交互设计,用户体验";
} elseif (is_single()){
if ($post->post_excerpt) {
$description = $post->post_excerpt;
} else {
$description = mb_substr(strip_tags($post->post_content),0,220,'utf-8');
$description = str_replace(array("\r\n", "\r", "\n"," ","	"), " ", $description);
}
$keywords = "";
$tags = wp_get_post_tags($post->ID);
foreach ($tags as $tag ){
$keywords = $keywords . $tag->name . ", ";
}$keywords = substr($keywords,0,-2);
} elseif(is_category()){
$description = strip_tags(category_description());
} elseif(is_tag()){
$description = "";
$tags = wp_get_post_tags($post->ID);
foreach ($tags as $tag ){
$description = $description . $tag->name . ", ";
}$description = substr($description,0,-2);
} elseif(is_page()){
$description = $post->post_title ;
} else {
$description = "";}?>
<?php if (is_single()||is_home()) {?>
<meta name="keywords" content="<?=$keywords?>" />
<meta name="description" content="<?=$description?>" />
<?php } ?>
<?php if (!is_single()&&!is_home()) {?>
<meta name="keywords" content="" />
<meta name="description" content="<?=$description?>" />
<?php } ?>

发现最后的 elseif 不会用,只能分开两个判断语句,效果一样,囧。
此代码基本符合以下规则:

页面类型 Keywords Description
首页 自定义 keywords 自定义 description
文章页面 标签组合 摘要或者文章前 220 个字符
(截取文章需要特殊处理全角字符)
搜索页面 - 搜索关键字
分类存档页面 - 分类
标签存档页面 - 标签
日期存档页面 - 日期
其他页面 - 页面标题

4.将 Related Post 改为 More posts about XXX

也就是将“相关文章”改为“与XX有关的文章”,我使用了文章的标签代替XX,具体模板具体分析
获取标签函数 the_tags(”, ‘, ‘, ”);

基本就这么多了~使用愉快~

发表评论

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

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>