百度WordPress结构化数据插件发布和更新文章404和521错误

在网上搜索了下,这个百度sitemap1.0的插件出现404错误的人不是很多,大多数是521错误,而且521错误有人也给出了解决办法,但是出现404错误的人少,网上也就没有解决办法。以下是404的错误代码,看字面意思应该是某个东西没有定义或者阐明。

Fatal error: Call to undefined method WP_User::get_data_by() in /data/home/htdocs/wp-content/plugins/baidusubmit/inc/sitemap.php on line 404

我不懂代码,自然不可能自己动手解决,只能想其他办法。想来想去会不会是因为WordPress版本问题引起的,因为我的WordPress目前用的2.8.6,很老的版本,可能插件不支持了。为了搞百度WordPress结构化数据插件,我用了多个空间,多个版本的WordPress,最终发现,出现这个问题确实是WordPress版本问题。我测试了2.8.6、3.8.1、3.9.2全新安装后安装百度结构化数据插件,2.8.6即使是全新安装,正常通过验证(能见到验证成功那几个字),发布新文章也会出现404错误,而3.8.1和3.9.2验证和发布新文章都没有问题,所以可以断定是百度结构化数据插件不支持老版本的WordPress,404错误的解决办法就是升级你的WordPress版本吧!

Warning: curl_setopt(): CURLOPT_FOLLOWLOCATION cannot be activated when safe_mode is enabled or an open_basedir is set in /data/home/hxu0450447/htdocs/wp-content/plugins/baidusubmit/inc/sitemap.php on line 521

 

Warning: Cannot modify header information - headers already sent by (output started at /data/home/hxu0450447/htdocs/wp-content/plugins/baidusubmit/inc/sitemap.php:521) in /data/home/hxu0450447/htdocs/wp-admin/post.php on line 235

 

Warning: Cannot modify header information - headers already sent by (output started at /data/home/hxu0450447/htdocs/wp-content/plugins/baidusubmit/inc/sitemap.php:521) in /data/home/hxu0450447/htdocs/wp-includes/pluggable.php on line 1121

上面的代码就是521错误,有可能是你自己主机空间的问题,同样的文件和数据库,Godaddy Windows主机空间,PHP版本是5.2.17,配合WordPress 3.9.2,安装插件,验证插件,发布文章没有任何问题,但是万网X3主机空间安装插件后,验证看不到“校验成功”几个字,刷新后已经成功,发布文章会出现521错误,网上有三种解决办法。

1、关闭百度结构化数据插件的“实时推送”功能。

2、修改插件inc文件夹下的sitemap.php文件第521行,把"curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);"改为"curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);"仍然会出现521错误,只是错误代码不一样而已。

3、还是修改sitemap.php文件,把第521行的"curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);"改为"curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);"也就是把最后一个“1”改为“0”。

我查看了完全正常安装百度结构化数据插件的网站,发布和更新文章后,插件的“近期提交历史”马上有内容,而且数据库里的两个标签都是有内容的;发布和更新文章出现404错误的网站,插件的“近期提交历史”没有内容,数据库有一个标签有内容;发布和更新文章出现521错误的网站,插件的“近期提交历史”也没有内容,数据库两个标签都没有内容是空的。用上面第一种和第三种方法修改后再发布和更新文章,插件的“近期提交历史”没有内容,数据库里那两个标签没有内容更新,仍然是空,这两种方法可能都是关闭“实时推送”。

个人觉得把百度结构化数据插件的“实时推送”关闭,那这个插件意义就不大了,所以终极解决办法就是:综述上面那么多废话及我的折腾总结,要想完全正常使用百度sitemap1.0,你还是换主机空间吧,或者等百度来解决这个问题,你觉得哪个更快呢?

更新:我发现出现521错误的,在更新文章的时候会在数据库里生成数据,“近期提交历时”里也会有记录,只是数字为0。

再次更新:保存草稿后发布文章,虽然也会出现521错误,但是似乎数据是正常提交的,今日杂记的提交数据是618,下面是截图。百度结构化数据插件历史提交数量

我猜~这些文章你可能也感兴趣

Nie

相关文章

2 Comments

    • Nie said:

      其实不用管,插件还是会正常收录的,只是发布文章的时候会出现错误,没有影响

*


Top