None of this is a ranking trick, and nobody can promise placement in a generated answer. What it does is remove the reasons a model skips you: no machine contract, no stable URL, no clear answer near the question, no way to act once it has decided you are relevant. The list below is what we run on this site, and you can check every item against the live files.
01
Publish the contract, not just the pitch
An OpenAPI schema is the difference between a model describing your product and a model calling it. Without one, an agent guesses your paths and fails quietly. Keep it generated from the running service so it cannot drift.
02
Write an llms.txt and keep it short
A plain-text brief at the root gives a model the summary you would give a new engineer: what the product does, the terms you use, the endpoints that matter, what you do not claim. Ours sits at /llms.txt with a longer companion at /llms-full.txt.
03
Answer inside the first forty words
Write the heading as the question a person would type, then answer it directly underneath before any context. Extractive systems lift the sentence next to the heading. If your answer arrives in paragraph four, it does not get quoted.
04
Mark up what the page already says
JSON-LD for Organization, SoftwareApplication, FAQPage and HowTo removes ambiguity about which text is the answer and which is commentary. Mark up content that exists on the page. Schema describing text a reader cannot see is a liability.
05
Give numbers, not adjectives
Ten requests per second, 50,000 leaves per batch, a 24 hour idempotency window. Specific figures survive summarisation because they are quotable. Descriptions like fast and scalable are dropped, and they are unverifiable anyway.
06
Use the well-known paths
Conventional locations are checked without being told. We publish agent.json, OAuth protected-resource metadata for MCP discovery, security.txt, and the ML-DSA-65 public key at a well-known path on the API host.
07
Ship a server, not only documentation
Documentation gets a model to describe you. An MCP server lets it do the work in front of the user, which is the point at which you stop being a search result and start being part of the workflow. Read access with clear annotations is enough to start.
08
Keep URLs still
Citations are cached and reused for months. A canonical that moves, a redirect chain, or a docs path that changes with every release turns an earned reference into a dead link. Version the content, not the address.
09
Set crawler policy on purpose
max-snippet:-1 and max-image-preview:large tell engines they may quote you properly. Decide separately, and explicitly, which AI crawlers you allow in robots.txt. Blocking everything and expecting citations is not a strategy.
10
Date the page and mean it
A visible last-updated date and a matching dateModified in structured data help a model decide whether your figure or a competitor's older one is current. Only move the date when the content actually changes.
11
Define your own vocabulary
If your product invents terms, define them somewhere stable and link to it. Ours is the glossary. A model that cannot resolve your term either omits it or invents a meaning, and the second is worse.
12
State the limits
Say what the product does not do. Models weight sources that bound their claims, and buyers reach the same conclusion. We say plainly that AffixIO is not a compliance certification, and that Light proofs are not SNARKs.