Lokal360 Zamów telefon
SEO

JSON-LD dla lokalnej firmy, kompletny przykład LocalBusiness 2026

· aktualizacja: ·12 min czytania
Spis treści 8 sekcji
  1. Kompletny przykład LocalBusiness, szablon do wklejenia
  2. Pola krytyczne dla SEO w 2026
  3. Konkretne typy LocalBusiness, wybierz swój
  4. ProfessionalService vs LocalBusiness, kiedy które
  5. Najczęstsze błędy w JSON-LD
  6. Co dostajesz w Lokal360 standardowo
  7. Jak sprawdzić, czy Twoje JSON-LD działa
  8. Powiązane wpisy
Wszystkie wpisy 71 wpisów
SEO 6
Spacery 360° 16
Trendy 2026 16
Branże 16
Rezerwacje 11
Strony www 6

📚 Część przewodnika: SEO lokalne 2026, kompletny przewodnik dla małej firmy →
Ten artykuł rozwija jeden z wątków pełnego przewodnika.

🎯 W skrócie: JSON-LD to format Schema.org który Google preferuje. Lokalna firma powinna mieć 6-7 typów schema: LocalBusiness + Service + BreadcrumbList + Review + AggregateRating + Article (blog) + Person (autor).

  • Krytyczne pola LocalBusiness: geo, address, telephone, openingHours, priceRange, areaServed
  • Co przestało działać: FAQPage (od 2023-08 tylko gov/health), HowTo (2023-09 deprecated)
  • Walidacja: Rich Results Test po każdej zmianie

JSON-LD (JavaScript Object Notation for Linked Data) to obecnie zalecany przez Google format Schema.org. Mały blok JSON w <head> strony, który wyszukiwarki czytają i konwertują na rich snippets, AI Overviews i wyniki voice search.

Ten wpis to kompletny, gotowy do wklejenia przykład LocalBusiness JSON-LD dla lokalnej firmy w Polsce. Wszystkie pola, których Google szuka w 2026, plus dedykowane typy dla restauracji, salonów, gabinetów medycznych i hoteli. Plus najczęstsze błędy do uniknięcia.

Kompletny przykład LocalBusiness, szablon do wklejenia

Uwaga o FAQPage (aktualizacja 2023-08): Google ograniczył rich-results schemy FAQPage do witryn rządowych i medycznych. Dla commercial schema dalej jest parsowana przez Google (warto ją mieć pod AI Overviews i voice search), ale klasyczny rich snippet z accordion w wynikach nie pojawia się jak kiedyś. W tym poście wymieniam FAQPage jako standard schema.org, ale realny SEO impact dla commercial w 2026 jest minimalny.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "@id": "https://twojafirma.pl/#organization",
  "name": "Twoja Firma",
  "legalName": "Twoja Firma sp. z o.o.",
  "image": [
    "https://twojafirma.pl/img/cover-1x1.jpg",
    "https://twojafirma.pl/img/cover-4x3.jpg",
    "https://twojafirma.pl/img/cover-16x9.jpg"
  ],
  "logo": "https://twojafirma.pl/img/logo.svg",
  "url": "https://twojafirma.pl",
  "telephone": "+48888699533",
  "email": "[email protected]",
  "priceRange": "150-2800 zł",
  "currenciesAccepted": "PLN",
  "paymentAccepted": "Cash, Credit Card, Bank Transfer",
  "description": "Krótki opis działalności (160-200 znaków) z głównymi słowami kluczowymi.",
  "slogan": "Twoje hasło reklamowe",
  "foundingDate": "2020-01-01",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "Ulica 12",
    "addressLocality": "Kraków",
    "postalCode": "30-001",
    "addressRegion": "Małopolskie",
    "addressCountry": "PL"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": "50.0619",
    "longitude": "19.9369"
  },
  "hasMap": "https://maps.google.com/?cid=12345",
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
      "opens": "09:00",
      "closes": "18:00"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": "Saturday",
      "opens": "10:00",
      "closes": "14:00"
    }
  ],
  "sameAs": [
    "https://www.instagram.com/twojafirma",
    "https://www.facebook.com/twojafirma",
    "https://www.linkedin.com/company/twojafirma"
  ],
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.9",
    "bestRating": "5",
    "reviewCount": "184"
  },
  "areaServed": {
    "@type": "City",
    "name": "Kraków"
  },
  "knowsLanguage": ["pl", "en"],
  "founder": {
    "@type": "Person",
    "name": "Jan Kowalski",
    "jobTitle": "CEO i założyciel",
    "url": "https://twojafirma.pl/o-mnie/"
  },
  "contactPoint": {
    "@type": "ContactPoint",
    "telephone": "+48888699533",
    "contactType": "customer service",
    "availableLanguage": "Polish",
    "hoursAvailable": "Mo-Fr 09:00-18:00",
    "areaServed": "PL"
  }
}
</script>

Wklej w <head> strony (najlepiej tuż przed zamykającym </head>). Jeden blok per strona głównego LocalBusiness, plus dodatkowe bloki dla Service, FAQPage, BreadcrumbList, Article.

Pola krytyczne dla SEO w 2026

1. @id, unikalny identyfikator URI dla tej organizacji. Pozwala innym schema (Service, Article, Review) odwoływać się do tej organizacji przez { "@id": "..." } zamiast duplikować dane. Konwencja: https://twojafirma.pl/#organization lub #localbusiness.

2. aggregateRating, generuje gwiazdki w wynikach Google. Wymaga prawdziwych opinii z prawdziwych transakcji (Google sprawdza wiarygodność). Minimum 5 opinii, średnia ≥ 4,0.

3. geo, szerokość i długość geograficzna. Google preferuje strony z dokładnymi koordynatami (do 6 miejsc po przecinku). Bez tego, niższy ranking lokalny.

4. openingHoursSpecification, voice search („otwarte teraz”) wymaga tego pola. openingHours (krótki format „Mo-Fr 09:00-18:00”) jest dopuszczalny, ale openingHoursSpecification jest bardziej szczegółowy i obsługuje godziny różne dla różnych dni.

5. sameAs, linki do social media i profili branżowych. Google używa do weryfikacji tożsamości firmy i budowy Knowledge Graph.

6. priceRange, w polskim kontekście podawaj w złotówkach („150-2800 zł”) zamiast amerykańskich symboli „$$”. Czytelniejsze dla użytkownika i AI.

7. image, minimum 1 zdjęcie 1200×630 (Open Graph). Najlepiej 3 wersje: 1×1, 4×3, 16×9. Google wybiera najlepiej dopasowaną do kontekstu.

8. legalName, pełna nazwa prawna („sp. z o.o.”, „spółka cywilna”, „działalność gospodarcza Jan Kowalski”). Sygnał trustworthiness, szczególnie dla branż YMYL.

9. foundingDate, data założenia w formacie ISO 8601 (YYYY-MM-DD). Pokazuje wiek firmy = sygnał stabilności.

10. knowsLanguage, języki obsługi. Ważne dla turystycznych miast (Kraków, Warszawa, Gdańsk).

Konkretne typy LocalBusiness, wybierz swój

Zamiast generycznego LocalBusiness, użyj specyficznego typu z hierarchii Schema.org. Bardziej szczegółowy typ = lepsze dopasowanie w wynikach Google i większa szansa na rich snippety dedykowane dla branży.

BranżaTyp Schema.org
RestauracjaRestaurant
KawiarniaCafeOrCoffeeShop
Bar / pubBarOrPub
PizzeriaRestaurant (z servesCuisine: "Italian")
Hotel / pensjonatLodgingBusiness, Hotel, BedAndBreakfast
Domek letniskowyCampground lub LodgingBusiness
Gabinet stomatologicznyDentist
Klinika medycznaMedicalClinic, MedicalBusiness
WeterynarzVeterinaryCare
Salon kosmetycznyBeautySalon
Salon fryzjerskiHairSalon
Salon masażu / SPADaySpa, MassageStudio
Studio fitness / jogaExerciseGym, SportsActivityLocation
Warsztat samochodowyAutoRepair
Biuro nieruchomościRealEstateAgent
Szkoła językowaEducationalOrganization
Galeria sztukiArtGallery
Sala weselnaEventVenue
CoworkingOfficeEquipmentStore lub niestandardowo LocalBusiness z opisem
Piekarnia / cukierniaBakery
Kancelaria prawnaLegalService, Attorney
Doradca finansowyFinancialService
ArchitektProfessionalService
FotografProfessionalService

Im konkretniej, tym lepiej dla Google. Dentist daje dostęp do dedykowanych pól medycznych (medicalSpecialty, availableService), których generyczny LocalBusiness nie ma.

ProfessionalService vs LocalBusiness, kiedy które

LocalBusiness to dla firm z fizyczną siedzibą, do której przychodzą klienci (restauracja, gabinet, salon).

ProfessionalService to dla usług profesjonalnych, gdzie często to fachowiec dojeżdża do klienta (fotograf, architekt, prawnik, doradca finansowy, freelancer IT). Można też używać dla firm hybrydowych.

Lokal360 używa ProfessionalService jako głównego typu, bo dojeżdżamy do klientów po całej Polsce, fotograf 360° z lokalizacją centralną, ale obszarem obsługi „cała Polska”.

Najczęstsze błędy w JSON-LD

1. Review spam, te same opinie powtórzone na 10 podstronach. Google od 2025 traktuje to jako spam i obniża ranking. Strategia: pełne opinie tylko na 1-2 stronach (homepage, cennik), na pozostałych, tylko aggregateRating z @id referencją do Organization.

2. Fake AggregateRating, wymyślone gwiazdki bez realnych opinii. Google sprawdza spójność z opiniami w GBP. Niespójność = ban schema na całej domenie.

3. Pole priceRange jako liczba, musi być stringiem („150-2800 zł”, nie 150). Liczbowy priceRange powoduje błąd w Rich Results Test.

4. Brak @id, bez tego nie da się referencjonować organizacji z innych schema. Każdy nowy Service/Article duplikuje dane Organization, co rozpoznaje jako błąd struktury.

5. Niespójność z GBP, adres, telefon, godziny w schema muszą być takie same jak w Google Business Profile. Niespójność = obniżenie zaufania.

6. Wstrzykiwanie schema przez JavaScript. Google rekomenduje renderowanie schema w server-side HTML, nie przez JS po załadowaniu. Strony Astro / Next.js SSR / WordPress robią to dobrze. SPA z React bez SSR, często źle.

7. Brak walidacji, wstrzykujesz schema i nigdy nie sprawdzasz, czy jest poprawne. Walidacja przez Rich Results Test zajmuje 30 sekund i wykrywa 90% błędów.

Co dostajesz w Lokal360 standardowo

Każda strona Lokal360 ma od pierwszego dnia:

  • Pełen LocalBusiness (lub konkretny typ. Restaurant, Dentist, Hotel) z wszystkimi polami z szablonu wyżej
  • Service per usługa z dedykowanym opisem i ceną
  • Review + AggregateRating z centralnego pliku (single source of truth, brak duplikacji)
  • FAQPage na podstronach z FAQ (rich snippet accordion w Google)
  • BreadcrumbList na każdej podstronie (nawigacja w wyniku Google)
  • Article + Person dla wpisów blogowych
  • Organization + WebSite + SearchAction globalnie (sitelinks searchbox)
  • Speakable dla voice search

Bez wtyczek. Walidowane przez Google Rich Results Test. Działa od pierwszego dnia.

Jak sprawdzić, czy Twoje JSON-LD działa

  1. Rich Results Test Google, wpisz URL, sprawdź, jakie typy rich snippets są dostępne. Pokaże błędy i ostrzeżenia.
  2. Schema Markup Validator, sprawdza poprawność składni i strukturę. Bardziej szczegółowy.
  3. Google Search Console → „Wygląd w wyszukiwarce” / „Ulepszenia”, pokazuje, które typy schema Google rozpoznał, ile stron poprawnych vs z błędami.

Po wdrożeniu poprawnego JSON-LD, rich snippets pojawiają się w wynikach Google typowo w 1-4 tygodniach. Pierwsze sygnały (gwiazdki, FAQ accordion) zwykle w 7-14 dni.

Powiązane wpisy

Chcesz audyt JSON-LD Twojej strony albo gotowy schema dla Twojej branży? Zostaw numer w formularzu, sprawdzę co masz, czego brakuje, dam gotowy kod do wklejenia. W 24h, bez zobowiązań.


IB

Igor Biały

Twórca Lokal360 · spacery 360°, strony, systemy

Blog

O autorze

Igor Biały · twórca Lokal360

Twórca Lokal360

Koduję od 16. roku życia, od 2025 z zaprojektowanymi agentami AI (Claude od Anthropica). 12+ lat fotografii wnętrz, 150+ wykonanych spacerów 360° na Google Maps. Prowadzę Lokal360 (uruchomione wiosną 2026): strony internetowe, własne systemy rezerwacji, spacery 360°, opieka. Solo z agentami AI w tle.

IB

Masz pytanie po przeczytaniu?

Zostaw numer, oddzwonię w 24h. Powiem wprost, co ma sens w Twoim przypadku. Bez zobowiązań.

Zostaw numer, oddzwonię do 24h:

Dodaj firmę, miasto, email (opcjonalnie)

Twoje dane idą wyłącznie do mnie. Polityka prywatności

Napisz na Messengerze Napisz na WhatsApp