← All posts
Behind the scenes

How search engines (and AI assistants) read our site

By Zuzana ·

Close-up of a 3D printer nozzle lit in blue

Last winter Google told people we were open on Mondays. We aren't — Monday is kiln day. Here's how we fixed it, and what we learned about how machines read websites.

When you look at our homepage, you see photos, a menu and a list of classes. A search engine sees a wall of text and has to guess which part is the phone number and which numbers are opening hours. Increasingly, AI assistants do the same when someone asks “is there a café with pottery classes in Kežmarok open on Sunday?”. The fix is to stop making them guess.

1. Structured data (schema.org JSON-LD)

This is a small block of labelled information hidden in the page's code. Visitors never see it; machines read it first. Ours says, in effect, “this is a café, here's the name, phone, town, opening hours and menu”. A shortened version:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "CafeOrCoffeeShop",
  "name": "Dielňa & Káva",
  "telephone": "+421 000 000 000",
  "address": { "@type": "PostalAddress",
               "addressLocality": "Kežmarok",
               "addressCountry": "SK" },
  "openingHoursSpecification": [{
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Tuesday","Wednesday","Thursday","Friday"],
    "opens": "08:00", "closes": "20:00"
  }],
  "hasMenu": "https://example.com/menu.html"
}
</script>

We do the same for other pages: each event has a date, time and price labelled as an Event, the FAQ is marked as questions and answers, the menu lists items and prices, and every blog post (including this one) says who wrote it and when.

2. sitemap.xml

A plain list of every page on the site and when it last changed. It's a map for crawlers, so a new event page gets noticed in days rather than weeks. Here's ours.

3. robots.txt

A tiny text file that tells crawlers where they may go, and where to find the sitemap. Ours currently says “keep out”, because this is a sample site. The launch version flips it to “welcome in” and points to the sitemap.

4. llms.txt

A newer idea: a short plain-text summary of who we are and which pages matter, written for AI assistants. Not every assistant reads it yet, but it costs nothing and it's handy for humans too. Here's ours.

Does it actually help?

It won't magically put you at the top of search results — nothing honest can promise that. What it does is remove guesswork. Since adding it, our hours show correctly, events appear with their dates, and nobody has turned up on a Monday in months.

On this site

Café details on the home page, events, menu, FAQ and every post are all marked up — plus sitemap.xml, robots.txt and llms.txt.