Latent Semantic Indexing SEO: I Ran the Algorithm

SEO
10 min read

Latent semantic indexing SEO advice sells a keyword list the real algorithm cannot output. I ran a truncated SVD over 147 posts to show what LSI produces.

Renaissance-style study of an open library with globes and folios, a red bookmark in the open volume

I ran latent semantic indexing over the 147 posts on this site. The script is about 60 lines of plain Node: it builds a TF-IDF term-document matrix, filters the vocabulary, and takes a 20-dimension truncated singular value decomposition by power iteration with deflation. No API, no budget, no subscription.

The run returned six usable concept dimensions, and every one of them belongs to the whole corpus. Dimension 3 is email automation. Dimension 4 is product marketing careers. None of them is a term list for a single page, and none of them could be. That is the trouble with latent semantic indexing SEO advice: it sells an object the algorithm has no way to produce, and one run over your own content is enough to see it.

Latent Semantic Indexing SEO: What the 1990 Paper Says

The method has a paper and a patent behind it. Scott Deerwester, Susan Dumais, George Furnas, Thomas Landauer and Richard Harshman published Indexing by Latent Semantic Analysis in the Journal of the American Society for Information Science, volume 41, issue 6, pages 391-407. The paper itself records its own dateline: received August 26, 1987, revised and accepted April 1988. The companion patent, US 4,839,853, was filed September 15, 1988 and granted June 13, 1989, with Bell Communications Research as the original assignee.

The paper coins the name LSI for the analysis it describes, and it describes the analysis precisely: “The particular technique used is singular-value decomposition, in which a large term by document matrix is decomposed into a set of ca. 100 orthogonal factors from which the original matrix can be approximated by linear combination.”

The patent abstract states the premise in the same register: “The information is treated in the statistical domain by presuming that there is an underlying, latent semantic structure in the usage of words in the data objects.”

That mathematics still ships in mainstream data-science toolkits. The scikit-learn TruncatedSVD page says the transformer “performs linear dimensionality reduction by means of truncated singular value decomposition (SVD)” and that on tf-idf matrices “it is known as latent semantic analysis (LSA)”. Anyone can run it this afternoon, which is what makes the SEO version of the story checkable instead of arguable.

Running Real LSI Over 147 Posts

I pointed the script at src/content/blog/*.md, the 147 published posts on this site, measured on 2026-09-16.

Raw vocabulary across the corpus: 12,507 terms. I kept terms appearing in at least 5 documents and in at most 50% of documents, which left 3,788. The lower bound drops one-off nouns that cannot carry a shared pattern. The upper bound drops words like “marketing” that sit in nearly every post and would swamp the top dimension without separating anything.

Then a 20-dimension truncated SVD by power iteration with deflation. The ten largest singular values came back as:

4.098  2.032  1.824  1.663  1.519  1.475  1.454  1.415  1.404  1.369

Dimension 1 carries 31.1% of the retained energy. Dimension 2 carries 7.6%, then 6.2%, 5.1%, 4.3% and 4.0%. After the sixth the values flatten into a long tail where each additional dimension adds a sliver of structure indistinguishable from noise, which is why 20 dimensions is already generous for a 147-document collection.

The Six Concept Dimensions the Run Produced

DimensionSingular valueTop-loading terms
14.098seo, tier, free, accounts, activation, retention, google, enablement, pmm, competitive, messaging, buyers
22.032seo, google, schema, rankings, chatgpt, crawl, keyword, console, overviews, ahrefs, links, vitals
31.824automation, emails, workflows, welcome, contacts, activation, activecampaign, cart, sequences, nurture
41.663pmms, salary, career, skills, mql, intelligence, launches, pmm, competitive, interview, battlecards
51.519emails, activation, product-led, demand, cart, gen, automation, subject, generation, brevo
61.475chatgpt, crawl, skills, career, salary, checklist, proposition, indexation, seat, broken

The top dimension is the general axis of the site, a blend of everything I publish. Below it, technical and AI-era search work separates out on dimension 2, email automation on dimension 3, product marketing careers and competitive intelligence on dimension 4, and demand generation plus lifecycle email on dimension 5. By the sixth, AI search and career content are mixed together in one row, which is what a dimension looks like when the shared pattern has thinned out.

Those rows describe a publication, not a page. Dimension 3 exists because I have written enough email automation posts for the decomposition to find a repeated pattern of word usage across them. Take those posts away and the dimension goes with them.

Advertisement

Why Latent Semantic Indexing Has No Per-Page Output

A singular vector is a property of the matrix it was computed from. Each of the six dimensions above is a weighted combination over all 3,788 vocabulary terms and all 147 documents at once. Add twenty posts about pricing and the dimensions shift; delete twenty and they shift again. They belong to the collection.

So the request “give me the LSI keywords for this article” asks the algorithm for something it has no slot to return. The output contains concept dimensions for the set, and coordinates placing each document on those dimensions. There is no per-document term list anywhere in it.

The coordinates are useful, just not in the way a keyword generator implies. Once every post has a 20-number vector, cosine similarity between two posts is a real measurement. These are the nearest neighbours to my SEO report post in that space:

NeighbourCosine similarity
How Do I Check My SEO Ranking0.935
How Much Does an SEO Audit Cost0.776
Content Marketing Competitor Analysis0.752
Striking Distance Keywords0.747
How Often to Run an SEO Audit0.715
AI SEO Strategy0.696
Why an SEO Audit Is Important0.686

That ranking is a document-to-document result. It tells me which posts should link to each other, and where I have written the same argument twice under two slugs. It hands me no terms to place inside a page, because the algorithm has no concept of a page in isolation.

Are LSI Keywords Real?

No. Latent semantic indexing is real; LSI keywords are a product invented on top of the name.

Google’s John Mueller answered a practitioner who had asked how many LSI keywords to add, on July 30, 2019: “There’s no such thing as LSI keywords — anyone who’s telling you otherwise is mistaken, sorry.” Search Engine Roundtable published the exchange the next day and reproduces the quote verbatim. The tweet uses two hyphens rather than an em-dash, a detail most SEO blogs change without flagging it when they quote it.

He repeated the denial on January 2, 2023: “Both have no effect. Anyone who tells you to use LSI keywords is … still wrong after all these years.” The author has since deleted that tweet, so Search Engine Roundtable’s write-up is the record that survives.

The product category outlived both statements. LSIGraph still sells itself as a semantic and LSI keywords generator, with the pitch “Write SEO Content with Confidence And 10X Your Site’s Traffic.” The terms it returns may be perfectly reasonable related terms. The name on the box describes a decomposition that does not generate them.

What Google Documents Instead of Latent Semantic Indexing

Google’s ranking systems guide, last updated December 10, 2025, names the systems it credits for meaning. Neural matching is “an AI system that Google uses to understand representations of concepts in queries and pages and match them to one another.” RankBrain “helps us understand how words are related to concepts” and “means we can better return relevant content even if it doesn’t contain all the exact words used in a search.” BERT “allows us to understand how combinations of words express different meanings and intent.” MUM is “an AI system capable of both understanding and generating language.”

Latent semantic indexing appears nowhere on that page. I checked one document, not all of Search Central, so read that as an observation about the canonical list of ranking systems and not as a claim about everything Google has ever written.

Google’s public How Search Works page makes the synonym point in plain language: the system “allows us to find relevant documents even if they do not contain the exact words you used”, and it credits language models for that, with no mention of a 1988 decomposition.

Pandu Nayak was blunter in Google’s BERT announcement in October 2019. He named the habit the system was built to look past: people use “keyword-ese,” “typing strings of words that they think we’ll understand, but aren’t actually how they’d naturally ask a question.” An LSI term list written into a page is keyword-ese with a citation attached to it.

What My Query Data Says About Semantic Matching

The claim is testable on my own property, so here is what happened when I tested it.

Between 2025-05-01 and 2026-08-31, this site recorded 164,564 impressions and 186 clicks in Google Search Console, a sitewide CTR of 0.11%. The domain sits at Domain Rating 13 on Ahrefs, re-measured 2026-09-12, with no deliberate link building ever done. Search Console returned 1,000 query rows, which is the export cap, so this is the top slice of queries rather than the full set.

I checked each of those 1,000 query strings against the full concatenated text of all 147 posts:

  • 802 queries (80.2%) contain an exact phrase that appears nowhere in the corpus, and they earned impressions anyway.
  • 5 queries (0.5%) contain no content word present anywhere in the corpus.

The heaviest impression earners among phrases my corpus never literally contains:

QueryImpressionsAverage position
does google reviews help seo1,70059.2
cost of seo audit1,28815.9
seo optimization report1,19234.8
how to check seo ranking1,13523.6
reporting seo1,07055.2
chatgpt meaning84314.6

Look at the top row. The corpus contains the phrase “do google reviews help seo” in my post on whether Google reviews help SEO, and it does not contain “does google reviews help seo” anywhere. One verb form apart, and the 1,700 impressions arrived anyway. Read the two counts together and the picture is stable: exact-phrase placement is not required, and term overlap is almost always there regardless. Google surfaced pages against wording those pages never used, while 995 of 1,000 queries still shared individual content words with the corpus.

That supports the statement “Google matches meaning, not just strings.” It does not prove Google runs latent semantic indexing, and I want to be flat about the limit. Neural matching, RankBrain, BERT, ordinary stemming and a synonym table would all leave the same signature in this dataset. One property at Domain Rating 13, one 16-month window, one capped export, and no way to separate the mechanisms from outside the index.

What to Do About Latent Semantic Indexing SEO Advice

Stop paying for semantic keywords sold under the LSI name. The terms may be fine and the sourcing is not what the label says, which means you are buying a related-keywords report at a premium for the acronym.

Answer the subtopics the query implies, in the words a reader would use to ask. That is the behaviour Google’s own documentation describes rewarding, and it is the opposite instruction to sprinkling synonyms at a density target.

Then take the output LSI does give you, which is the document-to-document ranking. The settings that produced the run above:

  • TF-IDF over the text of every post in the collection.
  • A document-frequency floor of 5 and a ceiling of 50%. On 147 posts that cut 12,507 raw terms to 3,788, and the ceiling is what stops the house vocabulary from owning the top dimension.
  • 20 dimensions. Six carried interpretable structure here, so 20 leaves headroom without pretending the tail means anything.
  • Cosine similarity between the resulting document vectors, sorted per page.

What you get back is a similarity list like the one above: the pages that should link to each other, and the pairs sitting close enough that you are probably making the same argument twice under two slugs.

I have not measured whether acting on those similarities moves rankings. I ran the decomposition, read the output and reported it; no internal links were rewired and re-measured, so treat the similarity ranking as a map of your own corpus rather than a ranking tactic with evidence behind it.

That is the whole of my latent semantic indexing SEO advice: run the decomposition on your own pages before you buy another term list. Sixty lines of Node will show you what the algorithm returns, and it is not a keyword list.

Frequently Asked Questions

Are LSI keywords real?

Latent semantic indexing is a real algorithm from a 1990 paper and a 1988 patent, but LSI keywords are not something it produces. Google's John Mueller said in July 2019 that there is no such thing as LSI keywords, and the algorithm itself returns concept dimensions over a whole document collection rather than a term list for one page.

Does Google use latent semantic indexing?

Nothing in Google's documented ranking systems says so. That guide names RankBrain, neural matching, BERT, MUM, passage ranking and deduplication, and it carries no system called latent semantic indexing.

What do LSI keyword tools actually give you?

Related terms, usually pulled from search results or generated by a language model, sold under a borrowed name. LSIGraph markets itself as a semantic and LSI keywords generator. The terms can be useful; the theory printed on the box is not where they come from.

What does latent semantic indexing output?

A truncated singular value decomposition of a term-document matrix. My 20-dimension run over 147 posts returned concept dimensions for the whole corpus plus a coordinate vector for each document, which makes document-to-document similarity measurable.

Should I add semantic keywords to my content?

Cover the subtopics the query implies and use the words readers use. Across 1,000 of my own Search Console query rows, 80.2% contained an exact phrase found nowhere in my corpus, so exact-phrase placement is not required, although nearly every query shared individual content words with the page that surfaced.

Advertisement
Swapnil Biswas

Written by Swapnil Biswas

Product Marketing & Growth Strategist. I write about AI, SEO, and marketing strategy from real experience - not theory.