IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 解决Typecho站点Sitemap插件不可用问题 -> 正文阅读

[网络协议]解决Typecho站点Sitemap插件不可用问题

一、背景

SEO 应该是每个站长都会接触到的一个环节,其中 Sitemap 就是网站 SEO 中的一环。在近期,我将网站从 Wordpress 搬到了 Typecho 上,就在做到 Sitemap 这一环时,插件安装、启用都没有任何报错,但就是在执行访问验证时死活显示不出来(个别主题可能会跳转到 404 页面,如: Handsome 主题)。

为了搞定这个 sitemap.xml 可显示,弄到次日凌晨 4 点也没搞定,真是一把心酸一把泪…,次日醒来,再次处理,经过分析终于找到了头绪,并最终解决。

下面就将我的整个分析及处理过程分享给大家,希望各位Typecho站长少走弯路。

更多更全文章,请访问我的原创首发站点:www.wuqintai.com

二、环境交代

三、异常现象

安装并启用 Sitemap 插件:

启用 Sitemap 插件

在浏览器地址栏访问:http://你的网站域名/sitemap.xml 查看 Sitemap 工作情况:

访问 sitemap.xml

可见什么都没有,一片空白…

注意:也有可能会跳转到 404 页面。

四、问题剖析

接下来用程序员思维走一波…

空白的页面真的是什么都没有吗?答案:不一定,也许是你要的答案已经处理好并请求到本地了,但缺少了某些东西没有显示出来。

如何验证?

第一步: 在 Linux 平台,使用 curl 命令工具请求页面,看看实际返回的内容。

可见实际上是有数据的,所以从这可以判断,上面的空白页可能是因为浏览器在请求 sitemap.xml 这个页面资源时缺少了某些东西,而导致最终没将数据展示出来。

接下来就验证…

第二步: 打开 Chrome 浏览器,按 F12 进入开发者模式,定位到 Network 栏,再次触发请求 sitemap.xml 资源:

可见在这个请求中,共触发获取2个文件,总 Status 字段可知,第一个文件请求成功了,第二步请求失败了。从第二个文件后缀可知,它是一个样式文件,在这里,它的作用就是将 sitemap.xml 文件中的数据进行格式化并在浏览器上展现出来,它的请求失败,也就导致了数据没发展现出来,所以我们在浏览器上啥也没看到。

接着,我们可以点击 sitemap.xml 文件,再次验证其内容是否被获取到:

sitemap.xml 请求结果

可见数据是有被获取到本地的。

知道大致问题了,那怎么去处理呢?

因为我不是这方面的开发人员,所以浏览器中提示的错误代码及如何针对性的去处理,这个我也不太懂。

为了获得更多的信息,我的做法是,再开一个浏览器(Safari),看看请求情况:

从上述信息可知,在 sitemap.xml 文件中嵌套了一个 sitemap.xls 的请求,而这个请求在实际中失败了,Safari 给出了失败的原因,大致意思是:加载 sitemap.xls 文件失败,要求请求的 域名、协议、端口等信息 需与 sitemap.xml 的一致。

知道错误原因后,回过来排查一下,其实不难发现,两个文件在请求 url 上确实是存在差异的,如下:

请求 URL 差异

接下来就是尝试解决问题了,既然是URL不一样,那我给请求 sitemap.xml 补充一个 www. 不就行了吗,说干就干,来看看效果:

可见问题已解决。

注意:这个 www. 需要根据你实际情况调整,如果你用的是其它二级域名,请根据实际情况调整(测试:使用二级域名不存在这个问题)。

五、问题解决

知道问题所在了,接下来解决就好办了,方法有如下几种:

**第一种:**直接使用带 www. 方式访问,在各大搜索引擎上提交时,直接提交正确、可访问的、带 www. 的 sitemap.xml 链接即可!

**第二种:**修改后台站点地址, 操作:设置 --> 基本 --> 站点地址 ,修改为不带 www. 的链接。

**第三种:**在 Nginx 中设置,将所有请求从定向到带 www 的域名上。(过程稍复杂,操作略)

**第四种:**到 Sitemap 目录下找到 sitemap.xls 文件,将上述请求的 url 代码屏蔽,直接忽略格式化。(毕竟这是给搜索蜘蛛看的,只要蜘蛛能理解就行,平时我们很少看。)

**第五种:**Bug修复,如果你是大神,请直接修复这个问题,万分感谢!

六、小结

排查和修改故障的过程是痛苦的,特别是什么都不懂的情况下。如果排查了很久也无果,请停下来,休息一下,说不定下次归来就有头绪,问题就迎刃而解了呢…

关于这个问题,个人猜测如果你使用的是二级域名,在使用Sitemap这个插件时,应该不会有这个问题,但实际还待验证。本人就验证了,如果你恰巧是这种情况,可在评论区提交你的使用。

好了,就这样吧,不逼逼了,累…

最后提醒:教程请勿生搬,应结合实际情况,适当调整。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-09-05 11:23:21  更:2021-09-05 11:25:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 3:32:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码