Что такое семантическая вёрстка и зачем она нужна — Блог HTML Academy
Давным-давно (лет пятнадцать назад) почти все делали сайты и не переживали о том, что под капотом. Верстали таблицами, использовали всё, что попадётся под руку (а попадались в основном div и span) и не особо заморачивались о доступности. А потом случился HTML5 и понеслось.
Семантическая вёрстка — подход к разметке, который опирается не на содержание сайта, а на смысловое предназначение каждого блока и логическую структуру документа. Даже в этой статье есть заголовки разных уровней — это помогает читателю выстроить в голове структуру документа. Так и на странице сайта — только читатели будут немного другими.
Почему семантика важна
Чтобы сделать сайт доступным. Зрячие пользователи могут без проблем с первого взгляда понять, где какая часть страницы находится — где заголовок, списки или изображения. Для незрячих или частично незрячих всё сложнее. Основной инструмент для просмотра сайтов не браузер, который отрисовывает страницу, а скринридер, который читает текст со страницы вслух.
Этот инструмент «зачитывает» содержимое страницы, и семантическая структура помогает ему лучше определять, какой сейчас блок, а пользователю понимать, о чём идёт речь. Таким образом семантическая разметка помогает большему количеству пользователей работать с вашим сайтом. Например, наличие заголовков помогает незрячим в навигации по странице. У скринридеров есть функция навигации по заголовкам, что ускоряет знакомство с информацией на сайте.
Чтобы сайт был выше в поисковиках. Поисковики не разглашают правила ранжирования, но известно, что наличие семантической разметки страниц помогает поисковым ботам лучше понимать, что находится на странице, и в зависимости от этого ранжировать сайты в поисковой выдаче.
Классический пример — расписание поезда «Сапсан» в выдаче Google.
Разработчики tutu.ru сверстали таблицу тегом table вместо div и их сниппет оказался в выдаче Google по важному коммерческому запросу.
Семантика прописана в стандартах. Многие разработчики по старинке пользуются конструкциями типа <div> для обозначения навигации или других структурных элементов страницы. Тем временем в стандарте HTML есть несколько семантических тегов, которые рекомендуется использовать для разметки страниц вместо
и span
. В спецификации для каждого семантического элемента описана его роль.
Ну и представьте, насколько проще читать <nav></nav>
вместо <div></div>
. Или вот такой код. Смотрите и сразу понятно, что тут и зачем.
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="utf-8"> <title>Заголовок страницы</title> </head> <body> <header> <!— Шапка сайта —> </header> <main> <!— Основное содержимое страницы —> </main> <footer> <!— Подвал сайта —> </footer> </body> </html>
Основные семантические теги HTML
Среди «старых» тегов из ранних версий HTML тоже есть семантические — например, тег <p>
, который обозначает параграф. При этом теги <i>
или <b>
не семантические, потому что они не добавляют смысла выделенному тексту, а просто определяют его внешний вид.
Но в актуальной версии стандарта HTML Living Standard есть семантические теги почти для всех основных частей сайта, и лучше пользоваться ими. Вот несколько примеров семантических тегов.
<article>
- Значение: независимая, отделяемая смысловая единица, например комментарий, твит, статья, виджет ВК и так далее.
- Особенности: желателен заголовок внутри.
- Типовые ошибки: путают с тегами
<section>
и<div>
.
<section>
- Значение: смысловой раздел документа. Неотделяемый, в отличие от <article>.
- Особенности: желателен заголовок внутри.
- Типовые ошибки: путают с тегами
<article>
и<div>
.
<aside>
- Значение: побочный, косвенный для страницы контент.
- Особенности: может иметь свой заголовок. Может встречаться несколько раз на странице.
- Типовые ошибки: считать
<aside>
тегом для «боковой панели» и размечать этим тегом основной контент, который связан с окружающими его элементами.
<nav>
- Значение: навигационный раздел со ссылками на другие страницы или другие части страниц.
- Особенности: используется для основной навигации, а не для всех групп ссылок. Основной является навигация или нет — на усмотрение верстальщика. Например, меню в подвале сайта можно не оборачивать в
<nav>
. В подвале обычно появляется краткий список ссылок (например, ссылка на главную, копирайт и условия) — это не является основной навигацией, семантически для такой информации предназначен<footer>
сам по себе. - Типовые ошибки: многие считают, что в
<nav>
может быть только список навигационных ссылок, но согласно спецификации там может быть навигация в любой форме.
<header>
- Значение: вводная часть смыслового раздела или всего сайта, обычно содержит подсказки и навигацию. Чаще всего повторяется на всех страницах сайта.
- Особенности: этих элементов может быть несколько на странице.
- Типовые ошибки: использовать только как шапку сайта.
<main>
- Значение: основное, не повторяющееся на других страницах, содержание страницы.
- Особенности: должен быть один на странице, исходя из определения.
- Типовые ошибки: включать в этот тег то, что повторяется на других страницах (навигацию, копирайты и так далее).
<footer>
- Значение: заключительная часть смыслового раздела или всего сайта, обычно содержит информацию об авторах, список литературы, копирайт и так далее. Чаще всего повторяется на всех страницах сайта.
- Особенности: этих элементов может быть несколько на странице. Тег
<footer>
не обязан находиться в конце раздела. - Типовые ошибки: использовать только как подвал сайта.
Как разметить страницу с точки зрения семантики
Процесс разметки можно разделить на несколько шагов с разной степенью детализации.
- Крупные смысловые блоки на каждой странице сайта. Теги:
<header>, <main>, <footer>
. - Крупные смысловые разделы в блоках. Теги:
<nav>, <section>, <article>, <aside>
. - Заголовок всего документа и заголовки смысловых разделов. Теги:
<h2>-<h6>
. - Мелкие элементы в смысловых разделах. Списки, таблицы, демо-материалы, параграфы и переносы, формы, цитаты, контактная информация и прогресс.
- Фразовые элементы. Изображения, ссылки, кнопки, видео, время и мелкие текстовые элементы.
Более подробно методика создания семантической разметки описана в навыке «Создание семантической разметки по макету» и профессиональных курсах HTML Academy.
Создание семантической разметки по макету
Навык, без которого фронтенд-разработчикам ну просто никуда.
Изучить
Сомневаюсь, какие теги использовать
Есть простые правила для выбора нужных тегов.
- Получилось найти самый подходящий смысловой тег — использовать его.
- Для потоковых контейнеров —
<div>
. - Для мелких фразовых элементов (слово или фраза) —
<span>
.
Правило для определения <article>, <section>
и <div>
:
- Можете дать имя разделу и вынести этот раздел на другой сайт? —
<article>
- Можете дать имя разделу, но вынести на другой сайт не можете? —
<section>
- Не можете дать имя? Получается что-то наподобие «новости и фотогалерея» или «правая колонка»? —
<div>
Как точно не нужно делать
Не используйте семантические теги для красоты. Для этого есть CSS.
Может показаться, что некоторые теги подходят для того, чтобы сделать страницу покрасивее, подвигать текст или добавить ему интервалов. Но то, что браузер по умолчанию отображает теги как-то, как вам нужно, не значит, что это нужно использовать. Посмотрим на пример.
Здесь сразу несколько ошибок:
- Тег
<blockquote>
должен использоваться для выделения в тексте цитат, а не просто случайного выделения текста. Так совпало, что в браузерах этот блок по умолчанию выделен, но это не значит, что нужно его использовать таким образом. - Тег
<ul>
тоже использован для визуального «сдвига» текста. Это неверно, потому что этот тег должен быть использован только для обозначения списков, а во-вторых, в тег<ul>
можно вкладывать только теги<li>
и ничего больше. - Тег
<p>
использован, чтобы визуально раздвинуть текст. На самом деле этот тег используется для выделения параграфов.
А любое выделение, сдвиг или иные превращения текста можно выполнить с помощью CSS.
Поэтому используйте семантические теги по назначению.
HTML5 | Семантические элементы
165
Веб-программирование — HTML5 — Семантические элементы
За почти два десятилетия существования Интернета веб-сайты претерпели значительные изменения. Но больше всего удивляют не масштабы изменения Интернета, а то, как хорошо сохранились древние элементы HTML. По существу, веб-разработчики создают современные веб-сайты, используя такой же набор элементов, что и десять лет тому назад.
Один элемент в особенности — скромный <div>, является краеугольным камнем каждой современной веб-страницы. С помощью элементов <div> в документе HTML можно разместить колонтитулы, боковые панели, панели навигации и многое другое. Добавив хорошую щепотку CSS-форматирования, эти секции можно превратить в блоки с границами или затененные колонки и поместить каждый из них точно в требуемом месте.
Форматирование страниц с применением элемента <div> и таблиц стилей — метод прямолинейный, мощный и гибкий. Но не прозрачный. Это означает, что изучение разметки другого разработчика требует определенных усилий в том, чтобы разобраться в каждом элементе <div> и целиком во всей странице. Чтобы понять логику разметки, необходимо перескакивать туда и обратно между разметкой, таблицами стилей и отображением страницы в браузере. С таким затруднением вам придется столкнуться при рассмотрении более-менее сложной веб-страницы любого разработчика, хотя, скорее всего, вы применяете такие же методы для создания своих веб-страниц.
Эта ситуация заставила разработчиков задуматься, нельзя ли заменить элемент <div> чем-либо лучшим? Чем-то, что работало бы подобно <div>, но было бы более осмысленным. Чем-то, что помогло бы отделить боковые панели от заголовков, а рекламные панели от меню. Стандарт HTML5 позволяет сделать эту мечту реальностью, предоставляя набор новых элементов для структурирования страниц.
Что такое семантические элементы?
Новые семантические элементы HTML5 позволяют улучшить структуру веб-страницы, добавляя смысловое значение заключенному в них содержимому. Например, новый элемент <time> обозначает действительную дату или время веб-страницы. Вот самый простой пример использования этого элемента:
Регистрация начнется <time>2012-11-12</time>.
В браузере эта разметка отображается как обычный текст «Регистрация начнется 2012-11-25».
Здесь важно понимать то обстоятельство, что элемент <time> не обладает никакими встроенными возможностями форматирования. По сути, ничто не говорит устройству для чтения веб-страниц о том, что дата в коде страницы заключена в дополнительный элемент. Хотя к элементу <time> можно добавить дополнительное форматирование с помощью таблицы стилей, по умолчанию он ничем не отличается от обычного текста.
В данном случае, элемент <time> предназначен содержать одну единицу информации. Но большинство семантических элементов HTML5 не такие: они служат для обозначения блоков содержимого большего размера. Например, элемент <nav> обозначает набор ссылок для перемещения по содержимому, элемент <footer> в коде обрамляет нижний колонтитул страницы и т.
Хотя семантические элементы наименее впечатляющие из новых возможностей HTML5, они составляют одну из самых больших групп. По сути, большинство новых элементов HTML5 является семантическими элементами.
Все семантические элементы имеют одну общую отличительную особенность: они по существу ничего не делают. В противоположность, элемент <video>, например, вставляет в веб-страницу полноценный видеоплеер. Зачем же тогда утруждать себя использованием набора новых элементов, которые никак не изменяют внешний вид веб-страницы? Этому есть несколько хороших причин:
Более удобное редактирование и сопровождение. Разметка традиционной HTML-страницы может быть трудной для понимания. Чтобы понять общую структуру и значение отдельных блоков страницы, часто приходится исследовать ее таблицу стилей. А использование семантических элементов HTML5 позволяет разработчику предоставить в разметке страницы дополнительную информацию о ее структуре. Это облегчит вам жизнь, когда потребуется редактировать эту страницу через несколько месяцев, и будет еще более кстати, если вашу работу придется редактировать кому-то другому.
Доступность. Одной из ключевых тем в сфере современного веб-дизайна является создание доступных страниц, т. е. страниц, которые пользователи могут просматривать и перемещаться по ним с помощью программ-ридеров и вспомогательных средств.
Оптимизация поисковых движков. Поисковые движки наподобие Google или Yandex используют мощные поисковые роботы — автоматизированные программы, которые методически обходят Интернет и просматривают все страницы, которые они могут найти — для сканирования содержимого веб-страниц и составления для них указателей в своих поисковых базах данных.
Чем лучше Google понимает вашу веб-страницу, тем больше шансов, что он сможет сопоставить ее содержимое с поисковым запросом, и тем больше шансов, что ваша веб-страница будет отображена в результатах чьего-либо поиска. В настоящее время поисковые роботы уже проверяют на наличие некоторых семантических элементов HTML5, чтобы собрать всю возможную информацию об индексирующих их веб-страницах.
Из всего этого можно сделать следующий вывод: правильно используя семантические элементы, можно создавать более аккуратные и понятные веб-страницы, готовые для работы со следующим поколением браузеров и веб-приложений.
Модифицирование традиционной HTML-страницы
Легче всего начать знакомство с новыми семантическими элементами, а также обучаться их применению для структурирования страницы на классическом HTML-документе и вставить в него некоторые облагораживающие элементы HTML5. На рисунке ниже показан первый пример, который вы можете попробовать реализовать:
Это простая, самодостаточная веб-страница, содержащая статью, хотя другие типы содержимого (например, сообщения блогов, описание продукта или короткий рассказ) вполне бы подошли для этих целей.
Структурирование страницы старым способом
Отформатировать страницу, показанную на рисунке, можно несколькими разными способами. К счастью, в этом примере применены самые передовые подходы HTML, поэтому в разметке нет ни намека на средства форматирования.
В следующем листинге приводится сокращенная версия разметки:
<div> <h2>Язык C#</h2> <p>Краткое описание языка</p> <p>взято на Лурке</p> </div> <div> <p><span>C#</span> («Си-шарп» ...</p> <p>...</p> <h3>История</h3> <p>...</p> <h3>Анти-история</h3> <p>...</p> </div> <div> <p>Содержимое доступно в соответствии с лицензией Creative Commons Атрибуция.</p> <p> <a href="#">О нас</a> <a href="#">Контакты</a> </p> <p>Copyright © 2013</p> </div>
В хорошо написанной, традиционной HTML-странице (подобной этой) большинство работы по форматированию отдается на откуп таблице стилей посредством контейнеров <div> и <span>. Элемент <span> позволяет форматировать отрывки текста внутри другого элемента. А элемент <div> — целые блоки содержимого, и устанавливает общую структуру страницы.
В данном случае перед таблицей стилей стоит легкая задача форматирования. Для всей страницы установлена максимальная ширина в 1000 пикселов, чтобы текст не отображался длинными строками на широкоформатных мониторах. Верхний колонтитул помешен в блок синего цвета, содержимое отцентрировано:
body { font-family: "Lucida Sans Unicode", "Lucida Grande", Verdana, sans-serif; max-width: 1000px; margin:0 auto; } /* Форматируем элемент <div>, который представляет верхний колонтитул (как блок с рамкой и синей заливкой) */ .Header { background-color: #7695FE; border: thin #336699 solid; padding: 10px; margin: 10px; text-align: center; } /* Форматируем все заголовки <hl> в элементе <div> верхнего колонтитула (заголовок статьи) и т. д */ .Header h2 { margin: 0px; color: white; font-size: xx-large; } .Header .Teaser { margin: 0px; font-weight: bold; } .Header .Byline { font-style: italic; font-size: small; margin: 0px; } .Content { font-size: medium; font-family: Cambria, Cochin, Georgia, Times, "Times New Roman", serif; padding-top: 20px; padding-bottom: 5px; padding-left: 50px; padding-right: 50px; line-height: 120%; } .Content .LeadIn { font-weight: bold; font-size: large; font-variant: small-caps; } .Content h3 { color: #24486C; margin-bottom: 2px; font-size: medium; } .Content p { margin-top: 0px; } .Footer { text-align: center; font-size: x-small; } .Footer .Disclaimer { font-style: italic; } . Footer p { margin: 3px; }
Структурирование страницы с помощью HTML5
Элемент <div> — основное средство современного веб-дизайна. Это контейнер общего назначения, с помощью которого можно форматировать любую часть веб-страницы. Недостатком элемента <div> является то, что он не предоставляет никакой информации о странице. Встретив в разметке элемент <div>, вы (или браузер, средство разработки, скрин-ридер, поисковый робот и т. п.) понимаете, что нашли отдельный блок страницы, но не знаете назначение этого блока.
Чтобы исправить такую ситуацию, в HTML5 некоторые элементы <div> можно заменить более описательными семантическими элементами. Эти семантические элементы действуют в точности таким же образом, как и элемент <div>: они группируют часть разметки в блок, но не выполняют никаких собственных операций над содержимым блока; они также предоставляют «стилевую зацепку», позволяющую присоединять форматирование. Но кроме всего этого, они также добавляют в страницу семантический смысл.
Далее приводится разметка страницы, показанной на рисунке выше, но с применением новых элементов. В частности, два элемента <div> заменены HTML5-элементами <header> и <footer>:
<header> <h2>Язык C#</h2> ... </header> <div> ... </div> <footer> ... </footer>
Соответственно изменятся и селекторы стилей CSS:
header { background-color: #7695FE; border: thin #336699 solid; padding: 10px; margin: 10px; text-align: center; } header h2 { /* ... */ } /* ... */ footer { text-align: center; font-size: x-small; } footer .Disclaimer { font-style: italic; } footer p { margin: 3px; }
Оба подхода одинаково действенные. Такая гибкость, без необходимости следовать жестким правилам, в HTML5 присуща многим решениям по разработке веб-страниц.
Обратите внимание на блок <div>, оставшийся в содержимом. Это вполне допустимо, т.к. HTML5-страницы часто содержат смесь семантических элементов и более общего контейнера <div>. Так как в HTML5 не существует отдельного элемента для содержимого, такого как, например, <content>, то значение обычного элемента <div> остается понятным.
Наконец, есть еще один элемент, который стоит добавить в этот пример. Это элемент <article>, который представляет завершенную, самодостаточную единицу содержимого, например запись в блоге или новостную заметку. Элемент <article> обрамляет заголовок, строку с именем автора и основное содержимое. Добавив элемент <article> к разметке, получим следующую структуру:
<article> <header> <h2>Язык C#</h2> ... </header> <div> ... </div> <footer> ... </footer> </article>
Конечная структура страницы показана на рисунке:
Хотя новая разметка отображается в браузере точно так же, как и старая, сама разметка содержит довольно много дополнительной информации. Например, заглянувший на ваш сайт поисковый робот по элементу <article> может быстро разобраться, где находится содержимое страницы, а по элементу <header> — где заголовок содержимого. Элемент <footer> не будет представлять для него интереса.
В предыдущем примере мы удачно применили элемент <header>. Но кроме этого элемента в HTML5 добавлен еще один элемент для работы с заголовками: <hgroup>. Официальные правила его применения следующие.
Прежде всего, для обычных отдельных верхних колонтитулов, не имеющих специального содержимого, вполне подойдет один из пронумерованных элементов заголовка — <h2>, <h3>, <h4> и т.д. А заголовок и его подзаголовок можно вместе обернуть в элемент <hgroup> (но в таком случае не пытайтесь втиснуть туда что-либо другое, кроме пронумерованных элементов заголовка).
Увесистый верхний колонтитул, т.е. включающий кроме заголовка еще какое-то содержимое (например, краткое содержание статьи, дату публикации, имя автора, изображение или ссылки на подтемы), можно обернуть в элемент <header>:
<header> <hgroup> <h2>Язык C#</h2> <h3>Краткое описание языка</h3> </hgroup> <p>взято на Лурке</p> </header>
Это, конечно же, несколько модифицированное содержимое из предыдущего примера: вместо элемента <р> подзаголовок обозначен элементом <h3>.
С первого взгляда такая разметка может показаться потенциально сбивающей с толку. С точки зрения структуры она могла бы подразумевать, что все последующее содержимое является частью подраздела, который начинается с заголовка второго уровня, что не имеет особого смысла. В конце концов, кому нужна статья, состоящая целиком из одного большого подраздела? И даже если такая структура не влияет на отображение страницы в браузере, она меняет принцип создания схемы документа браузерами и другими инструментами.
К счастью, эта проблема решается автоматически элементом <hgroup>. В структурном аспекте он обращает внимание только на заголовки верхнего уровня (в данном случае это <h2>). Другие заголовки отображаются в браузере, но они не включаются в схему документа. Такое поведение вполне логично, т. к. эти заголовки предназначены для обозначения подзаголовков, а не подразделов.
Вставка рисунков с помощью элемента <figure>
Многие веб-страницы оформляются изображениями. Но концепт рисунка несколько иной, чем изображения. Спецификация HTML5 советует рассматривать рисунки во многом подобно рисункам в книге, иными словами, изображение, отдельное от текста, но на которое в тексте делаются ссылки.
В общем, рисунки размещаются как плавающие объекты, т.е. их вставляют в первое удобное место в тексте, вместо того чтобы закреплять возле конкретного слова или элемента. Часто рисунки снабжены подписями, которые плавают вместе с ними.
В следующем листинге показан пример разметки HTML, которая добавляет рисунок к статье с помощью стандартного синтаксиса:
<div> <img src="image.jpg" alt="C-Sharp" /> <p>Язык для промышленной разработки на платформе .NET Framework</p> </div>
В разметке подразумевается, что для размещения рисунка используется правило в таблице стилей, которое также устанавливает поля, управляет форматированием подписи к рисунку и, необязательно, создает вокруг него рамку. В следующем листинге приведен пример такого правила:
/* Форматируем блок плавающего рисунка. */ .FloatFigure { float:left; margin-left:0px; margin-top:0px; margin-right:20px; margin-bottom:0px; } /* Форматирует текст подписи к рисунку */ .FloatFigure p { max-width:225px; font-size:small; font-style:italic; margin-bottom:5px; }
Если вам уже приходилось раньше создавать подобный код для вставки рисунка то, возможно, будет интересно узнать, что HTML5 предоставляет новые семантические элементы, которые идеальным образом подходят для данного типа задач. В частности, вместо использования банального элемента <div> для контейнера рисунка можно использовать элемент <figure>. А текст подписи к рисунку помещается в элемент <figcaption> внутри элемента <figure> следующим образом:
<figure> <img src="image. jpg" alt="C-Sharp" /> <figcaption>Язык для промышленной разработки на платформе .NET Framework</figcaption> </figure>
Добавление боковой панели с помощью элемента <aside>
Новый элемент <aside> представляет содержимое, которое по смыслу связано с окружающим его текстом. Например, его можно использовать как врезку в печатной работе, чтобы ввести связанную тему или развить вопрос, исследуемый в основном документе. Логично применять элемент <aside> также в случаях, когда нужно где то примостить блок объявлений, несколько ссылок на связанное содержимое или даже броскую цитату во врезке.
Этот эффект можно с легкостью создать с помощью хорошо приработанного элемента <div>, но элемент <aside> предоставляет более осмысленный способ делать разметку того же самого содержимого:
<aside> <img src="quotes_start.png"> Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования. <img src="quotes_end.png"> </aside>
В этот раз таблица стилей врезает плавающую цитату справа:
aside { float: right; max-width: 300px; border-top: thin black solid; border-bottom: thick black solid; font-size: 20px; line-height: 130%; font-style: italic; padding-top: 5px; padding-bottom: 5px; margin-left: 15px; margin-bottom: 10px; } aside img { width:40px; height:30px; vertical-align: bottom; }
Создание навигационных ссылок с помощью элемента <nav>
HTML5 позволяет создавать средства навигации по сайту с помощью семантического элемента <nav>. Элемент <nav> служит оболочкой для блока ссылок, указывающих на тематические разделы текущей страницы или на другие страницы веб-сайта.
Большинство страниц имеет несколько блоков <nav>. Но не все ссылки требуется помещать в блоки <nav>, обычно этот блок резервируется для самых больших и наиболее важных разделов навигации страницы. Ниже показан пример использования этого элемента:
<nav> <ul> <li><a href="">Ссылка 1</a></li> <li><a href="">Ссылка 2</a></li> <li><a href="">Ссылка 3</a></li> </ul> </nav>
nav { margin:10px; max-width:1000px; background-color:#FF6633; text-align:center; } nav ul { list-style:none; display: inline-block; } nav ul li { float:left; margin:0px 10px 0px 10px; } nav ul a { text-decoration:none; display:block; color:#FFFFFF; }
Создание разворачиваемых блоков с помощью элементов <details> и <summary>
Несомненно, вы часто видели на веб-сайтах разворачиваемые блоки, разделы содержимого, которые можно показать или скрыть, щелкнув на заголовке. Создание разворачиваемого блока является одним из самых легких трюков веб-дизайна, который можно провернуть с помощью базового сценария JavaScript. Нужно просто отреагировать на щелчок по заголовку и изменить параметры стиля, чтобы скрыть блок.
В этом отношении представляет интерес то обстоятельство, что HTML5 добавляет два семантических элемента, предназначенных для автоматизации этого поведения. Идея заключается в том, что разворачиваемый блок вставляется в элемент <details>, а заголовок блока — в элемент <summary>. Получим разметку наподобие следующей:
<details> <summary>Блок №1</summary> <p>Создание разворачиваемых блоков с помощью элементов details и summary</p> </details>
Браузеры, которые поддерживают эти элементы, показывают только заголовок и какую-либо безделицу типа небольшого треугольничка рядом с заголовком. Когда пользователь щелкает по заголовку, блок разворачивается, показывая все свое содержимое. Браузеры без поддержки элементов <details> и <summary> покажут все содержимое с самого начала, не предоставляя пользователю никакой возможности свернуть его.
Отношение веб-разработчиков к элементам <details> и <summary> несколько противоречивое. Многие из них считают, что эти элементы не совсем семантические, т.е. они имеют дело больше со стилем, чем с логической структурой.
Но пока лучше всего избегать использования элементов <details> и <summary> из-за низкого уровня их поддержки браузерами. Хотя можно было бы написать обходное JavaScript-решение для браузеров, не поддерживающих этих элементов, но для этого потребуется больше усилий, чем для написания нескольких строк JavaScript для выполнения операций сворачивания/разворачивания самостоятельно и к тому же на любом браузере.
Семантические элементы в HTML5. — Как создать сайт
Семантические элементы в HTML5.
Здравствуйте! В этой статье разговор пойдет о семантических элементах в HTML5. Эти элементы помогают веб-разработчику разметить страницу на основные части и также поисковику будет легче распознавать отдельные части страницы. До HTML5 в разметке страниц использовался тег <div>, которому присваивали классы или реже идентификаторы id для структурирования и организации разметки страницы.
Таким образом на веб-странице располагали хедер, боковые панели, навигацию, подвал (футер) и многое другое. Новый стандарт HTML5 предоставил разработчикам новые теги для структурирования, организации содержимого и разметки страницы. Новые семантические элементы HTML5 позволили структурировать документ по отдельным частям, чего так раньше не хватало.
Для того как отображать внешний вид элементов нет строгих правил, поэтому вы можете задавать стиль элементам как вам нравится. По умолчанию все новые элементы броузер относит к строчным поэтому для того чтобы они корректно отображались в браузере им надо задать display: block, это сделает их блочными, а блочному элементу можно задать размеры и они будут генерировать после себя небольшие отступы такое поведение характерно для всех блочных элементов.
Секционные элементыЭлемент <header>
Данный элемент предназначен для отображения верхней (шапки) части страницы. Он объединяет меню, логотип в общем все что находится в верхней части сайта. На веб-странице может быть одновременно больше одного элемента <header>.
<header> <hgroup> <h2>...</h2> <h3>...</h3> </hgroup> </header> <header> <hgroup> <h2>...</h2> <h3>...</h3> </hgroup> </header>Элемент <hgroup>
Он предназначен для группировки элементов заголовков <h2> — <h6> это требуется когда заголовок имеет сложную структуру
<hgroup> <h2>...</h2> <h3>...</h3> </hgroup> <hgroup> <h2>. ..</h2> <h3>...</h3> </hgroup>Элемент <nav>
Предназначен для создания панели навигации меню, и всего что связано с меню.
<nav> <ul> <li><a>...</a></li> <li><a>...</a></li> <li><a>...</a></li> </ul> </nav> <nav> <ul> <li><a>...</a></li> <li><a>...</a></li> <li><a>...</a></li> </ul> </nav>
В качестве меню можно использовать не только списки, но и другие элементы например абзацы, но как правило используются списки.
<nav> <p><a href="">...</a></p> <p><a href="">...</a></p> </nav> <nav> <p><ahref="">. ..</a></p> <p><ahref="">...</a></p> </nav>
И можно размещать заголовки внутри элемента:
<nav> <h3>...</h3> <ul> <li><a>...</a></li> <li><a>...</a></li> <li><a>...</a></li> </ul> </nav> <nav> <h3>...</h3> <ul> <li><a>...</a></li> <li><a>...</a></li> <li><a>...</a></li> </ul> </nav>Элемент <article>
Используется для группировки содержимого то есть контента это статьи, анонсы стаей и.т.д. в общем все что связано с контентом.
<article> <header> <h3>...</h3> </header> <p>. ..</p> <footer> Опубликовано в категории<a href="/?cat=3" > Новости</a>. <a href="/?p=17#respond">5 комментариев</a> </footer> </article> <article> <header> <h3>...</h3> </header> <p>...</p> <footer> Опубликовано в категории<ahref="/?cat=2">Новости </a>. <ahref="/?p=17#respond">4 комментария</a> </footer> </article>Элемент <section>
Используется для разделения страницы или статьи на темматические разделы или подразделы.
<article> <h2>...</h2> <section> <h3>...</h3> <p>...</p> </section> <section> <h3>...</h3> <p>...</p> </section> <p>. ..</p> </article> <article> <h2>...</h2> <section> <h3>...</h3> <p>...</p> </section> <section> <h3>...</h3> <p>...</p> </section> <p>...</p> </article>Элемент <aside>
Предназначен для организации боковых панелей ил сайдбаров вывода блоков с рекламой, дополнительных меню.
<aside> <h3>...</h3> <p>...</p> </aside> <aside> <h3>...</h3> <p>...</p> </aside>Элемент <footer>
Формирует подвал сайта, где обычно размещаются ссылки на страницы сайта также информация о авторских правах на контент сайта.
<footer> <address>...</address> <small>@2017. ..</small> </footer> <footer> <address>...</address> <small>@2017...</small> </footer>Элемент <address>
Ну тут название говорит само за себя да правильно этот элемент предназначен для выода адреса.
Группировка контентаЭлементы <figure> и <figcaption>Эти элементы нужны для группировки картинок, причем figcaption служит подписью к картинкам.
<figure> <img src="picture.jpg" alt="Зима"> <figcaption>Зимний лес</figcaption> </figure> <figure> <img src="picture.jpg"alt="Весна"> <figcaption>Весенний лес</figcaption> </figure>
Семантические элементы для текстового содержимогоЭлементы для поддержки языков Восточной Азии <rp>, <rt> и <ruby>
Тег <rp> устанавливает, что показывать, если браузер не поддерживает аннотаций типографики Восточной Азии. Используется вместе с тегами <ruby> и <rt>.
Тег <rt> добавляет аннотацию, объясняя написание символов Восточной Азии заключенных в контейнер <ruby>.
Тег <ruby> объясняет написание символов.
Элемент <time>Нуджен для отображения даты и времени
Пример <time datetime=»2016-09-25T12:00″> 25 Сентября 2016</time>.
Элемент <mark>Предназначен для выделения важного содержимого.
Элемент <wbr>Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Поделиться
Твитнуть
Поделиться
(Visited 741 times, 1 visits today)
Новые семантические элементы в HTML
Следующие элементы были введены для лучшей структуры:
-
представляет общий документ или раздел приложения. Его можно использовать вместе с элементами,
,
,
,
и
-
представляет собой независимую часть содержимого документа, например запись в блоге или газетную статью. -
представляет часть контента, которая лишь немного связана с остальной частью страницы.
-
-
<заголовок>
представляет собой группу вводных или навигационных средств. -
представляет собой нижний колонтитул раздела и может содержать информацию об авторе, информацию об авторских правах и т. д.
-
представляет раздел документа, предназначенный для навигации.
-
<рисунок>
представляет собой часть автономного потока содержимого, на который обычно ссылаются как на единую единицу из основного потока документа. -
можно использовать в качестве подписи (опционально). -
представляет основной раздел содержимого тела документа или приложения
Более подробно они будут рассмотрены ниже. Затем есть несколько других новых элементов.
<встроить>
используется для содержимого плагина.
Не относится к определенному критерию успешности
<знак>
представляет фрагмент текста в одном документе, помеченный или выделенный для справочных целей из-за его актуальности в другом контексте.
Относится к критерию успеха 1.3.1
<прогресс>
представляет ход выполнения какой-либо автоматизированной задачи, например сохранения или загрузки файла.
Соответствует критерию успеха 3.3.5 /
<метр>
представляет измерение, например использование диска.
Соответствует критерию успеха 3. 3.2
<время>
представляет дату и/или время.
Соответствует критерию успеха 3.3.2
<данные>
, что позволяет аннотировать содержимое машиночитаемым значением.
Соответствует критерию успеха 3.3.2
,
и
позволяют размечать рубиновые аннотации.
Соответствует критерию успеха 1.3.1
представляет собой фрагмент текста, который необходимо изолировать от его окружения в целях двунаправленного форматирования текста.
Соответствует критерию успеха 1.3.2
представляет возможность разрыва строки.
Соответствует критерию успеха 1.3.1
<холст>
используется для рендеринга динамической растровой графики на лету, такой как графики или игры.
Соответствует критерию успеха 1. 3.1
<детали>
представляет дополнительную информацию или средства управления, которые пользователь может получить по запросу. Элемент сводки содержит сводку, легенду или заголовок.
Соответствует критерию успеха 3.3.2
Мультимедийный контент
<видео>
и <аудио>
для мультимедийного контента. Оба предоставляют API, поэтому авторы приложений могут создавать собственные сценарии пользовательского интерфейса, но есть также способ активировать пользовательский интерфейс, предоставляемый пользовательским агентом. Исходные элементы используются вместе с этими элементами, если доступно несколько потоков разных типов.
Относится к Руководству 1.2
предоставляет текстовые дорожки для видеоэлемента. С помощью атрибута «вид» можно определить ряд параметров, включая «субтитры», «заголовки», «описания» и «главы».
<управление видео src="video. webm">
Значение «субтитры» обеспечивает расшифровку или перевод диалога, подходящий для случаев, когда звук доступен, но не понятен.
Значение «captions» обеспечивает транскрипцию или перевод диалога, звуковых эффектов, соответствующих музыкальных реплик и другой соответствующей аудиоинформации, подходящей для случаев, когда звуковая дорожка недоступна.
Значение «описания» предоставляет текстовые описания видеокомпонента медиаресурса, предназначенного для аудиосинтеза при недоступности визуального компонента.
Значение «chapters» предоставляет заголовки глав, предназначенные для навигации по медиа-ресурсу.
Относится к Руководству 1.2
Новые структурные элементы
Введение
HTML5 имеет ряд новых структурных элементов, которые позволяют нам создавать более содержательные, содержательные и гибкие веб-документы. Эта новая семантика была тщательно разработана для расширения текущих возможностей HTML, при этом всегда предоставляя пользователям старых браузеров доступ к содержимому.
В HTML4.01 и XHTML1.0 невозможно определить определенные аспекты веб-документа, такие как заголовок, навигация или нижний колонтитул. Используя эти языки разметки, единственным способом определить иерархию веб-документа было использование уровней заголовков — —
.
HTML5 предоставляет новые семантические элементы, которые позволяют авторам конкретно определять аспекты веб-документов, в том числе
, ,
<раздел>
, <артикул>
, <рисунок>
и
.
Что еще более важно, авторы могут использовать эти элементы бесконечным разнообразием способов, что обеспечивает большую гибкость. Например, элемент
можно использовать в качестве заголовка всего веб-документа, а также в качестве заголовка внутри любого элемента
или элементов
в документе.
Соответствует критериям успеха 2.4.1 и 2.4.10
Элемент
обычно содержит заголовок сайта, статьи или раздела, но может также содержать другое содержимое, например форма поиска или соответствующие логотипы.
Пример с
: только
Название сайта
Пример только с заголовками и другим содержимым:
<заголовок>Название сайта
Слоган сайта
Дополнительная информация
Пример с
, и
:
Название сайта
<навигация>…навигация> <форма>…форма>
Элемент
может использоваться несколько раз в одном документе.
<заголовок> … заголовок> <статья> <заголовок> … заголовок>
Соответствует критериям успеха 1.3.1, 2.4.6 и 2.4.10
Элемент
используется для группирования одного или нескольких
в заголовков.
Название сайта
Билайн
обычно используется внутри
, но его можно использовать отдельно.
<заголовок> <группа>Название сайта
Билайн
может содержать только группу от
до элементов. Его следует использовать для субтитров, альтернативных заголовков и тегов.
можно использовать несколько раз в одном документе.
<заголовок>Название сайта
Билайн
<заголовок> <статья>Название сайта
Билайн
Соответствует критериям успеха 2.4.1 и 3.2.3
Элемент представляет собой раздел страницы, который ссылается на другие страницы или части внутри страницы: раздел с навигационными ссылками.
<навигация> <ул>
Элемент может содержать широкий спектр элементов, включая заголовки, списки и другое содержимое.
<навигация>Навигация по сайту
<ул>
Рулон блога
<ул> Не все группы ссылок на странице должны находиться в элементе , только разделы, состоящие из основных блоков навигации, подходят для элемента
.
Соответствует критериям успеха 1.3.1 и 2.4.1
Элемент
представляет общий документ или раздел приложения.
<раздел>Яблоко
Яблоко — это фрукт…
В идеале следует использовать
, если с ним связан естественный заголовок.
<раздел>Яблоко
Яблоко — это фрукт…
раздел> <раздел>Груши
Груша тоже фрукт…
Элемент
не является универсальным контейнерным элементом. Когда элемент необходим для стилизации или для удобства написания сценария, авторам рекомендуется использовать 9Вместо элемента 0006 div .
Соответствует критериям успеха 1.3.1 и 2.4.1
Элемент
представляет собой компонент страницы, который можно повторно использовать или распространять (т. е. посредством синдикации). Это может быть сообщение на форуме, статья в журнале или газете, запись в блоге, пользовательский комментарий, интерактивный виджет или гаджет или любой другой независимый элемент контента.
<артикул>Яблоко
Яблоко — это фрукт…
article
также можно использовать в сочетании с другими элементами, такими как
и .
<артикул> <заголовок>Яблоко
Опубликовано: 9 октября 2009 г.
заголовок>Яблоко — это фрукт…
<нижний колонтитул> Creative Commons нижний колонтитул>
Элементы
могут использоваться несколько раз в одном документе.
<артикул> <заголовок>Яблоко
Опубликовано: 9 октября 2009 г.
заголовок>Яблоко — это фрукт…
<раздел>Комментарии
<артикул> <заголовок>Автор: Apple Lover
заголовок>Я люблю яблоки
статья> раздел>
Релевантно критерию успеха 2.4.1
aside элемент, который можно считать отдельным от этого контента.
<в сторону>Блогролл
<ул>
В отличие от многих других новых семантических элементов, обычно в документе имеется только один .
Соответствует критерию успеха 2.4.1
Элемент представляет собой нижний колонтитул своего ближайшего предка и содержит такую информацию, как автор, авторские права, связанная информация.
Элемент можно использовать в качестве нижнего колонтитула всего документа:
<нижний колонтитул> <ул>
Элемент также можно использовать в качестве нижнего колонтитула для
Содержание раздела отображается здесь <нижний колонтитул> Информация в нижнем колонтитуле раздела нижний колонтитул>
Элемент также можно использовать в качестве нижнего колонтитула для
<артикул>
<артикул> Содержание статьи отображается здесь <нижний колонтитул> Информация в футере статьи нижний колонтитул>
Элемент можно использовать несколько раз в одном документе.
<заголовок><заголовок> <статья> <заголовок>заголовок>Лорем Ипсум сет амет…
<нижний колонтитул> Информация в футере статьи нижний колонтитул> статья> <нижний колонтитул> Информация в футере для сайта
Относится к критерию успеха 1.3.1
обычно упоминается как отдельная единица из основного потока документа.
Содержимое должно быть удалено от основного потока документа без ущерба для смысла документа.
<цифра>
Элемент предназначен для использования в сочетании с элементом
.
является необязательным.
<рисунок>Маленькая летучая мышь-пеструшка, пикатус Chalinolobus рисунок>
Элемент можно использовать для разметки диаграмм, иллюстраций, фотографий и примеров кода (среди прочего).
Элемент может содержать более одной фотографии, иллюстрации, диаграммы и т. д.
Слева направо: Маленькая летучая мышь-пеструшка, пикатус Chalinolobus Восточная пещерная летучая мышь, через Веспаделуса Внутренняя пещерная летучая мышь, finlaysoni Vespadelus
Элемент можно использовать несколько раз в одном документе.
Соответствует критерию успеха 1.3.1
Элемент
представляет собой подпись или легенду к рисунку.
<рисунок>Маленькая летучая мышь-пеструшка, пикатус Chalinolobus
Элемент
является необязательным и может быть размещен до или после содержимого внутри .
<рисунок>Маленькая летучая мышь-пеструшка, пикатус Chalinolobus
Хотя элемент может содержать несколько изображений, диаграмм и т. д., он может быть только один
Элемент
внутри элемента .
<рисунок>Слева направо: маленькая летучая мышь-пеструшка, Восточная пещерная летучая мышь, Внутренняя пещерная летучая мышь
Соответствует критерию успеха 1.3.1
Элемент
представляет основной раздел содержимого тела документа или приложения. Раздел основного содержимого состоит из содержимого, которое непосредственно связано с центральной темой документа или центральной функциональностью приложения или расширяет ее.
<главная роль="главная"> …
Авторы не должны включать в документ более одного основного элемента. Авторы не должны включать основной элемент в качестве дочернего элемента статьи, стороны, нижнего колонтитула, заголовка или элемента навигации.
В следующем примере есть два раздела о фруктах, и основное содержание темы определяется использованием основного элемента.
<главная роль="главная">Фрукты
<раздел>Яблоки
… раздел> <раздел>Груши
… раздел>
Использование новых семантических элементов
Эти новые семантические элементы HTML5 можно использовать самыми разными способами. Они специально спроектированы так, чтобы быть максимально гибкими.
Однако может возникнуть некоторая путаница в отношении того, как использовать эти новые элементы, а также в том, как эти элементы поддерживаются браузерами.
Когда использовать
,
и
- Вопрос. Вам нужен универсальный контейнер?
-
может быть идеальным- Вопрос: Включает ли содержимое контейнера заголовок и выглядит ли оно как часть содержимого?
- Используйте
- Вопрос 3. Можно ли перепрофилировать содержимое?
- Использовать <статью>
Поддержка
По умолчанию большинство браузеров предполагают, что неизвестные элементы отображаются как встроенные. Однако эти новые структурные элементы должны быть настроены на display: block.
Итак, мы можем написать простое правило, которое решит эту проблему практически для всех браузеров:
статья,
в сторону,
Детали,
рисунок,
фигура,
нижний колонтитул,
заголовок,
группа,
навигация,
раздел {
дисплей: блок;
}
К сожалению, эти новые семантические элементы не распознаются Internet Explorer 6–8. Вы можете решить это, используя один из двух методов.
Вариант 1. Использование вложенных
элементов Вы можете добавить дополнительных элементов внутрь элементов HTML5 и задать стиль только для этих элементов . <навигация>
<дел>
…
дел>
Вариант 2. Использование небольшого количества JavaScript
Или вы можете использовать JavaScript, например HTML5shim, который также решает известную проблему печати IE с элементами HTML5. В идеале эта JS-ссылка должна быть заключена в условный комментарий, чтобы другим браузерам не приходилось ее загружать.
Эти документы были профинансированы Австралийским бюро метеорологии.
и находятся под некоммерческой лицензией Creative Commons Attribution.
Семантические элементы Html5 — Learn.
co У нас есть элементов div
для организации и маркировки разделов HTML. Но слишком много тегов div
делают наш HTML-документ загроможденным и запутанным. Даже когда мы
идентифицировать или классифицировать их с конкретными именами, это много, чтобы отслеживать. Это
было бы понятнее как для разработчиков, так и для браузеров, если бы мы могли использовать больше
описательные HTML-элементы для упорядочивания нашего контента. Вот где семантика
элементы. Они позволяют нам сказать: «Это не просто раздел текста,
это заголовок ». Мы узнаем больше об этих семантических элементах в этом
урок.
Цели
- Объяснить историческое обоснование семантических элементов
- Демонстрация использования семантического элемента HTML5
Объясните историческое обоснование семантических элементов
Когда разработчики впервые начали определять контейнеры для структурирования HTML, они имели только
им доступен один общий элемент: раздел
. Создание сложных макетов страниц
затем потребовались десятки элементов div
, которые часто было трудно организовать или
найти в коде. Авторам HTML нужен был способ отличить один div
от другого,
что привело к атрибутам id
и class
для элементов, которые были неправильно использованы при попытке
чтобы сообщить, что делает div
. Например, документ обычно имеет
только один заголовок, поэтому казалось разумным написать div
как способ
скажите что-нибудь посильнее, чем «это разделение текста». Разработчики хотели
сказать, «это специальный раздел введения», но не хватает конкретного языка
чтобы выразить это. Они хотели, чтобы эти разделы имели семантическое значение (подробнее об этом позже). Но
Язык HTML просто не мог удовлетворить эту потребность.
Тем не менее, многие авторы HTML
подумал, что это хорошая идея, и вокруг него возник неформальный стандарт.
добавление атрибутов id
к элементам для выражения их «семантического значения».
<дел>
<дел>...дел>
Когда W3C (организация, отвечающая за спецификации HTML и
CSS) начали писать спецификацию для HTML5, они хотели создать новый
элементы, которые избавили бы от необходимости маркировать так много раздел
элементов.
цели заключались в том, чтобы сделать код более читабельным для разработчиков и более описательным.
для браузеров. Оказалось, что многие разработчики уже использовали один и тот же
имена для обозначения своих элементов, например id="header"
, id="footer"
, id="nav"
, class="article"
и т. д. Таким образом, HTML5 предоставляет семантические элементы, которые явно
описал эти функции для использования разработчиками вместо них.
Когда-то нам приходилось идентифицировать div
в качестве нашего раздела заголовка.
<дел>...дел>
Теперь мы используем элемент
заголовка . <заголовок>заголовок>
Почему мы называем эти семантическими элементами? Семантические элементы – это элементы,
мы используем, когда содержимое внутри элемента имеет одно и то же связанное значение , означающее . В нашем примере
заголовка выше весь контент, который мы поместили бы в заголовок
элемент будет относиться к вводному контенту, такому как заголовки или навигация. Демонстрация использования семантического элемента HTML5
Давайте возьмем макет, который использует элементов div
, и преобразуем его для использования семантического
элементы вместо этого. Это разметка, с которой мы начинаем:
<дел>
<дел>...дел>
<дел>
<дел>
<дел>...дел>
<дел>...дел>
<дел>...дел>
<дел>...дел>
Теперь мы заменим каждый экземпляр div
с соответствующим семантическим элементом
тип контента, который мы хотим, чтобы он содержал.
<дел>
<заголовок>
<навигация>...навигация>
заголовок>
<основной>
<раздел>
<статья>...статья>
<статья>...статья>
раздел>
главная>
<в сторону>...в сторону>
<нижний колонтитул>. ..нижний колонтитул>
Обратите внимание, что в случаях, когда содержимое внутри элемента семантически не
связаны или у нас есть необходимость создать общий ящик, такой как обертка
, мы
мы все еще можем использовать элементов div
, как нам заблагорассудится. Как разработчик, имейте в виду, что
хотя эти элементы предназначены для определенного контента, жестких правил нет
о том, как их настроить. Вы должны чувствовать себя комфортно, настраивая их в любом
способ, который имеет для вас наибольший смысл и лучше всего соответствует вашим потребностям в макете.
Заключение
Если все содержимое элемента семантически связано, лучше
потренируйтесь использовать соответствующий семантический элемент HTML5, если он применим. Этот
очищает наш код и делает его более читаемым для разработчиков и многое другое
описательный для браузеров. Существует множество семантических элементов, которые можно использовать для
структурируйте свой контент, и вы также можете использовать div
элементов для создания
общие поля или элементы группировки по мере необходимости.
Ресурсы
- Слайды презентации
- Видео-лекция о семантических элементах HTML5
- Погружение в HTML5 — семантические элементы
- MDN — HTML — Ссылка на элемент
Семантические элементы HTML5 и их значение для SEO
Получите БЕСПЛАТНУЮ оценку для обновления структуры SEO вашего веб-сайта
Codeable.io предоставляет более 500 старших экспертов WordPress, которые помогут вам с вашими потребностями в настройке.
ПОСЕТИТЕ БЕСПЛАТНУЮ ОЦЕНКУ
Наличие семантически закодированного сайта или целевой страницы, которые соответствуют всем рекомендациям HTML5, может стать дополнительным толчком, необходимым вашему сайту для повышения рейтинга. Здесь пригодятся общие знания о HTML5.
Обзор HTML5
HTML5 — это последняя версия языка гипертекстовой разметки, которая добавляет несколько новых элементов HTML, которые мы можем использовать для лучшего определения содержимого нашей страницы для поисковых систем.
Значение HTML5 для поисковой оптимизации
Стандартные теги HTML (например, title, h2 и т. д.) составляют основу внутренней поисковой оптимизации. Поисковые системы используют эти теги, чтобы лучше понять, о чем страница. Оптимизация этих факторов является основной практикой SEO для улучшения рейтинга в результатах поиска. HTML5 предоставил нам пару новых семантических элементов, которые мы, возможно, захотим учитывать при оптимизации нашей страницы.
Что такое семантический элемент?
Семантические элементы относятся к элементам HTML, имеющим определенное значение. Например,
— это семантический элемент. Он сообщает ботам Google, что содержимое тега является наиболее важным заголовком, содержащимся в HTML-документе.
, с другой стороны, не является семантическим элементом, поскольку он только указывает на разделение в HTML-документе и не предоставляет никакой информации о том, что идет до, после или внутри тега. Новые семантические теги в HTML5
В выпуске HTML5 появилось несколько новых семантических тегов, которые предоставляют поисковым системам еще более полную информацию. Вот обзор нескольких элементов HTML5 и того, что они означают для SEO на странице WordPress:
.-
: Тег заключает в себе основной контент блога, включая весь контент статей и другие связанные разделы, расширяющие центральную тему страницы, такие как тег и вспомогательный тег теги. -
: Тег позволяет легко помечать новые записи блога или статьи в онлайн-публикации. Поисковые системы могут придавать большее значение любому контенту, заключенному в этот тег. Это также помогает очистить код HTML, сократив использование тегов.-
: сообщения в блогах обычно разбиваются на разные разделы, чтобы пользователям было проще найти то, что они ищут. Тег можно использовать для указания этих подразделов вашего контента, каждый со своим отдельным заголовком HTML. -
: Тег похож на тег в том смысле, что его можно использовать для указания заголовка страницы.
Но его также можно использовать для обозначения раздела заголовка страницы и даже может содержать навигационные ссылки и другой соответствующий текст. - : хотя он и не так полезен, как тег
, тег - : Навигация, несомненно, является одним из наиболее важных аспектов сайта. Тег
- : Тег
- . Тег
Это действительно поможет моему сайту?
Мы не можем быть уверены. Даже в 2017 году очень мало опубликованных тематических исследований или официальных подтверждений Google о том, что семантически правильный веб-сайт HTML5 поднимет вас в рейтинге или создаст лучшую видимость из общедоступного поиска. Но можно с уверенностью признать, что чем больше семантических деталей вы предоставите ботам, тем лучше поисковые системы смогут понять и проиндексировать ваш контент. Использование элементов HTML5, безусловно, не помешает.
Могу ли я нанять эксперта для проведения SEO-аудита или обновления моей темы для поддержки HTML5?
Да! Да, ты можешь. Мы сотрудничаем с Codeable.io, чтобы предоставить высококачественную структурную помощь в SEO.
Другие интересные статьи о состоянии HTML5 (Продолжайте читать!)
- https://www.cnet.com/news/html5-is-done-but-two-groups-still-wrestle-over-webs-future/
- https://www.cnet.com/news/w3c-buttons-down-html5-opens-up-html5-1/
- https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/Using_geolocation
- https://www.myriamjessier.com/blog/html5-accessibility-seo/
- https://webmasters.googleblog.com/2010/03/microdata-support-for-rich-snippets.html
- https://www.semrush.com/blog/semantic-html5-guide/
Получите БЕСПЛАТНУЮ оценку для обновления структуры SEO вашего веб-сайта
Codeable.io предоставляет более 500 старших экспертов WordPress, которые помогут вам с вашими потребностями в настройке.
ВИЗИТ ДЛЯ БЕСПЛАТНАЯ ОЦЕНКА
30
АКЦИИ
Об авторе:
Интересы Роя включают ведение блога, поисковый маркетинг, SEO, веб-дизайн и электронную коммерцию.