Могучий и вездесущий язык HTML – основа основ современного интернета. Благодаря этой простой технологии мы смотрим видео, читаем новости, общаемся с друзьями и планируем свою жизнь. Именно язык HTML определяет отображение и порядок содержимого на веб-страницах. И хотя язык HTML является очень старой и широко известной технологией, хорошему веб-мастеру всегда есть куда расти - изучая всё новые и новые механизмы совершенствования своего мастерства.
Семантические теги HTML - это как раз этап развития мастерства современного программиста и грамотного веб-мастера. Это важный механизм структурирования веб-страниц, благодаря которому сайт становится лучше и понятней. Как минимум, семантически-ориентированный сайт гораздо лучше ранжируется поисковыми системами, привлекая большее количество посетителей. Иначе говоря, чем больше в сайте семантических тегов (и если они применены правильным образом) - тем выше он показывается в поисковике по сравнению с другими сайтами.
Стиль того, как ты пишешь свой HTML, имеет важное значение, поскольку стилистика и правильность применения кода прямым образом влияет на эффективность индексации сайта. Что в конечном итоге определяет правильность представления информации посетителям. Хороший сайт это не только набор тегов <div>, <span> и <table>. Это эффективная структура, которая одинаково хорошо работает как для живых людей, так и для роботов, которые анализируют информацию и транслируют её в окружающий мир.
Сегодня мы поговорим семантический HTML, который относится к HTML-коду, само-описывающему своё назначение. В этом руководстве для начинающих я расскажу, что такое семантический HTML, как его писать и почему он так важен для маркетологов и начинающих веб-разработчиков. Наконец, мы предоставим список общих семантических элементов для улучшения твоих навыков.
Что такое семантический HTML? 📋
Семантический HTML (также известный как семантическая разметка) представляет собой способ использование специальных тегов HTML для точного определения функций элементов страницы. Такой способ написания кода эффективно передает значение HTML-элементов как компьютерам, так и людям. Это очень сильно помогает веб-браузерам, поисковым системам, вспомогательным технологиям и разработчикам понимать различные компоненты веб-страницы - и явным образом трактовать их назначение.
Семантические теги имеют явные имена, которые дают четкие инструкции как людям, так и машинам, интерпретирующим код. В конечном итоге, компьютерные поисковые системы в прямом смысле "понимают", из чего состоит веб-страница, и на что нужно обратить внимание в первую очередь. И если понятный текст на естественном языке помогает передать содержимое страницы живым людям, то семантические теги помогают передать содержимое страницы поисковым роботам и системам искусственного интеллекта.
Простым примером может служить тег <p> (paragraph) в HTML, который служит семантическим тегом для абзацев. Любое устройство или программное обеспечение, распознающее этот тег, будет интерпретировать содержимое между открывающим и закрывающим тегами как абзац текста. То есть, как часть страницы с текстом, которая содержит некоторый смысл, связанный с этой страницей.
Различные другие распространенные семантические теги HTML:
- <h1>, <h2>, <h3> и т.д.: заголовки на странице в порядке убывания важности.
- <a>: гиперссылка.
- <button>: элемент кнопки.
- <strong> и <emphasis>: эти элементы сигнализируют о том, что текст внутри них важен.
- <ol> и <ul>: упорядоченные и неупорядоченные списки соответственно.
- <header> и <footer>: обозначают разделы верхнего и нижнего колонтитула веб-страницы.
Тег в каждом примере предоставляет информацию о назначении элемента. Правильное использование HTML-тегов обеспечивает осмысленное представление (например, использование <p> для абзацев и <h2> для заголовков). Тогда возникает один вопрос.
Какие HTML-теги не являются семантическими? 🖐
К наиболее старым часто используемым не семантическим HTML-тегам относятся <div> и <span>. Эти теги являются общими и могут использоваться для стилизации и форматирования веб-страниц, но в них отсутствует конкретная информация о содержимом, которое они содержат. Эти теги в большей степени используются для создания "сетки" содержимого страницы, и в конечном итоге образуют каркас элементов. Но поисковым системам сложно понять, какую именно информацию содержат эти теги, и как она связана по смыслу с другими элементами страницы. То есть, теги <div> и <span> являются как бы более анонимными, и они не помогают роботам проанализировать текстовую часть информации, которую содержит конкретная страница.
Ниже приведен пример, в котором показаны два элемента кнопки. Первый элемент определяется с помощью тега <button>, тогда как второй элемент определяется с помощью тега <div>. С точки зрения внешнего вида разница между элементами отсутствует. Но с точки зрения машинного анализа - разница просто огромна. В одном случае роботы поймут что на странице есть некоторая "кнопка", а в другом случае - нет. В одном случае кнопка может быть учтена при анализе содержимого страницы, а в другом случае - нет.
Другая важная часть различий между семантическими и не-семантическими элементами - это возможность изучения веб-страницы для людей с ограниченными возможностями. По различным оценкам, в мире живёт более 250-300 миллионов человек с нарушениями зрения. Это практически 5%. Из них, порядка 40 миллионов человек являются полностью незрячими. Для таких людей, веб-браузеры предлагают возможности для автоматического чтения содержимого страниц (трансляция содержимого в голосе). Семантические теги позволяют таким программам правильно работать. Что в свою очередь, делает твой сайт правильно адаптированным для восприятия людьми с ограниченными возможностями.
В чем преимущества при использовании семантических HTML тегов? 🚀
Семантический HTML имеет множество преимуществ. Это повышает чистоту и читаемость кода, а также повышает доступность для вспомогательных технологий и поисковых систем. Давай рассмотрим каждое преимущество в отдельности.
Высокая доступность и универсальность
Программы чтения с экрана используют семантически надежный HTML для отображения веб-страниц и помощи людям с нарушениями зрения в навигации по ним. Семантические элементы информируют пользователей программ чтения с экрана об их местонахождении и предоставляют рекомендации по взаимодействию с текущей страницей.
Когда страница разработана с использованием ряда тегов <div> и <span>, людям с нарушениями зрения становится трудно понять взаимосвязь между различными разделами. Чтобы решить эту проблему, следует использовать семантические теги, чтобы разделить страницу на отдельные компоненты. Например, <header> и <footer> представляют собой разделы верхнего и нижнего колонтитула соответственно, <main> используется для значимого содержимого страницы, <nav> содержит навигационные ссылки, а <aside> может содержать второстепенный контент, например боковую панель.
Некоторые семантические элементы имеют встроенную функциональность клавиатуры. Когда программа чтения с экрана обнаруживает элемент <button> на веб-странице, она позволяет активировать этот элемент, нажав клавишу ввода. Однако обычный тег <div> не сообщает программе чтения с экрана, что он функционирует как кнопка.
Другой пример: когда программа чтения с экрана обнаруживает элемент <table>, пользователи могут использовать специальные элементы управления клавиатурой для навигации по строкам по вертикали и по горизонтали между столбцами. Написание хорошо структурированного и осмысленного HTML позволяет расширить возможности специальных возможностей без каких-либо дополнительных усилий.
Пользователи могут использовать программы чтения с экрана для более эффективной навигации по веб-страницам, перемещаясь между похожими элементами или извлекая сводку похожих элементов. Это подчеркивает важность точного использования семантических тегов.
SEO - поисковая оптимизация
Семантическая разметка, подобно вспомогательным технологиям, помогает сканерам поисковых систем эффективно понимать структуру и содержание твоей веб-страницы. Использование семантического HTML позволяет поисковым системам идентифицировать и определять приоритетность индексируемого контента.
Например, Тег <main> охватывает основное содержимое страницы, помогая идентифицировать отдельные разделы и предотвратить индексирование избыточных элементов. Теги <header>, <footer> и <aside> можно использовать для менее важного контента, а тег <nav> направляет ботов в меню навигации для перехода по ссылкам всего сайта.
Чем лучше твой сайт адаптирован под сканирование поисковыми системами - тем более быстро и более правильно его просканируют поисковые роботы. А это в свою очередь, прямым образом повлияет на позиции твоего сайта в поисковых системах - и количество посещений сайта, которое ты сможешь в итоге получить.
Читабельность и удобная структура для человека
Веб-разработчики часто ежедневно пишут и проверяют большие объемы кода. Поэтому любой инструмент или техника, упрощающие их работу, ценны. Использование семантически значимой разметки позволяет разработчикам более эффективно находить определенные элементы страницы по сравнению с поиском по многочисленным тегам <div>. Например, если им нужно найти навигацию по странице, они могут просто выполнить поиск по тегу <nav>.
Хорошая читаемость имеет решающее значение, особенно при работе в команде. Нереально предполагать, что твои коллеги или даже ты в будущем мгновенно поймут твой код. Тем не менее, благодаря эффективной организации твоего контента другие разработчики быстро поймут структуру, что приведет к более эффективной разработке.
Краткий список основных семантических HTML-тегов 👨💻
Учитывая, что семантический HTML основан на правильном использовании тегов, давай рассмотрим несколько часто используемых семантических тегов, которые ты можешь включить на свой веб-сайт. Эти теги сгруппированы в теги, используемые для текста, теги, передающие структуру страницы, и другие полезные семантические теги.
Семантические HTML-теги для текста
Вот эти теги передают смысл текста, который они содержат:
- <p> (абзац): абзац текста, представленный в виде блока.
- <h1>, <h2>, <h3>, <h4>, <h5>, <h6> (заголовок): заголовок страницы. <h1> – это заголовок верхнего уровня, и на странице он должен быть только один. Следующие теги упорядочены по убыванию важности. Браузеры будут применять стиль шрифта и его размер соответствующим образом.
- <ol> (упорядоченный список): список элементов, которые должны отображаться в определенном порядке. Обычно браузеры присваивают номера каждому элементу.
- <ul> (неупорядоченный список): список элементов, порядок в которых не важен. Браузеры обычно обозначают каждый элемент маркерами или тире
- <a> (привязка): гиперссылка. По умолчанию браузеры меняют цвет ссылки на синий и добавляют подчеркивание, которое ты можешь удалить .
- <q> (цитата) и <blockquote>: цитата. Используй <q> для более коротких кавычек и <blockquote> для более длинных.
- <код>: Компьютерный код. Браузеры обычно применяют стили, чтобы отличить этот текст от окружающего текста.
- <em> (выделение): выделяет текст. Большинство браузеров по умолчанию выделяют курсивом текст внутри этого тега.
- <strong>: привлекает внимание к важному тексту. Большинство браузеров по умолчанию выделяют текст внутри этого тега жирным шрифтом.
Семантические HTML-теги для структуры
Эти HTML-теги позволяют классифицировать дочерние элементы внутри разделов, при этом каждый раздел содержит связанный контент.
- <header>: относится к разделу заголовка веб-страницы, обычно включающему название организации, логотип, главную навигацию, панель поиска, приглашение для входа в систему и значок корзины покупок.
- <footer>: нижняя часть веб-страницы, часто содержащая дополнительную информацию, такую как адрес, контактную форму и юридические данные.
- <main>: содержит основное содержимое веб-страницы, специфичное для этой страницы и на котором посетители обычно проводят большую часть своего времени.
- <nav>: представляет собой навигацию по сайту и обычно состоит из списка ссылок на различные части сайта.
- <aside>: содержит связанный контент, который не является частью основного контента, но все же связан с ним, например список связанных сообщений или боковую панель с медийной рекламой.
- <article>: представляет собой отдельный фрагмент контента, например сообщение в блоге или новостную статью.
- <section>: обозначает определенную часть более длинного текста, например, назначение разных <section> разным заголовкам h2 в сообщении блога.
Дополнительные семантические теги HTML включают в себя:
- <img>: этот тег представляет изображение
- <table>: используется для создания таблицы со столбцами и строками для отображения данных
- <figure> и <figcaption>: эти теги используются для изображений, которым необходимо описание. Тег <figure> содержит изображение, а тег <figcaption> содержит подпись к изображению
- <iframe>: этот тег является встроенным элементом.
Семантическая разметка улучшает читаемость кода, поисковую оптимизацию и доступность вспомогательных технологий. Кроме того, твои коллеги-разработчики оценят твоё внимание к деталям и приверженность лучшим практикам.
Вместо использования общих тегов, таких как <span> или <div>, при структурировании веб-страницы полезно рассмотреть каждый элемент и найти семантический способ его позиционирования. Инвестирование времени и усилий в этом стоит того.
Семантический HTML - это хороший стиль программирования и структурирования веб-страниц. От его правильного использования выигрывают все участники процесса. Будь джедаем, будь блистающим и доблестным рыцарем светлой стороны. Используй семантический HTML.
🔥 Понравилось? Подпишись! Победим восстание роботов вместе! 🔥
🚀 P.S. Ты можешь круто поддержать меня и проект "Войти в IT" на boosty! Я публикую там более эксклюзивный и профессиональный, иногда немного личный контент. Хочешь посмотреть как я выгляжу в реальной жизни? Тогда жми: Ссылка 🚀
P.S.2 У меня ещё есть Telegram-канал. Там посты чуть попроще, и чуть повеселей. Ссылка