Prečo riešiť lokálne schémy a čo tým dosiahnete
Lokálne schémy LocalBusiness, Service a vlastnosť areaServed sú kľúčové prvky GEO – lokálnej a geografickej optimalizácie. Umožňujú strojom (vyhľadávače, LLM, mapové systémy, asistenčné služby) pochopiť, kto ste, čo ponúkate a kde to ponúkate. Správne navrhnutá dátová vrstva zvyšuje pravdepodobnosť zobrazenia rozšírených výsledkov (rich results), presnejšie smerovanie používateľov a citovateľnosť údajov v AI odpovediach.
Architektúra dát: vzťahy medzi LocalBusiness, Service a AreaServed
- LocalBusiness opisuje fyzickú entitu (prevádzku, pobočku) so silným väzbovým bodom na miesto: adresa, otváracie hodiny, telefón, geolokácia.
- Service opisuje nehmotnú ponuku (diagnostika, doručenie, montáž), ktorá môže ale nemusí byť viazaná na fyzickú prevádzku.
- areaServed (na LocalBusiness, Service alebo Offer) definuje geografický rozsah pokrytia – mesto, okres, štát, PSČ, polygón, prípadne jazykové/segmentové obmedzenia.
Odporúčaný prístup: modelujte LocalBusiness ako „koreň“ lokálnej entity a Service ako „poduzly“ ponuky. areaServed definujte na najnižšej úrovni, kde sa rozsah skutočne líši (často priamo na Service alebo Offer).
Kritické prvky LocalBusiness (minimálne pole)
- identita: name, legalName, sameAs (autoritatívne profily), url.
- kontakty a NAP: address (PostalAddress), telephone (E.164), email (ak relevantné).
- čas a dostupnosť: openingHoursSpecification s validFrom/validThrough pre sezónnosť.
- geografia: geo (GeoCoordinates), areaServed (ak sa líši od adresy), hasMap.
- kvalita a dôvera: image (aspoň 1200 px kratšia hrana), priceRange, aggregateRating (ak je overiteľné), review (transparentné).
- typovanie: špecifikujte subtyp (napr. AutoRepair, Bakery, MedicalClinic) pre presnejšie zosúladenie s vertikálmi.
Modelovanie Service: skladanie ponuky a prepojenie na dopyt
- jadro služby: name, description, serviceType, termsOfService (ak existuje), isRelatedTo/isSimilarTo (pre interné prelinkovanie).
- cenotvorba: cez offers → Offer/AggregateOffer s price, priceCurrency, availability, validFrom.
- dostupnosť v priestore: areaServed priamo na Service alebo Offer, prípadne serviceArea (ak využívate ServiceChannel).
- kanály plnenia: availableChannel (napr. ServiceChannel s serviceUrl, servicePhone, serviceLocation).
areaServed: granularita a formáty
Vlastnosť areaServed je polymorfná. Podporuje niekoľko typov – zvoľte ten, ktorý najlepšie vystihne reálne pokrytie:
- Text/ISO kód: „SK“, „Bratislavský kraj“, „811 01“.
- AdministrativeArea/City/PostalAddress: viazané na Place alebo PostalAddress s addressLocality, addressRegion.
- GeoShape: circle, box, polygon (napr. distribučná zóna). V náročných prípadoch kombinujte s hasPart/isPartOf.
Praktická taktika: pre mestské služby použite AdministrativeArea alebo City; pre doručovanie s pevným rádiusom použite GeoShape.circle; pre špecifické štvrte použite polygon s dokumentovaným zdrojom hraníc.
Najčastejšie modelové situácie a riešenia
- Jedna prevádzka = jedno LocalBusiness, viac služieb = viac Service, zdieľajú rovnaké areaServed.
- Viac pobočiek v jednom meste: každá pobočka má vlastný LocalBusiness (unikátne NAP/geo), služby môžu byť shared (rovnaký @id) alebo duplicated with context (ak sa líšia cenou/areou).
- Field-service bez pobočky (len výjazdy): použite LocalBusiness s address (administratívne sídlo), no kľúčovú geodostupnosť riešte cez Service.areaServed + GeoShape.
- Jazykové/legislatívne rozdiely: doplňte inLanguage na textových uzloch a udržujte verzie ponuky podľa applicableLegislation/audience.
Kontrolný zoznam kvality dát
- Nevynechajte NAP konzistenciu (Name–Address–Phone) medzi webom, mapami a schémou.
- Koordináty (WGS84) overte voči centrálnemu bodu prevádzky; vyhnite sa stredu ulice alebo budovy nesprávneho vchodu.
- Otváracie hodiny uveďte ako štruktúru (deň–čas), nie voľný text.
- areaServed držte čo najbližšie k vrstve, kde sa mení – nepublikujte ho globálne, ak to nie je pravda.
- Obrázky musia byť reprezentatívne, s pomerom strán vhodným pre náhľady (napr. 4:3 alebo 16:9).
Príklad: LocalBusiness pre servis bicyklov (jedna pobočka)
{ "@context":"https://schema.org", "@type":"BicycleStore", "@id":"https://example.sk/pobocka/stare-mesto#id", "name":"CYKLOFIX Staré Mesto", "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" } }
Príklad: Service s ponukou, cenou a areaServed (rádius)
{ "@context":"https://schema.org", "@type":"Service", "@id":"https://example.sk/sluzby/mobilny-servis#id", "name":"Mobilný servis bicyklov", "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" } }
Príklad: Viac pobočiek, jedna zdieľaná služba s rozdielnou 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/sezonne-uskladnenie#id", "name":"Sezónne uskladnenie bicykla", "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" } } ] } ] }
Polygónové zóny a doručovanie: GeoShape.polygon
Ak vaša služba pokrýva nepravidelnú oblasť (napr. doručovanie v rámci historického centra), použite GeoShape.polygon. Súradnice zapisujte v poradí „long lat“ alebo „lat long“ konzistentne s implementáciou – udržujte dokumentovaný formát v technickej poznámke.
{ "@context":"https://schema.org", "@type":"Service", "name":"Expresné doručenie v centre", "areaServed":{ "@type":"GeoShape", "polygon":"48.1469 17.1035 48.1462 17.1120 48.1415 17.1110 48.1421 17.1022 48.1469 17.1035" } }
Viacjazyčnosť a regionálne varianty
- Každú jazykovú mutáciu URL označte link rel=“alternate“ hreflang. V JSON-LD uvádzajte inLanguage tam, kde sa obsah mení.
- Obmedzenia ponuky na krajinu/jurisdikciu vyjadrite cez areaServed (krajina) a prípadne applicableLegislation (odkaz na predpis).
Prepojenie na entity a ekosystémové id
Kde je to možné, používajte stabilné identifikátory:
- @id pre každý uzol (LocalBusiness, Service, Offer) – ideálne kanonické URL s fragmentom
#id. - sameAs na autoritatívne profily (mapy, profesijné registre, odvetvové zoznamy).
- identifier pre interné/externé kódy (IČO, IČ DPH, prevádzkový kód).
Meranie, validácia a údržba
- Validácia schém: pravidelne overujte štruktúru (syntax) a logickú konzistenciu (otváracie hodiny, geo, dostupnosť).
- Monitor konzistencie NAP: porovnávajte web vs. mapy vs. citácie; sledujte „link rot“ profily v sameAs.
- Audit areaServed: aspoň kvartálne kontrolujte súlad s reálnymi zónami (zmeny PSČ, stavebné obmedzenia, zmeny doručovacích partnerov).
- Experimenty: A/B testujte presnosť dopyt → pobočka vs. dopyt → služba (interná navigácia a microcopy v produktových stránkach).
Antivzory a časté chyby
- Duplicitné LocalBusiness uzly pre tú istú pobočku (rozbíja signály autority; riešenie: konsolidácia a 301).
- Voľný text namiesto štruktúry (otváracie hodiny v texte, „celé mesto a okolie“ bez areaServed).
- Nepravdivé pokrytie (globálne areaServed = „SK“ pri reálnom pokrytí len v okrese; vedie k nespokojnosti používateľov a horšiemu mapovaniu).
- Bez @id – nemožné stabilne citovať; sťažuje zdieľanie schém medzi stránkami.
Proces zavedenia v organizácii
- Inventarizácia pobočiek a NAP údajov, zosúladenie s mapovými profilmi.
- Definícia služieb (Service katalog) s atribútmi a kanálmi plnenia.
- Geografický model: výber reprezentácie (City/AdministrativeArea/GeoShape) pre každú službu/ponuku.
- Implementácia JSON-LD s kanonickými @id a sameAs.
- Validácia a monitoring + plán údržby (zmeny cien, hodín, zón).
Rozšírené prepojenia: Place, Organization, OfferCatalog
- Place pre doplnenie kontextu (parkovanie, prístupnosť, vybavenie – amenityFeature).
- Organization ako materský uzol so vzťahom department/subOrganization k pobočkám.
- OfferCatalog pre navigovateľné stromy služieb; jednotlivé Offer položky môžu mať vlastné areaServed.
Mini-checklist pred nasadením
- Každý uzol má @id, url, a konzistentné NAP.
- LocalBusiness obsahuje address, geo, openingHoursSpecification, image.
- Service má serviceType, popis, offers a areaServed podľa reality.
- areaServed je špecifikované na úrovni, kde sa líši (Service/Offer), nie len globálne.
- sameAs obsahuje iba autoritatívne, aktuálne profily; broken odkazy sú odstránené.
Zhrnutie
Silná lokálna dátová vrstva stojí na správnom rozdelení rolí: LocalBusiness zakotví fyzickú prítomnosť, Service popíše reálnu ponuku a areaServed jasne ohraničí priestor, v ktorom vaša hodnota vzniká. S konzistentnými identifikátormi, presnými geodátami a pravidelným auditom vytvoríte model, ktorému rozumejú ľudia, mapy aj AI systémy – a ktorý sa dá spoľahlivo citovať a dlhodobo udržiavať.