WordPress 面包屑插件 Breadcrumbs

Oct 30th, 2011 Add Comment

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

WordPress 面包屑插件 Breadcrumbs

Breadcrumbs 与 Breadcrumb NavXT 的区别

  1. 从界面上看, 两插件并没有太多区别, 可以在 WordPress 架构内的所有页面加上面包屑.
  2. 从功能来看, Breadcrumb NavXT 更加强大. 可以针对特定类型页面进行设定, 并且提供两种结构的页面输出.
  3. 从 SEO 来看, Breadcrumbs 更加合理. 由于插件作者 Yoast 的 SEO 功底很强大, 插件在这方面肯定会有更多关注. 可以选择在 Home 链接加上 nofollow, 在 Home 链接和后面的索引之间加上特定的页面 (如: 我加上了 All Categories 的页面链接).

Breadcrumbs 插件的缺陷

  1. 如果文章被分配到多个类目中, 只有一个类目有效, 插件更具字母 A 到 Z 的循序选择头一个类目作为面包屑路径.
  2. 文章详细页面的面包屑中包含文章标题, 这个多余了.

这里提及的两个问题 Breadcrumb NavXT 插件也有. 前一个问题我没有解决, 因为影响不到我的使用, 也没想过怎样去弄; 后一个问题我解决了, 除了除掉文章详细页面的文章标题, 还修改了面包屑中其他链接的标签结构, 比如: 为 SEO 将最后一个面包屑节点改成 h2.

Breadcrumbs 插件的使用

下载插件请移步 WordPress 插件中心的插件页面.

在 WordPress 主题中插入代码调用插件, 如下.

<?php
	if(function_exists('yoast_breadcrumb')) {
		yoast_breadcrumb('', '');
	}
?>

调用插件的方法有三个参数. 前两个是输出在前后的 HTML 片段; 第三个参数指定返回字符串还是输出页面, 如果第三个参数是 true 代码直接输出页面, 如果是 false 返回字符串, 默认是 true.

Breadcrumbs 插件的改进

我使用的是 Breadcrumbs, 因为功能简单, 代码少, 容易改. 为了 SEO 效果, 突出页面关键字, 避免出现重复链接, 我对插件进行了一些修改.

  1. 将文章详细页面的面包屑中出现的文章标题去掉, 因为这个与文章标题重复.
  2. 在面包屑的 Home 链接和类目链接之间加上 All Categories 的链接, 便于区分文章详细页面和独立页面的路径. (独立页面是不存在分类的.)
  3. 在 Home 链接和 All Categories 页面链接加上 nofollow. Home 这个词跟你在首页没有关系, 而且页面 Logo 也链向首页, 没必要重复一下让爬虫混淆; 我的顶部导航中已经有 All Categories 的入口, 没有必要重复一下.
  4. 将存档页面的面包屑最后一个词改为 h1, 因为它是整个页面的核心关键字. 比如: 现有存档页面面包屑 Home > All Categories > WordPress, 我会将 WordPress 改成 h1. 因为这里展示的是 WordPress 类目下的文章列表, 与其关系最大, 我将这个当成页面的标题来处理.
  5. 将文章详细页面的面包屑最后一个链接改为 h2. 在我的这个博客中, 文章详细页面没有指定分类链接, 其实我是将这个功能与面包屑的合并了, 面包屑的最后一个链接就是该文章的分类链接. 除非有十分重要的副标题存在, 由于标签和分类是文章之间联系的桥梁, 可以仅此于标题给 h2.
  6. 将面包屑中的 » 改为 >, 纯粹觉得不好看.

总结

面包屑很总要, 强烈建议用上. Breadcrumb NavXT 和 Breadcrumbs 是目前最受欢迎的两个 WordPress 面包屑插件, 看似不一样, 实际区别不大, 都很好用.

声明: 本文采用 BY-NC-SA 协议进行授权. 转载请注明转自: WordPress 面包屑插件 Breadcrumbs

  1. http://0.gravatar.com/avatar/c65e18c1703e2da74cdecef46ff984a6?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    我还是第一次听说这个,准备研究下,多谢

  2. http://1.gravatar.com/avatar/f3a55307b49007a060e7741a79db73fd?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    上面代码用了不生效啊,在那个作者网站上找到下面代码可以用。但如果不用插件能实现就更好了。
    <?php if ( function_exists('yoast_breadcrumb') ) {
    yoast_breadcrumb('','');
    } ?>

  3. http://0.gravatar.com/avatar/253b4007557539ce0e443809f108017c?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    @mg12
    加h2和去掉最后一个分隔符,你怎么实现的啊?
    我用的rtrim 不知道有没有更简单的方法。谢了!

  4. http://0.gravatar.com/avatar/076adff9eccb35fc4540386e4a987116?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    谢谢N哥的推荐,已经用上了。。呵呵。。。

  5. http://0.gravatar.com/avatar/04f8310aa84a17510d8613edc9455703?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    面包屑对于seo的站内优化是有意义的

  6. http://0.gravatar.com/avatar/ce519116c5fbb694841f0a53f9265760?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    第一次听说这个东西哦,真的不看不知道呢

  7. http://0.gravatar.com/avatar/68546ae29ab85174f8e8a1655122938b?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    这个要mark一下啊

  8. http://0.gravatar.com/avatar/2667e3794c00b147ea9cda10b88365ae?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    原来小小的面包屑作用还有这么多,学习了。

  9. http://1.gravatar.com/avatar/9d666be3eedba2487aa2ab3102f702f4?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    面包屑,SEO很喜欢呢!

  10. http://1.gravatar.com/avatar/bda09c15de8028b03a5165944368f745?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    都已经有插件来简单的实现了

  11. http://0.gravatar.com/avatar/490cf262668eebb0f0f1a50d9d48d702?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    @Sam Zeng
    我忘了转义. 已经解决了. 谢谢.

  12. http://0.gravatar.com/avatar/25b72286083d5fc406cc16818318d264?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    @Sam Zeng
    sorry, 没想就问,我是这样解决的,'uft-8&title=' + _t 或者 var _t = encodeURI(args.text);

  13. http://0.gravatar.com/avatar/25b72286083d5fc406cc16818318d264?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    在IE下,转播文章到QQ微博的时候会出现乱码~想转文章都转不了啦~~

  14. http://0.gravatar.com/avatar/8d2c157654a040c83fa295ed5c8eb8fa?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    跟 SEO 相关的问题

  15. http://0.gravatar.com/avatar/8eb05daeae832f4d0d5fa7dd5ff987dd?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    这个插件是干什么的呢,才看到:)

  16. http://0.gravatar.com/avatar/ce3478793430eb1bd8ad0fa5ea4544cb?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    这个插件很实用

  17. http://0.gravatar.com/avatar/a79f6b641c79d1fa52e9243027fa2960?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    我第一次听说这个东西哦,孤陋寡闻了,面包屑,呵呵

  18. http://0.gravatar.com/avatar/490cf262668eebb0f0f1a50d9d48d702?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    @xiangzi
    我在文章中加了一段 "Breadcrumbs 插件的改进", 大多是跟 SEO 相关的问题, 你可以看看.

  19. http://0.gravatar.com/avatar/490cf262668eebb0f0f1a50d9d48d702?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    @轩雅居
    抱歉, 不提供下载. 你可以下载我发布的其他主题.

  20. http://0.gravatar.com/avatar/e6663d73433daabb5bc9e229df5f8102?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    想请教下 现在您使用的主题提供下载吗?我新转入sina app 想使用这个主题。

  21. http://1.gravatar.com/avatar/b6e6e44ec0ee9a778ce7bd78c9223506?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    非常期待invoe的回归。

  22. http://1.gravatar.com/avatar/1fb3cc66107430dd62f8c561041c3db9?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    我还不懂如何将插件整合到主题里面,安装主题就自动有了那个插件~
    自家用的话,就代码咯~
    共享给大家使用的话,还是插件好方便~

  23. http://1.gravatar.com/avatar/1cfd6b67e61a959b431aa1bc3e4f6736?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    @mg12
    不知道为什么那么多人这么热衷所谓的“代码实现”。读插件不就是跑个循环读几个文件么,个个都搞得自己主机CPU时时满负荷运转一样干什么,跑个个人博客性能上根本不会有什么差别的。

  24. http://1.gravatar.com/avatar/313d0583bfc8ccc7bebd7594f8497177?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    invoe 里就有这个功能的,哈哈
    对于插件与改代码,我觉得独立的功能就分离出来用插件吧,这样主题或者wp更新了,功能还在,否则会限制wp升级或主题更新的.

  25. http://0.gravatar.com/avatar/253b4007557539ce0e443809f108017c?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    插件不会加重wp负担吗,貌似插件多了会有一点,基本功能我还是倾向于代码实现,插件多了我觉得闹心,不过用插件省心,哈哈,很辩证,不如兄台再来个续,讲讲怎么将插件css样式融合到style.css里面减少http请求,还有怎么具体优化两个插件的seo,对你的seo类文章很期待…

  26. http://0.gravatar.com/avatar/490cf262668eebb0f0f1a50d9d48d702?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    @xiangzi
    嗯, 是有部分实现, 但我发布的主题只在文章详细页面有, 这个更加完整. 而且我不觉得代码实现和使用插件有那么大的性能差别.

  27. http://0.gravatar.com/avatar/253b4007557539ce0e443809f108017c?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G

    代码能实现为什么要用插件?你的早期的主题就代码实现了,这个私有主题还要插件实现?貌似沙发?

  1. Loading...