【问题标题】:Why has the <title>-tag to be placed into the <head> element?为什么要将 <title>-tag 放置到 <head> 元素中?
【发布时间】:2016-08-29 20:35:09
【问题描述】:

在具体示例中,我得到了一个包含许多不同内容页面的网站。根据当前包含的页面,标题是不同的。为此,我得到了以下动态&lt;title&gt;几乎在文档末尾

<title><?php echo $title1,' - ',$title2 ?> - *and some static text here*</title>

$title2 总是在直接包含的文件中,$title1 更深。

到目前为止,我没有发现任何缺点。所有标题均正确显示,并且多个搜索引擎上的所有搜索结果似乎都接受此方法并正确显示。

W3 这样的几个网站说&lt;title&gt; 必须&lt;head&gt; 中......但没有给出任何理由。

那么,我有什么缺点呢?

  • 搜索引擎是否因此对网站的排名很差?
  • 旧版浏览器会根本不显示标题吗?
  • 或者这些信息只是旧的,现在已经没有什么不同了吗?

【问题讨论】:

  • 缺点是,如果您甚至无法将title 放在正确的位置,那么您的网站的架构肯定很差。
  • 仅仅因为我试图缩短文档的几个部分,并不意味着整个架构很差。我称它为实验;)我可以将它改回它应该是的样子——这只意味着比上述问题中的当前解决方案多几行代码。
  • 如果当前的浏览器让你侥幸逃脱,你可能可以继续这样做......不过,这听起来很糟糕。想象一下,如果您有一个庞大的文档(例如single page HTML5 spec),并且用户的连接速度较慢,他们将只能在整个页面加载后才能看到页面标题。没有人关心你是否保存了几行 PHP,而是以正确的方式做事。书名出现在封面是有原因的……

标签: php html include title head


【解决方案1】:

搜索引擎是否因此对网站的排名很差?“旧的浏览器版本会根本不显示标题吗?”

也许,或者新的会。问题是,你永远不能不。你做了一些不标准的事情,所以据你所知,谷歌可能决定从明天开始根本不索引你的标题,并且“突然”没有人可以再找到你的网站了。

或者这些信息只是陈旧的,现在已经没有什么不同了吗?

是和不是。您链接到的信息是关于 HTML 4.01 标准的,该标准确实很旧,但该信息对 HTML5 仍然有效。

顺便说一句,您不必有 HEAD 标记。具有标题的最短有效 HTML5 文档是:

<!DOCTYPE html>
<title>Title</title>

但是,BODY 之后的 TITLE 仍然无效。即使您可以省略 HEAD 标记,当您开始一个 TITLE 标记时它也是隐含的。 HEAD 标签必须是 HTML 标签内的第一个标签。末尾的标题意味着末尾的标题,这会使您的文档无效。

见:W3: The head element (html5)

如果有疑问,您还可以查看W3 validator。它会告诉您,我在上面发布的那个最小文档是有效的,但是一旦您在标题上方开始一个 BODY 标记,它就会无效,无论您是否以及在哪里结束它。

【讨论】:

  • "您链接到的信息是关于 HTML 4.1 标准的,它确实很旧。在 HTML5 中,您可以省略 HEAD 标记甚至 HTML 标记。" — 4.01,而不是 4.1 ......并且 head 和 html 元素的开始和结束标签在 HTML 4.x 中也是可选的(以及所有其他版本的 HTML)。
  • 那里有点草率。 head 仅在 XHTML 中是必需的。我已经更新了那段(没有提到 XHTML 以防止进一步混淆)。谢谢!
  • 我看不出为什么不能在文档末尾,[...] 这正是我的想法。感谢您的意见和解释。如果您阅读了有关此主题的任何新内容,请随时更新 - 我会不时检查。我会投票给你,我只是不允许^^'
猜你喜欢
  • 2019-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-31
  • 2018-03-18
相关资源
最近更新 更多