
Context: The Durban B2B software team publishing more and ranking for less
A hypothetical Durban-based B2B software and Shopify seller team has a content problem. They have published around 40 product and help articles over the past year, but organic rankings for new queries have flatlined. Their writers are fluent, their headlines are clear, and their articles get finished. Yet if you extract the named entities from their drafts and compare them to the top-ranking pages, the drafts are missing integrations, compliance terms, and the specification language buyers actually search for. The content is not badly written. It is structurally shallow. This is where natural language processing content optimisation enters the picture - not as a magic ranking switch, but as a diagnostic layer that sits between keyword research and the editorial review you already run.
The goal is not to hit a score out of 100. It is to catch missing entities, thin sub-topic coverage, and readability friction before a single word goes live.
What 'NLP content optimisation' actually measures - and what it doesn't
Natural language processing gives you a set of measurable signals: named entities present in a document, semantic similarity between two pieces of text, sentence length, passive voice ratio, and grade-level readability. These signals describe the shape of a draft. They do not tell you whether Google will rank it. Google's own guidance on AI-generated content is explicit that helpful, people-first content is what matters, not the method of production. NLP scoring is a diagnostic layer - it surfaces gaps a human writer cannot see when they are too close to a draft. It cannot predict rankings, and it should never be treated as a gate that, once passed, guarantees visibility.
The two meanings of NLP that searchers (and clients) keep confusing
There are two distinct uses of the term in search marketing, and conflating them wastes time. The first is analysis NLP: you run a script or a tool over a draft to extract entities, compute embedding similarity, and flag readability issues. The second is search-engine NLP: Google applies transformer models such as BERT and MUM to interpret a query and understand the relationships between words. BERT helps Google grasp context in a query; MUM goes further across text, images, and languages. For a content team, the practical implication is this: you cannot write for BERT. You write for a reader, and you use analysis NLP to check whether your draft covers the semantic ground a reader would expect. The scoring is for quality assurance, not for algorithmic appeasement.
Reading the ranking corpus before you rewrite a single draft
The biggest mistake is scoring against a random corpus of blog posts. The only corpus that matters is the live SERP: the top five to ten ranking pages for your target query. Scrape their main content, extract headings and paragraphs, and build a reference set. That set becomes your intent target. Run two analysis passes on every draft against that corpus. Pass one is semantic coverage: entity extraction and sub-topic matching. Pass two is structure and readability. The decision rules for each pass differ, and that is the point.
Pass one - semantic coverage: sub-topics, entities and the gaps a writer cannot see
Use a named entity recogniser (spaCy, stanza, or a cloud NLP API) to tag every entity in the ranking corpus. Filter to entities that map to Google's knowledge graph - product names, standards, integrations, organisations, locations. Then run the same extraction on your draft. The output is a checklist: which entities appear in the corpus but are missing from your draft? For the Durban software team, a draft about an inventory API might be missing the words 'OAuth', 'webhook', and 'rate limit' - all entities the top-ranking pages treat as table stakes. For a Shopify app help article, the missing entities might be 'Shopify Flow', 'metafield', and 'carrier service'. This is not keyword density. It is entity coverage: the presence or absence of the specific concepts a buyer needs to evaluate the product.
Entity extraction is not about repeating a phrase. It is about ensuring your article contains the named things a knowledgeable buyer expects to see.
Pass two - structure and readability: grade level, sentence length, passive voice and their decision rules
The second pass uses a readability library such as textstat to compute Flesch reading ease, average sentence length, and the proportion of passive constructions. The decision rules should be set before you run the pass, and they should be blunt. For example: if average sentence length exceeds 25 words, flag it for rewrite. If passive voice exceeds 20%, flag it. If the draft exceeds grade level 12 and the target audience is non-technical, flag it. These are not ranking factors. They are friction points that make a reader leave. Fixing them improves comprehension, which indirectly improves engagement signals.
Embedding similarity as a topical-fit gate, not a scoreboard to max out
Once you have the ranking corpus, compute sentence embeddings for each top-ranking passage and for your own draft. Cosine similarity between your draft and the corpus gives you a topical-fit score. But here is the trap: if you rewrite sentences until that score reaches 0.9, you will produce a pale imitation of what already ranks. The score is a gate: if a draft is below a reasonable threshold - say, a cosine similarity of 0.6 - it is probably off-topic. If it is above, do not spend time chasing a perfect score. Keyword density would tell you to repeat a phrase. Embedding similarity tells you whether you are even in the same conversation. Use the latter as a sanity check, then let the human writer add the unique angle that no corpus contains.
Entity coverage versus keyword density on product and SaaS pages
Keyword density is a dead metric. Entity coverage is the living one. A product page for a B2B SaaS tool needs to name the integrations, the compliance standards, the pricing model, and the use cases. A Shopify seller's product page needs the specifications, the compatibility, and the comparison points. Here is a practical comparison of what each approach measures and how it changes your editing:
| Signal | Keyword density | Entity coverage |
|---|---|---|
| What it counts | Exact phrase repeats | Named concepts and their relationships |
| Editing action | Insert more keywords | Add missing product specs, integrations, or comparisons |
| Risk | Unnatural phrasing, thin substance | Cramming entities without depth (still shallow) |
The lesson: entity coverage is more aligned with how a buyer evaluates a product, but it still needs human judgement. An article packed with entity names but no explanatory depth is still thin content. The NLP pass flags presence; the writer must supply the substance.
Build a lightweight scorer or buy a seat: the ZAR trade-offs
You have two options for adding NLP scoring to your content workflow: buy a commercial seat or build a small internal pipeline. The trade-offs are real, and the costs in South Africa are influenced by the rand-to-dollar exchange rate, because most serious NLP tools are priced in USD. The table below outlines approximate ZAR ranges for an annual seat or a build. All figures are estimates and ranges, not vendor benchmarks.
| Approach | Typical annual cost (ZAR, est.) | What you get | Key constraint |
|---|---|---|---|
| Commercial NLP content scoring seat | R15,000 - R45,000 per editor seat | Pre-built entity extraction, SERP comparison, readability dashboards | Data residency, vendor lock-in, per-seat scaling cost |
| Build a lightweight pipeline (embeddings + classifier) | R40,000 - R120,000 initial build; R5,000 - R15,000 monthly compute/API | Full control, custom entities, integration with internal CMS | Requires Python skills, ongoing maintenance |
A commercial seat makes sense if you need something working this quarter and your team has no engineering support. Building makes sense if you have a developer who can maintain the pipeline and you want full control over data. Neither option eliminates the need for a human editor.
What a minimal scoring pipeline looks like (embeddings, classifier, report)
A minimal build needs three components: an embedding model (e.g., sentence-transformers), a classifier (e.g., a logistic regression on readability features + entity presence), and a report generator. The code block below shows the core of the scoring pass using Python and the sentence-transformers library. It assumes you have already scraped the top-ranking pages and extracted text into a list called corpus_texts.
from sentence_transformers import SentenceTransformer, util
import spacy
model = SentenceTransformer('all-MiniLM-L6-v2')
nlp = spacy.load('en_core_web_sm')
def score_draft(draft_text, corpus_texts):
draft_emb = model.encode(draft_text, convert_to_tensor=True)
corpus_emb = model.encode(corpus_texts, convert_to_tensor=True)
cosine_scores = util.cos_sim(draft_emb, corpus_emb)
avg_sim = cosine_scores.mean().item()
doc = nlp(draft_text)
entities = set(ent.text.lower() for ent in doc.ents)
return {'avg_cosine_similarity': round(avg_sim, 3), 'entity_count': len(entities)}The report could be as simple as a CSV with columns: draft ID, average cosine similarity, missing entities (set difference against corpus), Flesch score, average sentence length. That is enough to prioritise which drafts need an entity pass and which need a readability pass.
Never upload client content to a third-party NLP API without a data processing agreement. Under POPIA and GDPR, content that contains personal information (names, emails, client details) is regulated.
POPIA, GDPR and the third-party NLP tool question
South Africa's Protection of Personal Information Act (POPIA) applies to any personal information you process, and the EU's GDPR applies if you have EU data subjects. When you paste a client's draft into a commercial NLP tool, you may be transferring personal data to a third party in another jurisdiction. That requires a lawful basis, a data processing agreement, and attention to data residency. The safe practice is to strip personal information before scoring, or to use a tool that offers a data processing addendum and regional processing. This is especially relevant for agencies handling multiple clients. Prebo Digital's reporting approach treats data handling as part of the engagement, not an afterthought.
How to prove the pass worked without fooling yourself
The biggest lie in content optimisation is the score out of 100. A draft can go from 45 to 92 and still rank on page three. You need pre/post measurement on a controlled set of pages, and you need to tie it to metrics that matter to the business. The table below lists the signals worth tracking, and why they matter more than a vanity score.
| Signal | Why it beats a score | How to measure |
|---|---|---|
| Impressions in Search Console | Shows whether the page is entering new queries | Compare 28-day periods before and after, segmented by page group |
| CTR and position band | Shows whether the snippet is compelling and ranking near the top | Track shifts from position 8-15 to 1-7 |
| Engaged sessions (GA4) | Shows whether readers stay and interact | Use server-side tracking and consent mode for accuracy |
| Assisted conversion rate | Links content to revenue, not just traffic | Multi-channel funnel reports in GA4 |
| AI Overview / AI Mode citations | Emerging surface; track via manual checks or rank-tracking tools | Log citation presence on target queries |
The key discipline is to define the control group before the edits. Pick twenty pages, apply the NLP pass to ten, leave ten untouched, and compare over eight to twelve weeks. Without a control, you are guessing.
What NLP optimisation cannot promise
NLP scoring cannot guarantee rankings, cannot replace first-hand expertise, and cannot fix a weak product or a poor user experience. Google's systems reward helpful content, not the optimisation technique used to create it.
It also cannot tell you whether a reader will trust the article. That requires a human writer with direct experience, who can add the nuance a corpus lacks. The NLP pass is a safety net, not a substitute for expertise.
A short, repeatable monthly cadence
Turn the pass into a monthly routine. Week one: scrape the top five pages for your priority queries and refresh the corpus. Week two: score every draft in progress and produce the entity-gap report. Week three: writers rewrite, adding missing entities and fixing readability flags. Week four: publish, then log the page in your measurement sheet. Prebo Digital's SEO and AI SEO service embeds this diagnostic layer into the content workflow so that optimisation is a system, not a series of one-off hacks. The goal is not a perfect score. It is a cadence that reliably catches shallow drafts before they go live, and measurement that ties every edit to a business outcome.
Sources
- Google Search Central - Google Search's guidance about AI-generated content
- Google Search Central - In-depth guide to how Google Search works
- Google - Understanding searches better than ever before (BERT)
- Stanford NLP Group - primary technical source on NLP methods
- South Africa Information Regulator - POPIA official guidance



