头部内的锚标签?

时间:2013-11-07 08:44:52

标签: html semantic-markup

我希望我的网站有资格获得Google+ Direct Connect

所以经过谷歌搜索后我找到了this Google Support page,后来被编辑了 View Google Support page providing these instructions via WayBack Machine

  

您可以通过插入一小段代码直接链接您的网站   您网站上的代码,然后将该网站列为您的Google+   页面在配置文件的“关于”部分中的主要链接。例如,   如果您的Google+信息页的主要链接设置为www.pagewebsite.com,   您可以通过将以下代码段放在网站HTML的<head>标记中来创建bidrectional链接:

<a href="https://plus.google.com/{+PageId}" rel="publisher" />

是什么给出的?头部内的锚标记?

我认为头部只允许使用title / meta / link标签。

将上面的代码段放在head标签中是否合法?

3 个答案:

答案 0 :(得分:17)

我认为Google的文档中存在错误,这应该是<link> - 标记,如下所示:

<link href="https://plus.google.com/{+PageId}" rel="publisher" />

如果有效,您可以在https://developers.google.com/structured-data/testing-tool/上对其进行测试。在您的网站中加入<link> - 标记,然后查看Google使用此工具检测到的内容。有一个“发布商”部分,您可以在其中查看Google是否检测到了正确的信息。

我在我的网站上使用<link>,Google会检测到正确的值。

答案 1 :(得分:1)

根据任何HTML规范,a内的head元素当然无效。我不知道为什么谷歌会告诉你这样做,但可能他们的软件实际上是在寻找这样的标签。

在浏览器中实际发生的情况是a标记隐式关闭了head元素(如果您在浏览器中查看Developer Tools中的文档树,则可以看到这一点)。这并不像听起来那么糟糕,因为head中的其他元素仍然会被正常处理。例如,即使title元素放置在body内也可以。说实话,将文档划分为headbody只是一种形式。

标记<a href="https://plus.google.com/{+PageId}" rel="publisher" />将仅作为开始标记,可能会导致顽皮的意外,因为文档的开头将位于链接内(可能会扩展到文档的末尾!)。仅当页面以XML内容类型提供时,标记才会被视为“自动关闭”。因此,如果您被迫使用这样的元素,至少要用真正的结束标记写它;

<a href="https://plus.google.com/{+PageId}" rel="publisher"></a>

对于可访问性和可用性仍然不好,因为空链接仍然可以参与Tab键顺序等。

答案 2 :(得分:0)

使用链接标记是标题中的正确(有效!)方式:

<link href="https://plus.google.com/{+PageId}" rel="publisher" />

如果你按照说明(Link your brand page to your website)坚持使用逐字锚标记,那么你就会为自己做好准备,让自己陷入困境。

事实上,我们刚刚经历过它。它似乎从iOS 8.x开始,移动版Safari将看到这个锚标记并将其(以及它下面的代码!)移动到正文。这打破了我们现有的智能旗帜。

我们切换为使用链接标记并验证Google仍然检测到正确的值。