编程语言
首页 > 编程语言> > php-图片丢失且必填-WordPress AMP结构未添加图片属性

php-图片丢失且必填-WordPress AMP结构未添加图片属性

作者:互联网

使用Google的结构化数据测试工具验证wordpress帖子时,出现以下错误:

"Image: missing and required"

我安装了正式的wordpress AMP插件,可以为我生成AMP页面.问题在于,它不流行BlogPosting的“ image”属性.

在插件中,我认为应该生成一个代码,但是它不能在任何地方运行:

private function get_post_image_metadata() {
    $post_image_meta = null;
    $post_image_id = false;

    if ( has_post_thumbnail( $this->ID ) ) {
        $post_image_id = get_post_thumbnail_id( $this->ID );
    } else {
        $attached_image_ids = get_posts( array(
            'post_parent' => $this->ID,
            'post_type' => 'attachment',
            'post_mime_type' => 'image',
            'posts_per_page' => 1,
            'orderby' => 'menu_order',
            'order' => 'ASC',
            'fields' => 'ids',
            'suppress_filters' => false,
        ) );

        if ( ! empty( $attached_image_ids ) ) {
            $post_image_id = array_shift( $attached_image_ids );
        }
    }

    if ( ! $post_image_id ) {
        return false;
    }

    $post_image_src = wp_get_attachment_image_src( $post_image_id, 'full' );

    if ( is_array( $post_image_src ) ) {
        $post_image_meta = array(
            '@type' => 'ImageObject',
            'url' => $post_image_src[0],
            'width' => $post_image_src[1],
            'height' => $post_image_src[2],
        );
    }

    return $post_image_meta;
}

如何使用此AMP WordPress插件填充每个帖子的图片标签?我希望页面通过结构化数据测试工具,因此他也可以通过AMP验证.

更新:未显示图片的原因是帖子中没有嵌入图片.如果没有默认图像,是否有办法放置默认图像,因此它将通过AMP / Schema验证.

解决方法:

要符合AMP HTML Specification,您不必使用Schema.org结构化数据.

如果Google SDTT指出某个属性“缺失且必填”,则并不意味着AMP或Schema.org都需要该属性. Google不会在您的页面上显示only means,而不会显示其Google搜索结果功能之一(例如Rich Snippets).

例如,有一个Top Stories with AMP功能:轮播,链接到AMP页面,显示每个页面的图像.这就是为什么Google requires此功能的Schema.org图像属性(针对文章)的原因.但是,最好不要为您的文章提供图片,唯一可以“发生”的是,您的页面没有机会出现在“热门故事”轮播中.

如果is_array($post_image_src)为false,您当然可以使用默认图像(例如,占位符)填充$post_image_meta,但这不是一个好主意:该图像将不相关,因此在Google搜索中搜索的用户将不会找不到有用的内容,因此Google搜索有兴趣不向其用户显示您的结果. (但实际上是哪种情况以及哪种方式是SEO问题,属于Webmasters SE.)

标签:schema-org,amp-html,wordpress-plugin,wordpress,php
来源: https://codeday.me/bug/20191119/2032513.html