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.
{
"@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"]
}
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.
{
"@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"
}
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.
{
"@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
}
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.
{
"@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.
{
"@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/"
}
]
}
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ż:
-
✓
Jeden tag
<script>zamiast wielu — czystszy kod - ✓ Crawlery Google lepiej rozumieją powiązania między encjami
- ✓ Łatwiejsze zarządzanie i utrzymanie w jednym miejscu
-
✓
Możliwość wzajemnych referencji przez
@id
{
"@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"
}
}
]
}
// --- 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.
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.
/**
* 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
- Skopiuj wybrany snippet JSON-LD (bez tagów
<script>) - Otwórz Google Rich Results Test i wklej kod w zakładce „Kod”
- Kliknij „Testuj kod” i sprawdź, czy nie ma błędów
- Po wdrożeniu na stronę, przetestuj ponownie wpisując URL strony
- W Google Search Console przejdź do sekcji „Ulepszenia” → sprawdź raporty danych strukturalnych
- Monitoruj ewentualne błędy i ostrzeżenia przez kilka tygodni po wdrożeniu