Привет, Хабр! Меня зовут Павел, я JS-разработчик SimbirSoft. За три года работы во фронтенде я убедился, что микроразметка необходима для оптимизации и улучшения UX на сайте, и считаю ее важным инструментом при разработке. Микроразметка в целом — распространенный феномен, но что мы знаем о ней, используя Server-Side-Rendering (SSR)? Разберёмся по порядку.

Микроразметка — это метод структурирования данных на веб-страницах с применением особых тегов и атрибутов. С помощью нее поисковые системы и другие сервисы могут лучше понимать контекст и смысл информации на страницах.
Микроразметка играет важную роль в SEO-оптимизации, увеличении скорости загрузки страниц и улучшении пользовательского опыта на сайте. Информативные сниппеты дают возможность получить качественные переходы, поскольку пользователь сразу понимает, что он найдет на странице. И как следствие, мы имеем больше трафика без увеличения бюджета на продвижение сайта и бизнеса в целом.
На что влияет микроразметка:
-
Улучшение SEO-оптимизации сайта: поисковики более точно понимают содержимое страницы и могут лучше ранжировать ее в результатах выдачи. Это способствует росту посещаемости сайта и привлечению новых пользователей.
-
Увеличение скорости загрузки страниц: микроразметка позволяет поисковым системам более эффективно парсить и обрабатывать страницы, что в свою очередь может сократить время загрузки страницы. Это важный фактор для удовлетворенности пользователей и повышения их уровня вовлеченности.
-
Улучшение пользовательского опыта на сайте: поисковики показывают дополнительные информационные элементы в результатах выдачи, такие как рейтинги, отзывы, цены и другие. Это может повысить информативность и привлекательность страниц, что в свою очередь увеличит вероятность перехода пользователей на ваш сайт.
Создание микроразметки с помощью Nuxt.js
Установка и настройка микроразметки для Nuxt.js с помощью сторонних плагинов
Библиотека Nuxt.js предлагает различные плагины для создания и управления микроразметкой на вашем сайте. Существует несколько готовых плагинов для микроразметки, которые вы можете использовать в Nuxt.js. Вот некоторые из них:
vue-meta
Позволяет управлять метаданными страницы, включая микроразметку. С помощью него можно добавлять метаданные к каждой странице и устанавливать их динамически. Более подробную информацию об использовании vue-meta вы можете найти в документации Nuxt.js.
nuxt-seo
Удобный инструментом для управления SEO мета-тегами, включая микроразметку. Он позволяет вам определить мета-теги внутри файлов .vue компонентов и автоматически генерирует соответствующие мета-теги для каждой страницы. Вы можете найти примеры использования в репозитории плагина на GitHub.
vue-jsonld
Предоставляет удобный способ генерировать микроразметку в формате JSON-LD. Он позволяет вам определить свои собственные компоненты, представляющие микроразметку, и легко интегрировать их в компоненты Nuxt.js. Более подробную информацию о vue-jsonld вы можете найти в репозитории плагина на GitHub.
Это только некоторые из доступных плагинов. Вы также можете использовать другие пакеты и библиотеки для генерации микроразметки в соответствии с вашими потребностями, например, «@nuxtjs/google-gtag» для добавления Google Analytics или «@nuxtjs/robots» для управления файлом robots.txt.
Создание собственного плагина для микроразметки
Если нужная вам функциональность не предоставляется сторонними плагинами, вы всегда можете создать собственный плагин для микроразметки в Nuxt.js. Для этого вам потребуется определить необходимые теги и атрибуты для вашей микроразметки, а затем реализовать логику внутри плагина для добавления и управления этой микроразметкой на вашем сайте.
Пример простого плагина на JavaScript, который можно применить для установки микроразметки в Nuxt.js:
// plugins/microdata.js import Vue from 'vue'; // Ваша логика реализации микроразметки находится здесь. // Например, вы можете использовать библиотеку schema.org, для создания микроразметки. export default ({ app }, inject) => { // Определите метод установки микроразметки const setMicrodata = () => { const data = { // Получить данные текущей страницы // Определите здесь свои свойства микроразметки // Пример: имя, описание, изображение и т.д. }; const script = document.createElement('script'); script.type = 'application/ld+json'; script.text = JSON.stringify(data); document.head.appendChild(script); // Добавьте скрипт микроразметки в head }; inject('setMicrodata', setMicrodata); // Внедрите метод setMicrodata во все компоненты Vue. };
Чтобы активировать этот плагин в Nuxt.js, добавьте следующую конфигурацию в nuxt.config.js:
plugins: [ { src: '~/plugins/microdata.js', mode: 'client' }, ]
Примеры использования микроразметки в Nuxt.js для различных типов контента
Микроразметка для элементов контента
Микроразметка может быть полезна на веб-странице для таких элементов, как статьи, товары, категории и другие. Например, вы можете использовать специальные теги и атрибуты для указания названия, автора, даты публикации, описания и другой информации о статье. Поисковым системам это поможет более точно понимать и анализировать ваш контент.
Максимально простой пример для понимания, как выглядит код с микроразметкой:
<template> <div> <h1 itemprop="name">Название статьи</h1> <time datetime="2023-07-31" itemprop="datePublished">2023-07-31</time> <article itemprop="articleBody"> <p>Контент статьи</p> </article> <div itemprop="author" itemscope itemtype="http://schema.org/Person"> <p>Автор: <span itemprop="name">Автор статьи</span></p> </div> </div> </template>
А вот как выглядит этот же код без неё:
<template> <div> <h1>Название статьи</h1> <article> <p>Контент статьи</p> </article> <div> <p>Автор: Автор статьи</p> </div> </div> </template>
Микроразметка для изображений
Микроразметка также может быть применена к изображениям на веб-странице. Например, вы можете использовать атрибуты «alt», «title» и другие для указания описания изображения, его размеров и другой информации. Это поможет поисковым системам лучше понять содержимое изображений и улучшит их отображение в результатах.
<template> <div> <img :src="imageUrl" :alt="imageAlt" itemprop="image"> <p itemprop="description">Описание изображения</p> </div> </template>
Микроразметка для видео
Если на вашей странице присутствуют видео, то вы также можете использовать микроразметку для их лучшего понимания поисковыми системами. Например, вы можете применить атрибуты «video» и другие, чтобы указать заголовок, описание, продолжительность, автора и другую информацию о видео. Это поможет повысить видимость ваших видео в результатах поиска и привлечь больше пользователей.
<template> <div> <video :src="videoUrl" controls itemprop="video"> Ваш браузер не поддерживает видео. </video> <div itemprop="description"> <h2>{{ videoTitle }}</h2> <p>{{ videoDescription }}</p> </div> </div> </template>
Микроразметка для ссылок
Когда дело доходит до ссылок на вашей странице, микроразметка также может быть полезна. Используйте различные атрибуты, такие как «href», «target», “rel” и другие, чтобы указать тип ссылки (например, на страницу товара или категории) или добавить дополнительную информацию о ссылке. Это поможет поисковым системам лучше понять содержимое ссылок и предоставить более точные результаты.
<template> <div> <a href="www.example.com" itemprop="url">Посетите example.com</a> </div> </template>
Разберем важность применения атрибутов на примере одного из них — “rel” (от англ. «relationship» – отношение), влияющего как на безопасность, так и на поведение поисковых роботов:
“rel” — это атрибут HTML, описывающий ссылку. Он обозначает, что это за ссылка и на какой адрес она ведет. Работает это следующим образом: когда ссылка направляет пользователя на адрес, атрибут рассказывает поисковым системам, почему именно туда.
Рассмотрим примеры значений атрибута “rel”:
-
rel=nofollow — применяется, когда нужно, чтобы страница, на которую ссылается пользователь, не увеличила свой ссылочный вес благодаря этой ссылке. Другими словами, по этой ссылке не передается индекс цитирования, используемый Яндексом, и PageRank, используемый Google.
<a rel="nofollow" href="index.html">Рандомная страница</a>
-
rel=alternate — используется для указания того, что ссылка ведет на альтернативное изображение страницы:
<a rel="alternate" type="application/pdf" href="page.pdf"> Страница в формате PDF </a>
-
rel=canonical — указывает на предпочитаемый адрес, который будет участвовать в поиске. Используется в теге <header>:
<link rel="canonical" href="http://www.simbirsoft.com/">
-
rel=author — указывает на то, что приведенная ссылка относится к информации об авторе данной страницы или статьи.
<a href="/author-page.html" rel="author">Текст ссылки</a>
-
rel=license — указывает на то, что по ссылке размещено лицензионное соглашение, которое относится к основному тексту страницы.
<a rel="license" href="license.html">Посмотреть лицензионное соглашение</a>
Мы рассмотрели лишь несколько примеров, на деле же значений для атрибута “rel” множество.
Подводные камни
При использовании микроразметки в Nuxt.js необходимо быть внимательным, чтобы избежать некоторых распространенных ошибок:
Неправильное использование типа микроразметки / Использование микроразметки без учета специфики контента. Это один из основных рисков. Нужно обратить внимание на то, что каждый тип контента требует своего собственного набора тегов и атрибутов. Неправильное определение типа может привести к неверному выводу информации в поисковых результатах.
Например:
-
Недостаточная информация. При использовании микроразметки важно предоставить все необходимые атрибуты и свойства для каждого элемента. Если информация неполная или неправильная, поисковые системы могут неправильно интерпретировать контент и отображать его некорректно.
-
Дублирование микроразметки, если один и тот же элемент контента имеет несколько экземпляров микроразметки с одними и теми же свойствами. Это может сбить поисковые системы и вызвать непредсказуемое поведение в результатах выдачи.
-
Использование микроразметки для невалидных данных. Некорректные или ложные данные могут негативно повлиять на оценку вашего сайта поисковыми системами и ухудшить показатели SEO.
Пример:
<template> <div> <!— Неправильное использование микроразметки —> <div itemtype="http://schema.org/Person"> <h1 itemprop="name">{{ name }}</h1> <p itemprop="jobTitle">{{ jobTitle }}</p> </div> </div> </template>
В данном случае микроразметка «Person» неправильно применена для обертки всего блока с данными. Каждый элемент, который нужно пометить с помощью микроразметки, должен быть отдельным HTML-элементом. В данном примере правильным использованием микроразметки было бы пометить отдельные <h1> и <p> элементы, как показано в примере ниже:
<template> <div> <!— Правильное использование микроразметки —> <div> <h1 itemprop="name">{{ name }}</h1> <p> <span itemprop="jobTitle">{{ jobTitle }}</span> </p> </div> </div> </template>
В этом примере каждый элемент, который требуется пометить с помощью микроразметки, помещен в отдельный HTML-элемент с необходимыми атрибутами (itemprop). Нужно помнить, что правильное использование микроразметки помогает поисковым системам лучше понять содержимое страницы.
Заключение
Что нужно, чтобы эффективно пользоваться микроразметкой для Nuxt.js на своем сайте:
-
Хорошо изучить документацию по использованию микроразметки и типов контента, чтобы правильно определить теги и атрибуты для каждого элемента.
-
Предоставить все необходимые атрибуты и свойства для каждого элемента контента, чтобы обеспечить полноту и точность информации.
Например, в микроразметке статьи с несколькими авторами в поле “author” передается массив:
<html> <head> <title>Введение в микроразметку в Nuxt.js: как это работает</title> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "NewsArticle", "headline": "Введение в микроразметку в Nuxt.js: как это работает", "image": [ "https://example.com/photos/1x1/photo.jpg", "https://example.com/photos/4x3/photo.jpg" ], "datePublished": "2023-07-31T08:00:00+08:00", "dateModified": "2023-07-31T09:20:00+08:00", "author": [{ "@type": "Person", "name": "Pavel K", "url": "https://example.com/profile/janedoe123" },{ "@type": "Person", "name": "Ivan R", "url": "https://example.com/profile/johndoe123" }] } </script> </head> <body> </body> </html>
-
Избегать дублирования микроразметки, чтобы не получить непредсказуемого поведения поисковых систем.
-
Использовать только валидные данные для микроразметки, чтобы предоставить поисковикам достоверную информацию. Если валидные – значит правильные, достоверные, существующие, если невалидные – значит неправильные или недействующие. Интернет всё запомнит.
Например, валидный почтовый адрес:
<div itemprop="address" itemscope="" itemtype=""> <span itemprop="streetAddress">Проспект Ленина 38</span> <span itemprop="postalCode">430000</span> <span itemprop="addressLocality">Саранск, Россия</span> </div>
Учитывая эти рекомендации, вы сможете эффективно использовать микроразметку в Nuxt.js на своем сайте, улучшить SEO-оптимизацию, сделать контент более заметным в поисковых системах и обеспечить лучший UX.
Спасибо за внимание!
Авторские материалы для frontend-разработчиков мы также публикуем в наших соцсетях – ВКонтакте и Telegram.
ссылка на оригинал статьи https://habr.com/ru/articles/758926/
Добавить комментарий