WordPress AMP 插件 BUG 导致网页结构化数据错误

      WordPress AMP 插件 BUG 导致网页结构化数据错误已关闭评论

WordPress AMP 插件 BUG 导致网页结构化数据错误 ,用 Google 结构化数据测试工具测试网页显示 LOGO 加载有错误,显示: (必须填写“url”字段的值。) ,下面图片为测试结果,从结构中可以看出已经为“url”提供了相应的值还是会报错,如果结构化数据测试有错误会导致 Google 不收录网页,下面记录解决办法

在网站插件 /amp/includes 目录下 amp-helper-functions.php 文件里找到 if ( $publisher_logo ) 字段

	$publisher_logo = amp_get_publisher_logo();
	if ( $publisher_logo ) {
		$metadata['publisher']['logo'] = $publisher_logo;
	}
本站通告:近日有钓鱼网站利用本站短链接进行钓鱼,本站将暂停短链接服务,待后续更新整改后再开放使用,对给您造成的不便我们深表歉意!

然后替换为如下代码:

$publisher_logo = amp_get_publisher_logo();
if ( $publisher_logo ) {
    $metadata['publisher']['logo'] = [
       "@type" => "ImageObject",
       "url" => $publisher_logo,
       "width" => 320,
       "height" => 320,
   ];
}

PS:后来经过一段时间的摸索,弃用了这个方法,因为弃用了 AMP 官方插件,改用了第三方的插件 AMP for WP, 不用改代码这个问题也不存在了,并且 AMP for WP 插件里面有很多直观的设置,还有跟结构化数据配合的部分可以设置,AMP网页的呈现效果也好很多,还可以自己选择更换 AMP 网页的主题,好用很多。在网页链接后面加上 /amp 就可以查看 AMP网页的效果,比如本页的 AMP 网页地址为:https://kris.run/wordpress-amp-插件-bug-导致网页结构化数据错误/amp/,可以用移动设备查看本页效果,AMP 专为移动设备打造

WordPress AMP 插件 BUG 导致网页结构化数据错误
AMP for WP