Why your website does not show up in ChatGPT
What AI answer systems need in order to cite a page, and what I have built into this website to make that happen.
Published on Updated on 8 minutes read
Why does my website not appear in ChatGPT?
Usually for one of three reasons: the crawler is not allowed in, it finds nothing worth citing, or it does not understand the page without JavaScript. All three are technical in nature and fixable within a few hours, which makes the whole thing pleasant, because classic visibility in search engines takes considerably longer.
The background is a shift that can be put in numbers: AI overviews now appear on roughly 47 to 64 percent of all search queries, and where they appear, the click rate on the first organic result drops by up to 58 percent. Position one alone is therefore no longer a goal but only one of several surfaces.
Which crawlers do you have to allow?
Five, and they are not automatically covered by a blanket permission in robots.txt: OAI-SearchBot for OpenAI’s search, PerplexityBot, ClaudeBot, GPTBot and Google-Extended. Many security settings and some hosting packages block them by default, partly through bot management at server level that is not visible in robots.txt at all.
In my robots.txt each of these five names appears explicitly with its own permission. With GPTBot and Google-Extended that is a genuine trade off, because both also govern use as training material. For a new provider without name recognition, visibility outweighs the rest; anyone running a protected body of knowledge will decide differently. What matters is that it is a decision and not the accidental result of a hosting default.
Why is static HTML needed at all?
Because AI crawlers as a rule do not execute JavaScript. A page whose content is only assembled in the browser reaches these systems as a largely empty shell. The classic Google bot now renders JavaScript; the answer systems do so only to a limited extent or not at all.
That is why this website delivers every page as finished HTML. That is not ideology but a requirement: what is not in the source cannot be cited. You can check this on your own site in ten seconds: view the source and search for a paragraph you can see in the browser. If the search does not find it, the answer systems do not see it either.
What is an llms.txt and does it help?
A short overview file in the root directory that tells a language model in plain text what the site is about. It is not an official standard and is not guaranteed to be read: the effort, though, is half an hour, and the benefit is facts assigned correctly.
My llms.txt names the company, the location, the GISA number (Austrian trade register), the seven services with a starting price and the five industry pages, each with the path to the detailed page. When a model reads this file, it has the prices without a detour through a table in the page layout. Treat it as a supplement, not as a replacement for clean page content.
Which structured data really counts?
The kind that makes an entity unambiguous: the company, the person behind it, the individual service with its price. In 2026, Schema.org as JSON-LD is no longer just rich snippet cosmetics but one of the foundations for an answer system selecting and naming a source at all.
Six types run on this website: ProfessionalService for the company with address, phone number and GISA number, Service with Offer on every service page, Person for the author, FAQPage on the question blocks, BreadcrumbList on every subpage and BlogPosting on every article. What matters is the linkage: the article points to the same Person entity as the about page, and that points to the same company entity as the home page. Three isolated schema blocks add up to no picture, three linked ones do.
What is the direct answer rule?
The first sentence after a heading answers the heading literally and in full. That lets an answer system take the paragraph as a self contained answer without understanding the rest of the article. You are reading the rule in application right now: every H2 in this text is a question, and underneath comes the answer first, then the reasoning.
With me that is not an intention but a test. The editorial test for this blog checks for every article whether there is a complete answer sentence under every H2, whether at least one of my own figures is recorded in the frontmatter and whether at least two sources with a valid address are given. If one of these points fails, the test run fails and the article does not go live. That sounds strict and it is: that is exactly why it works.
Why is writing many articles not enough?
Because completeness on one topic has a stronger effect than volume across many topics. Analyses of citation frequency show that content with high topical coverage is drawn on as a source considerably more often. Five deep articles on one field beat twenty shallow ones on twenty fields.
There is also the opposite direction: Google’s core update in March 2026 hit mass produced pages without value of their own, with traffic losses of 50 to 80 percent within two weeks. The benchmark is not the production method but the result. What that means for generated text is covered in A website from a developer, not just from ChatGPT.
How do you measure whether it works?
By asking the answer systems yourself and writing down the results. Put ten questions to them where your business would be a good answer, for instance “Who builds accessible booking flows in Carinthia?”, and note who gets named. Repeat that monthly with the same questions. It is inelegant and currently the most reliable measurement available.
A look into the server logs helps as well: whether OAI-SearchBot, PerplexityBot, GPTBot and ClaudeBot actually fetch your pages is there in black and white. A crawler that never comes by cannot cite anything, and that is a different problem from one with the content.
What do you do first?
The technical points, because they are done in half a day: allow the crawlers, check that the content is in the source without JavaScript, add structured data for the company and the services, create an llms.txt. After that comes the work on content, and that takes months.
If you want to know where your page stands technically, the website check tests, among other things, whether structured data is present, whether a canonical address is set and whether the title and description are usable. For the implementation including schema and direct answer structure, the websites page is the right place to start.
Own figures in this article
- Own implementation: robots.txt names five AI crawlers explicitly, llms.txt lists seven services with a starting price and five industry pages
- Six schema types in use: ProfessionalService, Service, Person, FAQPage, BreadcrumbList, BlogPosting
- The direct answer rule is an automated test here: every article has to open under each H2 with a complete answer sentence, otherwise the test run fails
Sources
Read on
- A website from a developer, not just from ChatGPT
How to recognize generated websites, what Google actually penalized in March 2026, and where AI genuinely helps while building.
- Running an AI chatbot in line with the GDPR
Which data a website assistant really processes, where it sits and what belongs in the privacy policy, based on the architecture I build for clients.