Структурированные данные для ориентировочной зарплаты (Occupation
)
Благодаря структурированным данным Occupation
поставщики информации о трудоустройстве могут указывать диапазоны зарплат, средний заработок на разных должностях в зависимости от региона, а также бонусы, требования к образованию и опыту. Структурированные данные OccupationAggregationByEmployer
позволяют поставщикам информации группировать ее по различным параметрам, например по работодателю или необходимому опыту.
Сведения об ориентировочной зарплате могут появляться в разделе вакансий Google Поиска, а также в расширенных результатах по определенной профессии.
Как добавлять структурированные данные
Структурированные данные – стандартизированный формат, который позволяет предоставлять информацию о странице и классифицировать ее контент. О том, как это работает, рассказывается в другой статье.
Ниже в общих чертах описано, как создать, проверить и добавить на сайт структурированные данные. Пошаговые инструкции вы найдете в практической работе, посвященной добавлению структурированных данных на веб-страницу.
- Добавьте обязательные свойства. Узнайте, в каких частях страницы нужно размещать структурированные данные выбранного вами формата.
- Следуйте рекомендациям.
- Протестируйте свой код с помощью инструмента проверки расширенных результатов. Если будут обнаружены критические ошибки, устраните их. Мы также рекомендуем устранить некритические ошибки, отмеченные в инструменте. Это может привести к повышению качества структурированных данных, хотя страницы будут подходить для создания расширенных результатов и без этого.
- Опубликуйте страницу и с помощью инструмента проверки URL выясните, как она выглядит для робота Googlebot. Убедитесь, что доступ Google к странице не заблокирован файлом robots.txt или метатегом
noindex
и авторизация на ней не требуется. Если все в порядке, то запросите повторное сканирование ваших URL. - Отправляйте нам файл Sitemap, чтобы информировать нас об изменениях на сайте. Отправку такого файла можно автоматизировать с помощью Search Console Sitemap API.
Примеры
Пример со сведениями о профессии
Нажмите кнопку ниже, чтобы увидеть простой код JSON-LD для структурированных данных типа Occupation
с информацией об ориентировочной зарплате:
<html> <head> <title>Software Developer, Applications</title> <script type="application/ld+json"> { "@context": "https://schema.org/", "@type": "Occupation", "name": "Software Developer, Applications", "mainEntityOfPage": { "@type": "WebPage", "lastReviewed": "2024-07-23T14:20:00-05:00" }, "description": "Develops information systems by designing, developing, and installing software solutions", "estimatedSalary": [ { "@type": "MonetaryAmountDistribution", "name": "base", "currency": "USD", "duration": "P1Y", "percentile10": 100000.5, "percentile25": 115000, "median": 120000.28, "percentile75": 130000, "percentile90": 150000 } ], "occupationLocation": [ { "@type": "City", "name": "Mountain View" } ] } </script> </head> <body> </body> </html>
Пример со сведениями о профессии, сгруппированными по работодателю
Нажмите кнопку ниже, чтобы увидеть более сложный код JSON-LD для структурированных данных типа OccupationAggregationByEmployer
с информацией об ориентировочной зарплате:
<html> <head> <title>App/Web App Developer</title> <script type="application/ld+json"> { "@context": "https://schema.googleapis.com/", "@type": "OccupationAggregationByEmployer", "name": "App/Web App Developer", "mainEntityOfPage": { "@type": "WebPage", "lastReviewed": "2024-07-23T14:20:00-05:00" }, "description": "Develops information systems by designing, developing, and installing software solutions.", "estimatedSalary": [ { "@type": "MonetaryAmountDistribution", "name": "base", "currency": "USD", "duration": "P1Y", "percentile10": 100000.5, "percentile25": 115000, "median": 120000.28, "percentile75": 130000, "percentile90": 150000 }, { "@type": "MonetaryAmountDistribution", "name": "bonus", "currency": "USD", "duration": "P1Y", "percentile10": 10000, "percentile25": 20000, "median": 25000, "percentile75": 27000, "percentile90": 60000 } ], "occupationLocation": [ { "@type": "State", "name": "Oregon" }, { "@type": "State", "name": "Washington" }, { "@type": "State", "name": "California" } ], "hiringOrganization": { "@type": "Organization", "name": "Google LLC" }, "sampleSize":1000, "industry": "Technology", "jobBenefits": "6 weeks paid vacation every year", "yearsExperienceMin": 3, "yearsExperienceMax": 7 } </script> </head> <body> </body> </html>
Правила
Вы должны соблюдать общие правила в отношении структурированных данных и технические требования. Кроме того, в отношении структурированных данных типа Occupation
действуют перечисленные ниже требования.
Технические требования
Occupation
– независимые структурированные данные. Их не требуется связывать с другими данными, которые вы предоставляете Google.- Добавляйте только один экземпляр данных
Occupation
илиOccupationAggregationByEmployer
на каждую веб-страницу. - Убедитесь, что структурированные данные соответствуют контенту веб-страницы. Ниже приведено несколько примеров.
- Если пользователи видят на странице среднюю зарплату, в структурированные данные должны входить только соответствующие значения.
- Если значение зарплаты округляется до двух знаков после запятой, структурированные данные должны быть представлены с той же точностью.
- За исключением отдельно оговоренных случаев, каждое свойство следует указывать в экземпляре элемента только один раз.
- Если характеристики профессии различаются в зависимости от местоположения (например, в Москве и Екатеринбурге разный диапазон зарплат), создайте отдельные веб-страницы с данными типа
Occupation
, указав в них разные значенияoccupationLocation
. - Не добавляйте структурированные данные с ориентировочными зарплатами на страницы со списком профессий.
- Ежедневно обновляйте файлы Sitemap, когда вносите на страницу изменения.
Требования к контенту
- Группируйте профессии с похожим описанием и диапазоном зарплат под одним заголовком.
Заголовки должны быть конкретными, но в пределах разумного. Ниже приведено несколько примеров.
- Избегайте слишком общих заголовков.
Неправильно: "Клинические, консультирующие и школьные психологи"
Правильно: "Школьный психолог", "Клинический психолог", "Психотерапевт", "Доктор психологии"
- Избегайте слишком конкретных заголовков.
Неправильно: "Программист-разработчик со знанием PHP", "Программист на C#", "Разработчик ПО (программ и приложений)"
Правильно: "Разработчик программного обеспечения"
- Избегайте слишком общих заголовков.
Типы структурированных данных
В этом разделе описаны типы структурированных данных, которые связаны с ориентировочными зарплатами.
Чтобы ваш контент мог появляться в разделе вакансий Google Поиска и в расширенных результатах, необходимо задать все обязательные свойства. Также можно добавить рекомендуемые свойства, чтобы пользователям было удобнее просматривать информацию.
Occupation
Тип Occupation
содержит сведения о должности, такие как ориентировочная зарплата, требования к квалификации и служебные обязанности. Полное описание типа Occupation
приведено на странице schema.org/Occupation.
Google поддерживает следующие свойства:
Обязательные свойства | |
---|---|
estimatedSalary |
Массив Ориентировочная зарплата для профессии в этом регионе ( Ниже показан ориентировочный диапазон зарплат: "estimatedSalary": [{ "@type": "MonetaryAmountDistribution", "name": "base", "currency": "USD", "duration": "P1Y", "minValue": "100000", // Inherited from QuantitativeValue "maxValue": "150000", // Inherited from QuantitativeValue "median": "124900" // Inherited from QuantitativeValueDistribution }] Чтобы при расчете зарплаты учитывать оклад, премии и другие формы денежных компенсаций, определите в массиве Пример зарплаты с учетом премии приведен ниже. "estimatedSalary": [ { "@type": "MonetaryAmountDistribution", "name": "base", "currency": "USD", "duration": "P1Y", "minValue": "100000", "maxValue": "150000", "median": "124900" }, { "@type": "MonetaryAmountDistribution", "name": "bonus", "currency": "USD", "duration": "P1Y", "minValue": "0", "maxValue": "34500", "median": "4450" } ] |
estimatedSalary.duration |
Время, которое нужно отработать, чтобы получать указанную зарплату (в формате ISO 8601). Например, если такой уровень зарплаты достигается за год, укажите для свойства |
estimatedSalary.name |
Тип значения. Необходимо указать значение базовой ставки. Остальные виды компенсаций добавлять не обязательно. Это может быть "Оклад", "Премия", "Комиссия". |
name |
Название профессии. В этом свойстве можно использовать неструктурированный текст, например "Разработчик программного обеспечения". Рекомендации:
|
occupationLocation |
Местоположение, которое относится к информации о должности. Если вам нужно задать одно местоположение, укажите его на уровне города, региона или страны в одном свойстве Пример с подробным указанием местоположения (рекомендуется) "occupationLocation": { "@type": "City", // Maximum level of granularity (recommended) "name": "Mountain View, CA, US" // City, State, and Country inputted on same property } Примеры с менее подробным указанием местоположения Ниже приведены два примера, которые являются допустимыми, хотя в них местоположение указано не очень подробно:
"occupationLocation": { "@type": "State", "name": "CA, US" } "occupationLocation": { "@type": "Country", "name": "US" } Рекомендации:
|
Рекомендуемые свойства | |
---|---|
description |
Описание профессии. В свойстве Дополнительные рекомендации:
|
estimatedSalary.currency |
Трехбуквенный код валюты в формате ISO 4217. Пример: USD или RUB. |
estimatedSalary.median |
Медиана (среднее значение). Одна половина зарплат находится выше этого уровня, а другая – ниже. |
estimatedSalary.percentile10 |
Значение 10-го процентиля. На этом уровне или ниже находятся 10 % зарплат. |
estimatedSalary.percentile25 |
Значение 25-го процентиля. На этом уровне или ниже находятся 25 % зарплат. |
estimatedSalary.percentile75 |
Значение 75-го процентиля. На этом уровне или ниже находятся 75 % зарплат. |
estimatedSalary.percentile90 |
Значение 90-го процентиля. На этом уровне или ниже находятся 90 % зарплат. |
mainEntityOfPage |
Главное, что описывается на странице. |
mainEntityOfPage.lastReviewed |
Дата, когда была опубликована информация об ориентировочной зарплате, в формате ISO 8601. Пример: "mainEntityOfPage": { "@type": "WebPage", "lastReviewed": "2017-07-23T14:20:00-05:00" } |
OccupationAggregationByEmployer
Тип OccupationAggregationByEmployer
включает относящиеся к работе данные, сгруппированные по работодателю. Используя его, вы можете указать организацию или сферу деятельности для должностей, отсортированных по работодателю.
Google поддерживает следующие свойства:
Обязательные свойства | |
---|---|
estimatedSalary |
Массив Ориентировочная зарплата для профессии в этом регионе ( Ниже показан ориентировочный диапазон зарплат: "estimatedSalary": [{ "@type": "MonetaryAmountDistribution", "name": "base", "currency": "USD", "duration": "P1Y", "minValue": "100000", // Inherited from QuantitativeValue "maxValue": "150000", // Inherited from QuantitativeValue "median": "124900" // Inherited from QuantitativeValueDistribution }] Чтобы при расчете зарплаты учитывать оклад, премии и другие формы денежных компенсаций, определите в массиве Пример с премией "estimatedSalary": [ { "@type": "MonetaryAmountDistribution", "name": "base", "currency": "USD", "duration": "P1Y", "minValue": "100000", "maxValue": "150000", "median": "124900" }, { "@type": "MonetaryAmountDistribution", "name": "bonus", "currency": "USD", "duration": "P1Y", "minValue": "0", "maxValue": "34500", "median": "4450" } ] |
estimatedSalary.duration |
Время, которое нужно отработать, чтобы получать указанную зарплату (в формате ISO 8601). Например, если такой уровень зарплаты достигается за год, укажите для свойства |
estimatedSalary.name |
Тип значения. Необходимо указать значение базовой ставки. Остальные виды компенсаций добавлять не обязательно. Это может быть "Оклад", "Премия", "Комиссия". |
hiringOrganization |
Организация-работодатель. Задайте для @context значение "https://schema.org/".
В свойстве "hiringOrganization": { "@context": "https://schema.org/", "@type": "Organization", "name": "Google LLC" } |
name |
Название профессии. В этом свойстве можно использовать неструктурированный текст, например "Разработчик программного обеспечения". Рекомендации:
|
occupationLocation |
Местоположение, которое относится к информации о должности. Если вам нужно задать одно местоположение, укажите его на уровне города, региона или страны в одном свойстве Пример с подробным указанием местоположения (рекомендуется) "occupationLocation": { "@type": "City", // Maximum level of granularity (recommended) "name": "Mountain View, CA, US" // City, State, and Country inputted on same property } Примеры с менее подробным указанием местоположения Ниже приведены два примера, которые являются допустимыми, хотя в них местоположение указано не очень подробно:
"occupationLocation": { "@type": "State", "name": "CA, US" } "occupationLocation": { "@type": "Country", "name": "US" } Рекомендации:
|
Рекомендуемые свойства | |
---|---|
description |
Описание профессии. В свойстве Дополнительные рекомендации:
|
estimatedSalary.currency |
Трехбуквенный код валюты в формате ISO 4217. Пример: USD или RUB. |
estimatedSalary.median |
Медиана (среднее значение). Одна половина зарплат находится выше этого уровня, а другая – ниже. |
estimatedSalary.percentile10 |
Значение 10-го процентиля. На этом уровне или ниже находятся 10 % зарплат. |
estimatedSalary.percentile25 |
Значение 25-го процентиля. На этом уровне или ниже находятся 25 % зарплат. |
estimatedSalary.percentile75 |
Значение 75-го процентиля. На этом уровне или ниже находятся 75 % зарплат. |
estimatedSalary.percentile90 |
Значение 90-го процентиля. На этом уровне или ниже находятся 90 % зарплат. |
industry |
Сфера деятельности, с которой связана должность. |
jobBenefits |
Описание преимуществ работы. |
mainEntityOfPage |
Главное, что описывается на странице. |
mainEntityOfPage.lastReviewed |
Дата, когда была опубликована информация об ориентировочной зарплате, в формате ISO 8601. Пример: "mainEntityOfPage": { "@type": "WebPage", "lastReviewed": "2017-07-23T14:20:00-05:00" } |
sampleSize |
Количество элементов, которые входят в сводные данные о зарплате. Пример: "sampleSize": 42 |
yearsExperienceMax |
Максимальное количество лет опыта для вступления в должность. Например, для позиции младшего сотрудника этот показатель может составлять 5 лет: "yearsExperienceMax": 5 |
yearsExperienceMin |
Минимальное количество лет опыта для вступления в должность. Например, для позиции руководителя этот показатель может составлять 10 лет: "yearsExperienceMin": 10 |
Устранение неполадок
Если у вас возникли трудности с добавлением или отладкой структурированных данных, вам помогут ресурсы и сведения, доступные по приведенным ниже ссылкам.
- Если вы используете систему управления контентом (CMS) или поручили настройку сайта другому человеку, обратитесь за помощью к нему или разработчику CMS. Не забудьте переслать ему сообщения о проблеме, полученные вами в Search Console.
- Google не гарантирует показ вашего контента в результатах поиска, которые формируются на основе структурированных данных. Возможные причины, по которым ваши материалы могут не показываться в виде расширенных результатов, перечислены в общих рекомендациях по использованию структурированных данных.
- Ознакомьтесь со списком типичных ошибок в структурированных данных и проверьте, всё ли у вас правильно.
- Если мы вручную приняли меры в отношении страницы, недопустимые структурированные данные на ней будут игнорироваться до тех пор, пока вы не исправите код. При этом сама страница может появляться в результатах поиска и дальше. Чтобы устранить проблемы со структурированными данными, воспользуйтесь отчетом о мерах, принятых вручную.
- Ещё раз изучите рекомендации, чтобы выяснить, соответствует ли им ваш контент. Проблема может быть связана со спамом в контенте или разметке, а не с ошибками в синтаксисе. Тогда ее не получится выявить с помощью инструмента проверки расширенных результатов.
- Узнайте, что может стоять за отсутствием расширенных результатов или уменьшением их общего количества.
- Робот Googlebot сканирует и индексирует страницы не сразу после обновления контента. С момента публикации страницы может пройти несколько дней, пока Google обнаружит и просканирует ее. Мы собрали на отдельной странице ответы на часто задаваемые вопросы о сканировании и индексировании.
- В случае необходимости задавайте вопросы на форуме Центра Google Поиска