Sitemap插件 v1.1.1
本插件只能 typecho
使用,可以实现标准 全站sitemap
、发布文章主动推送给百度
、API调用推送给百度
,主要深度优化百度seo,符合百度收录标准,更规范的xml链路。同时也适用Google、必应等搜索引擎。文章发布完成可以主动推送地址给百度,或手动调用API推送给百度。以加快收录。
包含 标签
文章
搜索结果页
分类
首页分页
分类翻页
独立页
的sitemap。
插件功能
- 全站标准sitemap.xml索引地图
- 后台发布文章自动推送给百度
- API手动调用推送给百度
- 隐藏指定分类下的所有文章
- 自定义设置每页显示数量
- 自定义控制每个页面的权重和频率
- 全站支持二级索引xml,结构目录清晰
- 数据量大或打开缓慢时,建议开启分级
插件地址
体验
可访问本站体验sitemap效果。建议在网站根目录robots.txt添加xml的地址。
xml是给搜索引擎蜘蛛解析的。效率更高。HTML是给网站访客浏览的。
robots:https://oct.cn/robots.txt
xml体验:https://oct.cn/sitemap.xml
html体验:https://oct.cn/sitemap.html
使用方法
需开启伪静态,如不开启伪静态,访问路径为:你的域名/index.php/sitemap.xml
- 通过码云或github下载
- 上传整个文件夹至usr/plugins下
- 下载后删除.md文件,修改文件夹名称为:Sitemap
- 注意文件夹层级
添加指向
在根目录的 robots.txt
里面添加指向
Sitemap: 你的域名/sitemap.xml
百度主动推送
可以选择是否开启该功能,开启之后,在后台文章发布时会自动推送文章网址给百度。加快收录。百度主动推送介绍地址:https://ziyuan.baidu.com/linksubmit/index
使用教程:
- 复制红框内的接口地址,填写在插件--设置--百度推送接口地址;
- 开启主动推送接口。
- 请检查站点域名是否对应
获取地址教程:
API主动推送
该功能是通过api接口地址推送。无需在后台发布才能触发推送。不登录后台也可以实现收录推送。该功能可以在采集内容时候配合使用。也可以单独调用接口实现推送。
关于 API推送密钥
API推送密钥 的作用是防止接口被其他人恶意调用。自定义设置一个随机字符串即可。在请求接口时候携带上。
使用方法:
你的域名/sitemap/gateway_apipost?key=你的api推送密钥&url=你的文章网址
API请求示例
https://oct.cn/sitemap/gateway_apipost?key=abc1234&url=https://oct.cn/view/66
返回JSON结果
{
"code":1000,
"msg":"百度推送【成功】,今日剩余次数2998",
"data":{
"remain":2998,
"success":1
}
}
预览
后台预览
前台sitemap效果
更新记录
如果是更新插件。部分功能需在覆盖插件内容后,先停用。再重新启用更新才能生效。
任何问题可在本帖回复反馈。并填写邮箱
。将在2-5分钟内回应
2022-3-30 --1.1.1
- 优化一些细节
- 修复特定路由下获取文章url出错
2022-3-19 --1.1.0
- 优化xml
- 可以设置指定类别页面显示/不显示
- 优化了未开启伪静态的页面访问支持
2021-10-20 --1.0.8
- 优化xml
2021-10-07 --1.0.7
- 优化主动推送, 支持更大的容错率
- 优化主动推送时,对设置了隐藏的分类文章不进行推送。
- 优化其他反馈的问题
2021-10-03 --1.0.5
- 支持对某个分类的文章进行隐藏
- 支持sitemap.html显示
- 优化处理逻辑,更快更精简
2021-09-30 --1.0.4
- 支持通过API接口推送给百度,在插件设置中设置密钥后生效。
- sitemap加入搜索结果页,更丰富的收录多页面。搜索结果页关键词取自tag标签。
- 支持手动控制每个类别的更新频率
2021-09-28 --1.0.2
支持发布文章时主动推送给百度,可在插件设置中开启或关闭
2021-09-27 --1.0.1
百度不建议使用索引性xml了,增加开启分级和不开启分级选项。数据量大或觉得打开sitemap缓慢,建议开启。亲测也是可以抓取收录的。
2021-09-26 --1.0.0发布
发布
75 条评论
https://yyyang.cn/Web/typecho_sitemap.html 已帮忙分享此插件,确实好用。站长加油。
你好 谷歌提交后发现了问题
发现无效日期。请修正日期或格式,然后重新提交。
示例
第 1行
父标记:
url
标记:
lastmod
第 1行
父标记:
url
标记:
lastmod
第 1行
父标记:
url
标记:
lastmod
@雀 我sitemap生成的也是空白页,但是sitemap.html访问正常;
php8.0 typecho 1.2.0,重启过没有插件冲突。
sitemap生成空白页怎么回事
后台装了个自动填写tag插件和采集插件其他没了,php74 其他版本试了也无效
可以增加bing提交么?现在用户用bing的比较多
好的,近期更新一下
大大,使用您的插件生成的Sitemap里,对文章的last mod是精确到秒的,可是这个Site Map似乎无法在Google Search Console里使用诶。。提示有错误,不知道是不是精确时间的原因造成的。。可以抽空修复下吗,或者增加一个生成不含精确时间的站点地图?麻烦了!我的站点地图:https://iocky.com/sitemap.xml 以下是Google Search Console里的报错内容:
站点地图可读取,但存在错误
日期无效
5 处
发现无效日期。请修正日期或格式,然后重新提交。
示例
第 1行
父标记:
url
标记:
lastmod
第 1行
父标记:
url
标记:
lastmod
第 1行
父标记:
url
标记:
lastmod
文章 "一篇文件" 已经发布 百度推送【失败】,失败原因:site error;请检查token是否正确;为啥我总这个错误呢?
抱歉,上条评论,邮箱错误
文章 "一篇文件" 已经发布 百度推送【失败】,失败原因:site error;请检查token是否正确;为啥我总这个错误呢?
为啥密钥设置好以后自动推送也打开但是他不会自动提交呢,我把周期都设置成一天了,然后唯一提交的一次还是我手动测试的
希望推出bing主动提交!!!
网站可以访问sitemap.html 访问sitemap.xml 就出现下面:
此页包含以下错误:
第 6 列第 2 行的错误:仅在文档开头允许 XML 声明
下面是第一个错误之前的页面呈现。
这个是什么意思啊?
试了下应该是你做了类似的sitemap.xml的路由,或者安装了其他sitemap的插件,冲突了
出现错误:The requested URL /sitemap/gateway_apipost was not found on this server.
而且你应该还安装了其他sitemap 这在路由上是有冲突的。
之前的sitemap删除了。如果是冲突怎么解决呢
删除之前的,或相同功能的插件。就不会有冲突了呢。开启伪静态可以这样访问:xxx.com/sitemap.xml
开启伪静态访问路径是:xxx.com/sitemap/gateway_apipost?key=test
未开启则是:xxx.com/index.php/sitemap/gateway_apipost?key=test
开启了!已解决。谢谢大佬
开启伪静态了吗
请求大佬解答
根目录没有生成robots.txt
这个自己手动创建一个txt文件就可以呢
文件内容:
User-agent: *
Disallow: /.js$
Disallow: /.css$
Sitemap: http://你的域名/sitemap.xml
好的
大佬这个插件是不是不支持php8?在PHP8环境下好像安装不上
php8没有测试呢
大佬robots里的post tag的两个sitemap是怎么实现的
这个是分页功能,1.0之后的版本已经去掉了。原因是百度不支持这种格式的xml。如果需要可以使用1.0.8。码云有版本下载选择
好的
哪里
Class 'BaiduSubmit_Action' not found博主显示这个是什么原因
卸载其他sitemap插件
发现了插件的一个BUG,sitemap.xml文件无法正确识别{category} 分类,会被直接显示为https://XXX.com/{category}/5.html。
是吗。什么情况下出现的。
好。zx@oct.cn
已发送,谢谢!
已复现。稍后修复完回复你
ヾ(≧∇≦*)ゝ
按照你的设置没有复现出来。能不能再提供下你的伪静态规则看看。
```
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php$1 last;
}
```
这是我的静态规则。Typecho版本为1.2.0(因为1.1版本太老旧了)OωO
修复了。顺便优化了一些其他地方。可以直接上传覆盖,无需重启插件。
刚刚更新了插件,问题确实修复了。感谢!
如果安装后访问:你的域名/sitemap.xml 出现404。
原因是:未开启伪静态
改成这样访问即可:你的域名/index.php/sitemap.xml
XML出现以下错误:
error on line 2 at column 6: XML declaration allowed only at the start of the document
已解决!
搜索页,分裂页,翻页,标签,自己不想在xml显示,直接在action.php,注释可以不,单纯显示文章
1.1.0版本已支持,无需重启插件,更新文件即生效
有啥建议大家都提在这里。
有个建议,有些网站是带快速收录的,百度普通收录和快速收录api接口是分开的,所以希望能单独增加个快速收录接口上去
好,下个版本加进去
还有全部推送,以前发布的也可以推,typecho也有相关的插件,各有优势,但是功能都不完整。
点击发布以后会跳转到“域名/adminmanage-posts.php”,应该是跳转到域名/admin/manage-posts.php这里才对吧,问题应该是出在这吧。
应该是Plugin.php的132行代码的"manage-posts.php"前面加上/改为"/manage-posts.php"就可以了,就不会404了,顶端也正常显示推送成功的消息了。
嗯 可能是不同环境下获取到的后台地址不太相同, 解决了就行
但是新的问题又出现了,开启自动推送以后发不文章显示404,返回提示服务器不支持curl,我查了一下好像并没有禁止curl相关函数啊。
这种情况就是服务器不支持curl post 也就是typecho的.get方法。你可以查查相关资料看看怎么开启
我这里phpinfo显示curl是yes
需要开启allow_url_fopen功能
www/server/php/73/etc/php.ini
打开看了,allow_url_fopen也是on
已经更新了1.0.6版本。下载试试再反馈。
点击发布还是404,然后后退返回会显示发布成功,还有一个剩余次数。
file_get_contents(/www/wwwroot/blog//usr/plugins/Sitemap/Plugin.php): failed to open stream: Permission denied in /www/wwwroot/blog/var/Typecho/Plugin.php on line 206
插件界面报错提示
是1.0.5版本吗
重新弄可以用了,感谢
1.2.0版本报错Typecho/Plugin.php on line 206
这个要怎么解决啊?
把现在的先卸载,再删除,重新下载。安装。下载地址看本文。
Sitemap插件启用之后网站根目录没有生成xml文件,访问也是404。网站用的apache。
没有开启伪静态,需要在路径加上index.php 你的域名/index.php/sitemap.xml
添加apache的伪静态,在后台--设置--开启自定义重写规则。不需要生成xml。开启typecho的伪静态就可以呢
感谢,已经解决此问题啦。
请问不直接在后台发布文章,火车头采集发布的,主动推送也有效吗?
如果你的采集器,采集完成之后会返回文章url,也是可以实现的
火车头采集应该是直接入库的,不能主动推送。主动推送需在后台点击发布时才能触发