From keywords to concepts: semantic SEO and entity based optimisation
TL;DR
Difficulty: Intermediate
- Google has matched things, not strings, since 2012. The Knowledge Graph lets it tell a monument from a musician, and your roastery from a kettle.
- Semantic SEO means making your business and its products unmistakable: one name, consistent facts, one good page per thing, linked the way the things connect.
- Structured data describes, it does not lift. Google says markup can make a page eligible for rich results and help it understand the page, and that it won't make a site rank better.
- Keyword density is a number to avoid, not to aim at. Google's language systems match meaning, and repetition counts as stuffing.
- AI search needs no special schema. Google says so in as many words.
Search engines stopped matching letters in 2012 and started trying to recognise the things behind them. In this article I explain what an entity is, what Google's language systems actually do, and where structured data helps and where Google says it does not, with an invented Cork roastery taken from five names for one business to a single, unmistakable identity.
Search stopped matching strings in 2012 and started recognising things
On 16 May 2012 Google launched the Knowledge Graph. Amit Singhal, then Google's senior vice president of engineering, opened with a query: [taj mahal]. "For more than four decades, search has essentially been about matching keywords to queries," he wrote. To a search engine, those were simply two words. To a person they might mean a monument, a musician, a casino in Atlantic City or the nearest Indian restaurant. The Knowledge Graph was Google's answer: a model of real world entities and how they relate to one another, which he summed up in three words, "things, not strings".1
At launch it held more than 500 million objects and more than 3.5 billion facts about them and their relationships, drawn from public sources such as Freebase, Wikipedia and the CIA World Factbook and extended from there.1
Today Google describes the Knowledge Graph as "our database of billions of facts about people, places, and things". The facts come from a variety of sources, including licensed data and corrections from people who have claimed their knowledge panel. Knowledge panels, the boxes of facts beside the results, are created automatically when there is enough information on the open web.2
That is the idea behind what the industry calls semantic SEO. The rest of this article is what it changes for your pages, and what it does not.
Worked example: two words, four things
Copper Kettle Coffee is an invented roastery in Cork, at copperkettlecoffee.example, run by Róisín. Nobody real, every number made up. She roasts in a unit in Ballincollig, sells beans over the counter and sends them by An Post to every county in Ireland.
Take the string "copper kettle cork" and count what it could mean.
- A copper kettle, the object, which someone in Cork wants to buy.
- A café or tea room that happens to be called Copper Kettle too.
- A vintage shop selling copper kettles.
- Róisín's roastery.
A search engine matching letters sees two words and a city. A search engine matching things can only pick Róisín's roastery if it already knows the roastery exists, is in Cork, sells coffee and not kettles, and lives at copperkettlecoffee.example. Róisín can make every one of those facts plain. None of them is a keyword.
An entity is a thing with facts and connections, and semantic SEO is making the thing unmistakable
An entity is simply a thing that can be told apart from other things: a business, a person, a place, a product, a coffee growing region. It has attributes, which are facts about it (Copper Kettle Coffee was founded in 2019, opens at 8am). And it has relationships, which are facts that connect it to other entities (Copper Kettle Coffee is located in Cork, sells a coffee from Yirgacheffe). Written down, every such fact is a small sentence with three parts: a subject, a relationship and an object.
Semantic SEO, as I use the term, means writing and marking up pages so that it is obvious which things they are about and how those things connect. Entity based optimisation is the same idea applied to your own business: making sure that the business, its products and its people are each described consistently enough that a machine can recognise them as one thing wherever it meets them.
One honest caveat. Both terms are industry vocabulary, not Google's. Google's guide to its ranking systems does not mention entities, the Knowledge Graph or structured data at all.3 Anyone who sells "entity optimisation" as a ranking factor is selling a word Google does not use.
Worked example: Róisín's entity sheet
Before touching a single page, Róisín writes down the facts about her business as subject, relationship, object. It takes her half an hour.
| Subject | Relationship | Object |
|---|---|---|
| Copper Kettle Coffee | is a | coffee roastery and shop |
| Copper Kettle Coffee | is located at | Unit 4, Ballincollig, Co. Cork |
| Copper Kettle Coffee | has website | copperkettlecoffee.example |
| Copper Kettle Coffee | was founded by | Róisín |
| Copper Kettle Coffee | sells | Yirgacheffe washed, a single origin coffee |
| Yirgacheffe washed | comes from | Yirgacheffe, Ethiopia |
| Yirgacheffe washed | is processed by | the washed method |
| Copper Kettle Coffee | delivers to | every county in Ireland |
Eight rows, each a fact a customer might need and a search engine might use to tell her roastery from any café of the same name. The sheet is the checklist for everything that follows: a fact that is not on the website, in the markup and on her other profiles, in the same words, is not doing its job.
Google's language systems read meaning, and there is no dial for each of them
Recognising things is one half. Understanding a whole sentence is the other, and Google's ranking guide lists the systems for it.3 RankBrain "helps us understand how words are related to concepts", so Google can return relevant content "even if it doesn't contain all the exact words used in a search". Neural matching is used "to understand representations of concepts in queries and pages and match them to one another". BERT, short for Bidirectional Encoder Representations from Transformers, "allows us to understand how combinations of words express different meanings and intent".3
When Google announced BERT in October 2019, it said BERT would help Search understand one in 10 searches in English in the US, "particularly for longer, more conversational queries, or searches where prepositions like 'for' and 'to' matter a lot to the meaning". The example it gave was "2019 brazil traveler to usa need a visa". Before BERT, Google returned results about US citizens travelling to Brazil, because it missed the small word "to".4
MUM, the Multitask Unified Model, was announced in May 2021 as "1,000 times more powerful than BERT", trained across 75 languages and able to understand text and images.5 It is the one most often overstated. Google's own ranking guide says MUM is "not currently used for general ranking in Search", only for specific applications such as improving searches for vaccine information during the pandemic and the callouts in featured snippets.3
There is no setting on your website for any of these. The practical consequence is the opposite of a technique: write the way a knowledgeable person talks, and the small words that carry the meaning will be there for the machine too.
Worked example: the word "not"
Róisín's grinding guide had a table: espresso fine, filter medium, cafetière coarse. A customer types "grind for a moka pot not an espresso machine". The question hinges on "not", and the table never mentions a moka pot.
Róisín adds one paragraph under its own heading, "What grind for a moka pot?":
A moka pot needs a grind a little coarser than espresso and finer than filter, roughly like table salt. Espresso fine will clog the filter basket and taste bitter. If you buy beans ground from me, choose "moka pot" at checkout and I grind them to that setting.
Step by step: the heading names the thing. The first sentence answers the question. The second handles the "not", by saying what espresso grind does in a moka pot. The third connects the answer to her product. No keyword was repeated. It is the answer a person behind her counter would give, which is what the language systems above are built to match.
Keyword density is a ratio nobody at Google asked for
The habit semantic SEO replaced was keyword density: repeat the target phrase until it makes up some magic share of the page.
Here is the keyword density, is the number of times the phrase appears, is the number of words in the phrase, and is the total number of words on the page. It is a plain ratio, a part over the whole (Foundations: ratios and rates), usually quoted as a percentage (Foundations: percentages).
Google has never published a target for , and its own SEO Starter Guide points the other way. It says users who know a topic well search with different words from beginners, "some users might search for 'charcuterie', while others might search for 'cheese board'", and that you need not anticipate every variation, because "Google's language matching systems are sophisticated and can understand how your page relates to many queries, even if you don't explicitly use the exact terms in them." The same guide says excessive repetition of the same words "is tiring for users" and that Google Search does not use the keywords meta tag.6 Google's spam policies go further and define keyword stuffing as filling a page with keywords "in an attempt to manipulate rankings", including repeating the same words or phrases so often that it sounds unnatural.7
So density is a number to calculate, never to aim at. If it is high, the page probably reads badly.
Worked example: Róisín's home page at 8%
Róisín's old home page, written by an agency in 2020, is 600 words long. The four word phrase "best coffee beans Cork" appears 12 times.
With , and , the density is 0.08, which is 8%. Nearly one word in 12 on the page belongs to the same four word phrase. Read aloud, the page sounds like a parrot that has been on a marketing course, and any customer would give out about it.
Róisín rewrites it. The phrase appears once, in the opening line. The rest of the page names the things from her entity sheet: the roastery in Ballincollig, the four coffees she roasts this month and where each comes from, how fresh the beans are when they are posted, how to buy a bag at the counter. The new page is 540 words, and the density is
With , and , the density is 0.007, which is 0.7%. The page now mentions Cork, Ballincollig, Ethiopia, Colombia, washed, natural, roast date and delivery.
Structured data describes the page, it does not lift it up the rankings
Structured data is a block of code, usually in a format called JSON-LD, that states facts about the page in a vocabulary machines share. That vocabulary is published at schema.org as a set of types and properties. Its own introduction says search engines have "a limited understanding of what is being discussed" on a page, and markup helps them "better understand your content and display it in a useful, relevant way".8
Google's description of what it does with it is precise. Structured data provides "explicit clues about the meaning of a page". Google uses it "to understand the content of the page, as well as to gather information about the web and the world in general, such as information about the people, books, or companies that are included in the markup". And it can enable rich results, the enhanced listings with stars, prices or images, which Google says "might encourage" people to interact more with your site.9
Notice what is missing: ranking. Google's documentation on structured data never says that markup makes a page rank higher. Its general guidelines say that markup "enables a feature to be present, it does not guarantee that it will be present", and that a manual action for misleading markup removes a page's eligibility for rich results but "doesn't affect how the page ranks in Google web search".10 When asked directly, Google's John Mueller has said the same thing for years. In 2018: "There's no generic ranking boost for SD usage", with the careful addition that structured data "can make it easier to understand what the page is about, which can make it easier to show where it's relevant".11 In April 2025, more bluntly: "Structured data won't make your site rank better."12
So, in Google's own account, markup can make a page eligible for rich results and help Google understand the page and the business. It does not push a page up the ordinary results.
Two more corrections. Rich results are not permanent. In August 2023 Google limited FAQ rich results to well known, authoritative government and health websites and stopped showing HowTo rich results on mobile. A month later it stopped showing them on desktop too, and called the result type deprecated.13 Since 7 May 2026, FAQ rich results no longer show at all.14 And Google's case studies on rich results, such as Rotten Tomatoes measuring a 25% higher click through rate on 100,000 pages with structured data, are about clicks on a listing, not about where the listing ranks.9
Worked example: the €1,200 entity schema package
Róisín is offered an "entity schema package" for €1,200, with four promises. Here is each one checked against Google's own words.
- "Schema will boost your rankings." Google: structured data "won't make your site rank better".12 Promise fails.
- "FAQ schema on every product page, for extra space in the results." Google stopped showing FAQ rich results on 7 May 2026,14 and before that only well known government and health sites got them.13 A Cork roastery never qualified. Fair play to the salesman for trying. Promise fails.
- "Markup for your reviews from other sites." Google's guidelines say markup must be "a true representation of the page content" and that content which is not visible to readers must not be marked up.10 If the reviews are not on the page, the markup would breach the guidelines. Promise fails, and could cost her the rich results she has.
- "Organization markup, so Google knows who you are." Google does say this markup can help it disambiguate a business and choose its logo.15 Promise holds, and it is about an hour's work.
One promise in four survives, the small one, and Róisín does it herself.
One identity everywhere: Organization markup, sameAs and a consistent name
The most useful thing to make unmistakable is your own business. Google's documentation for Organization markup says it can help Google understand a business's administrative details and "disambiguate" it in search results, and that some properties can influence which logo appears in results and in a knowledge panel.15 For a business with premises, the LocalBusiness type lets you "tell Google about business hours, different departments within a business" and more.16
The property that does most of the identity work is sameAs. Schema.org defines it as the "URL of a reference Web page that unambiguously indicates the item's identity", for example the item's Wikipedia page, Wikidata entry or official website.17 In plain words: here is the same thing, described elsewhere.
For a local business there is a second front, outside the website. Google says local results are "mainly based on relevance, distance and popularity", that "businesses with complete and accurate info are more likely to show up in local search results", and that "there's no way to request or pay for a better local ranking on Google".18 That is one of the few places Google ties accurate facts directly to visibility, so the Business Profile and the website must say the same thing.
Worked example: Róisín's identity audit and her Organization block
Róisín searches for her own business and writes down every version of it she finds.
- Website footer: "Copper Kettle Coffee Roasters".
- Business Profile: "Copper Kettle Coffee", Unit 4, with the old phone number.
- Instagram bio: "The Copper Kettle, Cork".
- The CRO (Companies Registration Office): the limited company's registered name.
- A food directory: "Copper Kettle Cafe", listed as a café, which it is not.
Five names for one thing. She picks "Copper Kettle Coffee", changes the footer, the Instagram bio and the directory listing to match, and corrects the phone number on the Business Profile. The legal name stays with the CRO, and she gives it in the markup as legalName, so the two are tied together rather than competing.
Then she adds this to the head of her home page:
{
"@context": "https://schema.org",
"@type": "Store",
"name": "Copper Kettle Coffee",
"legalName": "Copper Kettle Coffee Ltd",
"url": "https://copperkettlecoffee.example",
"logo": "https://copperkettlecoffee.example/logo.png",
"telephone": "+353 21 000 0000",
"address": {
"@type": "PostalAddress",
"streetAddress": "Unit 4, Ballincollig Enterprise Park",
"addressLocality": "Ballincollig",
"addressRegion": "Co. Cork",
"postalCode": "P31 XXXX",
"addressCountry": "IE"
},
"openingHours": "Mo-Sa 08:00-16:00",
"founder": { "@type": "Person", "name": "Róisín" },
"sameAs": [
"https://social.example/copperkettlecoffee",
"https://directory.example/cork/copper-kettle-coffee"
]
}
Line by line. @context says the vocabulary is schema.org. @type picks the most specific type that is true. Róisín runs a shop, not a café, so it is Store, which schema.org places under LocalBusiness, which sits under both Organization and Place.19 Types inherit the properties of their parents, all the way up to the broadest type, Thing.8 name is the one name she chose, and legalName ties it to the company. url, logo, telephone, address and openingHours repeat exactly what the footer and the Business Profile say. founder connects the business to a person. sameAs lists her other profiles, in real life her Instagram page and the corrected directory entry, here on reserved example domains.
Every value comes from her entity sheet, and every value is visible somewhere on the page, as Google's guidelines require.10 She expects a cleaner chance that Google treats her website, Business Profile and Instagram as one business. She does not expect a jump in rankings, because Google has said not to.
Plan pages around the things your customers ask about, and link them the way the things connect
The useful part of thinking in entities is not markup, it is planning. Instead of a list of keyword phrases, each with its own thin page, start from the things your customers care about and the questions they ask. Every important thing gets one page that covers it properly. Pages link to each other where the things themselves are connected: the coffee links to its origin, the origin links to the coffees from it, the brew guide links to the grind that suits it.
This is my practice, not a Google rule. In the shops I have worked on, it stops the site competing with itself, because there is one obvious page for each thing instead of four near copies, and it makes the internal links make sense to a reader. It also fits what Google says about language: if its systems can relate your page to queries it does not literally contain,6 a separate page for every phrasing is wasted effort.
Worked example: Róisín's map from one roastery to 14 pages
The diagram runs top to bottom, from the business to the details. Each box is a kind of page, and each arrow is a real connection between things, which is where the internal links go. The highlighted box is linked from all four brewing guides. The decision at the bottom keeps the site from sprawling.
Count the pages. One home page, four coffees, three origins, four brewing guides, one grind guide and one page about delivery: 14. Her old site had 31, most of them variations on "coffee beans Cork", "coffee beans delivered Ireland" and "buy coffee online Cork", all saying the same thing. She redirects the 17 she drops to the page that now covers it.
Check what a machine reads with an entity tool, and treat the score as a hint
You can see a rough version of what a machine pulls out of your text. Google Cloud's Natural Language API has an entity analysis feature. Give it a page of text and it returns the entities it recognises, each with a type (person, location, organisation and so on), metadata that for most entities is a Wikipedia URL and a Knowledge Graph ID if one is available, and a salience score. Google defines salience as a score "in the [0, 1.0] range" that "provides information about the importance or centrality of that entity to the entire document text".20 Close to one means the text is mostly about that thing. Close to zero means it is mentioned in passing.
A warning that matters. This is a Google Cloud product for developers. Nothing Google publishes says that Search uses these scores, or that a higher salience helps a page rank. I use it like a spell checker: a second reader that tells me whether the page is about what I think it is about.
Worked example: the Yirgacheffe page before and after
Róisín's page for her Ethiopian coffee used to open with two paragraphs about the roastery and Cork, then a line about the coffee. She runs the text through the API. The top entities come back as Copper Kettle Coffee at 0.46, Cork at 0.21, coffee at 0.14 and Yirgacheffe at 0.06. To a machine, the page is about the roastery. The coffee is a footnote.
She rewrites it. The page now opens with the coffee: where it is grown, at what altitude, how it is processed, what it tastes like, how to brew it. The roastery appears once, near the end. She runs it again.
Along the bottom are the five entities the API ranked highest. Up the side is each one's salience, from 0 to 1. The takeaway is the order: the coffee and its origin now lead, and the roastery and the city sit at the edge. The scores are invented for this example.
The change for the coffee itself is easiest to read in points, not as a percentage change.
Here is the change in salience, is the score after the rewrite and the score before. A difference between two shares reads best in points, just as a conversion rate moving from 2.0% to 2.5% is half a point (Foundations: percentages). Yirgacheffe went from a passing mention to the subject of the page.
What Róisín does not do is chase the number by repeating "Yirgacheffe" until it reaches 0.6. That is keyword density with a new name. The score told her the page was about the wrong thing. She fixed it for the reader and checked once that the machine agreed.
AI search reads the same pages, with no special schema
The old version of this article said that content which "clearly defines and connects entities" is far more likely to be cited by generative search. I could not find a source for that, so it is gone. Google's guide to optimising for its generative AI features says that "Structured data isn't required for generative AI search, and there's no special schema.org markup you need to add", while recommending it for the rich results it already supports. The same guide says that, from Google's point of view, optimising for generative AI search is optimising for search, "and thus still SEO".21 Its page on AI features says there is "no special schema.org structured data that you need to add" to appear in AI Overviews or AI Mode.22
So nothing here changes for AI search. The passage side is in the article on passage ranking, which also covers why structured data plays no documented part in it. How AI answers choose and cite sources is in the article on AEO and GEO, and the ChatGPT side in how to rank in ChatGPT.
What I do, and what I would not pay for
On every site I build, whether a Solidus shop or a SaaS product, the work starts with the entity sheet. One name for the business, used everywhere. Organization markup on the home page, every value visible on the page, sameAs pointing at profiles that genuinely belong to the business. One page per important thing, linked the way the things connect. Text that names things precisely, in the words a customer would use. Now and then, an entity analysis as a second reader.
What I would not pay for: a schema package sold as a ranking boost, FAQ markup in the hope of a rich result Google no longer shows, markup describing content that is not on the page, a keyword density target, or any audit that promises to "optimise your entities" for an algorithm Google has never described in those words.
The old version of this article also described a client whose impressions rose after a restructure, with no source and no figures, so I cut it. Since 2012 Google has been trying to understand things, not strings. The best help you can give it is the same help you give a new customer: say clearly who you are, what you sell, where you are, and how it all fits together.
Footnotes
-
Amit Singhal, Introducing the Knowledge Graph: things, not strings, Google, 16 May 2012, https://blog.google/products-and-platforms/products/search/introducing-knowledge-graph-things-not/
-
Google, How Google's Knowledge Graph works, Knowledge Panel Help, accessed 8 November 2026, https://support.google.com/knowledgepanel/answer/9787176?hl=en
-
Google, A guide to Google Search ranking systems, Google Search Central documentation, last updated 10 December 2025, accessed 8 November 2026, https://developers.google.com/search/docs/appearance/ranking-systems-guide
-
Pandu Nayak, Understanding searches better than ever before, Google, 25 October 2019, https://blog.google/products-and-platforms/products/search/search-language-understanding-bert/
-
Pandu Nayak, MUM: A new AI milestone for understanding information, Google, 18 May 2021, https://blog.google/products-and-platforms/products/search/introducing-mum/
-
Google, SEO Starter Guide: the basics, Google Search Central documentation, last updated 10 December 2025, accessed 8 November 2026, https://developers.google.com/search/docs/fundamentals/seo-starter-guide
-
Google, Spam policies for Google web search (keyword stuffing), Google Search Central documentation, last updated 28 August 2026, accessed 8 November 2026, https://developers.google.com/search/docs/essentials/spam-policies
-
Schema.org, Getting started with schema.org using Microdata, accessed 8 November 2026, https://schema.org/docs/gs.html
-
Google, Introduction to structured data markup in Google Search, Google Search Central documentation, last updated 10 December 2025, accessed 8 November 2026, https://developers.google.com/search/docs/appearance/structured-data/intro-structured-data
-
Google, General structured data guidelines, Google Search Central documentation, last updated 10 July 2026, accessed 8 November 2026, https://developers.google.com/search/docs/appearance/structured-data/sd-policies
-
Barry Schwartz, Google: Structured Data Doesn't Give You A Ranking Boost But Can Help Rankings, Search Engine Roundtable, 3 April 2018, quoting John Mueller of Google, https://seroundtable.com/google-structured-data-ranking-factor-25510.html
-
Barry Schwartz, Google Again Says Structured Data Does Not Make Your Site Rank Better, Search Engine Roundtable, 15 April 2025, quoting John Mueller of Google on Bluesky, 13 April 2025, https://www.seroundtable.com/google-structured-data-ranking-39232.html
-
Google Search Central, Changes to HowTo and FAQ rich results, 8 August 2023, updated 14 September 2023, https://developers.google.com/search/blog/2023/08/howto-faq-changes
-
Google, Latest Google Search documentation updates, Google Search Central, entries of 8 May 2026 (Deprecating the FAQ rich result feature) and 15 June 2026 (Removing documentation for the FAQ rich result feature), accessed 8 November 2026, https://developers.google.com/search/updates#faq-deprecation
-
Google, Organization structured data, Google Search Central documentation, last updated 8 September 2026, accessed 8 November 2026, https://developers.google.com/search/docs/appearance/structured-data/organization
-
Google, Local business structured data, Google Search Central documentation, accessed 8 November 2026, https://developers.google.com/search/docs/appearance/structured-data/local-business
-
Schema.org, sameAs, accessed 8 November 2026, https://schema.org/sameAs
-
Google, Tips to improve your local ranking on Google, Google Business Profile Help, accessed 8 November 2026, https://support.google.com/business/answer/7091?hl=en-GB
-
Schema.org, Store, accessed 8 November 2026, https://schema.org/Store
-
Google Cloud, Entity (Cloud Natural Language API reference), accessed 8 November 2026, https://docs.cloud.google.com/natural-language/docs/reference/rest/v1/Entity
-
Google, guide to optimising for generative AI features on Google Search (page title in American spelling), Google Search Central documentation, last updated 10 July 2026, accessed 8 November 2026, https://developers.google.com/search/docs/fundamentals/ai-optimization-guide
-
Google, AI features and your website, Google Search Central documentation, last updated 10 December 2025, accessed 8 November 2026, https://developers.google.com/search/docs/appearance/ai-features