获取正确的架构以修复“指定了 itemprop 属性,但该元素不是任何项目的属性。”

Bra*_*eal 3 html w3c-validation meta-tags microdata schema.org

我试图让这些元标记与社交媒体一起使用,但我不断收到来自 W3C 验证器的错误:

itemprop属性指定,但元素不是任何项目的属性。

我试过推杆,itemscope itemtype="http://schema.org/Products但那只会犯更多错误。这是我的 HTML 源代码:

<!DOCTYPE html>
  <head>
    <meta charset="utf-8">  
    <meta name="language" content="english"> 
    <meta name="keywords" content="'.$keywords.'">

    <meta property="og:type" content="website" />
    <meta property="og:image" content="'.$meta_image.'"/>
    <meta property="og:url" content="'.$meta_url.'" />
    <meta property="og:site_name" content="'.$meta_name.'"/> 
    <meta property="og:description" name="description" content="'.$description.'" />    
    <meta property="og:title" content="'.$title.'"/>

    <meta itemprop="name" content="'.$title.'">
    <meta itemprop="description" content="'.$description.'">
    <meta itemprop="image" content="'.$meta_image.'">
    <!-- … -->
Run Code Online (Sandbox Code Playgroud)

我的标签有什么问题?

sid*_*ker 6

添加html具有itemscope属性的元素,如下所示:

<!DOCTYPE html>
<html itemscope>
  <head>
    <meta charset="utf-8">  
    …
    <meta itemprop="name" content="'.$title.'">
    …
Run Code Online (Sandbox Code Playgroud)

顺便说一句,您也可以省略head开始标记,并且您应该始终title在每个 HTML 文档中指定一个;所以:

<!DOCTYPE html>
<html itemscope>
  <meta charset="utf-8">
  <title>Products</title>
  …
  <meta itemprop="name" content="'.$title.'">
  …
Run Code Online (Sandbox Code Playgroud)

您需要该itemscope属性的原因是itemscope属性是实际创建item 的原因

换句话说,没有itemscope,你实际上没有一个项目——相反,你只有一堆与任何东西都没有关联的属性。

并且通过itemscopehtml元素上指定属性,文档说的是什么,基本上是这样的,这里指定的属性范围就是整个文档。, 或此处指定的属性适用于整个文档。,