Proč řešit lokální schémata a čeho tím dosáhnete
Lokální schémata LocalBusiness, Service a vlastnost areaServed představují klíčové prvky GEO – lokální a geografické optimalizace. Umožňují strojům (vyhledávače, LLM, mapové systémy, asistenční služby) pochopit, kdo jste, co nabízíte a kde to nabízíte. Správně navržená datová vrstva zvyšuje pravděpodobnost zobrazení rozšířených výsledků (rich results), přesnější směrování uživatelů a citovatelnost údajů v AI odpovědích.
Architektura dat: vztahy mezi LocalBusiness, Service a AreaServed
- LocalBusiness popisuje fyzickou entitu (provoz, pobočku) se silným vazebním bodem na místo: adresa, otevírací doba, telefon, geolokace.
- Service popisuje nehmotnou nabídku (diagnostika, doručení, montáž), která může, ale nemusí být vázána na fyzický provoz.
- areaServed (na LocalBusiness, Service nebo Offer) definuje geografický rozsah pokrytí – město, okres, stát, PSČ, polygon, případně jazyková či segmentová omezení.
Doporučený přístup: modelujte LocalBusiness jako „kořen“ lokální entity a Service jako „poduzly“ nabídky. areaServed definujte na nejnižší úrovni, kde se rozsah skutečně liší (často přímo na Service nebo Offer).
Kritické prvky LocalBusiness (minimální pole)
- identita: name, legalName, sameAs (autoritatívní profily), url.
- kontakty a NAP: address (PostalAddress), telephone (formát E.164), email (pokud relevantní).
- čas a dostupnost: openingHoursSpecification s validFrom/validThrough pro sezónnost.
- geografie: geo (GeoCoordinates), areaServed (pokud se liší od adresy), hasMap.
- kvalita a důvěra: image (alespoň 1200 px kratší hrana), priceRange, aggregateRating (pokud je ověřitelné), review (transparentní).
- typizace: specifikujte subtype (např. AutoRepair, Bakery, MedicalClinic) pro přesnější sladění s vertikály.
Modelování Service: skládání nabídky a propojení na poptávku
- jádro služby: name, description, serviceType, termsOfService (pokud existuje), isRelatedTo/isSimilarTo (pro interní prolinkování).
- cenotvorba: přes offers → Offer/AggregateOffer s price, priceCurrency, availability, validFrom.
- dostupnost v prostoru: areaServed přímo na Service nebo Offer, případně serviceArea (pokud využíváte ServiceChannel).
- kanály plnění: availableChannel (např. ServiceChannel s serviceUrl, servicePhone, serviceLocation).
areaServed: granularita a formáty
Vlastnost areaServed je polymorfní. Podporuje několik typů – vyberte ten, který nejlépe vystihne reálné pokrytí:
- Text/ISO kód: „SK“, „Bratislavský kraj“, „811 01“.
- AdministrativeArea/City/PostalAddress: vázané na Place nebo PostalAddress s addressLocality, addressRegion.
- GeoShape: circle, box, polygon (např. distribuční zóna). V náročných případech kombinujte s hasPart/isPartOf.
Praktická taktika: pro městské služby použijte AdministrativeArea nebo City; pro doručování s pevným rádiusem použijte GeoShape.circle; pro specifické čtvrti použijte polygon s dokumentovaným zdrojem hranic.
Nejčastější modelové situace a řešení
- Jedna provozovna = jedno LocalBusiness, více služeb = více Service, sdílejí stejný areaServed.
- Více poboček ve městě: každá pobočka má vlastní LocalBusiness (unikátní NAP/geo), služby mohou být shared (stejný @id) nebo duplicated with context (pokud se liší cenou nebo oblastí).
- Field-service bez pobočky (jen výjezdy): použijte LocalBusiness s address (administrativní sídlo), klíčovou geodostupnost řešte přes Service.areaServed + GeoShape.
- Jazykové/legislativní rozdíly: doplňte inLanguage na textových uzlech a udržujte verze nabídky podle applicableLegislation/audience.
Kontrolní seznam kvality dat
- Nevynechávejte NAP konzistenci (Name–Address–Phone) mezi webem, mapami a schématem.
- Koordináty (WGS84) ověřte vůči centrálnímu bodu provozovny; vyhněte se středu ulice nebo budovy nesprávného vchodu.
- Otevírací doby uveďte jako strukturu (den–čas), nikoli volný text.
- areaServed držte co nejblíže vrstvě, kde se mění – nepublikujte ho globálně, pokud to není pravda.
- Obrázky musí být reprezentativní, s poměrem stran vhodným pro náhledy (např. 4:3 nebo 16:9).
Příklad: LocalBusiness pro servis kol (jedna pobočka)
{ "@context":"https://schema.org", "@type":"BicycleStore", "@id":"https://example.sk/pobocka/stare-mesto#id", "name":"CYKLOFIX Staré Město", "url":"https://example.sk/pobocka/stare-mesto", "image":["https://example.sk/img/fasada.jpg"], "telephone":"+421212345678", "priceRange":"€€", "address":{ "@type":"PostalAddress", "streetAddress":"Suché mýto 1", "addressLocality":"Bratislava", "postalCode":"811 03", "addressRegion":"Bratislavský kraj", "addressCountry":"SK" }, "geo":{ "@type":"GeoCoordinates", "latitude":48.1486, "longitude":17.1077 }, "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://g.page/r/CYKLOFIX","https://www.facebook.com/cyklofix"], "areaServed":{ "@type":"City", "name":"Bratislava" } }
Příklad: Service s nabídkou, cenou a areaServed (radius)
{ "@context":"https://schema.org", "@type":"Service", "@id":"https://example.sk/sluzby/mobilny-servis#id", "name":"Mobilní servis kol", "serviceType":"On-site repair", "provider":{ "@id":"https://example.sk/pobocka/stare-mesto#id" }, "areaServed":{ "@type":"GeoShape", "circle":"48.1486 17.1077 10km" }, "availableChannel":{ "@type":"ServiceChannel", "servicePhone":" +421212345678", "serviceUrl":"https://example.sk/objednat" }, "offers":{ "@type":"Offer", "price":39.00, "priceCurrency":"EUR", "availability":"https://schema.org/InStock", "validFrom":"2025-01-01" } }
Příklad: Více poboček, jedna sdílená služba s rozdílným areaServed
{ "@context":"https://schema.org", "@graph":[ { "@type":"LocalBusiness", "@id":"https://example.sk/pobocka/ruzinov#id", "name":"CYKLOFIX Ružinov", "address":{ "@type":"PostalAddress", "streetAddress":"Tomášikova 10", "addressLocality":"Bratislava", "postalCode":"821 01", "addressRegion":"Bratislavský kraj", "addressCountry":"SK" } }, { "@type":"LocalBusiness", "@id":"https://example.sk/pobocka/petrzalka#id", "name":"CYKLOFIX Petržalka", "address":{ "@type":"PostalAddress", "streetAddress":"Jiráskova 2", "addressLocality":"Bratislava", "postalCode":"851 01", "addressRegion":"Bratislavský kraj", "addressCountry":"SK" } }, { "@type":"Service", "@id":"https://example.sk/sluzby/sezonni-uskladneni#id", "name":"Sezónní uskladnění kola", "serviceType":"Storage", "provider":{ "@id":"https://example.sk#org" }, "offers":[ { "@type":"Offer", "price":25, "priceCurrency":"EUR", "areaServed":{ "@type":"City", "name":"Bratislava" } }, { "@type":"Offer", "price":30, "priceCurrency":"EUR", "areaServed":{ "@type":"AdministrativeArea", "name":"Bratislavský kraj" } } ] } ] }
Polygonové zóny a doručování: GeoShape.polygon
Pokud vaše služba pokrývá nepravidelnou oblast (např. doručení v rámci historického centra), použijte GeoShape.polygon. Souřadnice zapisujte v pořadí „long lat“ nebo „lat long“ konzistentně s implementací – udržujte dokumentovaný formát v technické poznámce.
{ "@context":"https://schema.org", "@type":"Service", "name":"Expresní doručení v centru", "areaServed":{ "@type":"GeoShape", "polygon":"48.1469 17.1035 48.1462 17.1120 48.1415 17.1110 48.1421 17.1022 48.1469 17.1035" } }
Vícejazyčnost a regionální varianty
- Každou jazykovou mutaci URL označte link rel=“alternate“ hreflang. V JSON-LD uvádějte inLanguage tam, kde se obsah mění.
- Omezení nabídky na zemi/jurisdikci vyjádřete přes areaServed (země) a případně applicableLegislation (odkaz na předpis).
Propojení na entity a ekosystémové ID
Kde je to možné, používejte stabilní identifikátory:
- @id pro každý uzel (LocalBusiness, Service, Offer) – ideálně kanonická URL s fragmentem
#id. - sameAs na autoritatívní profily (mapy, profesní rejstříky, odvětvové seznamy).
- identifier pro interní/externí kódy (IČO, DIČ, provozní kód).
Měření, validace a údržba
- Validace schémat: pravidelně ověřujte strukturu (syntaxi) a logickou konzistenci (otevírací doby, geo, dostupnost).
- Monitor konzistence NAP: porovnávejte web vs. mapy vs. citace; sledujte „link rot“ profilů v sameAs.
- Audit areaServed: alespoň čtvrtletně kontrolujte soulad s reálnými zónami (změny PSČ, stavební omezení, změny doručovacích partnerů).
- Experimenty: A/B testujte přesnost poptávka → pobočka vs. poptávka → služba (interní navigace a microcopy na produktových stránkách).
Antivzory a časté chyby
- Duplicitní LocalBusiness uzly pro tutéž pobočku (rozbíjí signály autority; řešení: konsolidace a 301 přesměrování).
- Volný text místo struktury (otevírací doby v textu, „celé město a okolí“ bez areaServed).
- Nepravdivé pokrytí (globální areaServed = „SK“ při reálném pokrytí jen v okrese; vede k nespokojenosti uživatelů a horšímu mapování).
- Bez @id – nemožné stabilně citovat; ztěžuje sdílení schémat mezi stránkami.
Proces zavedení v organizaci
- Inventarizace poboček a NAP údajů, sladění s mapovými profily.
- Definice služeb (katalog Service) s atributy a kanály plnění.
- Geografický model: výběr reprezentace (City/AdministrativeArea/GeoShape) pro každou službu/nabídku.
- Implementace JSON-LD s kanonickými @id a sameAs.
- Validace a monitoring + plán údržby (změny cen, otevíracích dob, zón).


























