LocalBusiness: dane firmy w JSON-LD
Moduł 5: Dane strukturalne · Czas czytania: 13 minut
Cel lekcji: Po tej lekcji potrafią Państwo napisać i ocenić blok LocalBusiness w JSON-LD, z wymaganymi i zalecanymi właściwościami według Google oraz z właściwym podtypem ze schema.org.
Kluczowe pojęcia: LocalBusiness, podtyp (Florist, Bakery, Dentist, ...), wymagane: name i address, PostalAddress (streetAddress, postalCode, addressLocality, addressCountry), zalecane: telephone, url, openingHoursSpecification, geo, image, priceRange, sameAs, openingHours jako tekst, jedno źródło prawdy
Dlaczego ten blok jest ważny
W lekcji 5.1 widzieli Państwo, że Google wykorzystuje dane strukturalne, aby zrozumieć stronę. Dla firmy ze sklepem, gabinetem lub warsztatem najważniejszym blokiem jest LocalBusiness: kim Państwo są, gdzie się Państwo znajdują, jak się z Państwem skontaktować telefonicznie i kiedy jest otwarte. Google jako możliwe zastosowanie wymienia panel wiedzy w wyszukiwarce i w Mapach Google, gdy ktoś szuka Państwa firmy.
Blok nie zastępuje Profilu Firmy w Google (moduł 6). Jest jednym ze źródeł, z których wyszukiwarki pobierają Państwa dane. Dlatego musi mówić dokładnie to samo co Państwa profil, strona kontaktowa i wpisy w katalogach. Lekcja 6.4 wraca do tego tematu.
Wybór właściwego typu
Proszę zacząć od pytania: jaką firmę prowadzę? LocalBusiness ma w schema.org trzydzieści bezpośrednich podtypów, a pod nimi jeszcze wiele kolejnych. Kilka przykładów:
| Firma | Typ | Ścieżka w schema.org |
|---|---|---|
| Kwiaciarnia | Florist | LocalBusiness > Store > Florist |
| Piekarnia | Bakery | LocalBusiness > FoodEstablishment > Bakery |
| Dentysta | Dentist | LocalBusiness > Dentist |
| Fryzjer | HairSalon | LocalBusiness > HealthAndBeautyBusiness > HairSalon |
| Hydraulik | Plumber | LocalBusiness > HomeAndConstructionBusiness > Plumber |
| Księgowy | AccountingService | LocalBusiness > FinancialService > AccountingService |
Google prosi o najbardziej szczegółowy typ, który pasuje. Jeśli nie znajdą Państwo żadnego, używają Państwo samego LocalBusiness. Jeśli firma zajmuje się dwiema rzeczami (piekarnia z kawiarnią), @type może być listą: ["Bakery", "CafeOrCoffeeShop"]. Proszę zwrócić uwagę na pisownię: typy zaczynają się wielką literą i są zapisane dokładnie tak jak w schema.org. Bloemist, florist ani Flower shop nie istnieją; program odczytujący dane nie zna wtedy takiego typu.
Typ można sprawdzić pod adresem https://schema.org/<Type> lub na pełnej liście. Jeśli strona istnieje, typ też istnieje.
Wymagane i zalecane według Google
Google wymienia dla lokalnej firmy tylko dwie wymagane właściwości:
name: nazwa firmy, taka sama jak na szyldzie i w Państwa profilu;address: fizyczna lokalizacja, jakoPostalAddress. Google prosi o wypełnienie jak największej liczby elementów.
Do tego dochodzi szereg właściwości zalecanych. Najważniejsze dla małej firmy:
| Właściwość | Co należy wpisać | Na co uważać |
|---|---|---|
telephone | Główny numer telefonu | Z kodem kraju i numerem kierunkowym, na przykład +31 33 000 0000 |
url | Adres strony tej lokalizacji | Pełny adres z https://, który musi działać |
openingHoursSpecification | Godziny otwarcia dla każdego dnia | Zob. poniżej |
geo | GeoCoordinates z latitude i longitude | Liczby, co najmniej 5 miejsc po przecinku |
image | Zdjęcie lub zdjęcia firmy | Adresy, które Google może pobrać i zindeksować |
priceRange | Przedział cenowy, np. €€ lub €10 (≈ 43,84 zł)-25 | Krócej niż 100 znaków |
menu, servesCuisine | Tylko dla gastronomii |
Ponieważ LocalBusiness jest również Organization, Google zaleca uwzględnienie także pól Organization, takich jak logo i sameAs (adresy Państwa profili w innych serwisach, na przykład na Instagramie lub Facebooku).
Czego Google nie chce w tym bloku: review i aggregateRating dotyczących własnej firmy. Są one przeznaczone wyłącznie dla serwisów, które zbierają opinie o innych firmach. Lekcja 5.3 wyjaśnia dlaczego.
Adres jako PostalAddress
Adres jest obiektem z własnym typem. Nie jest to jeden wiersz tekstu, lecz osobne pola:
"address": {
"@type": "PostalAddress",
"streetAddress": "Voorbeeldstraat 12",
"postalCode": "3811 AA",
"addressLocality": "Amersfoort",
"addressCountry": "NL"
}streetAddress: ulica i numer domu, z dopiskiem (np. numerem lokalu), jeśli istnieje.postalCode: kod pocztowy.addressLocality: miejscowość.addressCountry: kraj, najlepiej jako dwuliterowy kod kraju (NL,BE,DE).addressRegion(prowincja, województwo lub stan) jest dozwolone, ale w Holandii nie jest potrzebne.
Częstym błędem jest "address": "Voorbeeldstraat 12, 3811 AA Amersfoort". To jest tekst; program odczytujący musi wtedy sam zgadywać, który fragment jest kodem pocztowym. Prosimy używać osobnych pól.
Godziny otwarcia
Google wymienia openingHoursSpecification: listę bloków z dniami, godziną otwarcia i godziną zamknięcia.
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "09:00",
"closes": "18:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Saturday",
"opens": "09:00",
"closes": "17:00"
}
]Zasady:
- Dni po angielsku, tak jak w schema.org: od
MondaydoSunday(lub jako pełny adres,https://schema.org/Monday). Nieponi nieponiedziałek. - Godziny w formacie 24-godzinnym:
09:00, a nie9 ranoani9:00 AM. - Dzień, którego nie ma na liście, uznaje się za nieopisany. Jeśli chcą Państwo wyraźnie zaznaczyć, że firma jest zamknięta przez cały dzień, proszę ustawić zarówno
opens, jak iclosesna00:00. - Otwarte całą dobę:
opens00:00icloses23:59. - Otwarte do godzin po północy (na przykład od 18:00 do 02:00): jeden blok z
opens18:00icloses02:00. - Czasowo inne godziny, np. przerwa zimowa: ten sam blok z
validFromivalidThrough(daty w formacie2026-12-24).
W schema.org istnieje też krótszy zapis: "openingHours": ["Tu-Fr 09:00-18:00", "Sa 09:00-17:00"], z dwuliterowymi angielskimi skrótami dni. Jest on poprawny w schema.org, ale nie ma go na liście Google. Jeśli mają Państwo wybór, prosimy używać openingHoursSpecification.
Cały blok dla Bloemenatelier Lotte
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Florist",
"name": "Bloemenatelier Lotte",
"url": "https://www.example.com/",
"telephone": "+31 33 000 0000",
"image": "https://www.example.com/beelden/winkel.jpg",
"priceRange": "€€",
"address": {
"@type": "PostalAddress",
"streetAddress": "Voorbeeldstraat 12",
"postalCode": "3811 AA",
"addressLocality": "Amersfoort",
"addressCountry": "NL"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 52.15617,
"longitude": 5.38763
},
"openingHoursSpecification": [
{ "@type": "OpeningHoursSpecification", "dayOfWeek": ["Tuesday", "Wednesday", "Thursday", "Friday"], "opens": "09:00", "closes": "18:00" },
{ "@type": "OpeningHoursSpecification", "dayOfWeek": "Saturday", "opens": "09:00", "closes": "17:00" }
],
"sameAs": ["https://www.instagram.com/example"]
}
</script>Proszę zwrócić uwagę na dwie rzeczy. latitude i longitude to liczby, bez cudzysłowów; szerokość geograficzna mieści się w przedziale od -90 do 90, a długość geograficzna od -180 do 180. Ponadto url wskazuje na Państwa własną stronę, a nie na Instagram (ten należy do sameAs).
Gdzie umieścić blok? Google mówi: może być na każdej stronie, ale najbardziej logiczne jest umieszczenie go na stronie z informacjami o firmie, np. na stronie głównej lub stronie kontaktowej. Jeśli mają Państwo kilka lokalizacji, każda otrzymuje własną stronę z własnym blokiem i własnym url.
W praktyce: AI Builder i WordPress
AI Builder od WebOké tworzy ten blok samodzielnie na podstawie danych firmy, które Państwo podają przy stronie: rodzaju działalności (lista wyboru z m.in. Florist, Bakery i HairSalon lub ogólnym LocalBusiness), nazwy, adresu, kodu pocztowego, miejscowości, telefonu, adresu e-mail, godzin otwarcia i profili w mediach społecznościowych. Blok znajduje się na stronie głównej i na stronach z blokiem kontaktowym. Godziny otwarcia AI Builder zapisuje obecnie w krótkim formacie openingHours (na przykład Tu-Fr 09:00-18:00). W WordPress podobnie działają wtyczki SEO, często w osobnej sekcji na dane lokalne; w innych kreatorach stron wygląda to podobnie.
Dla wszystkich kreatorów obowiązuje jedno: blok jest tak dobry jak dane, które Państwo wpiszą. Jeśli w kreatorze podadzą Państwo stary numer telefonu, ten stary numer trafi też do JSON-LD. Prosimy prowadzić dane firmy w jednym miejscu i stamtąd przenosić je na stronę, do profilu i do wpisów w katalogach.
Podsumowanie
- Proszę wybrać najbardziej szczegółowy pasujący typ ze schema.org, zapisany dokładnie tak jak w schema.org.
- Wymagane według Google:
nameiaddress(jakoPostalAddressz osobnymi polami). - Zalecane:
telephonez kodem kraju,urllokalizacji,openingHoursSpecification,geojako liczby,image,priceRange. - Godziny otwarcia: angielskie nazwy dni, format 24-godzinny; zamknięte to
00:00do00:00, otwarte całą dobę to00:00do23:59. - Żadnych opinii o własnej firmie w tym bloku; wszystkie dane muszą być zgodne z profilem i stroną kontaktową.
Quiz
Zadanie
Zadanie A5.2: Czy Państwa blok LocalBusiness jest poprawny? Proszę podać adres swojej strony głównej lub strony kontaktowej, a obok nazwę firmy, kod pocztowy i numer telefonu w takiej postaci, w jakiej widnieją w Profilu Firmy w Google. Program wyszukuje blok firmy w JSON-LD strony i sprawdza typ, pola wymagane, adres, telefon, godziny otwarcia, współrzędne i url, a następnie porównuje nazwę, kod pocztowy i telefon z wpisanymi przez Państwa danymi. Nie mają Państwo własnej strony firmowej? Prosimy użyć strony sklepu lub gabinetu w Państwa okolicy i pozostawić trzy pola do porównania puste.
Więcej informacji
Kroki opisane w tych artykułach dotyczą paneli WebOké; u innych dostawców działa to podobnie.
- Podręcznik WebOké 8.1: AI Builder: tworzenie strony internetowej
- Podręcznik WebOké 8.2: AI Builder: edycja, wersje i publikacja
- Google Search Central, Dane strukturalne dla firm lokalnych (LocalBusiness): https://developers.google.com/search/docs/appearance/structured-data/local-business
- Google Search Central, Dane strukturalne dla organizacji (Organization): https://developers.google.com/search/docs/appearance/structured-data/organization
- schema.org, LocalBusiness i wszystkie podtypy: https://schema.org/LocalBusiness
- schema.org, OpeningHoursSpecification: https://schema.org/OpeningHoursSpecification
