Darmowy 🙂
Uwaga: nie dodawaj ocen w schema, jeśli nie pokazujesz ich na stronie.
Wynik Po „Kopiuj” wklej w <head> lub jako blok HTML

      
Wskazówki (Local SEO)
  • NAP (nazwa, adres, telefon) musi być identyczny w wizytówce Google i na stronie.
  • FAQPage/Breadcrumbs oznaczaj tylko, jeśli treść faktycznie jest na stronie.
  • Osadź mapę Google + przyciski „Nawiguj / Zadzwoń / Napisz” (klik na mobile).

Przewodnik / Local SEO

Schema (dane strukturalne) dla lokalnego SEO — jak wdrożyć + 2 gotowe przykłady

Dane strukturalne (Schema.org) pomagają wyszukiwarkom lepiej zrozumieć Twoją stronę. Efekt: bogatsze wyniki (FAQ, breadcrumbs, ceny, wydarzenia), wyższy CTR i więcej zapytań.

1) Czym jest Schema i dlaczego warto

  • Rich results: okruszki, FAQ pod wynikiem, gwiazdki/oceny*, cena, wydarzenia itp.
  • Lepsze zrozumienie kontekstu: kto, co, gdzie, kiedy — bez domysłów algorytmu.
  • Synergia z Local SEO: spójny NAP (nazwa, adres, telefon), godziny, geo, profile.
  • Wyższy CTR: rozbudowany wynik = większa atrakcyjność w SERP.

*Ocen/gwiazdek używaj tylko, jeśli są faktycznie widoczne na stronie.

2) Format i standardy (JSON-LD, @type, @id)

JSON-LD

Rekomendowany format w bloku: <script type="application/ld+json"> (wklejasz w <head> lub jako blok HTML na danej podstronie).

@type po angielsku

Typy Schema zawsze po angielsku (np. LocalBusiness, FAQPage, BreadcrumbList).

Unikalne @id

Używaj spójnych kotwic, np. https://domena.pl/#local, #website, #faq, #breadcrumbs.

3) Kluczowe typy dla lokalnych firm

Najczęściej używane (zacznij od nich):

  • LocalBusiness, ProfessionalService, HomeAndConstructionBusiness, Store, MedicalBusiness
  • BeautySalon, Restaurant, AutoRepair, Electrician, Locksmith, VeterinaryCare

Dodatkowo: FAQPage, BreadcrumbList, Product (e-commerce), Event (wydarzenia), Article/NewsArticle (blog/aktualności), Service, Organization.

4) Zasady wdrażania

  1. Gdzie wkleić?<head> lub jako blok „Własny HTML” na właściwej podstronie.
  2. Spójne @id: te same kotwice w całej witrynie.
  3. NAP: nazwa, adres, telefon identyczne na stronie, w GBP i cytacjach.
  4. FAQ: dodawaj tylko, jeśli treść FAQ jest widoczna dla użytkownika.
  5. Oceny: oznaczaj wyłącznie, gdy występują na stronie.

5) Walidacja (testy) i typowe błędy

Sprawdź:

  • Rich Results Test (Google)
  • Schema Markup Validator
  • Brak błędów/ostrzeżeń i rozpoznane typy

Najczęstsze błędy:

  • Niepoprawny URL (bez https://).
  • @type w PL zamiast EN.
  • FAQ bez treści na stronie.
  • Niespójne @id i dane NAP.

6) Dwa kompletne przykłady JSON-LD

Przykład 1: HydroSerwis – Hydraulik Białystok

Typ: HomeAndConstructionBusiness • Podstrona: /uslugi/naprawa-kranow/

{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "WebSite",
      "@id": "https://hydroserwis-bialystok.pl/#website",
      "url": "https://hydroserwis-bialystok.pl/",
      "name": "HydroSerwis – Hydraulik Białystok",
      "inLanguage": "pl-PL",
      "publisher": { "@id": "https://hydroserwis-bialystok.pl/#local" }
    },
    {
      "@type": "HomeAndConstructionBusiness",
      "@id": "https://hydroserwis-bialystok.pl/#local",
      "name": "HydroSerwis – Hydraulik Białystok",
      "url": "https://hydroserwis-bialystok.pl/",
      "image": "https://hydroserwis-bialystok.pl/logo.png",
      "logo": "https://hydroserwis-bialystok.pl/logo.png",
      "telephone": "+48 600 000 111",
      "priceRange": "PLN",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "ul. Słoneczna 12",
        "addressLocality": "Białystok",
        "postalCode": "15-001",
        "addressCountry": "PL"
      },
      "geo": { "@type": "GeoCoordinates", "latitude": 53.1325, "longitude": 23.1688 },
      "areaServed": [
        { "@type": "AdministrativeArea", "name": "Białystok" },
        { "@type": "AdministrativeArea", "name": "Podlaskie" }
      ],
      "sameAs": [
        "https://maps.google.com/?cid=1234567890",
        "https://www.facebook.com/hydroserwisbialystok"
      ]
    },
    {
      "@type": "BreadcrumbList",
      "@id": "https://hydroserwis-bialystok.pl/uslugi/naprawa-kranow/#breadcrumbs",
      "itemListElement": [
        { "@type": "ListItem", "position": 1, "name": "Strona główna", "item": "https://hydroserwis-bialystok.pl/" },
        { "@type": "ListItem", "position": 2, "name": "Usługi", "item": "https://hydroserwis-bialystok.pl/uslugi/" },
        { "@type": "ListItem", "position": 3, "name": "Naprawa kranów", "item": "https://hydroserwis-bialystok.pl/uslugi/naprawa-kranow/" }
      ]
    },
    {
      "@type": "FAQPage",
      "@id": "https://hydroserwis-bialystok.pl/uslugi/naprawa-kranow/#faq",
      "about": { "@id": "https://hydroserwis-bialystok.pl/#local" },
      "mainEntity": [
        { "@type": "Question", "name": "Ile kosztuje naprawa cieknącego kranu?",
          "acceptedAnswer": { "@type": "Answer", "text": "Diagnoza od 79 zł, standardowa naprawa zwykle 149–249 zł." } },
        { "@type": "Question", "name": "Czy oferujecie nagłe interwencje?",
          "acceptedAnswer": { "@type": "Answer", "text": "Tak, w Białymstoku realizujemy pilne zgłoszenia tego samego dnia (pn–sb)." } },
        { "@type": "Question", "name": "Jak szybko można umówić wizytę?",
          "acceptedAnswer": { "@type": "Answer", "text": "Najszybciej telefonicznie: +48 600 000 111. Formularz na stronie działa 24/7." } }
      ]
    },
    {
      "@type": "WebPage",
      "@id": "https://hydroserwis-bialystok.pl/uslugi/naprawa-kranow/#webpage",
      "url": "https://hydroserwis-bialystok.pl/uslugi/naprawa-kranow/",
      "name": "Naprawa kranów | HydroSerwis Białystok",
      "inLanguage": "pl-PL",
      "isPartOf": { "@id": "https://hydroserwis-bialystok.pl/#website" }
    }
  ]
}

Przykład 2: GlamEstetyka – Salon kosmetyczny Warszawa

Typ: BeautySalon • Podstrona: /uslugi/manicure-hybrydowy/

{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "WebSite",
      "@id": "https://glamestetyka.pl/#website",
      "url": "https://glamestetyka.pl/",
      "name": "GlamEstetyka – Salon kosmetyczny Warszawa",
      "inLanguage": "pl-PL",
      "publisher": { "@id": "https://glamestetyka.pl/#local" }
    },
    {
      "@type": "BeautySalon",
      "@id": "https://glamestetyka.pl/#local",
      "name": "GlamEstetyka – Salon kosmetyczny Warszawa",
      "url": "https://glamestetyka.pl/",
      "image": "https://glamestetyka.pl/logo.png",
      "logo": "https://glamestetyka.pl/logo.png",
      "telephone": "+48 601 222 333",
      "priceRange": "PLN",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "ul. Marszałkowska 45",
        "addressLocality": "Warszawa",
        "postalCode": "00-123",
        "addressCountry": "PL"
      },
      "geo": { "@type": "GeoCoordinates", "latitude": 52.2297, "longitude": 21.0122 },
      "areaServed": [
        { "@type": "AdministrativeArea", "name": "Warszawa" },
        { "@type": "AdministrativeArea", "name": "Mazowieckie" }
      ],
      "sameAs": [
        "https://maps.google.com/?cid=9876543210",
        "https://www.instagram.com/glamestetyka",
        "https://www.facebook.com/glamestetyka"
      ]
    },
    {
      "@type": "BreadcrumbList",
      "@id": "https://glamestetyka.pl/uslugi/manicure-hybrydowy/#breadcrumbs",
      "itemListElement": [
        { "@type": "ListItem", "position": 1, "name": "Strona główna", "item": "https://glamestetyka.pl/" },
        { "@type": "ListItem", "position": 2, "name": "Usługi", "item": "https://glamestetyka.pl/uslugi/" },
        { "@type": "ListItem", "position": 3, "name": "Manicure hybrydowy", "item": "https://glamestetyka.pl/uslugi/manicure-hybrydowy/" }
      ]
    },
    {
      "@type": "FAQPage",
      "@id": "https://glamestetyka.pl/uslugi/manicure-hybrydowy/#faq",
      "about": { "@id": "https://glamestetyka.pl/#local" },
      "mainEntity": [
        { "@type": "Question", "name": "Ile trwa manicure hybrydowy?",
          "acceptedAnswer": { "@type": "Answer", "text": "Standardowo 60–75 minut w zależności od stanu paznokci i zdobienia." } },
        { "@type": "Question", "name": "Czy oferujecie usuwanie poprzedniej stylizacji?",
          "acceptedAnswer": { "@type": "Answer", "text": "Tak — delikatne usunięcie poprzedniej hybrydy jest wliczone w usługę." } },
        { "@type": "Question", "name": "Jak umówić wizytę na sobotę?",
          "acceptedAnswer": { "@type": "Answer", "text": "Najprościej online przez kalendarz lub telefonicznie: +48 601 222 333." } }
      ]
    },
    {
      "@type": "WebPage",
      "@id": "https://glamestetyka.pl/uslugi/manicure-hybrydowy/#webpage",
      "url": "https://glamestetyka.pl/uslugi/manicure-hybrydowy/",
      "name": "Manicure hybrydowy | GlamEstetyka",
      "inLanguage": "pl-PL",
      "isPartOf": { "@id": "https://glamestetyka.pl/#website" }
    }
  ]
}

7) Mini-checklista wdrożenia

  • Dobierz najdokładniejszy @type (np. BeautySalon zamiast ogólnego).
  • Uzupełnij: name, url, logo/image, telephone, address, geo, openingHoursSpecification, sameAs, areaServed.
  • Dodaj BreadcrumbListFAQPage (jeśli FAQ jest na stronie).
  • Stosuj spójne @id: #local, #website, #faq, #breadcrumbs.
  • Waliduj w Rich Results Test i Schema Markup Validator.
  • Dbaj o spójny NAP na stronie, w GBP i cytacjach.

FAQ

Dlaczego generator ma kilka typów, a nie setki?

Schema.org ma setki typów. W generatorze zostawiamy najczęstsze dla lokalnych biznesów, żeby uprościć start i ograniczyć błędy. Możesz dopisać inne typy ręcznie — ważne, by @type był po angielsku i pasował do działalności.

Czy mogę mieć oceny/gwiazdki w wynikach?

Tylko jeśli realnie wyświetlasz oceny na stronie zgodnie z wytycznymi Google.

Gdzie najlepiej wklejać JSON-LD?

<head> (motyw/SEO plugin) lub w Gutenbergu jako blok „Własny HTML” na konkretnej podstronie.