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.
- 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ć.
- Przestrzegaj wskazówek.
- Zweryfikuj kod za pomocą testu wyników z elementami rozszerzonymi.
- 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. - 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>
Karuzela z restauracjami (ograniczony dostęp)
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.
Brak właściwości validFrom
i validThrough
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" } ]
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" }
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 opens
i closes
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" } ]
Do podawania sezonowych godzin pracy używaj jednocześnie właściwości validFrom
i validThrough
. 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.
- Wskazówki dla webmasterów
- Ogólne wytyczne dotyczące uporządkowanych danych
- Wytyczne dotyczące karuzeli (jeśli mają zastosowanie). W karuzeli z restauracjami może się obecnie pojawiać ograniczona ich liczba. Jeśli też chcesz z niej skorzystać, wyraź swoje zainteresowanie w naszym formularzu.
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 |
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 |
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 |
Nazwa firmy. |
Właściwości zalecane | |
---|---|
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 |
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:
|
geo |
Współrzędne geograficzne placówki firmy. |
geo.latitude |
Szerokość geograficzna lokalizacji placówki firmy. Dokładność powinna wynosić co najmniej pięć miejsc po przecinku. |
geo.longitude |
Długość geograficzna lokalizacji placówki firmy. Dokładność powinna wynosić co najmniej pięć miejsc po przecinku. |
menu |
Używana w przypadku restauracji. Jest to pełny adres URL menu. |
openingHoursSpecification |
Tablica lub pojedynczy obiekt właściwości Godziny pracy placówki firmy. |
openingHoursSpecification.closes |
Godzina zamknięcia placówki firmy podana w formacie gg:mm:ss. |
openingHoursSpecification.dayOfWeek |
Co najmniej jedna z tych:
|
openingHoursSpecification.opens |
Godzina otwarcia placówki firmy podana w formacie gg:mm:ss. |
openingHoursSpecification.validFrom |
Dzień, w którym rozpoczyna się sezonowa przerwa w działaniu firmy, podany w formacie RRRR-MM-DD. |
openingHoursSpecification.validThrough |
Dzień, w którym kończy się sezonowa przerwa w działaniu firmy, podany w formacie RRRR-MM-DD. |
priceRange |
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 o firmie lokalnej. Przestrzegaj wytycznych dotyczących fragmentów opinii i zapoznaj się z listą wymaganych i zalecanych właściwości Review. |
servesCuisine |
Rodzaj kuchni serwowanej w restauracji. |
telephone |
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 |
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. |
Karuzela z restauracjami (ograniczony dostęp)
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 Co najmniej jedno zdjęcie restauracji. Dodatkowe wytyczne dotyczące obrazów:
Przyklad: "image": [ "https://example.com/photos/1x1/photo.jpg", "https://example.com/photos/4x3/photo.jpg", "https://example.com/photos/16x9/photo.jpg" ] |
name |
Nazwa restauracji. |
Właściwości zalecane | |
---|---|
address |
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 |
Rodzaj kuchni serwowanej w restauracji. |
Rozwiązywanie problemów
Jeśli masz problem z zastosowaniem uporządkowanych danych, skorzystaj z tych rozwiązań:
- Możliwe, że w uporządkowanych danych wystąpił błąd. Sprawdź listę błędów uporządkowanych danych.
- Rozwiązywanie problemów z brakującymi wynikami z elementami rozszerzonymi lub ze spadkiem całkowitej liczby wyników z elementami rozszerzonymi
- Odpowiedzi na ogólne pytania dotyczące indeksowania znajdziesz w artykule Webmasterzy – najczęstsze pytania.
- Zadaj pytanie w godzinach pracy webmasterów.
- Zadaj pytanie na forum dla webmasterów.