Most sites are written for one reader and read by two
Almost every website is commissioned the same way. Someone settles the structure, someone writes the copy, someone designs the pages. Then, near the end, somebody asks about SEO. A few titles are rewritten, a plugin is installed, a list of keywords is handed over, and the site goes live.
By then the structure has already been decided, and the structure was the part that mattered. What launches is a site that reads well and cannot be read: nothing in it states what the organisation is, which field it works in, how its pages relate to one another, or which of its words are being used in a specific sense. A person infers all of that in seconds. A machine cannot infer it at all.
The cause is order, not effort. The question arrived after the decisions it should have shaped.
Content speaks to people. SEO speaks to computers.
We think of a website as two conversations sharing one file. The content is the conversation with the people we want to reach — the argument, the tone, the examples, the things worth disagreeing with. SEO is the conversation with the computers standing between us and those people: who we are, what we work on, what we are connected to.
Take the marketing vocabulary out of the second one and what is left is a cataloguing problem. Something arrives that cannot ask a question, cannot read tone, and will not come back to check. It has one pass to work out what you hold, how it connects, and whether to trust it. That is the same problem a catalogue record solves for a reader who will never meet the curator. Same discipline, different reader.
Doing it properly is what lets the right people find you for a reason. An organisation that has described itself accurately to a machine gets matched to the people looking for exactly that. The alternative is buying attention without direction — paying to appear in front of people who do not want you, again and again, for as long as the budget lasts. That cost repeats every time. An accurate description of what you are does not.
How we designed ours: ontology-based SEO
Most SEO work starts from keywords: guess the phrases people type, then bend the pages toward them. It treats a search engine as a lock to be picked.
We started at the other end, by describing what actually exists — the things, and the relations between them. That is an ontology, and it is the same object we build with clients. The difference is only that here the vocabulary was set by search engines rather than by a curatorial team. That vocabulary is schema.org: a shared dictionary of types and relations that the major search engines agreed on, so that a statement written once is understood the same way by all of them.
In practice: the organisation has one identifier, declared once and referenced from every page. Each of the four terms this site uses in a specific sense has its own identifier and points at the page that defines it. Both practice areas are declared as services pointing back to the same provider. Every page states which of those things it is about. The Thai and English versions of a page are bound together as one work in two languages, not two pages that happen to resemble each other. Four hundred and sixty-five statements across forty-three pages.
Around that: an address for every page that says what the page is, twenty-six redirects so that every link ever shared still arrives, and twenty-eight typeface files and every stylesheet served from this domain, so that reading a page contacts nobody but us.
The reason to prefer this to keyword work is that it does not expire. Ranking formulas change every year, and tactics built for one are worth nothing under the next. A true description of what an organisation is does not go out of date when the formula changes — and it is the same form that AI assistants read, which is where a growing share of people now put their questions.
Whether a machine can actually read it, you can check yourself
None of the above is worth anything as a claim. Google publishes a free tool, the Rich Results Test, which takes any address, fetches the page the way its crawler would, and reports back exactly which structured items it found and whether each one is valid. It is the closest thing there is to an outside reading of what a site says about itself.
| Address tested | Item detected | Result |
|---|---|---|
| www.neogens.co | Organization | Valid · 0 errors · 0 warnings |
| www.neogens.co/th-mkm-for-coffee.html | Breadcrumbs | Valid · 0 errors · 0 warnings |
Across the whole site, forty-three pages declare the organisation, 33 declare their position in the navigation, 5 are declared as articles and 2 carry questions and answers. Those numbers are counted from the files at build time, not typed in by hand — if a page loses its graph, the build stops.
What passing buys, and what failing costs
Passing is not a ranking boost, and anyone who tells you otherwise is selling something. What it buys is narrower: the search engine stops inferring and starts quoting. Your organisation becomes one identified thing rather than a name that happens to appear in some text; your pages can be shown with their path, their author, their questions and answers; and the same declarations are what an AI assistant reads when someone asks it a question in your field.
Failing is worse than it looks, because of how quietly it happens. An item with an error is not shown with a red mark — it is dropped. The page still looks perfect to a person, still loads, still reads well, and simply is not considered for anything it declared. Nobody writes to tell you. A warning is the softer version: the item is kept but loses the features it did not qualify for.
The deeper cost is trust that spreads. A declaration a machine cannot confirm does not only lose its own page. When two pages name each other as translations and only one of them agrees, a search engine stops trusting that kind of statement across the whole domain. One unverifiable claim quietly discounts the true ones next to it — which is the same reason a catalogue with unreliable records is worth less than its accurate half.
So we treat the test as a condition of publishing rather than a badge to collect. Every page on this site is built by a script that refuses to write the file if the structure it declares does not match what the page actually shows a reader.