A family new to town opens their phone on a Saturday night and asks an AI assistant, "What time is Sunday Mass near me?" The assistant answers with confidence. The time it gives is wrong. It is last year's schedule, pulled from a third-party listing nobody at the parish has touched in two years.
So the family shows up forty minutes early, waits in a cold parking lot, then leaves. They try the parish down the road next week instead.
The parish's own website had the correct times the whole time. The assistant just never read them. I have run audits on a lot of small-organization websites, churches included, and this exact failure shows up again and again. The good news is that every cause is fixable, and every fix is free. No new software, no monthly fee, no developer on retainer.
What the Assistant Actually Sees
When someone asks ChatGPT, Perplexity, Google's AI answers, or a voice assistant about your parish, a bot goes out to fetch your page. These bots have names: GPTBot for ChatGPT, ClaudeBot for Claude, PerplexityBot for Perplexity, Google-Extended for Google's AI features.
If those bots can read your page and find a clear schedule, the assistant repeats it. If they cannot, the assistant does not give up. It falls back on whatever it can find elsewhere, which is usually an old aggregator listing or a stale directory. That is where the wrong Mass time comes from.
So the question is not really "why is my church invisible." It is "why can the assistant not read my actual website." From the audits, there are three usual reasons, and most parishes have all three at once.
Reason One: A Bot Wall Blocks the Assistant at the Door
A lot of small sites sit behind a security layer, often Cloudflare, with a setting called a managed challenge turned on. For a human in a browser, you barely notice it. You get a quick "Just a moment" screen and then the real page loads.
A bot does not pass that test. GPTBot, ClaudeBot, and PerplexityBot hit the "Just a moment" page and get back a nearly empty holding page with no schedule, no address, nothing useful. As far as the assistant is concerned, your site said nothing. So it goes looking elsewhere, and the elsewhere is wrong.
This one is sneaky because the site owner sees their site loading fine and assumes everyone else does too. They do not. The fix is to allow the verified AI and search bots through the wall instead of challenging them. You are not opening your site to spam. You are letting the same assistants your parishioners already use actually read your real pages. If your site is on Cloudflare, this is a setting change, and I wrote out the steps in the Cloudflare AI crawler allow-list guide.
Reason Two: The Schedule Is Not Machine Readable
Say the bot does get through. It lands on your Mass times page. To a person, the times are obvious. To a machine, a pretty graphic of a schedule or a paragraph buried halfway down a page can be hard to pin down with confidence.
Two things help here, and both are free.
First, put the schedule in plain readable text on the page, not only inside an image or a PDF. A machine reads text reliably. It cannot always read words baked into a picture.
Second, add structured data. This is a small block of code in the page that spells things out in a format machines are built to read. For a parish, that means CatholicChurch markup that says who you are and where you are, and Event markup for each Mass and confession time. There is also FAQPage markup, which lets you answer the plain questions people actually ask: "What time is Sunday Mass?" "Is there a Saturday vigil?" "When is confession?"
You do not have to hand-write any of this. The patterns are well documented, and the same idea works for any local organization with hours and a location, which I covered in the LocalBusiness schema location triplet post. The principle is simple: state the facts in text a human reads, then restate the same facts in a format a machine reads.
Reason Three: There Is No llms.txt
Even with a clean page and good markup, there is one more file worth adding. It is called llms.txt, and it lives at the root of your site, the same way robots.txt does.
Think of it as a one-page briefing card for AI assistants. In plain text, it says what you are, where you are, and your schedule. No design, no images, just the facts laid out simply. When an assistant wants a quick, trustworthy summary of your parish, this is the file it can lean on.
For a parish, a good llms.txt is short. The name of the parish, the diocese, the street address, the phone number, the office hours, and then the Mass and confession schedule written out in plain text. That is it. I wrote a full walkthrough of the format in the llms.txt structure and spec post, and there is a free generator linked from it so you do not start from a blank page.
Here is the gist of what a parish file looks like:
# St. Example Catholic Church
> A Catholic parish in Anytown, serving the local community since 1925.
## About
St. Example Catholic Church is a parish of the Diocese of Anytown.
Address: 123 Main Street, Anytown, ST 00000
Phone: (000) 000-0000
Office hours: Monday to Friday, 9am to 4pm
## Mass Schedule
- Saturday Vigil: 5:00pm
- Sunday: 8:00am, 10:00am, 12:00pm
- Weekdays (Mon to Fri): 8:00am
## Confession
- Saturday: 3:30pm to 4:30pm, or by appointment
## Contact
- Website: https://stexample.org
- Email: office@stexample.org
A new visitor, human or machine, can understand your parish in fifteen seconds from that. So can an assistant answering a stranger's question at 9pm on a Saturday.
The One Off-Site Fix: Claim the Google Profile and Map Pin
Everything above is on your own website. There is one piece that lives off your site and matters just as much: your Google Business Profile and your Google Maps pin.
A lot of parishes have a Google listing that nobody at the parish ever claimed. It was created automatically, the hours are guessed, and the pin might be dropped on the wrong corner of the block. Assistants and map apps read that listing directly, so a wrong listing pushes wrong answers everywhere.
Claiming it is free. Go to Google Business Profile, search for your parish, and follow the steps to verify you represent it. Once you control it, fix the hours, fix the address, drop the pin on the actual front door, and add the Mass schedule in the description or posts. This single step often corrects more wrong answers than anything else, because so many tools pull straight from it.
A Short Checklist for Parish Staff
You do not need to be technical to get most of this started. Here is the order I would do it in:
- Claim and correct your Google Business Profile and Maps pin. Free, and it fixes the most visible errors fast.
- Make sure your Mass and confession schedule is on your website as plain readable text, not only an image or a PDF.
- If your site is behind Cloudflare with a managed challenge on, allow the verified AI and search bots through.
- Add CatholicChurch, Event, and FAQPage structured data to your schedule page.
- Publish a one-page
llms.txtwith the schedule in plain text.
Items one and two you can likely do yourself this week. Items three through five may need whoever maintains the website, but they are small changes, not a rebuild. If you want the wider picture of how all these pieces fit together for any small site, the new website discoverability stack lays out the full sequence.
Why This Matters Beyond Your Parish
Here is the part worth sitting with. None of this is unique to churches. Run the same audit on the corner diner, the family dentist, the small charity, the local hardware store, and you find the exact same gaps. A bot wall nobody knew was on. A schedule trapped in an image. No llms.txt. An unclaimed Google listing with the wrong hours.
The assistants people now reach for first are answering questions about these places every day, and they are answering wrong, not out of malice but because the right answer was locked away where a machine could not read it.
For a parish, the cost of being invisible is a family that drove to the wrong Mass and gave up. For a business, it is a customer who called a competitor instead. The fixes are the same, and they are free. The only thing standing between your real information and the people asking for it is a handful of small changes that most organizations have simply never made.
That is the whole opportunity. Do the five things above and you are ahead of nearly everyone else in your town.
Fact-check notes and sources
- AI crawler user-agent names (GPTBot, ClaudeBot, PerplexityBot, Google-Extended) are the published bot identifiers from each company's crawler documentation. Allow or disallow decisions are made per user-agent in
robots.txt. - The "Just a moment" interstitial is the standard text shown by Cloudflare's managed challenge or browser-verification step. A non-browser client that does not complete the challenge receives the holding page rather than the destination page.
- CatholicChurch, Event, and FAQPage are published schema.org types. Structured data using these types is read by major search and AI systems; it does not guarantee inclusion, but it makes the underlying facts machine readable.
llms.txtis a community-proposed plain-text file served from the site root, modeled on the long-standingrobots.txtconvention, intended to give language models a concise description of a site.- Google Business Profile claiming and editing is a free service offered directly by Google to organizations that verify they represent the listed entity. Map pin placement and hours are editable once the profile is claimed.
- No specific parish, business, or audit target is named in this post. Examples are generic placeholders.
Related reading
- Generative Engine Optimization: why traditional SEO is no longer enough — how AI answer engines decide what to cite, and the structural fixes that get you read.
- The llms.txt structure and spec — the full format for the one-page AI briefing file, with a free generator.
- The location signal triplet for local organizations — geo meta, LocalBusiness schema, and locality fields that map apps and voice assistants read.
- The .well-known directory guide — where machine-readable files like
llms.txtandsecurity.txtlive, and why most sites have none of them. - Speakable schema for AI citations — marking the most quotable lines on a page so voice assistants can read them aloud.
This post is informational, not legal or SEO-consulting advice. Mentions of third-party products and services are nominative fair use. No affiliation is implied.