只是考虑一下,XHTML1.1规范和扩展,HTML5(假设)......好吧Markup的设计是为了除非另有说明,“order”不应该重要。
Body标签中的所有内容显然都按照浏览器渲染引擎的特定方式进行了排序,但HEAD和BODY标签本身在概念上与渲染顺序无关(尽管它们的名称,除了包含在HEAD中;如果是include依赖于另一个显然必须首先加载的包含,因此遵循与任何标记语言相同的规则。
将BADY标记块下方的HEAD标记块抛出(至少在基于WebKit的浏览器中),但我迄今为止所做的就是测试标题标记是否正常工作。不是一个完全有益的测试,但是当我在手机上写这个时,我没有时间进一步思考这个过程。
我想知道这样做会影响SEO,更糟糕的是:加载脚本和CSS文件通常在HEAD中处理。我理解最近的一种做法是在标记底部或附近发生外部加载脚本文件,以便 ahem 延迟加载,当页面准备就绪时,这会有什么不同的反应吗?
基本上我问,有一个网站,其中HEAD块位于BODY块下面,* 反响* 是什么?
<html>
<body>
Test
</body>
<head>
<title>Test</title>
<script src="test.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="test.css" />
</head>
</html>
答案 0 :(得分:3)
它只对SEO产生负面影响,如果有的话。
首先,您的提案会导致HTML格式错误。 HTML4.01 DTD严格定义了HTML文档mandates that <head>
的结构,在<body>
之前成为:
<!ENTITY % html.content "HEAD, BODY">
(如果订单无关紧要,则为<!ENTITY % html.content "(HEAD|BODY)+">
其次,我敢打赌,大多数蜘蛛会尽快找到<head>
元素,如果它在<body>
元素之前找不到,那么它可能最多会折扣你的文档,如果不完全忽略它。我怀疑大多数蜘蛛会忽略<head>
之后遇到的任何<body>
元素。
第三,它破坏了用户体验。有时页面可能需要一段时间才能加载,但浏览器会在下载时解析HTML。只要它看到<title>
,它就会将其显示给用户,以便用户知道页面至少已部分加载(即使它尚未呈现)。如果没有这种能力,如果加载速度太慢,用户可能会因为他们认为网站完全没有响应而关闭浏览器标签/窗口。
答案 1 :(得分:0)
有趣的问题,但我坚信HTML结构与人体解剖学(头 - 身 - 脚)非常相似,如果不是在适当的结构中会发生什么以及它的外观?看起来丑陋,难以识别特定的人,这里浏览器相应的通用结构(如头 - 体 - 脚)因此这些是我们需要遵循的预定义结构,以获得最佳效果。
关于搜索引擎优化,异地搜索引擎优化工作在这样的情况下,我们如何遵循结构,当然它将影响谷歌蜘蛛和更多的东西。