Firma lokalna

Gdy użytkownicy szukają firm w wyszukiwarce Google lub w Mapach Google, może im się wyświetlić w dobrze widocznym miejscu karta Graf wiedzy z informacjami o firmie pasującej do zapytania. Jeśli użytkownicy szukają firmy określonego rodzaju, używając np. zapytania „najlepsza restauracja w Warszawie”, może się pojawić karuzela z wizytówkami odpowiednich firm. Dzięki uporządkowanym danym firm działających lokalnie możesz przekazać Google między innymi informacje o godzinach pracy, różnych działach firmy i opiniach o firmie. Jeśli chcesz pozwolić użytkownikom na składanie rezerwacji lub zamówień bezpośrednio w wynikach wyszukiwania, możesz skorzystać z interfejsu Maps Booking API – umożliwia on dokonywanie rezerwacji i płatności, a także wykonywanie innych działań.

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.

Oto omówienie 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. Informacje o tym, w którym miejscu na stronie umieścić uporządkowane dane, znajdziesz w artykule Uporządkowane dane JSON-LD: w którym miejscu na stronie je umieścić.
  2. Przestrzegaj wskazówek.
  3. Zweryfikuj kod za pomocą testu 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

Prosta wizytówka firmy lokalnej

Oto przykład prostej wizytówki firmy lokalnej, utworzonej przy użyciu kodu JSON-LD:


<html>
  <head>
    <title>Dave's Steak House</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Restaurant",
      "image": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
       ],
      "@id": "http://davessteakhouse.example.com",
      "name": "Dave's Steak House",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "148 W 51st St",
        "addressLocality": "New York",
        "addressRegion": "NY",
        "postalCode": "10019",
        "addressCountry": "US"
      },
      "review": {
        "@type": "Review",
        "reviewRating": {
          "@type": "Rating",
          "ratingValue": "4",
          "bestRating": "5"
        },
        "author": {
          "@type": "Person",
          "name": "Lillian Ruiz"
        }
      },
      "geo": {
        "@type": "GeoCoordinates",
        "latitude": 40.761293,
        "longitude": -73.982294
      },
      "url": "http://www.example.com/restaurant-locations/manhattan",
      "telephone": "+12122459600",
      "servesCuisine": "American",
      "priceRange": "$$$",
      "openingHoursSpecification": [
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": [
            "Monday",
            "Tuesday"
          ],
          "opens": "11:30",
          "closes": "22:00"
        },
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": [
            "Wednesday",
            "Thursday",
            "Friday"
          ],
          "opens": "11:30",
          "closes": "23:00"
        },
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": "Saturday",
          "opens": "16:00",
          "closes": "23:00"
        },
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": "Sunday",
          "opens": "16:00",
          "closes": "22:00"
        }
      ],
      "menu": "http://www.example.com/menu",
      "acceptsReservations": "True"
    }
    </script>
  </head>
  <body>
  </body>
</html>

Oto przykład karuzeli z restauracjami. Obecnie może się w niej pojawiać ograniczona ich liczba. Jeśli też chcesz z niej skorzystać, wyraź swoje zainteresowanie w naszym formularzu.

<html>
  <head>
    <title>Trattoria Luigi</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org/",
      "@type": "Restaurant",
      "name": "Trattoria Luigi",
      "image": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
       ],
       "priceRange": "$$$",
       "servesCuisine": "Italian",
       "address": {
         "@type": "PostalAddress",
         "streetAddress": "148 W 51st St",
         "addressLocality": "New York",
         "addressRegion": "NY",
         "postalCode": "10019",
         "addressCountry": "US"
       }
    }
    </script>
  </head>
  <body>
  </body>
</html>

Godziny pracy

Te przykłady pokazują, jak umieszczać w znacznikach różne rodzaje godzin pracy.

Standardowe godziny pracy

Brak właściwości validFromvalidThrough sygnalizuje, że podane godziny pracy obowiązują przez cały rok. W tym przykładzie zdefiniowano firmę, która działa w dni powszednie od 9:00 do 21:00, a w weekendy od 10:00 do 23:00.

"openingHoursSpecification": [
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": [
      "Monday",
      "Tuesday",
      "Wednesday",
      "Thursday",
      "Friday"
    ],
    "opens": "09:00",
    "closes": "21:00"
  },
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": [
      "Saturday",
      "Sunday"
    ],
    "opens": "10:00",
    "closes": "23:00"
  }
]
Nocne godziny pracy

W przypadku godzin pracy kończących się po północy podawaj godziny otwarcia i zamknięcia w pojedynczej właściwości OpeningHoursSpecification. W tym przykładzie określono godziny pracy trwające od 18:00 w sobotę do 3:00 w niedzielę.

"openingHoursSpecification": {
  "@type": "OpeningHoursSpecification",
  "dayOfWeek": "Saturday",
  "opens": "18:00",
  "closes": "03:00"
}
Praca przez całą dobę

Aby przedstawić firmę jako czynną przez 24 godziny na dobę, wpisz we właściwości open wartość „00:00”, a we właściwości closes – wartość „23:59”. Aby poinformować, że firma jest zamknięta przez cały dzień, wpisz we właściwościach openscloses wartość „00:00”. W tym przykładzie określono firmę otwartą przez całą sobotę, a zamkniętą przez całą niedzielę.

"openingHoursSpecification": [
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": "Saturday",
    "opens": "00:00",
    "closes": "23:59"
  },
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": "Sunday",
    "opens": "00:00",
    "closes": "00:00"
  }
]
Sezonowe godziny pracy

Do podawania sezonowych godzin pracy używaj jednocześnie właściwości validFromvalidThrough. W tym przykładzie firma jest zamknięta w okresie świąteczno-noworocznym.

"openingHoursSpecification": {
  "@type": "OpeningHoursSpecification",
  "opens": "00:00",
  "closes": "00:00",
  "validFrom": "2015-12-23",
  "validThrough": "2016-01-05"
}

Wiele działów

W przypadku firmy składającej się z wielu działów, które różnią się danymi, np. godzinami otwarcia czy numerami telefonów, możesz dla każdego działu użyć właściwości department z odpowiednim elementem. W każdym takim elemencie odpowiadającym danemu działowi określ te właściwości, które odróżniają go od głównego sklepu.

<html>
  <head>
    <title>Dave's Department Store</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Store",
      "image": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
       ],
      "@id": "http://davesdeptstore.example.com",
      "name": "Dave's Department Store",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "1600 Saratoga Ave",
        "addressLocality": "San Jose",
        "addressRegion": "CA",
        "postalCode": "95129",
        "addressCountry": "US"
      },
      "geo": {
        "@type": "GeoCoordinates",
        "latitude": 37.293058,
        "longitude": -121.988331
      },
      "url": "http://www.example.com/store-locator/sl/San-Jose-Westgate-Store/1427",
      "priceRange": "$$$",
      "telephone": "+14088717984",
      "openingHoursSpecification": [
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": [
            "Monday",
            "Tuesday",
            "Wednesday",
            "Thursday",
            "Friday",
            "Saturday"
          ],
          "opens": "08:00",
          "closes": "23:59"
        },
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": "Sunday",
          "opens": "08:00",
          "closes": "23:00"
        }
      ],
      "department": [
        {
          "@type": "Pharmacy",
          "image": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
       ],
          "name": "Dave's Pharmacy",
          "telephone": "+14088719385",
          "openingHoursSpecification": [
            {
              "@type": "OpeningHoursSpecification",
              "dayOfWeek": [
                "Monday",
                "Tuesday",
                "Wednesday",
                "Thursday",
                "Friday"
              ],
              "opens": "09:00",
              "closes": "19:00"
            },
            {
              "@type": "OpeningHoursSpecification",
              "dayOfWeek": "Saturday",
              "opens": "09:00",
              "closes": "17:00"
            },
            {
              "@type": "OpeningHoursSpecification",
              "dayOfWeek": "Sunday",
              "opens": "11:00",
              "closes": "17:00"
            }
          ]
        }
      ]
    }
    </script>
  </head>
  <body>
  </body>
</html>

Wytyczne

Aby Twoja firma pojawiała się w wynikach z elementami rozszerzonymi Lokalna firma, zastosuj się do tych wskazówek.

Definicje typów uporządkowanych danych

W tych tabelach podano właściwości i sposób ich użycia w przypadku firm lokalnych i rodzajów działań biznesowych na podstawie pełnych definicji dostępnych na schema.org/LocalBusiness.

Aby treści mogły się wyświetlać w wynikach z elementami rozszerzonymi, musisz w nich stosować właściwości wymagane. Możesz też dodawać do nich właściwości zalecane, by wzbogacać informacje o treściach dla wygody użytkowników.

LocalBusiness

Pełną definicję znaczników LocalBusiness znajdziesz na schema.org/LocalBusiness. Każdą placówkę firmy lokalnej określaj za pomocą typu LocalBusiness. Użyj przy tym najbardziej szczegółowego podtypu LocalBusiness, np. Restaurant, DaySpa, HealthClub itd.

Właściwości wymagane
@id

URL

Niepowtarzalny globalnie identyfikator konkretnej placówki firmy w formacie adresu URL. Ten identyfikator powinien być stały i nie zmieniać się w czasie. Wyszukiwarka Google traktuje ten adres URL jako ciąg nieprzejrzysty, więc nie musi on być działającym linkiem. Jeśli firma ma wiele placówek, pamiętaj, by identyfikator @id każdej z nich był niepowtarzalny.

address

PostalAddress

Fizyczna lokalizacja firmy. Możesz dodać tyle właściwości, ile potrzebujesz. Im więcej właściwości podasz, tym wyższa będzie jakość wyniku dla użytkowników. Na przykład:


"address": {
  "@type": "PostalAddress",
  "streetAddress": "148 W 51st St Suit 42 Unit 7",
  "addressLocality": "New York",
  "addressRegion": "NY",
  "postalCode": "10019",
  "addressCountry": "US"
}
name

Text

Nazwa firmy.

Właściwości zalecane
aggregateRating

AggregateRating

Średnia ocena firmy lokalnej obliczona na podstawie wielu ocen lub opinii. Przestrzegaj wytycznych dotyczących fragmentów opinii i zapoznaj się z listą wymaganych i zalecanych właściwości związanych z oceną zbiorczą.

department

LocalBusiness

Zagnieżdżony element odpowiadający pojedynczemu działowi. Możesz zdefiniować w tej tabeli dowolne właściwości działu.

Dodatkowe wskazówki:

  • Podawaj nazwę sklepu razem z nazwą działu w takim formacie: {store name} {department name}. Na przykład: gMartgMart Pharmacy.
  • Jeśli nazwa działu odnosi się do autonomicznej marki, użyj samej nazwy działu. Na przykład: Best BuyGeek Squad.
geo

GeoCoordinates

Współrzędne geograficzne placówki firmy.

geo.latitude

Number

Szerokość geograficzna lokalizacji placówki firmy. Dokładność powinna wynosić co najmniej pięć miejsc po przecinku.

geo.longitude

Number

Długość geograficzna lokalizacji placówki firmy. Dokładność powinna wynosić co najmniej pięć miejsc po przecinku.

menu

URL

Używana w przypadku restauracji. Jest to pełny adres URL menu.

openingHoursSpecification

Tablica lub pojedynczy obiekt właściwości OpeningHoursSpecification (obsługa obu notacji)

Godziny pracy placówki firmy.

openingHoursSpecification.closes

Time

Godzina zamknięcia placówki firmy podana w formacie gg:mm:ss.

openingHoursSpecification.dayOfWeek

Text

Co najmniej jedna z tych:

  • Monday (poniedziałek)
  • wtorek
  • środa
  • czwartek
  • Friday (piątek)
  • Saturday (sobota)
  • Sunday (niedziela)
openingHoursSpecification.opens

Time

Godzina otwarcia placówki firmy podana w formacie gg:mm:ss.

openingHoursSpecification.validFrom

Date

Dzień, w którym rozpoczyna się sezonowa przerwa w działaniu firmy, podany w formacie RRRR-MM-DD.

openingHoursSpecification.validThrough

Date

Dzień, w którym kończy się sezonowa przerwa w działaniu firmy, podany w formacie RRRR-MM-DD.

priceRange

Text

Względny przedział cen firmy, zwykle określany albo przez zakres liczbowy (na przykład „10–15 USD”), albo przez znormalizowaną liczbę symboli walut (na przykład „$$$”)

review

Opinia

Opinia o firmie lokalnej. Przestrzegaj wytycznych dotyczących fragmentów opinii i zapoznaj się z listą wymaganych i zalecanych właściwości Review.

servesCuisine

servesCuisine

Rodzaj kuchni serwowanej w restauracji.

telephone

Text

Numer telefonu służący jako główna metoda kontaktowania się klientów z firmą. Pamiętaj, by podać w nim kod kraju i numer kierunkowy.

url

URL

Pełny adres URL danej placówki firmy. W przeciwieństwie do identyfikatora @id wartość tej właściwości URL powinna być działającym linkiem.

Jeśli w Twojej witrynie znajduje się lista wielu restauracji i chcesz, by pojawiały się one w karuzeli hosta, dodaj obiekt karuzeli. Oprócz standardowych właściwości karuzeli określ w obiekcie karuzeli również te opisane poniżej. Chociaż właściwości karuzeli nie są wymagane, musisz dodać poniższe właściwości, jeśli chcesz, by Twoja lista restauracji kwalifikowała się do karuzeli hosta.

Właściwości wymagane
image

Powtórzone pole URL lub ImageObject

Co najmniej jedno zdjęcie restauracji.

Dodatkowe wytyczne dotyczące obrazów:

  • Na każdej stronie musi się znajdować co najmniej 1 obraz (niezależnie od tego, czy są do niego dodane znaczniki). Google wybierze obraz najlepiej pasujący do wyników wyszukiwania pod względem rozdzielczości i współczynnika proporcji.
  • Adresy URL obrazów muszą być dostępne do pobrania i zindeksowania.
  • Obrazy muszą symbolizować treści objęte znacznikami.
  • Pliki graficzne muszą być w formacie obsługiwanym przez Grafikę Google.
  • Najlepsze efekty zapewni użycie wielu obrazów o wysokiej rozdzielczości (o iloczynie szerokości i wysokości wynoszącym co najmniej 50 tys. pikseli) i o tych współczynnikach proporcji: 16:9, 4:3 i 1:1.

Przyklad:

"image": [
  "https://example.com/photos/1x1/photo.jpg",
  "https://example.com/photos/4x3/photo.jpg",
  "https://example.com/photos/16x9/photo.jpg"
]
name

Text

Nazwa restauracji.

Właściwości zalecane
address

PostalAddress

Fizyczna lokalizacja firmy. Możesz dodać tyle właściwości, ile potrzebujesz. Im więcej właściwości podasz, tym wyższa będzie jakość wyniku dla użytkowników. Na przykład:


"address": {
  "@type": "PostalAddress",
  "streetAddress": "148 W 51st St",
  "addressLocality": "New York",
  "addressRegion": "NY",
  "postalCode": "10019",
  "addressCountry": "US"
}
servesCuisine

servesCuisine

Rodzaj kuchni serwowanej w restauracji.

Rozwiązywanie problemów

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