不 少童鞋都喜欢安装诸如All in one seo 这样的优化插件,其实,这样的WordPress插件无非就是优化 Title,Meta的Description和Keywords。当然了,有不少免费主题在初期开发的时候,都没有优化Description和 Keywords。
Title 优化
Title 的优化很简单,只要使用下面的代码替换header.php文件中默认的Title调用代码就可以啦:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <title><?php global $page, $paged; $site_description = get_bloginfo( 'description', 'display' ); if ($site_description && ( is_home() || is_front_page() )) { bloginfo('name'); echo " - $site_description"; } else { echo trim(wp_title('',0)); if ( $paged >= 2 || $page >= 2 ) echo ' - ' . sprintf( __( '第%s页' ), max( $paged, $page ) ); echo ' | ' ; bloginfo('name'); } ?></title> |
以上代码的特色:
1.如果设置了网站副标题,就像是副标题:倡萌的自留地 - 专注于WordPress主题开发
2.如果文章或存档目录有分页,显示分页:WordPress 优化 Description和Keywords - 第2页 | 倡萌的自留地
Description和Keywords优化
使用下面的代码替换header.php文件中默认的Description和Keywords调用代码
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 | <?php if (is_home() || is_front_page()) { $description = "输入首页的描述文字"; $keywords = "输入首页的关键词"; } elseif (is_category()) { $description = strip_tags(trim(category_description())); $keywords = single_cat_title('', false); } elseif (is_tag()) { $description = sprintf( __( '与标签 %s 相关联的文章列表'), single_tag_title('', false)); $keywords = single_tag_title('', false); } elseif (is_single()) { if ($post->post_excerpt) {$description = $post->post_excerpt;} else {$description = mb_strimwidth(strip_tags($post->post_content),0,110,"");} $keywords = ""; $tags = wp_get_post_tags($post->ID); foreach ($tags as $tag ) {$keywords = $keywords . $tag->name . ", ";} } elseif (is_page()) { $keywords = get_post_meta($post->ID, "keywords", true); $description = get_post_meta($post->ID, "description", true); } ?> <meta name="keywords" content="<?php echo $keywords ?>" /> <meta name="description" content="<?php echo $description?>" /> |
用上述的方法,Keywords就是文章的tags,Description是发表日志时的摘要,如果没有添加摘要,就是该文章截取110个字作为摘要。
由于Page页面不支持填写标签tag和摘要,所以借助自定义字段来输出关键词和描述。使用字段 keywords 添加关键词,使用字段 description 添加描述文字。
注:本文的代码最后更新于 2013-4-24。