Что такое разметка JobPosting
Разметка JobPosting — это стандартизированный словарь из Schema.org, который используется для описания вакансии на языке, понятном поисковым системам. Применяя ее, вы помогаете Google точно проанализировать и классифицировать контент на странице с вакансией.
Внедрение этих структурированных данных позволяет поисковой системе извлечь ключевую информацию: должность, зарплату, местоположение, тип занятости — и представить ее в виде интерактивного расширенного результата в поиске. Это привлекает более целевых кандидатов и увеличивает количество откликов.
Основные свойства разметки JobPosting
Для корректного отображения вакансии в Google Search необходимо заполнить ряд обязательных и рекомендуемых полей. Я разделю их на две группы для удобства. Вся официальная документация доступна на портале Google Developers.
Обязательные свойства
Эти поля критически важны. Без них Google не сможет обработать и показать вашу вакансию в результатах поиска.
| Свойство | Тип данных | Описание |
|---|---|---|
| datePosted | Date | Дата публикации вакансии в формате ISO 8601 (например, 2023-11-21). |
| description | Text (HTML) | Полное описание вакансии: обязанности, требования, условия. Можно и нужно использовать HTML-теги (<p>, <ul>, <li>, <strong>) для форматирования. |
| hiringOrganization | Organization | Информация о компании-нанимателе. Как минимум, нужно указать название (name). |
| jobLocation | Place | Физический адрес места работы. Для удаленной работы существуют другие свойства, о них я расскажу ниже. |
| title | Text | Название должности (например, «SEO-специалист» или «Разработчик Java»). |
| validThrough | DateTime | Крайний срок подачи заявок или дата закрытия вакансии. После этой даты вакансия перестанет отображаться. |
Рекомендуемые свойства
Эти свойства не являются строго обязательными, но их заполнение делает объявление более информативным, привлекательным и помогает лучше ранжироваться в поиске вакансий.
- baseSalary: Указание зарплаты — один из ключевых факторов для соискателя. Используется тип
MonetaryAmount, где можно задать валюту, сумму или диапазон (min/max), а также период (HOUR,WEEK,MONTH,YEAR). - employmentType: Тип занятости. Можно указать несколько значений:
FULL_TIME,PART_TIME,CONTRACTOR,TEMPORARY,INTERNи другие. - jobLocationType: Позволяет указать, что работа удаленная. Используйте значение
TELECOMMUTE, чтобы вакансия получила специальную отметку «Работа из дома». - applicantLocationRequirements: Если работа удаленная, но кандидат должен находиться в определенной стране или регионе, это свойство обязательно. Указывается страна, регион или город.
- directApply: Логическое значение (
trueилиfalse), которое показывает, можно ли откликнуться на вакансию напрямую с вашего сайта. - identifier: Уникальный идентификатор вакансии в вашей системе. Помогает Google отслеживать обновления.
- experienceRequirements: Требования к опыту работы. Можно указать как текстовое описание, так и необходимое количество месяцев опыта.
- educationRequirements: Требования к образованию.
Техническая реализация и примеры
Google рекомендует использовать формат JSON-LD для внедрения структурированных данных. Это скрипт, который размещается в секции <head> или <body> HTML-кода страницы с вакансией.
На практике принято размещать скрипт в <head> для более быстрой обработки поисковыми роботами.
Вот базовый пример разметки JobPosting в формате JSON-LD для гипотетической вакансии:
<script type="application/ld+json">
{
"@context" : "https://schema.org/",
"@type" : "JobPosting",
"title" : "SEO-специалист",
"description" : "<p>Мы ищем опытного SEO-специалиста для работы над крупными проектами.</p><strong>Обязанности:</strong><ul><li>Проведение аудитов сайта.</li><li>Сбор семантического ядра.</li></ul>",
"datePosted" : "2023-11-20",
"validThrough" : "2023-12-20T23:59:00Z",
"employmentType" : "FULL_TIME",
"hiringOrganization" : {
"@type" : "Organization",
"name" : "SEO-Практика",
"logo": "https://example.com/logo.png"
},
"jobLocation": {
"@type": "Place",
"address": {
"@type": "PostalAddress",
"streetAddress": "ул. Ленина, д. 1",
"addressLocality": "Москва",
"postalCode": "101000",
"addressCountry": "RU"
}
},
"baseSalary": {
"@type": "MonetaryAmount",
"currency": "RUB",
"value": {
"@type": "QuantitativeValue",
"minValue": "100000",
"maxValue": "150000",
"unitText": "MONTH"
}
}
}
</script>
Для сайтов на популярных CMS, таких как WordPress, существуют плагины, которые автоматизируют создание такой разметки, что упрощает поисковую оптимизацию.
Правила и частые ошибки
Чтобы избежать проблем с индексацией и отображением вакансий, важно следовать рекомендациям Google Search Central.
- Одна вакансия — одна страница. Не размещайте несколько разметок
JobPostingна одной странице со списком вакансий. Каждая вакансия должна иметь свой уникальный URL. - Видимость контента. Вся информация, указанная в структурированных данных, должна быть видна пользователю на странице. Не пытайтесь скрыть текст или добавить в разметку то, чего нет на странице.
- Актуальность. Как только вакансия становится неактуальной, страницу следует удалить (и настроить ответ сервера
404или410) или убрать с нее разметкуJobPosting. Обязательно обновляйте свойствоvalidThrough. - Не используйте разметку для других целей.
JobPostingпредназначена только для описания возможностей для трудоустройства, а не для курсов, франшиз или партнерских программ. - Правила для удаленной работы. Если вакансия полностью удаленная (
jobLocationType: 'TELECOMMUTE'), не указывайте конкретный город вjobLocation. Вместо этого используйтеapplicantLocationRequirements, чтобы обозначить, из каких стран или регионов вы ждете кандидатов.
Проверка и отслеживание эффективности
После внедрения разметки необходимо убедиться, что она работает корректно, и анализировать ее влияние на трафик.
Инструменты для проверки
- Rich Results Test. Основной инструмент от Google для проверки одной страницы. Он покажет, видит ли Google вашу разметку
JobPostingи есть ли в ней ошибки. - Google Search Console. После того как Google просканирует ваш сайт, в
Search Consoleпоявится специальный отчет «Вакансии» в разделе «Улучшения». Он показывает статистику по всем страницам с вакансиями: количество действительных URL, URL с предупреждениями и с ошибками. Регулярно проверяйте этот отчет.
Анализ производительности
Чтобы оценить эффективность, используйте отчет «Эффективность» в Google Search Console.
Примените фильтр: Вид в поиске → Объявление о вакансии. Вы увидите, сколько показов и кликов получают ваши вакансии в специальном блоке Google Search. Этот анализ поможет понять, какие заголовки и описания работают лучше.
Для более глубокого анализа на стороне вашего сайта я рекомендую использовать UTM-метки. Google добавляет специальные параметры к URL, когда соискатель нажимает кнопку «Откликнуться» в интерфейсе поиска вакансий. Вы можете отслеживать эти переходы в Google Analytics по следующим параметрам:
utm_campaign=google_jobs_applyutm_source=google_jobs_applyutm_medium=organic
Настроив цели в Google Analytics на основе этих меток, вы сможете точно посчитать количество откликов, полученных непосредственно из поиска Google.
Использование Indexing API
Для сайтов с большим количеством вакансий, которые часто публикуются и закрываются, стандартного сканирования Googlebot может быть недостаточно. Вакансия может оставаться в поиске даже после закрытия или, наоборот, долго не появляться.
Для решения этой проблемы Google предлагает Indexing API. Этот инструмент позволяет напрямую уведомлять Google о добавлении, обновлении или удалении страниц с вакансиями, что инициирует сканирование в течение нескольких минут, а не дней. Использование Indexing API в сочетании с файлами Sitemap — лучшая практика для сайтов по поиску работы.
Заключение
Разметка JobPosting — это несложный, но чрезвычайно мощный инструмент коммуникации с поисковыми системами для любого сайта, публикующего вакансии. Корректное внедрение структурированных данных напрямую влияет на видимость в Google Search, привлекает целевых кандидатов и позволяет точно измерять эффективность вашего канала найма. Это прямой путь к тому, чтобы ваши объявления о работе выделялись на фоне конкурентов и достигали максимального охвата аудитории.