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

Dodawanie uporządkowanych danych

Uporządkowane dane to standardowy format udostępniania informacji o stronie i klasyfikowania jej zawartości. Jeśli dopiero zaczynasz, dowiedz się, jak działają uporządkowane dane.

Poniżej omawiamy sposób tworzenia, testowania i udostępniania uporządkowanych danych. Szczegółowe instrukcje dodawania uporządkowanych danych do strony internetowej znajdziesz w ćwiczeniach z programowania poświęconych uporządkowanym danym.

  1. Dodaj wymagane właściwości. Dowiedz się, w którym miejscu na stronie umieścić uporządkowane dane w zależności od używanego formatu.
  2. Przestrzegaj wskazówek.
  3. Zweryfikuj kod za pomocą testu wyników z elementami rozszerzonymi i napraw błędy krytyczne. Rozważ też usunięcie niekrytycznych problemów, które mogą zostać zgłoszone w narzędziu – to może poprawić jakość uporządkowanych danych (ale nie jest to konieczne, aby witryna kwalifikowała się do wyników z elementami rozszerzonymi).
  4. Możesz wdrożyć kilka stron z uporządkowanymi danymi i dzięki narzędziu do sprawdzania adresów URL zobaczyć, jak Google je odczytuje. Upewnij się, że Twoja strona jest dostępna dla Google i nie jest blokowana przez plik robots.txt lub tag noindex ani nie wymaga logowania. Jeśli strona wygląda dobrze, możesz poprosić Google o ponowne zindeksowanie adresów URL.
  5. Aby na bieżąco informować Google o przyszłych zmianach, prześlij mapę witryny. Możesz zautomatyzować ten proces za pomocą interfejsu 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ń: