Говоря о семантике, был затронут такой формат разметки, как микроразметка, используемая поисковыми роботами для анализа информации на странице. Правильная разметка страницы с помощью микроразметки помогает выводить в результатах поискового запроса не только ссылку на сайт и описание, но и дополнительную информацию:
Микроразметка — инструмент, который реализуется с помощью дополнительных атрибутов HTML-тегов.
Разработчики создали несколько вариантов микроразметки, наиболее распространённым из которых является Schema.org с широким выбором «словарей» для описания информации на странице.
Словарь — это набор правил, по которым описываются блоки на странице. Сеансы фильмов в кинотеатре, информация отдела продаж, цены на товары, отзывы о статье — всё это представлено в небольших словарях.
Действия для создания микроразметки:
Полную инструкцию по микроразметке дать в одном уроке невозможно. Это большая тема, со множеством различных нюансов. По мере получения опыта вы научитесь быстро определять необходимую информацию и размечать её. При простой схеме работы, микроразметка даёт огромные возможности — как в плане визуальной выдачи информации в поисковой системе, так и для поискового продвижения.
Для примера возьмём контактные данные вымышленной компании «Прауд», и разметим контакты, используя Schema.org. Изначально блок с контактами выглядит следующим образом:
<section>
<h1>Компания «Прауд»</h1>
<p>Адрес: г.Мотино, улица Строителей, дом 6</p>
<p>Телефон: 8 (8765) 333-00-00</p>
<p>Email: info@proud-company.test</p>
</section>
Первое, нужно выбрать словарь. Поисковая система Яндекс для этого предлагает несколько вариантов. Возьмём словарь Organization. Полное описание этого словаря можно найти на сайте https://schema.org/.
В уроке не ставится цель научить полностью размечать данные. Цель урока — показать пример микроразметки
Для того чтобы подсказать поисковой системе, что данные размечены словарём, указывается два атрибута:
itemscope
— указатель на то, что блок — единая сущность, и данные в нем связаны. Указывается только у главного блока и не имеет своего значенияitemtype
— указывает на то, какой словарь будет использоваться. Например, для описания контактов выбран словарь Organization. Полный вид атрибута: itemtype="http://schema.org/Organization"
<section itemscope itemtype="http://schema.org/Organization">
<h1>Компания «Прауд»</h1>
<p>Адрес: г.Мотино, улица Строителей, дом 6</p>
<p>Телефон: 8 (8765) 333-00-00</p>
<p>Email: info@proud-company.test</p>
</section>
Теперь поисковая система будет знать, что внутри этого блока информация об организации. Приступим к разметке адреса. Schema.org позволяет отдельно указывать улицу, дом, строение и так далее, но мы обобщим это и используем только одно значение itemprop="address"
, чтобы обозначить адрес предприятия. Обратите внимание, что элементы разметки указываются с помощью атрибута itemprop.
<section itemscope itemtype="http://schema.org/Organization">
<h1>Компания «Прауд»</h1>
<p>Адрес: <span itemprop="address">г.Мотино, улица Строителей, дом 6</span></p>
<p>Телефон: 8 (8765) 333-00-00</p>
<p>Email: info@proud-company.test</p>
</section>
По аналогии с адресом разметим остальные данные: название, телефон, email. Для каждого из них есть своё значение атрибута itemprop. Обратите внимание, что размечаются только данные, оставляя за «бортом» название поля. Для этого нужные данные оборачивают в <span>
и для него указывают атрибут.
<section itemscope itemtype="http://schema.org/Organization">
<h1 itemprop="name">Компания «Прауд»</h1>
<p>Адрес: <span itemprop="address">г.Мотино, улица Строителей, дом 6</span></p>
<p>Телефон: <span itemprop="telephone">8 (8765) 333-00-00</span></p>
<p>Email: <span itemprop="email">info@proud-company.test</span></p>
</section>
Для проверки корректности микроразметки можно пользоваться инструментами популярных поисковых систем:
Попробуйте вставить тестовый пример в эти инструменты и взгляните на результат. Можете попробовать «сломать» микроразметку и посмотреть на вывод ошибок.
Создайте разметку организации, в которой укажите:
Теги используются на своё усмотрение. Вся семантика строится на уровне микроразметки. В качестве словаря используйте http://schema.org/Organization
Если вы зашли в тупик, то самое время задать вопрос в «Обсуждениях». Как правильно задать вопрос:
Тесты устроены таким образом, что они проверяют решение разными способами и на разных данных. Часто решение работает с одними входными данными, но не работает с другими. Чтобы разобраться с этим моментом, изучите вкладку «Тесты» и внимательно посмотрите на вывод ошибок, в котором есть подсказки.
Это нормально 🙆, в программировании одну задачу можно выполнить множеством способов. Если ваш код прошел проверку, то он соответствует условиям задачи.
В редких случаях бывает, что решение подогнано под тесты, но это видно сразу.
Создавать обучающие материалы, понятные для всех без исключения, довольно сложно. Мы очень стараемся, но всегда есть что улучшать. Если вы встретили материал, который вам непонятен, опишите проблему в «Обсуждениях». Идеально, если вы сформулируете непонятные моменты в виде вопросов. Обычно нам нужно несколько дней для внесения правок.
Кстати, вы тоже можете участвовать в улучшении курсов: внизу есть ссылка на исходный код уроков, который можно править прямо из браузера.
Ваше упражнение проверяется по этим тестам
1const { test } = require('tests');
2
3test(({ query, expect, html }) => {
4
5 const name = query(document, '[itemprop="name"]');
6 expect(name).to.be.visible;
7
8 const email = query(document, '[itemprop="email"]');
9 expect(email).to.be.visible;
10
11 expect(html).to.contain('itemscope');
12 expect(html).to.contain('itemtype="http://schema.org/Organization"');
13});
14
Решение учителя откроется через: