我正在开发一个个人网站,第一部分必须包含作者详细信息(如他所工作的组织和电子邮件)。我正在尝试为搜索引擎抓取工具设置内容。
我正在使用HTML 5和微数据。以下是代码:
<header>
<address itemscope itemtype="http://schema.org/Person">
<h1 lang="pt" itemprop="name">Lorem Ipsum Dolor Sit Amet</h1>
<img itemprop="image" src="http://lorempixel.com/150/200/" lang="pt" alt="Lorem Ipsum Dolor Sit Amet">
<p itemprop="jobTitle">Professor of ...</p>
<div itemprop="worksFor" itemscope itemtype="http://schema.org/Organization">
<span itemprop="department" itemscope itemtype="http://schema.org/Organization"><span lang="pt" itemprop="name">Departamento de ...</span></span><br>
<span itemprop="name" lang="pt">Faculdade de Engenharia ...</span><br>
<div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
<span itemprop="streetAddress">Rua Dr. Roberto ...</span>, <span itemprop="postalCode">4200-465</span> <span itemprop="addressLocality">Porto, Portugal</span>
</div>
</div>
<p>Email: <a itemprop="email" href="mailto:foo@bar.com">foo@bar.com</a></p>
</address>
</header>
使用W3C验证器,我收到错误:
Line 11, Column 38: The element h1 must not appear as a descendant of the address element.
<h1 lang="pt" itemprop="name">Lorem Ipsum Dolor Sit Amet</h1>
我理解错误。我正在使用h1
因为作者的名字也是网站的名称。
我的问题是你如何解决这个问题?
答案 0 :(得分:0)
解决了它。
即使标题与作者姓名相同,它们也会对应不同的内容。向上移动标题,并在meta
中添加了address
标记,其中包含此人的姓名。
<body>
<header>
<h1 lang="pt">Lorem Ipsum Dolor Sit Amet</h1>
<address itemscope itemtype="http://schema.org/Person">
<meta lang="pt" itemprop="name" content="Lorem Ipsum Dolor Sit Amet">
<img itemprop="image" src="http://lorempixel.com/150/200/" lang="pt" alt="Lorem Ipsum Dolor Sit Amet">
<p itemprop="jobTitle">Professor of ...</p>
<div itemprop="worksFor" itemscope itemtype="http://schema.org/Organization">
<span itemprop="department" itemscope itemtype="http://schema.org/Organization"><span lang="pt" itemprop="name">Departamento de ...</span></span><br>
<span itemprop="name" lang="pt">Faculdade de Engenharia ...</span><br>
<div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
<span itemprop="streetAddress">Rua Dr. Roberto ...</span>, <span itemprop="postalCode">4200-465</span> <span itemprop="addressLocality">Porto, Portugal</span>
</div>
</div>
<p>Email: <a itemprop="email" href="mailto:foo@bar.com">foo@bar.com</a></p>
</address>
</header>
...
</body>
答案 1 :(得分:0)
嗯..
Renato Rodrigues:“我理解错误。我使用的是h1,因为作者的名字也是网站的名称。”
如果作者的姓名也是网站的名称,那么作者的地址就是文件的地址,你的html页面的地址,对吧?
该标题是您的正文的标题还是正文中某个部分的标题? 如果它是一个部分的标题,那么你需要将它从那里取出并直接放在身体上: 例如:http://w3-video.com/Web_Technologies/HTML5/html5_address_tag.php
答案 2 :(得分:0)
是的,如果它是身体的标题然后就可以了:地址在标题内,标题直接在身上