随着搜索引擎大兴, 排列在前的网站在引入大量流量. 无论是搜索页面的广告还是查出来的结果, 与搜索者的目标匹配度都比较高 (如果搜索引擎足够智能), 所以通过搜索引擎而来的访客很可能会从网站上得到他想要的东西, 并记住这个网站. 也就是说, 搜索引擎会带来很多有价值的来源, 所以花点时间针对搜索引擎优化一下 WordPress 博客也是值得的. 1. 优化博客副标题 副标题 (slogan), WordPress 中称为 tagline. 它与博客标题不一样, 可能会承载一些描述博客的文字. 如我的 tagline 是 "mg12's Blog - Just Another WordPress Blog", 其中的 WordPress Blog 被我设置为 h1. 因为我想告诉爬虫, 这是一个关于 WordPress 的博客. 2. 页面的标题不要包含博客名称 WordPress 标题一般会用到 bloginfo('name') 和 wp_title() 两部分, 前者是博客名称, 后者是文章标题 (如果标题不存在则不显示). 经典主题和默认主题输出标题用的代码如下. 1 输出的标题结构是 "文章标题 » 博客名称". 除非你的标题和文章内容相关度比较高, 否则这样的标题对 SEO 显然是不好的. 标题是爬虫认为重要的内容之一, 如果标题中包含了与文章内容无关的信息, 多少会对该页面有所影响. 那应该怎么弄呢? 一些包含大量内容的, 或者属于某一类的页面, 只显示标题. 其他的页面只显示博客名称. 我的实现代码如下. 1 <title><?php if ( is_single() || is_page() || is_category() || is_tag() ) { wp_title(''); } else { bloginfo('name'); } ?></title> 3. Keywords & Description Keywords 为搜索引擎提供网页包含的核心内容, Description 则为搜索引擎提供网页的描述信息. 我发布的主题曾经包括了对 keywords 和 description 的处理, 但因为这与一些 SEO 插件发生冲突, 在较新的版本中已经去除. 笔者认为 WordPress 的很多所谓 SEO 插件做得并不到位, 对中文博客支持都很差, 自己修改一下效果可能更好. 以下是我的处理规则. 页面类型KeywordsDescription 首页自定义 keywords自定义 description 文章页面标签组合摘要或者文章前 220 个字符 (截取文章需要特殊处理全角字符) 搜索页面-搜索关键字 分类存档页面-分类 标签存档页面-标签 日期存档页面-日期 其他页面-页面标题 4. h1, h2, h3, strong 标签的使用 一般将 h1 给予文章标题或者与网站相关性高的推广性内容, 而不是博客标题. h2 是跟文章有关的描述式信息, 如分类和标签. h3 是其他类似内容, 如相关文章. strong 给文章内的关键字. 5. 将 Related Post 改为 More posts about XXX 其中 XXX 是关键字及其链接, 本人建议使用分类或者标签链接代替. 因为 Related 一词与几个文章的链接没有任何关系, 但标签与之相关度很高. (一般相关文章是通过相似标签来确定的.) 6. 与文章无关内容后移 有人认为爬虫只会分析页面的前 N 个字节的内容, 未必如此, 但前面内容的权重相对会比较高. 为了爬虫有效的收录, 应该尽量将无关内容后移. 如 JavaScript 等可以用 DOM ready 来实现. 另外, 如搜索栏, 订阅按钮等可以放到页脚, 再通过 CSS 或者 JavaScript 重新定位. 7. 消灭内嵌 CSS 和内嵌 JavaScript 内嵌的 CSS 和 JavaScript 可能带有一些关键字和链接, 影响爬虫收录. 尽量将这些写在外部文件中. 8. 如果评论分页, 避免出现重复内容的文章 我已经在《对评论分页的 SEO》一文写过处理方法. 后来我又在《WordPress 评论 SEO》中介绍了另一种处理方法, 该方法不需要借助插件. 9. 为 Read more 加上 nofollow 因为 Read more 链接的路径实际和文章标题相同, 没必要再多加一个文本与页面内容无关的链接. 再者, "Read more..." 在网站出现 N 多次, 可能会干扰爬虫. 10. 不要把首页做成欢迎页面, 尽量显示文章内容 很多朋友喜欢把博客首页做成欢迎页面, 但因为大量链接链向首页, 它是最重要的页面, 应该尽量放置与博客相关的内容. 还有人喜欢用标题列表的作为首页的主要内容, 但经过我长期的实验这明显不如包含部分文章内容的文章列表. 作为折中处理, 现在我的博客会显示前几个文章的内容, 其他折叠 (折叠可以加快网页加载速度).