Uporządkowane dane o szacunkowych zarobkach (Occupation)

Uporządkowane dane Occupation umożliwiają dostawcom informacji o szacunkowych zarobkach definiowanie przedziałów wynagrodzenia i średnich płac zależnych od regionu dla różnych stanowisk. Pozwalają im też na podawanie szczegółowych informacji o danym stanowisku pracy, np. typowych korzyści, kwalifikacji i wymaganego wykształcenia. Uporządkowane dane OccupationAggregationByEmployer umożliwiają dostawcom informacji o szacunkowych zarobkach grupowanie informacji o stanowiskach pracy według takich kryteriów jak poziom doświadczenia czy organizacja oferująca zatrudnienie.

Szacunkowe zarobki mogą pojawiać się w wynikach wyszukiwania ofert pracy w Google i jako element rozszerzony szacunkowych zarobków w danym zawodzie.

Informacje o szacunkowych zarobkach w wyszukiwarce ofert pracy w Google

如何添加结构化数据

结构化数据是一种提供网页相关信息并对网页内容进行分类的标准化格式。如果您不熟悉结构化数据,可以详细了解结构化数据的运作方式

下面概述了如何构建、测试和发布结构化数据。如需获得向网页添加结构化数据的分步指南,请查看结构化数据 Codelab

  1. 添加必要属性。根据您使用的格式,了解在网页上的什么位置插入结构化数据
  2. 遵循指南
  3. 使用富媒体搜索结果测试验证您的代码,并修复所有严重错误。此外,您还可以考虑修正该工具中可能会标记的任何非严重问题,因为这些这样有助于提升结构化数据的质量(不过,要使内容能够显示为富媒体搜索结果,并非必须这么做)。
  4. 部署一些包含您的结构化数据的网页,然后使用网址检查工具测试 Google 看到的网页样貌。请确保您的网页可供 Google 访问,不会因 robots.txt 文件、noindex 标记或登录要求而被屏蔽。如果网页看起来没有问题,您可以请求 Google 重新抓取您的网址
  5. 为了让 Google 随时了解日后发生的更改,我们建议您提交站点地图Search Console Sitemap API 可以帮助您自动执行此操作。

Przykłady

Przykład typu danych Occupation

Ten przykładowy kod JSON-LD pokazuje proste znaczniki Occupation z danymi o szacunkowych zarobkach:


<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>

Przykład typu danych OccupationAggregationByEmployer

Ten kod JSON-LD to bardziej skomplikowany przykład znaczników OccupationAggregationByEmployer z danymi o szacunkowych zarobkach:

<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>

Wskazówki

Musisz przestrzegać wskazówek dotyczących jakości uporządkowanych danych oraz wskazówek technicznych. Uporządkowane dane Occupation muszą też być zgodne z poniższymi wytycznymi.

Wskazówki techniczne

  • Uporządkowane dane Occupation mają charakter autonomiczny. Nie muszą być powiązane z żadnymi innymi uporządkowanymi danymi, które przekazujesz do Google.
  • Dodaj do strony internetowej tylko jeden typ Occupation lub OccupationAggregationByEmployer. Nie umieszczaj na stronie więcej niż jednej definicji takiego typu.
  • Upewnij się, że uporządkowane dane są zgodne z informacjami widocznymi na stronie, na której się znajdują. Oto kilka przykładów:
    • Pokazujesz użytkownikom na stronie same średnie zarobki, a Twoje uporządkowane dane zawierają tylko takie wartości.
    • Zaokrąglasz na stronie roczne zarobki do najbliższych 5 tysięcy i taką samą dokładność stosujesz w uporządkowanych danych.
  • Większość właściwości powinna wystąpić w definicji tylko raz, chyba że podano inaczej.
  • W przypadku zawodów, których cechy zmieniają się zależnie od lokalizacji (np. przedział zarobków we wschodniej Polsce może być inny niż w zachodniej), utwórz osobne strony internetowe, podając dla każdej własną definicję znaczników Occupation, która określa odrębną właściwość occupationLocation.
  • Nie dodawaj uporządkowanych danych związanych z szacunkowymi zarobkami do stron z listami zawodów.
  • Jeśli zawartość Twoich stron będzie się zmieniać, aktualizuj codziennie mapy witryny.

Wskazówki dotyczące treści

  • Grupuj stanowiska pracy podobne pod względem opisu i przedziału zarobków. Posady muszą być określone szczegółowo, ale nie aż tak, żeby powodowało to dezorientację. Oto kilka przykładów:
    • Nie używaj określeń zbyt ogólnikowych:

      Niezalecane: „Psycholodzy kliniczni, terapeutyczni i szkolni”

      Zalecane: „Pedagog szkolny”, „Psycholog kliniczny”, „Terapeuta kliniczny”, „Lekarz psycholog”

    • Nie używaj określeń zbyt szczegółowych:

      Niezalecane: „Pielęgniarka uprawniona do świadczenia opieki domowej” i „Pielęgniarka dyplomowana – opieka domowa – pielęgniarka z dojazdem”

      Zalecane: „Pielęgniarka dyplomowana”

Definicje typów uporządkowanych danych

W tej sekcji opisano typy uporządkowanych danych związane z szacunkowymi zarobkami.

Aby treści mogły się wyświetlać w Google i w wynikach z elementami rozszerzonymi, musisz w nich stosować wymagane właściwości. Możesz też dodać do nich właściwości zalecane, by wzbogacić informacje o treściach i zwiększyć w ten sposób komfort użytkowników.

Occupation

Typ Occupation określa informacje o posadzie, np. szacunkowe zarobki, wymagane umiejętności i zakres obowiązków. Pełną definicję znaczników Occupation znajdziesz na schema.org/Occupation.

Właściwości obsługiwane przez Google:

Właściwości wymagane
estimatedSalary

Tablica MonetaryAmountDistribution

Szacunkowe zarobki na tym stanowisku w lokalizacji podanej we właściwości occupationLocation. Przedział wynagrodzenia lub szacunkowe zarobki możesz wyznaczyć na podstawie rangi centylowej.

Przykład przedziału szacunkowych zarobków:

"estimatedSalary": [{
  "@type": "MonetaryAmountDistribution",
  "name": "base",
  "currency": "USD",
  "duration": "P1Y",
  "minValue": "100000", // Inherited from QuantitativeValue
  "maxValue": "150000", // Inherited from QuantitativeValue
  "median": "124900" // Inherited from QuantitativeValueDistribution
}]

Aby podać pensję podstawową, premie i inne formy wynagrodzenia pieniężnego, zdefiniuj wiele składników pensji w tablicy estimatedSalary. Musisz określić pensję podstawową, a pozostałe rodzaje wynagrodzenia są opcjonalne.

Oto przykład z premią:

"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

Duration

Czas potrzebny na uzyskanie szacunkowych zarobków podany w formacie daty ISO 8601. Jeśli na przykład szacunkowe zarobki są uzyskiwane w ciągu roku, dla właściwości duration użyj P1Y.

estimatedSalary.name

Text

Rodzaj wartości. Musisz określić pensję podstawową, a pozostałe rodzaje wynagrodzenia są opcjonalne. Na przykład „Pensja podstawowa”, „Premia”, „Prowizja”.

name

Text

Nazwa stanowiska. Ta właściwość może zawierać tekst nieuporządkowany, np. „Inżynier oprogramowania”.

Sprawdzone metody:

  • Ta właściwość musi zawierać tylko nazwę stanowiska.
  • W polu właściwości name nie należy podawać kodów stanowisk pracy, adresów, dat, zarobków ani nazw firm.

    Niezalecane: Zgłoś się teraz do pracy w IT – język FRANCUSKI w Bukareszcie

    Zalecane: Specjalista ds. rynku, język francuski

  • Podawaj zwięzłe, zrozumiałe nazwy.
  • Nie nadużywaj znaków specjalnych, takich jak ! czy *. Może to spowodować uznanie uporządkowanych danych za znaczniki o strukturze spamerskiej. Możesz stosować liczby oraz takie znaki jak /-.

    Niezalecane: *** HURTOWNIA ZATRUDNI OD ZARAZ!! OBOK PRZYSTANKU AUTOBUSOWEGO!! ***

    Zalecane: Pracownik hurtowni zajmujący się wysyłką i odbiorem towarów

occupationLocation

Tablica City, State lub Country

Miejsce, do którego odnosi się ten opis posady. W przypadku wskazywania pojedynczej lokalizacji określ ją na poziomie miasta, województwa (lub jego odpowiednika w innych państwach) albo kraju w jednym polu właściwości Name.

Przykład szczegółowy (zalecany)

"occupationLocation": {
  "@type": "City", // Maximum level of granularity (recommended)
  "name": "Mountain View, CA, US" // City, State, and Country inputted on same property
}

Przykłady mniej szczegółowe

Przykłady o mniejszej szczegółowości, które są nadal akceptowane:

"occupationLocation": {
  "@type": "State",
  "name": "CA, US"
}
"occupationLocation": {
  "@type": "Country",
  "name": "US"
}

Sprawdzone metody:

  • Lokalizacji nie należy określać bardziej szczegółowo niż przez podanie miasta.
  • W polu właściwości State można wpisywać nazwy województw lub ich odpowiedników w innych krajach.
  • Wartość w polu occupationLocation to lokalizacja, w której faktycznie będzie wykonywana praca, a nie ta, w której utworzono listę szacunkowych zarobków.
  • Jeśli pojedynczy typ Occupation zawiera wiele lokalizacji, określ je w tablicy occupationLocation, jak pokazano w następnym przykładzie.
    "occupationLocation": [
      {
        "@type": "City",
        "name": "Portland, Oregon, US" // Salary specified for multiple locations
      }, {
        "@type": "City",
        "name": "Seattle, Washington, US"
       }
    ]
  • Takie dane jak przedziały zarobków, wymagane wykształcenie i kwalifikacje oczekiwane na danym stanowisku często zmieniają się zależnie od lokalizacji. Aby to odzwierciedlić, utwórz wiele stron, podając dla każdej własną definicję typu Occupation i odrębną właściwość occupationLocation.
Właściwości zalecane
description

Text

Opis stanowiska pracy.

Właściwość description musi zawierać wyczerpujący opis stanowiska, m.in. zakres obowiązków, niezbędne kwalifikacje i umiejętności, godziny pracy oraz wymagania dotyczące wykształcenia i doświadczenia.

Dodatkowe wskazówki:

  • Umieść znaczniki description na wszystkich stronach leaf page, do których może dotrzeć użytkownik, a nie tylko na stronie najwyższego poziomu.
  • Właściwość description musi jednoznacznie identyfikować stanowisko i zawierać szczegółowy opis tego, z czym wiąże się dana praca.

    Niezalecane: „Staż – szkolenie zawodowe dla osób zainteresowanych pracą biurową”.

    Zalecane: „Staż na stanowisku analityka danych – stażysta pracujący u boku analityka danych. Analityk danych zajmuje się wydobywaniem z informacji takich statystyk, które pomagają w podejmowaniu decyzji na podstawie danych”.

  • Wartość właściwości description nie może być identyczna z wartością właściwości name.
  • We właściwości description nie podawaj nazwy organizacji oferującej zatrudnienie. Służy do tego właściwość hiringOrganization.
estimatedSalary.currency

Text

Trzyliterowy kod waluty zarobków w formacie ISO 4217, np. „PLN” lub „USD”.

estimatedSalary.median

Number

Wartość mediany (czyli wartość środkowa). Na przykład połowa zarobków na tym stanowisku jest co najwyżej równa tej wartości.

estimatedSalary.percentile10

Number

Wartość 10. percentyla. Na przykład 10% zarobków na tym stanowisku jest co najwyżej równa tej wartości.

estimatedSalary.percentile25

Number

Wartość 25. percentyla. Na przykład 25% zarobków na tym stanowisku jest co najwyżej równa tej wartości.

estimatedSalary.percentile75

Number

Wartość 75. percentyla. Na przykład 75% zarobków na tym stanowisku jest co najwyżej równa tej wartości.

estimatedSalary.percentile90

Number

Wartość 90. percentyla. Na przykład 90% zarobków na tym stanowisku jest co najwyżej równe tej wartości.

mainEntityOfPage

WebPage

Najważniejsza informacja podana na stronie.

mainEntityOfPage.lastReviewed

Date

Data wygenerowania informacji o szacunkowych zarobkach w formacie ISO 8601, Przykład:

"mainEntityOfPage": {
  "@type": "WebPage",
  "lastReviewed": "2017-07-23T14:20:00-05:00"
}

OccupationAggregationByEmployer

OccupationAggregationByEmployer zawiera dane związane z pracą, które są pogrupowane według pracodawcy. Po pogrupowaniu posad według pracodawcy możesz np. określić dla nich zbiorczo branżę i organizację oferującą zatrudnienie.

Właściwości obsługiwane przez Google:

Właściwości wymagane
estimatedSalary

Tablica MonetaryAmountDistribution

Szacunkowe zarobki na tym stanowisku w lokalizacji podanej we właściwości occupationLocation. Przedział wynagrodzenia lub szacunkowe zarobki możesz wyznaczyć na podstawie rangi centylowej.

Przykład przedziału szacunkowych zarobków:

"estimatedSalary": [{
  "@type": "MonetaryAmountDistribution",
  "name": "base",
  "currency": "USD",
  "duration": "P1Y",
  "minValue": "100000", // Inherited from QuantitativeValue
  "maxValue": "150000", // Inherited from QuantitativeValue
  "median": "124900" // Inherited from QuantitativeValueDistribution
}]

Aby podać pensję podstawową, premie i inne formy wynagrodzenia pieniężnego, zdefiniuj wiele składników pensji w tablicy estimatedSalary. Musisz określić pensję podstawową, a pozostałe rodzaje wynagrodzenia są opcjonalne.

Przykład z premią

"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

Duration

Czas potrzebny na uzyskanie szacunkowych zarobków podany w formacie daty ISO 8601. Jeśli na przykład szacunkowe zarobki są uzyskiwane w ciągu roku, dla właściwości duration użyj P1Y.

estimatedSalary.name

Text

Rodzaj wartości. Musisz określić pensję podstawową, a pozostałe rodzaje wynagrodzenia są opcjonalne. Na przykład „Pensja podstawowa”, „Premia”, „Prowizja”.

hiringOrganization

Organization

Organizacja oferująca zatrudnienie w tym zawodzie. W polu @context wpisz wartość „https://schema.org/”. Wartością właściwości hiringOrganization musi być nazwa firmy (np. „Empik sp. z o.o.”), a nie jej konkretna placówka, która szuka pracowników (np. „Empik przy ul. Głównej”). Przykład:

"hiringOrganization": {
  "@context": "https://schema.org/",
  "@type": "Organization",
  "name": "Google LLC"
}
name

Text

Nazwa stanowiska. Ta właściwość może zawierać tekst nieuporządkowany, np. „Inżynier oprogramowania”.

Sprawdzone metody:

  • Ta właściwość musi zawierać tylko nazwę stanowiska.
  • W polu właściwości name nie należy podawać kodów stanowisk pracy, adresów, dat, zarobków ani nazw firm.

    Niezalecane: Zgłoś się teraz do pracy w IT – język FRANCUSKI w Bukareszcie

    Zalecane: Specjalista ds. rynku, język francuski

  • Podawaj zwięzłe, zrozumiałe nazwy.
  • Nie nadużywaj znaków specjalnych, takich jak ! czy *. Może to spowodować uznanie uporządkowanych danych za znaczniki o strukturze spamerskiej. Możesz stosować liczby oraz takie znaki jak „/” i „-”.

    Niezalecane: *** HURTOWNIA ZATRUDNI OD ZARAZ!! OBOK PRZYSTANKU AUTOBUSOWEGO!! ***

    Zalecane: Pracownik hurtowni zajmujący się wysyłką i odbiorem towarów

occupationLocation

Tablica City, State lub Country

Miejsce, do którego odnosi się ten opis posady. W przypadku wskazywania pojedynczej lokalizacji określ ją na poziomie miasta, województwa (lub jego odpowiednika w innych państwach) albo kraju w jednym polu właściwości Name.

Przykład szczegółowy (zalecany)

"occupationLocation": {
  "@type": "City", // Maximum level of granularity (recommended)
  "name": "Mountain View, CA, US" // City, State, and Country inputted on same property
}

Przykłady mniej szczegółowe

Przykłady o mniejszej szczegółowości, które są nadal akceptowane:

"occupationLocation": {
  "@type": "State",
  "name": "CA, US"
}
"occupationLocation": {
  "@type": "Country",
  "name": "US"
}

Sprawdzone metody:

  • Lokalizacji nie należy określać bardziej szczegółowo niż przez podanie miasta.
  • W polu właściwości State można wpisywać nazwy województw lub ich odpowiedników w innych krajach.
  • Wartość w polu occupationLocation to lokalizacja, w której faktycznie będzie wykonywana praca, a nie ta, w której utworzono listę szacunkowych zarobków.
  • Jeśli pojedynczy typ Occupation zawiera wiele lokalizacji, określ je w tablicy occupationLocation, jak pokazano w następnym przykładzie.
    "occupationLocation": [
      {
        "@type": "City",
        "name": "Portland, Oregon, US" // Salary specified for multiple locations
      }, {
        "@type": "City",
        "name": "Seattle, Washington, US"
       }
    ]
  • Takie dane jak przedziały zarobków, wymagane wykształcenie i kwalifikacje oczekiwane na danym stanowisku często zmieniają się zależnie od lokalizacji. Aby to odzwierciedlić, utwórz wiele stron, podając dla każdej własną definicję typu Occupation i odrębną właściwość occupationLocation.
Właściwości zalecane
description

Text

Opis stanowiska pracy.

Właściwość description musi zawierać wyczerpujący opis stanowiska, m.in. zakres obowiązków, niezbędne kwalifikacje i umiejętności, godziny pracy oraz wymagania dotyczące wykształcenia i doświadczenia.

Dodatkowe wskazówki:

  • Umieść znaczniki description na wszystkich stronach leaf page, do których może dotrzeć użytkownik, a nie tylko na stronie najwyższego poziomu.
  • Właściwość description musi jednoznacznie identyfikować stanowisko i zawierać szczegółowy opis tego, z czym wiąże się dana praca.

    Niezalecane: „Staż – szkolenie zawodowe dla osób zainteresowanych pracą biurową”.

    Zalecane: „Staż na stanowisku analityka danych – stażysta pracujący u boku analityka danych. Analityk danych zajmuje się wydobywaniem z informacji takich statystyk, które pomagają w podejmowaniu decyzji na podstawie danych”.

  • Wartość właściwości description nie może być identyczna z wartością właściwości name.
  • We właściwości description nie podawaj nazwy organizacji oferującej zatrudnienie. Służy do tego właściwość hiringOrganization.
estimatedSalary.currency

Text

Trzyliterowy kod waluty zarobków w formacie ISO 4217, np. „PLN” lub „USD”.

estimatedSalary.median

Number

Wartość mediany (czyli wartość środkowa). Na przykład połowa zarobków na tym stanowisku jest co najwyżej równa tej wartości.

estimatedSalary.percentile10

Number

Wartość 10. percentyla. Na przykład 10% zarobków na tym stanowisku jest co najwyżej równa tej wartości.

estimatedSalary.percentile25

Number

Wartość 25. percentyla. Na przykład 25% zarobków na tym stanowisku jest co najwyżej równa tej wartości.

estimatedSalary.percentile75

Number

Wartość 75. percentyla. Na przykład 75% zarobków na tym stanowisku jest co najwyżej równa tej wartości.

estimatedSalary.percentile90

Number

Wartość 90. percentyla. Na przykład 90% zarobków na tym stanowisku jest co najwyżej równe tej wartości.

industry

Text

Branża powiązana ze stanowiskiem pracy.

jobBenefits

Text

Opis korzyści związanych ze stanowiskiem.

mainEntityOfPage

WebPage

Najważniejsza informacja podana na stronie.

mainEntityOfPage.lastReviewed

Date

Data wygenerowania informacji o szacunkowych zarobkach w formacie ISO 8601, Przykład:

"mainEntityOfPage": {
  "@type": "WebPage",
  "lastReviewed": "2017-07-23T14:20:00-05:00"
}
sampleSize

Number

Liczba punktów danych uwzględnianych w zbiorczych danych o zarobkach, Przykład:

"sampleSize": 42
yearsExperienceMax

Number

Maksymalna liczba lat doświadczenia akceptowalna na tym stanowisku. Na przykład na stanowisku najniższego szczebla może być akceptowalne maksymalnie pięć lat doświadczenia, jak pokazano tutaj:

"yearsExperienceMax": 5
yearsExperienceMin

Number

Minimalna liczba lat doświadczenia wymagana na tym stanowisku. Na przykład na stanowisku wyższego szczebla może być wymagane co najmniej 10 lat doświadczenia, jak pokazano tutaj:

"yearsExperienceMin": 10

Rozwiązywanie problemów

Jeśli masz problem z zastosowaniem lub debugowaniem uporządkowanych danych, skorzystaj z tych rozwiązań: