All in One SEO Pack插件schema输出导致WP文章时间提前8小时bug修复

如今各种SEO插件中都引入了schema数据来方便搜索引擎了解网站文章相关数据,常用的All in One SEO Pack和Yoast SEO中都自带了这个功能。

All in One SEO Pack插件schema输出导致WP文章时间提前8小时bug修复 | JUST FOR FUN

不过All in One SEO Pack插件近期国内使用却多出了个bug,就是schema数据中的文章发布以及修改时间会比实际时间提前8个小时,并且修改php时区、Wordpress默认时区都不能正确输出。

其导致的结果就是收录后搜索引擎显示的文章发布时间是实际发布时间的8小时之前。

原因是通常SEO插件schema中的时间使用的是格林尼治标准时间(GMT),也就是用post_data_gmt以及post_modified_gmt进行输出,然后最后带上+00:00来表示使用GMT标准时间,而All in One SEO Pack插件的schema数据时间输出中,在GMT时间输出后却带上了+08:00的UTC(协调世界时)表示,导致百度等搜索引擎获取到的文章发布时间提前了8个小时。

All in One SEO Pack插件schema输出导致WP文章时间提前8小时bug修复 | JUST FOR FUN

修复方法也很简单,偷懒点就直接进入插件文件中进行修改\all-in-one-seo-pack-pro\app\Common\Schema\Graphs\Article\Article.php

All in One SEO Pack插件schema输出导致WP文章时间提前8小时bug修复 | JUST FOR FUN

post_data_gmt改成post_data直接用协调世界时表示(这里还发现这插件的文章修改时间处用的也是文章发布时间的输出,有需要也可以将下方的那个post_data_gmt改成post_modified

还有all-in-one-seo-pack-pro/app/Common/Schema/Graphs/WebPage/WebPage.php

All in One SEO Pack插件schema输出导致WP文章时间提前8小时bug修复 | JUST FOR FUN

当然,你也可以去寻找schema输出字符的代码处,将输出UTC标识的部分改成GMT,让他始终显示格林尼治标准时间,我这里主要是方便百度收录,就使用UTC时间了。

说起来我记得以前其实不少WP主题的时间输出都有类似的问题,在主题代码中使用了GMT标准时间输出却没有在最后注明,导致国内的WordPress发布文章提前8小时,当时许多人直接把时区改成伦敦来解决,其实只要替换下代码使用UTC时间输出就可以了。而现在的各种新主题中基本没看到这个问题了,反倒是各种插件中偶尔出现。

WP技巧

图片img标签自动添加alt,title属性

2019-1-3 20:10:27

WP技巧代码·功能

WordPress使用CDN或者反代后如何获取访客的真实IP

2023-3-12 12:33:12

个人中心
今日签到
有新私信 私信列表
搜索