前两天写了一篇“WordPress 采集友链中好友博客最新文章”,可以从友情链接直接采集到友链各博客最新更新的文章,当时说到基友 Alex 的博客无法正常访问,今天抽空帮 Alex 的博客重新做了一下解析记录,可以正常访问了。但是刷新了一下料网的友情链接页面,还是没有能够成功采集到他博客上的文章标题列表。
访问了一下 https://www.g-alex.com/feed/ ,显示错误 404。百思不得其解,feed 为 wordpress 原生支持的功能,一般都可以通过 https://域名/feed 来访问,为何会出现 404 呢?
起初以为是 wordpress 程序文件有问题,把原先的 wordpress 删除重新上传了最新的 4.1.1 版本的 wordpress,之后发现问题依然存在,百思不得其解。
在后台逐个排查了一遍,发现 设置- 固定链接 那里的固定链接结构为默认,猜测是否是由于使用了默认的固定链接结构 ?p=
而引起的呢?
于是查阅 wordpress 技术文档,果然发现了原因所在。使用不同的固定链接结构,Feed 的地址结构稍微有所不同。
如上图,可以看到料网使用的是自定义结构,链接中我可以写一些英文来表达标题含义,如 “关于 SEO 的一些书籍推荐” 这篇文章的链接 URL 就是 https://www.liaosam.com/books-recommend-for-seo.html
我们按照 Feed 地址的不同,将固定链接分为“默认结构”和“其他结构”这两类。“默认结构”一般的 feed 地址是在后面添加 &feed=rss2 ,其他结构一般在链接后面加 /feed/ 。
原来如此,找到问题所在,于是我们改成其他结构中的某个固定结构类型即可。在把固定链接修改之后,果然很快就抓取到了 Alex 博客上的最新文章,这个困扰半天的问题就这样轻松地解决了。
附:各种类型的订阅地址样例
1.订阅整站的文章
默认结构:https://www.liaosam.com/?feed=rss2
其他结构:https://www.liaosam.com/feed/
2.订阅某个分类(category)的文章
默认结构的分类地址一般为 /cat=分类 id ,其他结构一般为 /category/分类别名(slug) (有些使用代码或插件删除了 /category ,比如料网就如此)
比如分类“WordPress 主题”的 id 为 3 ,别名为 themes
默认结构:https://www.liaosam.com/?cat=3&feed=rss2
其他结构:https://www.liaosam.com/category/themes/feed/
3.订阅某个标签(tag)的文章
默认结构的标签地址为 /?tag=标签名 ,其他结构为 /tag/标签名 ,比如标签为“phpmyadmin”的 feed 地址
默认结构:https://www.liaosam.com/?tag=phpmyadmin&feed=rss2
其他结构:https://www.liaosam.com/tag/phpmyadmin/feed/
4.订阅某个搜索结果的文章
比如搜索词为“phpmyadmin”的 feed 地址
默认结构:https://www.liaosam.com/?s=phpmyadmin&feed=rss2
其他结构:https://www.liaosam.com/search/phpmyadmin/feed/
5.订阅某个作者的文章
默认结构的作者页面链接为 /?author=作者 id ,其他结构为 /author/作者用户名
默认结构:https://www.liaosam.com/?author=1&feed=rss2
其他结构:https://www.liaosam.com/author/liaosam/feed/
6.订阅整站的评论
默认结构:https://www.liaosam.com/?feed=comments-rss2
其他结构:https://www.liaosam.com/comments/feed/
本站所有文章除注明“转载”的文章之外,均为原创。未经本站允许,请勿随意转载或用作任何商业用途,否则依法追究侵权者法律责任的权利。
该评论为私密评论
WordPress 对于我这种程序小白用起来挺费劲的,Wix 就相对简单直接一些。但是用 Wix 真的好吗?