01Most 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.
02Content 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.
What you prepare for that second conversation is read by a crawler — Google's and everyone else's — which records it in an index, and that index is how people looking for what you hold arrive at you. The crawler makes one pass. If it comes away without an answer it does not return to check. That single pass is the chance to say what you hold, how it connects, and how far it can be trusted.
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.
03How we designed ours: ontology-driven 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 kind of material we build with clients. The difference is only that here the vocabulary was set by search engines rather than by a web team or a curatorial one. 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. Follow the structure schema.org already gives you and every search engine can find you, without buying expensive keywords.
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. The practice area we run is declared as a service pointing back to the same provider, and every page states which of those things it is about.
The Thai and English versions of a page declare each other as one work written in two languages, not two pages that happen to resemble each other. Across the site that comes to three hundred and eighty declarations in thirty-nine pages.
And if none of it were declared? A search engine would still cope. It would guess whether things that share a name are the same thing, and it guesses well. So the difference is not between understanding and not understanding. It is between knowing and guessing. Declared, a machine knows: checkable, repeatable, the same answer every time. Undeclared, it guesses: right sometimes, wrong sometimes, and liable to change when the formula does.
Guessing fails at the hardest points, and this site has three of them. The first is the organisation's own name, written three ways: Neo Gens, Neo Gens Co., Ltd., and the Thai legal name on the privacy page. Within one domain a machine will probably get it right; across languages nothing guarantees it.
The second is sharper. Ontology and knowledge graph are defined on the same page. Without separate identifiers a machine can only collapse the two into one thing or fail to tell them apart — both wrong. With separate identifiers they are two things that happen to share a page, which is the truth.
The third cannot be guessed at all. Modern Knowledge Management and การบริหารจัดการความรู้สมัยใหม่ are one concept written in two languages, and the two strings have nothing in common. Only a declaration can say so.
Put shortly: not declaring does not mean a machine gets it wrong. It means we leave it guessing, and the guess fails where it costs most — across languages, where one page defines several things, and where the same word is used in both a specific and a general sense.
Around that: an address for every page that says what the page is, twenty-four 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.
04Whether 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 · 2 non-critical |
Across the whole site, thirty-nine pages declare the organisation, 29 declare their position in the navigation and 5 are declared as articles. Those numbers are counted from the files at build time, not typed in by hand — if a page loses its graph, the build stops.
05What 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.
06What the site actually got out of it
What changed is not rank. It is what a machine knows about us without having to guess. Every page can say what it is about, where it sits in the site, and what it relates to. Search results show the page's path instead of a long address, and an AI assistant reading the page gets the same declarations a person sees, rather than prose it has to interpret.
The longer-lived advantage is that none of it expires. Keyword tactics have to be rebuilt every time the ranking formula moves. A truthful description of what an organisation is stays true, and we have never paid for a single keyword.
If you want to know where your own organisation stands, you can check it yourself. Google's Rich Results Test lives at search.google.com/test/rich-results — no account, nothing to install. Paste your home page address and run it. It takes about thirty seconds.
The line worth reading is not whether the test passed. It is the line that says what was detected. If nothing was detected, your site has not said a word to a search engine, however well people read it — the search engine does not know your site is there. That is the gap we are talking about.