我已经研究了该主题几天,并发现了许多有关搜索索引的建议。我正在从事一个项目,该项目有许多不同的页面,从简单的产品描述到深入的用户文档。
我将这个问题分为几部分,因为我认为这将使该问题对以后的读者更加有用。
我的一些发现
几个网站似乎采用了如下的文档大纲:
1. Programmer's Guide (https://www.dartlang.org/docs/)
1. Getting Started
2. Concepts
1. Libraries
2. Fundamental classes
etc.
我发现有趣的是,上面的示例未使用<nav>
具有适当标题的元素。我喜欢大纲的简洁性,并且喜欢成为Google,我可以确定他们知道自己在做什么。
但是我很困惑,因为上面的概述没有提到“ Dart”。从语义上仅提及“ Dart”似乎是在主要文档<title>
元素“程序员指南| Dart:结构化Web应用程序”之内。
MDN(Mozilla开发人员网络)是遵循该原则的另一个出色的网站示例。许多<h1>
标题提供了完整的上下文信息(HTML5文档的章节和大纲):
1. Sections and Outlines of an HTML5 Document
1. Untitled Section (nav)
2. Untitled Section (nav)
3. Structure of a Document in HTML 4
4. Problems Solved by HTML5
虽然其他人在上下文方面没有多大意义(避免过时的做法)。例如,下面的HTML5大纲是否与CSS,HTML5或C#...相关,只是文档大纲要经过,谁知道呢!
1. Obsolete practices to avoid
1. Untitled Section (nav)
2. Untitled Section (nav)
3. Doctype
4. <meta> element and charset attribute
更糟糕的是,如果MDN包含2个主题具有相同(或非常相似)标题“避免过时的做法”,其中一个是CSS指南的一部分,另一个是HTML指南的一部分,该怎么办...
在频谱的另一端,网站似乎使用<body>
产品名称(Foo)或主题容器(Foo用户指南)的主标题。然后所有后续页面都<h2>
用作实际页面标题。
问题
搜索引擎如何使用DOM和HTML5轮廓推断类似于MDN网站上的网页上下文?
标记以下HTML5页面的正确方法是什么,以便Google可以在适当的上下文中为该页面编制索引?这包括的使用<title>
,<header>
和<h1>
元件。
- 公司名
- 产品名称
- 用户指南
- 入门
在Web浏览器中查看的HTML中最重要的标题应该代表整个网站的上下文(公司名称或产品名称),主题集合(用户指南)还是实际的实际主题(入门) ?
我最好的猜测
<!DOCTYPE html>
<html>
<head>
<title>Getting Started | User Guide | Product Name - Company Name</title>
</head>
<body>
<header role="banner"> <!-- Note: Lack of <h1> in here -->
<a id="logo" href="http://example.com">Company Name</a>
<nav>
<h1>Site Navigation</h1>
<ul> ... </ul>
</nav>
</header>
<main role="main">
<div class="product-name">Product Name</div>
<div class="document">User Guide</div>
<h1>Getting Started</h1>
<p>blah</p>
</main>
</body>
</html>
引出大纲:
1. Getting Started
<title>
提供上下文。例如,<h1>User Guide for Ubermachine</h1>
在主题标题以<h2>Getting Started</h2>
... 呈现的每个页面上都包含相同的标题是一个坏主意吗?还是大纲应该<h1>Getting Started</h1>
以随附的开头<title>Getting Started | User Guide for Ubermachine</title>
来为搜索引擎提供有用的上下文,这是一个坏主意。这是一个SEO问题。
<title>
提供足够的上下文。