Schema.org dla lokalnego biznesu – LocalBusiness, Service i FAQPage krok po kroku
Wróć do bloga
SEO 24 maja 2026 12 min

Schema.org dla lokalnego biznesu – LocalBusiness, Service i FAQPage krok po kroku

Grzegorz Kalmus

Grzegorz Kalmus

Autor

Schema.org to zunifikowany słownik danych strukturalnych, który pozwala wyszukiwarkom zrozumieć, co konkretnie oferuje Twoja firma – nie tylko przeczytać tekst, ale zinterpretować go semantycznie. Dla lokalnego biznesu w Polsce właściwie zaimplementowane dane strukturalne oznaczają jedno: lepszą widoczność w wynikach Google, w tym rich results z oceną gwiazdkową, godzinami otwarcia, cenami usług i sekcją FAQ bezpośrednio w SERP.

Według danych Google Search Central, strony z poprawnymi danymi strukturalnymi uzyskują nawet o 20-30% wyższy CTR w porównaniu do zwykłych wyników. W praktyce oznacza to więcej kliknięć bez zmiany pozycji.

W tym przewodniku pokażę Ci krok po kroku, jak wdrożyć cztery kluczowe typy schema dla lokalnej firmy usługowej: LocalBusiness, Service, FAQPage i BreadcrumbList. Wszystkie przykłady opierają się na fikcyjnej polskiej firmie – agencji marketingowej z Piaseczna – ale kod nadaje się bezpośrednio do użycia po podstawieniu własnych danych.

Czego się dowiesz:

  • Jak napisać poprawny JSON-LD dla LocalBusiness i Service
  • Jak zbudować FAQPage pod rich results Google
  • Jak dodać BreadcrumbList i Review
  • Jak przetestować dane w Rich Results Test
  • Jakie błędy eliminują Cię z rich results

Czym jest Schema.org i dlaczego JSON-LD to jedyna sensowna opcja

Schema.org to wspólny projekt Google, Bing, Yahoo i Yandex uruchomiony w 2011 roku. Definiuje słownik typów i właściwości, które można dodać do stron w trzech formatach: JSON-LD, Microdata i RDFa. Google jednoznacznie rekomenduje JSON-LD jako format preferowany – jest łatwiejszy do utrzymania, nie miesza się z HTML-em i można go wstrzyknąć w dowolne miejsce strony bez ingerencji w markup.

JSON-LD umieszcza się w tagu <script type="application/ld+json">, najczęściej w sekcji <head> lub tuż przed </body>. WordPress i Next.js obsługują to natywnie – wystarczy odpowiednia wtyczka lub komponent.

Ważne: Dane strukturalne nie są czynnikiem rankingowym bezpośrednio. Pomagają Google zrozumieć treść i kwalifikują stronę do rich results, co przekłada się na wyższy CTR – a to już wpływa na pozycję pośrednio.

LocalBusiness – fundament dla każdej firmy lokalnej

Typ LocalBusiness (lub jego bardziej szczegółowe podtypy: LegalService, MedicalBusiness, HomeAndConstructionBusiness itp.) to podstawa danych strukturalnych dla każdej firmy z fizyczną lokalizacją lub obszarem obsługi. Powoduje, że Google może wyświetlić Twoją firmę w Knowledge Panel i w wynikach lokalnych.

Przykład dla agencji marketingowej Studio Kalmus z Piaseczna:

{
  "@context": "https://schema.org",
  "@type": "ProfessionalService",
  "@id": "https://studiokalmus.com/#business",
  "name": "Studio Kalmus",
  "description": "Agencja tworzenia stron internetowych i pozycjonowania SEO. Obsługujemy firmy z Piaseczna, Warszawy i całego woj. mazowieckiego.",
  "url": "https://studiokalmus.com",
  "telephone": "+48-XXX-XXX-XXX",
  "email": "kontakt@studiokalmus.com",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "ul. Przykładowa 1",
    "addressLocality": "Piaseczno",
    "postalCode": "05-500",
    "addressRegion": "mazowieckie",
    "addressCountry": "PL"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 52.0785,
    "longitude": 21.0206
  },
  "areaServed": [
    {
      "@type": "City",
      "name": "Piaseczno"
    },
    {
      "@type": "City",
      "name": "Warszawa"
    }
  ],
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
      "opens": "09:00",
      "closes": "17:00"
    }
  ],
  "priceRange": "$$",
  "currenciesAccepted": "PLN",
  "paymentAccepted": "przelew bankowy, karta kredytowa",
  "hasMap": "https://maps.google.com/?q=Piaseczno+ul.+Przykladowa+1",
  "logo": {
    "@type": "ImageObject",
    "url": "https://studiokalmus.com/logo.png",
    "width": 300,
    "height": 100
  },
  "image": "https://studiokalmus.com/og-image.jpg",
  "sameAs": [
    "https://www.facebook.com/studiokalmus",
    "https://www.linkedin.com/company/studiokalmus"
  ]
}

Kilka uwag do powyższego kodu:

  • @id z fragmentem #business pozwala odwoływać się do tego obiektu z innych typów schema na tej samej stronie – unikaj duplikowania danych.
  • areaServed jest kluczowe dla firm bez stacjonarnej obsługi klientów (np. pracujących zdalnie) – wpisz wszystkie obsługiwane miasta.
  • priceRange w formacie znakowym ($, $$, $$$) jest wyświetlany przez Google w wynikach lokalnych.
  • Właściwość sameAs łączy Twój wpis z profilami w mediach społecznościowych – wzmacnia Knowledge Panel.

Jeśli prowadzisz agencję web lub SEO w regionie, warto też dodać osobne strony dla każdego obsługiwanego miasta z dedykowanym schema. Przykładowo, nasza strona dla firm z Piaseczna i klientów z Warszawy korzysta z tego mechanizmu.

Service – opisz każdą usługę oddzielnie

Typ Service pozwala zdefiniować konkretną usługę oferowaną przez firmę. Google używa tych danych do wyświetlania usług w wynikach wyszukiwania i w Google Business Profile. Dla agencji web lub SEO każda usługa powinna mieć własny blok schema.

{
  "@context": "https://schema.org",
  "@type": "Service",
  "@id": "https://studiokalmus.com/pozycjonowanie-stron#service",
  "name": "Pozycjonowanie stron internetowych",
  "alternateName": "SEO",
  "description": "Kompleksowe pozycjonowanie stron w Google dla firm lokalnych. Audyt SEO, optymalizacja techniczna, budowa linków, treści pod wyszukiwarki.",
  "url": "https://studiokalmus.com/pozycjonowanie-stron",
  "provider": {
    "@id": "https://studiokalmus.com/#business"
  },
  "areaServed": {
    "@type": "State",
    "name": "mazowieckie"
  },
  "serviceType": "SEO, pozycjonowanie lokalne",
  "category": "Marketing internetowy",
  "offers": {
    "@type": "Offer",
    "priceCurrency": "PLN",
    "price": "800",
    "priceSpecification": {
      "@type": "UnitPriceSpecification",
      "priceCurrency": "PLN",
      "price": "800",
      "unitText": "miesięcznie"
    },
    "availability": "https://schema.org/InStock",
    "url": "https://studiokalmus.com/cennik"
  },
  "hasOfferCatalog": {
    "@type": "OfferCatalog",
    "name": "Pakiety SEO",
    "itemListElement": [
      {
        "@type": "Offer",
        "name": "Pakiet Start",
        "description": "Audyt SEO + optymalizacja on-page + 5 fraz"
      },
      {
        "@type": "Offer",
        "name": "Pakiet Pro",
        "description": "Pełne pozycjonowanie + linkbuilding + raportowanie"
      }
    ]
  }
}

Zwróć uwagę na "provider": {"@id": "..."} – zamiast powtarzać cały obiekt LocalBusiness, odwołujesz się do niego przez ID. To dobra praktyka dla stron z wieloma blokami schema.

Jeśli chcesz dowiedzieć się, ile kosztuje pozycjonowanie stron lub projektowanie stron internetowych, sprawdź nasze strony usługowe z aktualnymi cennikami.

FAQPage – najprostszy sposób na pozycję w rich results

Spośród wszystkich typów schema, FAQPage jest tym, który najszybciej daje widoczne efekty. Google wyświetla pytania i odpowiedzi bezpośrednio pod wynikiem wyszukiwania, zwiększając jego rozmiar nawet 3-krotnie. Warunek: pytania i odpowiedzi muszą faktycznie znajdować się na stronie w widocznym HTML-u – schema FAQPage jest tylko ich odzwierciedleniem, nie zastąpieniem.

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Ile kosztuje pozycjonowanie strony w Piasecznie?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ceny pozycjonowania dla lokalnych firm zaczynają się od 800 zł miesięcznie. Koszt zależy od liczby fraz, konkurencyjności rynku i zakresu działań. Szczegółowy cennik znajdziesz na stronie /cennik."
      }
    },
    {
      "@type": "Question",
      "name": "Jak długo trwa pozycjonowanie lokalne?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Pierwsze wyniki widoczne są po 2-4 miesiącach. Stabilne pozycje w top 3 dla fraz lokalnych osiągamy zazwyczaj po 6-9 miesiącach systematycznych działań."
      }
    },
    {
      "@type": "Question",
      "name": "Czy schema.org wpływa na ranking w Google?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Bezpośrednio nie - Google nie traktuje danych strukturalnych jako sygnału rankingowego. Jednak rich results (gwiazdki, FAQ, dane o firmie) zwiększają CTR, co pośrednio wpływa na pozycje."
      }
    }
  ]
}

Ważne zasady dla FAQPage:

  • Treść odpowiedzi w schema musi być identyczna lub przynajmniej spójna z tym, co widzi użytkownik na stronie.
  • Google może zdyskwalifikować FAQ schema, jeśli pytania są ukryte za accordion bez możliwości indeksowania.
  • Maksymalnie 10 pytań w schema – więcej Google i tak nie wyświetli, a ryzyko błędów rośnie.
  • Odpowiedź może zawierać podstawowe HTML (<a>, <strong>) – Google wyrenderuje je w rich results.

BreadcrumbList – nawigacja widoczna w wynikach wyszukiwania

Schema BreadcrumbList sprawia, że zamiast surowego URL-a Google wyświetla ścieżkę nawigacji: studiokalmus.com > Blog > SEO > Schema.org. To szczegół, ale poprawia UX wyników i wzmacnia strukturę serwisu w oczach bota.

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Strona główna",
      "item": "https://studiokalmus.com"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "Blog",
      "item": "https://studiokalmus.com/blog"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "SEO",
      "item": "https://studiokalmus.com/blog/kategoria/seo"
    },
    {
      "@type": "ListItem",
      "position": 4,
      "name": "Schema.org dla lokalnego biznesu",
      "item": "https://studiokalmus.com/schema-org-lokalny-biznes-przewodnik"
    }
  ]
}

Pozycja (position) musi być ciągłą sekwencją od 1. Brakujący poziom lub powtórzone numery powodują błąd w walidatorze.

Review i AggregateRating – gwiazdki w wynikach wyszukiwania

Schema Review i AggregateRating to te typy, które jako pierwsze przychodzą na myśl gdy słyszy się „dane strukturalne”. Gwiazdki w wynikach wyszukiwania są jednym z najsilniejszych sygnałów CTR – według Moz, wyniki z rich results gwiazdkowymi mają CTR wyższy o 15-30% w porównaniu do wyników bez nich.

Krytyczna uwaga: Google od 2023 roku restrykcyjnie egzekwuje zasadę, że AggregateRating z typem LocalBusiness nie kwalifikuje się do rich results w zwykłych wynikach wyszukiwania. Gwiazdki dla firm lokalnych pojawiają się wyłącznie w Google Business Profile i w Google Maps. W wynikach organicznych gwiazdki możesz uzyskać dla: Product, Recipe, Movie, Course i kilku innych typów – ale nie LocalBusiness.

Dla recenzji konkretnej usługi (np. strony na zamówienie jako produktu) schema wygląda tak:

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Strona internetowa dla firmy",
  "description": "Projekt i realizacja strony firmowej na Next.js lub WordPress.",
  "brand": {
    "@type": "Brand",
    "name": "Studio Kalmus"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.9",
    "reviewCount": "47",
    "bestRating": "5",
    "worstRating": "1"
  },
  "review": [
    {
      "@type": "Review",
      "author": {
        "@type": "Person",
        "name": "Marek Kowalski"
      },
      "datePublished": "2026-03-15",
      "reviewBody": "Profesjonalna realizacja, termin dotrzymany, strona działa szybko. Polecam.",
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": "5",
        "bestRating": "5"
      }
    }
  ]
}

Jak sprawdzić poprawność – Rich Results Test krok po kroku

Zanim wdrożysz schema na produkcję, zawsze weryfikuj ją w Rich Results Test (oficjalnym narzędziu Google). Procedura jest prosta:

  1. Wejdź na search.google.com/test/rich-results.
  2. Wybierz „Testuj URL” (dla strony na produkcji) lub „Testuj kod” (dla snippetu przed wdrożeniem).
  3. Wklej URL lub kod JSON-LD i kliknij „Testuj”.
  4. Narzędzie pokaże: wykryte typy, błędy (blokujące kwalifikację) i ostrzeżenia (nieblokujące).
  5. Kliknij w dany typ (np. FAQ), żeby zobaczyć podgląd jak rich result będzie wyglądał w SERP.

Dodatkowe narzędzie: validator.schema.org – walidator samego Schema.org bez filtrowania pod kątem Google. Przydatne do sprawdzenia poprawności typów i właściwości bez zależności od reguł Google.

Najczęstsze błędy i jak ich unikać

Błąd Skutek Jak naprawić
Treść FAQ niewidoczna na stronie (tylko w schema) Dyskwalifikacja z rich results FAQ musi być w HTML-u strony, dostępne dla użytkownika
Błędny format daty (np. „15.03.2026” zamiast „2026-03-15”) Błąd parsowania, pominięcie właściwości Używaj formatu ISO 8601: YYYY-MM-DD
Brakujące pole „name” lub „url” w LocalBusiness Niekompletny Knowledge Panel Te dwa pola są wymagane – zawsze uzupełniaj
AggregateRating z fikcyjnymi recenzjami Penalty od Google, usunięcie z rich results Tylko prawdziwe opinie z weryfikowalnym źródłem
Kilka bloków schema z tym samym @type na jednej stronie Konflikty, nadpisywanie danych Użyj jednego bloku z @id i odwołań, lub tablicy @graph
Brak @context lub błędna jego wartość Schema całkowicie ignorowana Zawsze: „@context”: „https://schema.org”

Jak wdrożyć schema w WordPress i Next.js

WordPress z Yoast SEO

Yoast SEO automatycznie generuje podstawowe schema (LocalBusiness, BreadcrumbList, WebPage, WebSite) na podstawie ustawień w panelu. Przejdź do: SEO > Wygląd w wyszukiwarce > Typ treści i upewnij się, że każdy typ strony ma przypisany właściwy typ schema. Dla FAQ użyj bloku Gutenberg „FAQ” z rozszerzenia Yoast – generuje FAQPage automatycznie.

Next.js / headless

W Next.js schema dodajesz przez komponent lub bezpośrednio w metadanych strony:

// app/pozycjonowanie-stron/page.tsx
export default function PozycjonowaniePage() {
  const schema = {
    "@context": "https://schema.org",
    "@type": "Service",
    "name": "Pozycjonowanie stron",
    // ...reszta właściwości
  };

  return (
    <>
      <script
        type="application/ld+json"
        dangerouslySetInnerHTML={{ __html: JSON.stringify(schema) }}
      />
      {/* reszta strony */}
    </>
  );
}

Dla projektów na Next.js lub WordPress headless warto rozważyć dedykowaną bibliotekę schema-dts (TypeScript types dla Schema.org) – eliminuje literówki w nazwach właściwości już na etapie kompilacji.

Jeśli potrzebujesz pomocy z wdrożeniem danych strukturalnych w swoim projekcie, sprawdź naszą ofertę tworzenia stron internetowych lub skontaktuj się bezpośrednio przez formularz kontaktowy.

Najczęstsze pytania (FAQ)

Czy muszę wdrożyć schema.org, żeby rankować lokalnie?

Dane strukturalne nie są wymagane do pozycjonowania lokalnego – strony bez schema też rankują. Jednak LocalBusiness schema zwiększa szansę na Knowledge Panel i rich results, co przekłada się na lepszy CTR. To szczególnie ważne dla fraz z intencją lokalną, gdzie użytkownicy porównują firmy bezpośrednio w wynikach wyszukiwania.

Ile bloków schema mogę umieścić na jednej stronie?

Teoretycznie nie ma limitu, ale praktycznie każdy blok powinien dotyczyć treści faktycznie obecnej na stronie. Najlepszą praktyką jest użycie konstrukcji @graph, która pozwala powiązać wiele typów w jednym bloku JSON-LD i uniknąć duplikowania właściwości takich jak @context.

Jak często Google aktualizuje dane z schema w wynikach?

Google pobiera i przetwarza dane strukturalne przy każdym crawlu strony. Czas od wdrożenia do pojawienia się rich results wynosi zazwyczaj od kilku dni do 4 tygodni. Możesz przyspieszyć ten proces przez ręczne zgłoszenie URL w Google Search Console (Sprawdzanie URL > Zażądaj indeksowania).

Czy schema FAQPage nadal działa po zmianach Google w 2023 roku?

Google w sierpniu 2023 ograniczył wyświetlanie FAQ rich results – domyślnie pokazuje je tylko dla zaufanych, autorytatywnych stron (rządowych, zdrowotnych). Dla typowych witryn firmowych FAQ rich results pojawiają się rzadziej niż przed 2023 rokiem. Mimo to warto je wdrożyć – Google nadal indeksuje te dane i może je wykorzystywać w innych formatach wyników.

Czy mogę używać schema na stronach z treścią generowaną przez AI?

Tak, ale z zastrzeżeniem: dane w schema muszą być zgodne z faktyczną treścią strony i weryfikowalne. Szczególnie dotyczy to Review i AggregateRating – fikcyjne recenzje w schema to jeden z najszybszych sposobów na penalty od Google. E-E-A-T i autentyczność są kluczowe.

Jak sprawdzić, czy moje schema jest już w indeksie Google?

W Google Search Console przejdź do sekcji Ulepszenia (lub Wyszukiwanie > Elementy z rozszerzonymi wynikami). GSC pokazuje wykryte typy schema, liczbę stron z błędami i stron zakwalifikowanych do rich results. To jedyne miarodajne źródło – zewnętrzne narzędzia mogą dawać fałszywe sygnały.

Podsumowanie

Schema.org to jeden z tych elementów optymalizacji, które wymagają jednorazowego nakładu pracy, a procentują miesiącami i latami. Poprawnie zaimplementowany LocalBusiness schema może pojawić się w Knowledge Panel jeszcze w tym samym tygodniu. FAQ schema poszerza Twój wynik w SERP bez zmiany pozycji. BreadcrumbList porządkuje wyświetlany URL i sygnalizuje Google strukturę serwisu.

Kluczowe zasady, które warto zapamiętać:

  • JSON-LD to jedyna sensowna opcja implementacji – zarówno dla WordPress, jak i Next.js.
  • Dane w schema muszą odpowiadać treści widocznej na stronie – nie można „ukrywać” informacji tylko w skrypcie.
  • Zawsze testuj w Rich Results Test przed wdrożeniem na produkcję.
  • AggregateRating dla LocalBusiness nie daje gwiazdek w wynikach organicznych – to mit, który wciąż krąży.
  • Używaj @id i @graph dla złożonych stron z wieloma typami schema.

Jeśli chcesz, żebyśmy wdrożyli dane strukturalne na Twojej stronie lub przeprowadzili audyt istniejących schema, sprawdź naszą ofertę pozycjonowania stron i aktualny cennik.

Wdrozymy schema.org na Twojej stronie

Audyt istniejacych danych strukturalnych, wdrozenie LocalBusiness, Service, FAQ i BreadcrumbList, weryfikacja w Rich Results Test. Sprawdz oferte i zapytaj o wycene.

Zapytaj o wycene
  
Zobacz cennik

Studio Kalmus

Potrzebujesz profesjonalnej strony?

Tworzymy nowoczesne strony internetowe dla firm. Bezpłatna wycena w 24h.

Szukasz hostingu? SeoHost z rabatem

Kod studiokalmus55 daje 40% rabatu na aktywację serwera. Szybkie NVMe, SSL i wsparcie 24/7.

Sprawdź Ofertę
Digital Workspace Background

[ 09 / Kontakt ]

Czekamyna
TwojąWiadomość

Teraz albo nigdy! Nie odkładaj tego na później. Działaj, zanim stracisz swoją przewagę!

W dni robocze odpisujemy w max 60 minut.

Schema.org dla lokalnego biznesu - LocalBusiness, Service i FAQPage krok po kroku - Studio Kalmus | Studio Kalmus