WordPress 面包屑插件 Breadcrumbs
Oct 30th, 2011
Add Comment
面包屑对用户体验和 SEO 都相当重要, 但是 WordPress 并没有提供原生的面包屑组件, 实现相当麻烦. 曾经我介绍过一款名为 Breadcrumb NavXT 的 WordPress 面包屑插件, 本文我将再大家介绍一个, Breadcrumbs.

Breadcrumbs 与 Breadcrumb NavXT 的区别
- 从界面上看, 两插件并没有太多区别, 可以在 WordPress 架构内的所有页面加上面包屑.
- 从功能来看, Breadcrumb NavXT 更加强大. 可以针对特定类型页面进行设定, 并且提供两种结构的页面输出.
- 从 SEO 来看, Breadcrumbs 更加合理. 由于插件作者 Yoast 的 SEO 功底很强大, 插件在这方面肯定会有更多关注. 可以选择在 Home 链接加上 nofollow, 在 Home 链接和后面的索引之间加上特定的页面 (如: 我加上了 All Categories 的页面链接).
Breadcrumbs 插件的缺陷
- 如果文章被分配到多个类目中, 只有一个类目有效, 插件更具字母 A 到 Z 的循序选择头一个类目作为面包屑路径.
- 文章详细页面的面包屑中包含文章标题, 这个多余了.
这里提及的两个问题 Breadcrumb NavXT 插件也有. 前一个问题我没有解决, 因为影响不到我的使用, 也没想过怎样去弄; 后一个问题我解决了, 除了除掉文章详细页面的文章标题, 还修改了面包屑中其他链接的标签结构, 比如: 为 SEO 将最后一个面包屑节点改成 h2.
Breadcrumbs 插件的使用
下载插件请移步 WordPress 插件中心的插件页面.
在 WordPress 主题中插入代码调用插件, 如下.
<?php if(function_exists('yoast_breadcrumb')) { yoast_breadcrumb('', ''); } ?>
调用插件的方法有三个参数. 前两个是输出在前后的 HTML 片段; 第三个参数指定返回字符串还是输出页面, 如果第三个参数是 true 代码直接输出页面, 如果是 false 返回字符串, 默认是 true.
Breadcrumbs 插件的改进
我使用的是 Breadcrumbs, 因为功能简单, 代码少, 容易改. 为了 SEO 效果, 突出页面关键字, 避免出现重复链接, 我对插件进行了一些修改.
- 将文章详细页面的面包屑中出现的文章标题去掉, 因为这个与文章标题重复.
- 在面包屑的 Home 链接和类目链接之间加上 All Categories 的链接, 便于区分文章详细页面和独立页面的路径. (独立页面是不存在分类的.)
- 在 Home 链接和 All Categories 页面链接加上 nofollow. Home 这个词跟你在首页没有关系, 而且页面 Logo 也链向首页, 没必要重复一下让爬虫混淆; 我的顶部导航中已经有 All Categories 的入口, 没有必要重复一下.
- 将存档页面的面包屑最后一个词改为 h1, 因为它是整个页面的核心关键字. 比如: 现有存档页面面包屑 Home > All Categories > WordPress, 我会将 WordPress 改成 h1. 因为这里展示的是 WordPress 类目下的文章列表, 与其关系最大, 我将这个当成页面的标题来处理.
- 将文章详细页面的面包屑最后一个链接改为 h2. 在我的这个博客中, 文章详细页面没有指定分类链接, 其实我是将这个功能与面包屑的合并了, 面包屑的最后一个链接就是该文章的分类链接. 除非有十分重要的副标题存在, 由于标签和分类是文章之间联系的桥梁, 可以仅此于标题给 h2.
- 将面包屑中的 » 改为 >, 纯粹觉得不好看.
总结
面包屑很总要, 强烈建议用上. Breadcrumb NavXT 和 Breadcrumbs 是目前最受欢迎的两个 WordPress 面包屑插件, 看似不一样, 实际区别不大, 都很好用.
声明: 本文采用 BY-NC-SA 协议进行授权. 转载请注明转自: WordPress 面包屑插件 Breadcrumbs
我还是第一次听说这个,准备研究下,多谢
上面代码用了不生效啊,在那个作者网站上找到下面代码可以用。但如果不用插件能实现就更好了。
<?php if ( function_exists('yoast_breadcrumb') ) {
yoast_breadcrumb('','');
} ?>
@mg12
加h2和去掉最后一个分隔符,你怎么实现的啊?
我用的rtrim 不知道有没有更简单的方法。谢了!
谢谢N哥的推荐,已经用上了。。呵呵。。。
面包屑对于seo的站内优化是有意义的
第一次听说这个东西哦,真的不看不知道呢
这个要mark一下啊
原来小小的面包屑作用还有这么多,学习了。
面包屑,SEO很喜欢呢!
都已经有插件来简单的实现了
@Sam Zeng
我忘了转义. 已经解决了. 谢谢.
@Sam Zeng
sorry, 没想就问,我是这样解决的,'uft-8&title=' + _t 或者 var _t = encodeURI(args.text);
在IE下,转播文章到QQ微博的时候会出现乱码~想转文章都转不了啦~~
跟 SEO 相关的问题
这个插件是干什么的呢,才看到:)
这个插件很实用
我第一次听说这个东西哦,孤陋寡闻了,面包屑,呵呵
@xiangzi
我在文章中加了一段 "Breadcrumbs 插件的改进", 大多是跟 SEO 相关的问题, 你可以看看.
@轩雅居
抱歉, 不提供下载. 你可以下载我发布的其他主题.
想请教下 现在您使用的主题提供下载吗?我新转入sina app 想使用这个主题。
非常期待invoe的回归。
我还不懂如何将插件整合到主题里面,安装主题就自动有了那个插件~
自家用的话,就代码咯~
共享给大家使用的话,还是插件好方便~
@mg12
不知道为什么那么多人这么热衷所谓的“代码实现”。读插件不就是跑个循环读几个文件么,个个都搞得自己主机CPU时时满负荷运转一样干什么,跑个个人博客性能上根本不会有什么差别的。
invoe 里就有这个功能的,哈哈
对于插件与改代码,我觉得独立的功能就分离出来用插件吧,这样主题或者wp更新了,功能还在,否则会限制wp升级或主题更新的.
插件不会加重wp负担吗,貌似插件多了会有一点,基本功能我还是倾向于代码实现,插件多了我觉得闹心,不过用插件省心,哈哈,很辩证,不如兄台再来个续,讲讲怎么将插件css样式融合到style.css里面减少http请求,还有怎么具体优化两个插件的seo,对你的seo类文章很期待…
@xiangzi
嗯, 是有部分实现, 但我发布的主题只在文章详细页面有, 这个更加完整. 而且我不觉得代码实现和使用插件有那么大的性能差别.
代码能实现为什么要用插件?你的早期的主题就代码实现了,这个私有主题还要插件实现?貌似沙发?