01 Restaurant (strona główna)

Główny schemat restauracji — umieścić na stronie głównej jakubowaizba.pl. Zawiera dane kontaktowe, adres, typ kuchni i profile społecznościowe.

json-ld

  "@context" "https://schema.org"
  "@type" "Restaurant"
  "@id" "https://jakubowaizba.pl/#restaurant"
  "name" "Jakubowa Izba"
  "alternateName" "Jakubowa Izba - Restauracja i Pokoje Gościnne"
  "description" "Restauracja z kuchnią polską i regionalną, pokoje gościnne przy trasie S17 w Niwie Babickiej koło Ryk. Organizacja wesel, komunii, imprez firmowych i cateringu."
  "url" "https://jakubowaizba.pl/"
  "telephone" "+48507181570"
  "email" "[email protected]"
  "address" 
    "@type" "PostalAddress"
    "streetAddress" "Niwa Babicka 91"
    "addressLocality" "Ryki"
    "postalCode" "08-500"
    "addressRegion" "lubelskie"
    "addressCountry" "PL"
  
  "geo" 
    "@type" "GeoCoordinates"
    "latitude" "51.6280"
    "longitude" "21.9390"
  
  "servesCuisine" "Polska" "Regionalna" "Lubelska"
  "priceRange" "$$"
  "menu" "https://jakubowaizba.pl/menu/"
  "acceptsReservations" "True"
  "image" "https://jakubowaizba.pl/wp-content/uploads/jakubowa-izba.jpg"
  "logo" "https://jakubowaizba.pl/wp-content/uploads/logo.svg"
  "sameAs" 
    "https://www.facebook.com/jakubowaizba"
    "https://www.instagram.com/jakubowaizba"
    "https://www.tripadvisor.com/Restaurant_Review-Jakubowa_Izba"
  
  "hasMap" "https://maps.google.com/?q=Niwa+Babicka+91,+08-500+Ryki"
  "award" "Poland 100 Best Restaurants" "Najlepsza Karczma w Polsce 2022"
Uwaga: Zaktualizuj URL-e do social media i zdjęć o rzeczywiste adresy. Współrzędne geo są przybliżone — zweryfikuj dokładne wartości.

02 LocalBusiness (rozszerzenie Restaurant)

Rozszerzenie schematu Restaurant o godziny otwarcia, akceptowane płatności i walutę. Można połączyć z głównym snippetem (#01) lub wstawić oddzielnie.

json-ld

  "@context" "https://schema.org"
  "@type" "Restaurant"
  "@id" "https://jakubowaizba.pl/#restaurant"
  "openingHoursSpecification" 
    
      "@type" "OpeningHoursSpecification"
      "dayOfWeek" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday"
      "opens" "12:00"
      "closes" "22:00"
    
    
      "@type" "OpeningHoursSpecification"
      "dayOfWeek" "Saturday" "Sunday"
      "opens" "12:00"
      "closes" "23:00"
    
  
  "paymentAccepted" "Cash" "Credit Card"
  "currenciesAccepted" "PLN"
Uwaga: Godziny otwarcia są przykładowe — zaktualizuj o rzeczywiste godziny! Zweryfikuj dni otwarcia i metody płatności.

03 LodgingBusiness (strona /pokoje/)

Schemat dla sekcji pokoi gościnnych — umieścić na stronie jakubowaizba.pl/pokoje/. Zawiera informacje o check-in/check-out i udogodnieniach.

json-ld

  "@context" "https://schema.org"
  "@type" "LodgingBusiness"
  "@id" "https://jakubowaizba.pl/#lodging"
  "name" "Jakubowa Izba - Pokoje Gościnne"
  "description" "Pokoje gościnne przy trasie S17 w Niwie Babickiej koło Ryk. Idealne na nocleg w trasie lub pobyt w regionie lubelskim."
  "url" "https://jakubowaizba.pl/pokoje/"
  "telephone" "+48507181570"
  "email" "[email protected]"
  "address" 
    "@type" "PostalAddress"
    "streetAddress" "Niwa Babicka 91"
    "addressLocality" "Ryki"
    "postalCode" "08-500"
    "addressRegion" "lubelskie"
    "addressCountry" "PL"
  
  "checkinTime" "14:00"
  "checkoutTime" "11:00"
  "amenityFeature" 
    "@type" "LocationFeatureSpecification" "name" "Parking" "value" true
    "@type" "LocationFeatureSpecification" "name" "WiFi" "value" true
    "@type" "LocationFeatureSpecification" "name" "Restauracja na miejscu" "value" true
  
  "petsAllowed" false
Uwaga: Sprawdź i uzupełnij godziny check-in/check-out, udogodnienia (parking, WiFi, itp.) i politykę dotyczącą zwierząt.

04 FoodEstablishment (strona /przyjecia/)

Schemat dla usług eventowych i cateringowych — umieścić na stronie jakubowaizba.pl/przyjecia/. Opisuje ofertę wesel, komunii, chrzcin i cateringu.

json-ld

  "@context" "https://schema.org"
  "@type" "FoodEstablishment"
  "@id" "https://jakubowaizba.pl/#catering"
  "name" "Jakubowa Izba - Przyjęcia i Catering"
  "description" "Organizacja wesel, komunii świętych, chrzcin, styp, imprez firmowych i prywatnych. Catering na dowóz."
  "url" "https://jakubowaizba.pl/przyjecia/"
  "telephone" "+48507181570"
  "address" 
    "@type" "PostalAddress"
    "streetAddress" "Niwa Babicka 91"
    "addressLocality" "Ryki"
    "postalCode" "08-500"
    "addressRegion" "lubelskie"
    "addressCountry" "PL"
  
  "makesOffer" 
    
      "@type" "Offer"
      "itemOffered" 
        "@type" "Service"
        "name" "Organizacja wesel"
        "description" "Kompleksowa organizacja przyjęć weselnych z tradycyjną kuchnią polską"
      
    
    
      "@type" "Offer"
      "itemOffered" 
        "@type" "Service"
        "name" "Komunie i chrzciny"
        "description" "Organizacja przyjęć komunijnych i chrzcin"
      
    
    
      "@type" "Offer"
      "itemOffered" 
        "@type" "Service"
        "name" "Catering"
        "description" "Catering na dowóz - imprezy prywatne i firmowe"
      
    
    
      "@type" "Offer"
      "itemOffered" 
        "@type" "Service"
        "name" "Spotkania firmowe"
        "description" "Sale konferencyjne i organizacja spotkań biznesowych"
      
    
  

05 BreadcrumbList (przykład dla podstrony)

Schemat nawigacji okruszkowej — przykład dla strony /menu/. Dostosuj nazwy i URL-e do każdej podstrony.

json-ld

  "@context" "https://schema.org"
  "@type" "BreadcrumbList"
  "itemListElement" 
    
      "@type" "ListItem"
      "position" 1
      "name" "Strona główna"
      "item" "https://jakubowaizba.pl/"
    
    
      "@type" "ListItem"
      "position" 2
      "name" "Menu"
      "item" "https://jakubowaizba.pl/menu/"
    
  
Yoast SEO generuje BreadcrumbList automatycznie — ten snippet jest podany jako referencja.

Rekomendowane Połączony graf JSON-LD (@graph)

Zamiast wielu oddzielnych tagów <script type="application/ld+json">, najlepiej połączyć wszystkie schematy w jeden blok za pomocą właściwości @graph. To podejście jest rekomendowane przez Google, ponieważ:

json-ld · @graph

  "@context" "https://schema.org"
  "@graph" 

    // --- Restaurant ---
    
      "@type" "Restaurant"
      "@id" "https://jakubowaizba.pl/#restaurant"
      "name" "Jakubowa Izba"
      "alternateName" "Jakubowa Izba - Restauracja i Pokoje Gościnne"
      "description" "Restauracja z kuchnią polską i regionalną, pokoje gościnne przy trasie S17 w Niwie Babickiej koło Ryk."
      "url" "https://jakubowaizba.pl/"
      "telephone" "+48507181570"
      "email" "[email protected]"
      "address" 
        "@type" "PostalAddress"
        "streetAddress" "Niwa Babicka 91"
        "addressLocality" "Ryki"
        "postalCode" "08-500"
        "addressRegion" "lubelskie"
        "addressCountry" "PL"
      
      "geo" 
        "@type" "GeoCoordinates"
        "latitude" "51.6280"
        "longitude" "21.9390"
      
      "servesCuisine" "Polska" "Regionalna" "Lubelska"
      "priceRange" "$$"
      "menu" "https://jakubowaizba.pl/menu/"
      "acceptsReservations" "True"
      "image" "https://jakubowaizba.pl/wp-content/uploads/jakubowa-izba.jpg"
      "logo" "https://jakubowaizba.pl/wp-content/uploads/logo.svg"
      "sameAs" 
        "https://www.facebook.com/jakubowaizba"
        "https://www.instagram.com/jakubowaizba"
        "https://www.tripadvisor.com/Restaurant_Review-Jakubowa_Izba"
      
      "openingHoursSpecification" 
        
          "@type" "OpeningHoursSpecification"
          "dayOfWeek" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday"
          "opens" "12:00"
          "closes" "22:00"
        
        
          "@type" "OpeningHoursSpecification"
          "dayOfWeek" "Saturday" "Sunday"
          "opens" "12:00"
          "closes" "23:00"
        
      
      "paymentAccepted" "Cash" "Credit Card"
      "currenciesAccepted" "PLN"
    

    // --- LodgingBusiness ---
    
      "@type" "LodgingBusiness"
      "@id" "https://jakubowaizba.pl/#lodging"
      "name" "Jakubowa Izba - Pokoje Gościnne"
      "description" "Pokoje gościnne przy trasie S17 w Niwie Babickiej koło Ryk."
      "url" "https://jakubowaizba.pl/pokoje/"
      "telephone" "+48507181570"
      "address" 
        "@type" "PostalAddress"
        "streetAddress" "Niwa Babicka 91"
        "addressLocality" "Ryki"
        "postalCode" "08-500"
        "addressRegion" "lubelskie"
        "addressCountry" "PL"
      
      "checkinTime" "14:00"
      "checkoutTime" "11:00"
      "amenityFeature" 
        "@type" "LocationFeatureSpecification" "name" "Parking" "value" true
        "@type" "LocationFeatureSpecification" "name" "WiFi" "value" true
        "@type" "LocationFeatureSpecification" "name" "Restauracja na miejscu" "value" true
      
      "petsAllowed" false
    

    // --- WebSite ---
    
      "@type" "WebSite"
      "@id" "https://jakubowaizba.pl/#website"
      "name" "Jakubowa Izba"
      "url" "https://jakubowaizba.pl/"
      "publisher" "@id" "https://jakubowaizba.pl/#restaurant"
      "inLanguage" "pl-PL"
      "potentialAction" 
        "@type" "SearchAction"
        "target" "https://jakubowaizba.pl/?s={search_term_string}"
        "query-input" "required name=search_term_string"
      
    

  
Uwaga dotycząca komentarzy: Komentarze // --- są dodane dla czytelności. Przed wklejeniem na stronę należy je usunąć, ponieważ JSON nie obsługuje komentarzy. Alternatywnie można użyć walidatora, który je oczyści automatycznie.
Przed wdrożeniem: Zaktualizuj wszystkie URL-e, godziny otwarcia, współrzędne i dane kontaktowe o rzeczywiste wartości. Przetestuj w walidatorze Google przed publikacją.

Jak wdrożyć schema markup

1. Przez wtyczkę Yoast SEO Local (najłatwiejszy sposób)

Jeśli korzystasz z Yoast SEO, zainstaluj dodatek Yoast Local SEO. Wtyczka automatycznie generuje schema LocalBusiness na podstawie wypełnionych danych.

  • Przejdź do SEO → Local SEO w panelu WordPress
  • Wypełnij dane firmy: nazwę, adres, telefon, godziny otwarcia
  • Wybierz typ biznesu: Restaurant
  • Dodaj współrzędne GPS i strefę obsługi

2. Przez wtyczkę Schema Pro (większa kontrola)

Wtyczka Schema Pro pozwala na mapowanie pól schema do pól WordPress i tworzenie własnych schematów bez kodu.

  • Zainstaluj Schema Pro z repozytorium WordPress
  • Utwórz nowy schemat typu Local Business → Restaurant
  • Mapuj pola (nazwa, adres, telefon) na pola strony
  • Ustaw warunki wyświetlania (strona główna, /pokoje/, /przyjecia/)

3. Ręcznie w functions.php (pełna kontrola)

Dodaj poniższy kod do pliku functions.php motywu potomnego (child theme) lub użyj wtyczki Code Snippets.

php
/**
 * Schema JSON-LD dla Jakubowa Izba
 * Dodaj do functions.php motywu potomnego lub przez Code Snippets
 */
add_action('wp_head', function() {

    // Schema Restaurant - tylko na stronie glownej
    if (is_front_page()) {
        $restaurant_schema = [
            '@context' => 'https://schema.org',
            '@type'    => 'Restaurant',
            '@id'      => 'https://jakubowaizba.pl/#restaurant',
            'name'     => 'Jakubowa Izba',
            'url'      => 'https://jakubowaizba.pl/',
            // ... uzupelnij pozostale pola z snippetu #01
        ];

        echo '<script type="application/ld+json">';
        echo json_encode(
            $restaurant_schema,
            JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT
        );
        echo '</script>';
    }

    // Schema LodgingBusiness - tylko na stronie /pokoje/
    if (is_page('pokoje')) {
        $lodging_schema = [
            '@context' => 'https://schema.org',
            '@type'    => 'LodgingBusiness',
            '@id'      => 'https://jakubowaizba.pl/#lodging',
            // ... uzupelnij pozostale pola z snippetu #03
        ];

        echo '<script type="application/ld+json">';
        echo json_encode(
            $lodging_schema,
            JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT
        );
        echo '</script>';
    }

});

4. Przez Oxygen Builder (jeśli używany)

Oxygen Builder pozwala na dodanie kodu bezpośrednio do sekcji <head> każdego szablonu.

  • Otwórz szablon strony w Oxygen Builder
  • Dodaj element Code Block
  • Wklej snippet JSON-LD owiniety w tag <script type="application/ld+json">
  • Ustaw Code Block na renderowanie w <head>
  • Zapisz i opublikuj szablon

Walidacja schema markup

Jak przetestować schema markup:
  1. Skopiuj wybrany snippet JSON-LD (bez tagów <script>)
  2. Otwórz Google Rich Results Test i wklej kod w zakładce „Kod”
  3. Kliknij „Testuj kod” i sprawdź, czy nie ma błędów
  4. Po wdrożeniu na stronę, przetestuj ponownie wpisując URL strony
  5. W Google Search Console przejdź do sekcji „Ulepszenia” → sprawdź raporty danych strukturalnych
  6. Monitoruj ewentualne błędy i ostrzeżenia przez kilka tygodni po wdrożeniu
Skopiowano do schowka