昨天我使用站长工具检查我的站点,发现 Meta 信息中的 Keywords 全部为空,因为安装的 Mystique 主题认为不需要针对 Keywords 优化。我搜索了一下,谷歌收录时的确不考虑 Keywords,但在中国更多的人使用百度进行搜索,而百度是什么态度我不清楚,还是加上 Keywords 描述比较好。 很多人推荐了 All in One SEO Pack,我安装了,发现它最主要的功能就是对每一页的标题、描述、关键词进行优化。有人说对分类页、存档页、标签页设置了 noindex 之后出现整个网站被百度K掉只剩首页的现象,尽管不太相信,我依然觉得没必要通过安装插件优化搜索引擎,决定修改主题的源代码人工实现。 以下内容由我搜集材料并根据本站点实际情况写出:
一、标题
在头部文件 header.php 中相应位置修改:
<title><?php if (is_home()) { echo bloginfo('name'); } else { echo trim(wp_title('',false)); ?> - <?php echo bloginfo('name'); } ?></title>
首页标题为博客名称; 其他页面的标题为「页面标题 – 博客名称」。
二、描述与关键词
在头部文件 header.php 中相应位置修改:
<?php
if ( is_home() ) {
$description = "「光线部落」是一个专注互联网应用与行业动态的独立博客。";
$keywords = "光线部落, 博客, 互联网, 评论, 计算机, 软件";
} elseif ( is_single() ) {
$description = $post->post_excerpt;
$keywords = "";
$tags = wp_get_post_tags( $post->ID );
foreach ( $tags as $tag ) {
$keywords = $keywords . $tag->name . ", ";
}
$keywords = substr( $keywords, 0, -2 );
}
?>
<meta name="description" content="<?php echo $description; ?>" />
<meta name="keywords" content="<?php echo $keywords; ?>" />
首页的描述与关键字在代码中直接修改;
文章页面的描述与关键字对应文章本身的「摘要」与「文章标签」,在编辑文章时手动设定;
其他页面(如分类、存档、标签页面)均未设置描述与关键词,因为不需要被搜索引擎收录。
如果不想手工指定文章的描述,可以使用下列代码,自动截取开头 220 个字符作为描述,但关键字仍需手动指定:
<?php
if ( is_home() ) {
$description = "「光线部落」是一个专注互联网应用与行业动态的独立博客。";
$keywords = "光线部落, 博客, 互联网, 评论, 计算机, 软件";
} elseif ( is_single() || is_page() ) {
if ( $post->post_excerpt ) {
$description = $post->post_excerpt;
} else {
$description = mb_strimwidth( strip_tags( apply_filters( 'the_content', $post->post_content ) ), 0, 220 );
}
$keywords = "";
$tags = wp_get_post_tags( $post->ID );
foreach ( $tags as $tag ) {
$keywords = $keywords . $tag->name . ", ";
}
$keywords = substr( $keywords, 0, -2 );
}
?>
<meta name="description" content="<?php echo $description; ?>" />
<meta name="keywords" content="<?php echo $keywords; ?>" />
三、控制机器人抓取页面
分类、存档、标签页面会被搜索引擎认为是重复内容,当然不能抓取。
在头部文件 header.php 中相应位置修改:
<?php if ( is_single() || is_page() || is_home() ) { ?>
<meta name="robots" content="index, follow" />
<?php } else { ?>
<meta name="robots" content="noindex, follow" />
<?php }; ?>
如果担心被百度全部删除的话,使用下列代码只控制谷歌抓取(其实我觉得不太可能会被K掉):
<?php if ( is_single() || is_page() || is_home() ) { ?>
<meta name="robots" content="index, follow" />
<?php } else { ?>
<meta name="googlebot" content="noindex, follow" />
<?php }; ?>



well.. it’s like I thought!
All in One SEO Pack这个东西貌似不可靠
前几天在落伍上看到过一篇类似的帖子.我只照着改了header那里=。=
我不太会给自己那个博客选关键字和描述了,所以我的空着就空着吧:sad:
如你所说,国内确实看不到你的图片,呃。。。
加个友链吧,我已经加好你的链接了哦
@yutoshindo, 链接加好了
但是我是在国内,我可以看见我自己的图片
不错的部落格
来支持你一下