SEO 2026-04-22 11 min czytania

Schema.org dla firm lokalnych 2026 — kompletny przewodnik

Schema.org to słownik opisujący treść strony w sposób zrozumiały dla Google, Bing i AI search. Dla firm lokalnych = różnica między zwykłym organic link a rich snippet z gwiazdkami, cenami, godzinami i mapą. W 2026 bez Schema.org nie wchodzisz do local pack i nie pojawiasz się w Google AI Overviews. Poniżej praktyczny przewodnik: LocalBusiness + 50+ subtypów, walidacja, przykłady JSON-LD dla 6 branż.

TL;DR — Schema.org must-have 2026

  • Format: JSON-LD (rekomendowany przez Google)
  • Typ: najbardziej konkretny subtyp LocalBusiness (Dentist, Restaurant, etc.)
  • Obowiązkowe pola: name, address, telephone, geo, openingHours, url
  • Plus dla rich snippets: aggregateRating, priceRange, image, sameAs
  • Walidacja: search.google.com/test/rich-results po każdej zmianie

Co daje Schema.org dla firmy lokalnej?

Wybór właściwego subtypu — 50+ opcji

Zasada 1: zawsze wybieraj NAJKONKRETNIEJSZY subtyp. „Dentist" ma większą wagę niż generyczny „LocalBusiness". Google lepiej rozumie kontekst i łatwiej generuje rich snippets. Lista podzielona na kategorie:

Medycyna

  • MedicalOrganization
  • MedicalClinic
  • Hospital
  • Physician
  • Dentist
  • Pharmacy
  • Optician

Prawo i finanse

  • LegalService
  • Attorney
  • Notary
  • AccountingService
  • FinancialService
  • BankOrCreditUnion
  • InsuranceAgency

Gastronomia

  • Restaurant
  • FastFoodRestaurant
  • Bakery
  • Brewery
  • BarOrPub
  • CafeOrCoffeeShop
  • IceCreamShop
  • Winery

Noclegi i turystyka

  • LodgingBusiness
  • Hotel
  • BedAndBreakfast
  • Hostel
  • Resort
  • TouristAttraction
  • TouristInformationCenter

Handel

  • Store
  • GroceryStore
  • ClothingStore
  • ElectronicsStore
  • JewelryStore
  • PetStore
  • ShoppingCenter

Motoryzacja

  • AutomotiveBusiness
  • AutoDealer
  • AutoRepair
  • AutoPartsStore
  • GasStation
  • MotorcycleDealer

Usługi osobiste

  • HealthAndBeautyBusiness
  • HairSalon
  • BeautySalon
  • DaySpa
  • NailSalon
  • TattooParlor

Edukacja i sport

  • EducationalOrganization
  • School
  • College
  • SportsActivityLocation
  • HealthClub
  • DanceSchool

Pełna lista: schema.org/LocalBusiness. Jeśli nie ma dokładnego subtypu dla Twojej branży — użyj najbliższego kategorialnego + dodatkowych właściwości custom.

Przykłady JSON-LD dla 6 typów firm

1. Dentysta (gabinet stomatologiczny)

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Dentist",
  "@id": "https://dentysta-kowalski.pl/#dentist",
  "name": "Dr Jan Kowalski - Gabinet Stomatologiczny",
  "image": "https://dentysta-kowalski.pl/images/clinic.jpg",
  "telephone": "+48123456789",
  "priceRange": "100 PLN - 3000 PLN",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "ul. Krakowska 15",
    "addressLocality": "Rzeszów",
    "postalCode": "35-025",
    "addressCountry": "PL"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 50.0412,
    "longitude": 21.9991
  },
  "openingHoursSpecification": [{
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
    "opens": "08:00",
    "closes": "19:00"
  }],
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.9",
    "reviewCount": "127"
  },
  "sameAs": [
    "https://www.facebook.com/dentysta.kowalski",
    "https://www.znanylekarz.pl/jan-kowalski"
  ]
}
</script>

2. Restauracja

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Restaurant",
  "name": "Trattoria Bella Italia",
  "image": "https://bella-italia.pl/images/restaurant.jpg",
  "servesCuisine": "Italian",
  "priceRange": "50 PLN - 150 PLN",
  "telephone": "+48123456789",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "ul. Rynek 10",
    "addressLocality": "Kraków",
    "postalCode": "31-042",
    "addressCountry": "PL"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 50.0614,
    "longitude": 19.9365
  },
  "menu": "https://bella-italia.pl/menu",
  "acceptsReservations": "True",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.7",
    "reviewCount": "892"
  }
}
</script>

3. Hotel

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Hotel",
  "name": "Hotel Górski Kot",
  "starRating": { "@type": "Rating", "ratingValue": "4" },
  "priceRange": "250 PLN - 800 PLN",
  "telephone": "+48123456789",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "ul. Krupówki 30",
    "addressLocality": "Zakopane",
    "postalCode": "34-500",
    "addressCountry": "PL"
  },
  "amenityFeature": [
    { "@type": "LocationFeatureSpecification", "name": "Free Wi-Fi", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "Parking", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "SPA", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "Pet friendly", "value": false }
  ],
  "numberOfRooms": 45,
  "checkinTime": "15:00",
  "checkoutTime": "11:00"
}
</script>

4. Kancelaria adwokacka

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "LegalService",
  "name": "Kancelaria Adwokacka Nowak i Wspólnicy",
  "priceRange": "200 PLN - 500 PLN/h",
  "telephone": "+48123456789",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "ul. Piłsudskiego 10",
    "addressLocality": "Warszawa",
    "postalCode": "00-078"
  },
  "areaServed": "Warszawa",
  "knowsAbout": ["Prawo rodzinne","Prawo gospodarcze","Prawo pracy"],
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.8",
    "reviewCount": "56"
  }
}
</script>

5. Sklep fizyczny

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "ClothingStore",
  "name": "Butik Moda Plus",
  "priceRange": "$$",
  "paymentAccepted": "Cash, Credit Card, BLIK",
  "currenciesAccepted": "PLN",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "Galeria Krakowska, Pawia 5",
    "addressLocality": "Kraków"
  },
  "hasOfferCatalog": {
    "@type": "OfferCatalog",
    "name": "Kolekcje",
    "itemListElement": [
      { "@type": "Offer", "itemOffered": { "@type": "Product", "name": "Damska kolekcja wiosenna" } }
    ]
  }
}
</script>

6. Salon fryzjerski

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "HairSalon",
  "name": "Studio Fryzur Anna",
  "priceRange": "50 PLN - 300 PLN",
  "telephone": "+48123456789",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "ul. Długa 8",
    "addressLocality": "Gdańsk",
    "postalCode": "80-827"
  },
  "makesOffer": [
    { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Strzyżenie damskie" }, "price": "80" },
    { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Koloryzacja" }, "price": "250" }
  ]
}
</script>

Walidacja — 3 narzędzia

Google Rich Results Test

Sprawdza czy Twoje Schema spełnia wymogi Google dla konkretnych rich snippets. Pokazuje preview jak wynik będzie wyglądał. Używaj ZAWSZE po wdrożeniu.

🔗 search.google.com/test/rich-results

Schema.org Validator

Sprawdza zgodność z oficjalną specyfikacją Schema.org (nie tylko Google). Pokazuje wszystkie błędy składniowe i niezgodności z typem.

🔗 validator.schema.org

Google Search Console > Enhancements

Monitoruje status Schema dla CAŁEJ domeny po wdrożeniu. Pokazuje statystyki: ile URL ma rich results, ile ma errors/warnings, trend w czasie.

🔗 search.google.com/search-console

Najczęstsze błędy Schema.org

Użycie generycznego LocalBusiness zamiast konkretnego subtypu

Google lepiej rozumie „Dentist" niż „LocalBusiness". Zawsze wybieraj najkonkretniejszy subtyp — z 50+ dostępnych opcji na pewno znajdziesz pasujący.

Brak walidacji po wdrożeniu

JSON-LD to strict syntax — jeden przecinek źle = całe Schema ignorowane. Waliduj ZAWSZE po każdej zmianie w search.google.com/test/rich-results.

NAP inconsistency między Schema a GBP

Schema „ul. Piłsudskiego 5", GBP „ul. Piłsudskiego 5/2" = Google penalty. Upewnij się że adres, telefon, godziny są IDENTYCZNE w Schema, GBP i stopce strony.

Fake aggregateRating

Wpisywanie „ratingValue: 5.0, reviewCount: 100" bez prawdziwych recenzji = naruszenie regulaminu Google, obniżenie widoczności. aggregateRating musi odzwierciedlać realne opinie na stronie.

Multiple conflicting Schema na jednej stronie

Kilka różnych Schema LocalBusiness z różnymi danymi = confusion. Używaj @id + @graph strategia żeby połączyć wiele typów w jedną strukturę.

Najczęstsze pytania

Czym jest Schema.org?

Schema.org to zestaw słowników (vocabularies) strukturalnych do oznaczania treści na stronach, rozwijany wspólnie przez Google, Bing, Yahoo i Yandex od 2011. Pozwala maszynowo opisać co znajduje się na stronie — że to firma lokalna, artykuł, przepis, wydarzenie, produkt z cenami etc. Wyszukiwarki używają Schema.org do generowania rich snippets (rozbudowanych wyników z dodatkami typu gwiazdki, ceny, godziny otwarcia) i lepszego rozumienia kontekstu strony.

Jaka jest różnica między LocalBusiness a Organization?

Organization to nadrzędna kategoria dla każdej organizacji — firmy, fundacji, instytucji edukacyjnej. LocalBusiness to jej subtyp dla firm mających fizyczną lokalizację, gdzie klienci mogą przyjść (restauracja, sklep, gabinet, warsztat). LocalBusiness dodaje kluczowe pola: address, geo (koordynaty GPS), openingHours, priceRange. Jeśli Twoja firma ma adres fizyczny i klienci przychodzą — użyj LocalBusiness (lub jeszcze bardziej konkretny subtyp jak Restaurant, Dentist, Attorney). Jeśli działasz tylko online — Organization wystarczy.

Które subtypy LocalBusiness są najpopularniejsze?

Najczęściej używane subtypy: MedicalOrganization / MedicalBusiness (gabinety lekarskie, kliniki), Dentist (stomatolodzy), LegalService (kancelarie), Restaurant (restauracje), LodgingBusiness / Hotel (noclegi), Store (sklepy fizyczne), AutomotiveBusiness (warsztaty, dealerzy), HealthAndBeautyBusiness (salony kosmetyczne, fryzjerzy), FinancialService (biura rachunkowe), EducationalOrganization (szkoły, kursy). Zawsze wybieraj NAJKONKRETNIEJSZY subtyp — Google lepiej rozumie „Dentist" niż generyczny „LocalBusiness". Lista wszystkich: schema.org/LocalBusiness.

Jak walidować kod Schema.org?

Trzy narzędzia do walidacji: (1) Google Rich Results Test (search.google.com/test/rich-results) — pokazuje czy Twoje Schema spełnia wymogi konkretnych rich results, (2) Schema.org Validator (validator.schema.org) — sprawdza zgodność z oficjalną specyfikacją, (3) Google Search Console > Enhancements — monitoruje status Schema dla całej domeny, pokazuje błędy i ostrzeżenia. Walidacja ZAWSZE po wdrożeniu i po każdej zmianie. Błędny JSON-LD może powodować ignorowanie Schema przez Google lub penalty za spam.

Czy Schema.org gwarantuje rich snippets?

Nie — Schema to konieczność, ale nie gwarancja. Google decyduje o pokazywaniu rich snippets na podstawie: (1) jakości Schema (kompletność, poprawność), (2) autorytetu strony (DR/DA), (3) jakości contentu, (4) zachowania użytkowników (CTR, dwell time), (5) relewancji dla zapytania. Strona ze Schema + wysoką jakością = wysoka szansa rich snippet. Bez Schema = zerowa szansa. Po wdrożeniu Schema, rich snippets zaczynają się pojawiać w 2-8 tygodni (nie od razu).

Schema JSON-LD czy Microdata?

JSON-LD (rekomendowany przez Google 2026). Pluses: (1) osobne od HTML — łatwiejsze do utrzymania, (2) może być inline w head (<script type="application/ld+json">), (3) nie wpływa na design strony, (4) łatwiejszy w generowaniu dynamicznie. Microdata był popularny przed 2015, teraz głównie legacy. RDFa — podobnie jak Microdata, rzadko używany. Zawsze używaj JSON-LD w nowych projektach.

Brakuje Ci Schema.org na stronie?

Zaudytujemy Twoją stronę pod kątem Schema.org (bezpłatnie), znajdziemy braki i zaproponujemy wdrożenie konkretnych typów dla Twojej branży. Typowy audit: 30 min + pisemny raport z rekomendacjami.

Umów bezpłatny audyt Schema