Я вивчав цю тему кілька днів і знайшов багато суперечливих пропозицій щодо пошукової індексації. Я працюю над проектом, який містить безліч різних сторінок, починаючи від простих описів продуктів і закінчуючи поглибленою документацією користувача.
Я розбив це питання на частини, оскільки вважаю, що це зробить кориснішим для майбутніх читачів цього питання.
Деякі мої висновки
Деякі веб-сайти, схоже, прийняли такі контури документів, як:
1. Programmer's Guide (https://www.dartlang.org/docs/)
1. Getting Started
2. Concepts
1. Libraries
2. Fundamental classes
etc.
Мені цікаво, що вищенаведений приклад не використовує <nav>
елемент із відповідним заголовком. Мені подобається простота контуру, і будучи Google, я впевнений, що вони знають, що роблять, коли справа доходить до цього.
Але я плутаюсь, оскільки у наведеному контурі не згадується про "Дарт". Єдине згадування про "Dart" в семантичному сенсі, здається, знаходиться в головному <title>
елементі документа "Посібник програміста | Dart: Структуровані веб-програми".
MDN (Mozilla Developer Network) - ще один яскравий приклад веб-сайту, який дотримується цього принципу. Багато <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>
для фактичної назви сторінки.
Питання
Як пошукові системи визначають контекст веб-сторінки, подібної до веб-сайту MDN, використовуючи DOM та контур HTML5?
Який правильний спосіб розмітити наступну сторінку HTML5, щоб Google міг проіндексувати сторінку у відповідному контексті? Це включає в себе використання <title>
, <header>
і <h1>
елементи.
- Назва компанії
- Назва продукту
- Керівництво користувача
- Починаємо
Найважливіший заголовок у 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>
достатньо контексту.