Prebo Digital

Machine Learning Keyword Research: Build a Clustering, Intent and Scoring Pipeline

A practical modelling playbook for teams drowning in 20,000 keywords - how to embed, cluster, classify intent, score opportunity and route clusters into content, paid search and CRO.

Modelling Layer, Not Tool Shopping

Embeddings, intent classifiers and SERP-overlap clustering replace manual spreadsheet grouping.

Transparent Opportunity Score

A weighted formula combining demand, commercial value, coverage gap and difficulty proxy.

Human-in-the-Loop Governance

Strategists set commercial weights and approve clusters; models handle scale, not judgement.
11 min readSEO
Get a Quote
How to Set Up Integrated SEO and Google Ads Reporting in Google Analytics 4 (2026 Guide) — seo hero

Context: The Team With 22,000 Keywords and Five Pages Fighting for One Head Term

Picture a scaled South African e-commerce or B2B SaaS marketing team. They have accumulated 22,000 keywords across a decade of agency handovers, tool exports and Search Console downloads. Five URLs on their site receive impressions for the same head term. The content lead wants to prioritise product pages, the paid search manager wants to protect a high-converting Search campaign, and neither can agree on which cluster deserves the next sprint. The bottleneck is not keyword volume - it is classification, prioritisation and the missing link between query groups and revenue.

This is the problem that machine learning keyword research is genuinely equipped to solve. Not 'type a topic into an AI tool and get 500 ideas', but a modelling pipeline that embeds every query, groups it semantically, classifies its intent, scores its commercial opportunity and routes it into content, paid search and CRO.

The pipeline described here is the modelling layer behind Prebo Digital's SEO and AI SEO work - not a tool recommendation list.

Why 'ML Keyword Research' Is Not the Same as Typing a Prompt Into an AI Tool

Generative Assistance vs. the Modelling Layer

A generative assistant can produce a list of related terms in seconds. That output is useful for brainstorming but it is not a research system. It has no grounding in your Search Console queries, no awareness of which URL already ranks, no idea what your margin looks like per product category, and no memory of which clusters you decided to deprioritise last quarter. Generative assistance answers 'what might people search?'. The modelling layer answers 'which of the 22,000 queries we already have data for should we act on first, and with what asset?'.

What Genuine ML Contributes: Clustering, Classification, Forecasting

Four ML capability families matter here. First, embedding and clustering converts each query into a numeric vector and groups semantically similar queries without a human reading all 22,000. Second, classification assigns each query an intent label and a funnel stage (TOF, MOF, BOF) using a small hand-labelled training set. Third, forecasting and anomaly detection flag rising or decaying terms before a seasonal spike - useful in South African retail where the BFCM window and January 'back to school' patterns behave differently to Northern Hemisphere cycles. Fourth, SERP-overlap clustering uses shared ranking URLs as Google's own signal for topic boundaries.

The Four Data Sources That Actually Feed a Keyword Model

Search Console Queries, Pages, Country and Device

The Performance report in Google Search Console gives you measured impressions, clicks and average position - the only first-party source that links a query to a URL. Export 16 months of data segmented by country and device so you can distinguish a South African head term from the same term searched in the UK.

The Google Ads search terms report contributes commercial-intent signals and conversion data that Search Console cannot see. Amazon search-term reports do the same for marketplace shoppers, where query phrasing is shorter and more transactional.

First-Party On-Site Search Logs and CRM Lead-Source Fields

On-site search logs reveal what visitors wanted but could not find - often the sharpest content gap available. For B2B SaaS, the CRM lead-source field connects queries to pipeline value, so a cluster can be scored by opportunity-to-close, not just traffic.

Stage One - Data Hygiene Before Any Model Runs

Deduplicating, Normalising and Stripping Branded Terms

Lowercase everything, strip diacritics, collapse whitespace and remove your own brand plus known competitor brands into a separate list. A common mistake is leaving branded queries inside the corpus - they cluster together artificially and distort every similarity score. Also strip internal query parameters before deduplication.

Separating Measured Data From Tool-Estimated Volumes

Garbage in, garbage out: third-party volume estimates are frequently modelled from US or global data and can overstate or mis-attribute demand for South African and wider EMEA terms. Keep measured Search Console impressions in a separate column from tool estimates, and never let an estimated figure drive a commercial-weight decision on its own.

Stage Two - Embeddings and Vector Storage for Semantic Grouping

How Sentence Embeddings Represent a Query

A sentence embedding model, in the tradition of Sentence-BERT, maps a query like 'best running shoes for flat feet' to a 384- or 768-dimension vector. Queries with similar meaning sit close together in that vector space even when they share no exact keywords. Store the vectors in a vector store keyed by query ID; the store now becomes the substrate for every subsequent clustering and scoring step.

Choosing a Similarity Threshold (and Why It Breaks Both Ways)

Cosine similarity between two query vectors ranges roughly from 0 to 1 for semantically related queries. A threshold that is too loose merges commercial and informational intent into one cluster; too tight and 'running shoes' fragments into a dozen near-singletons that never justify a dedicated page. There is no universally correct number - it must be tuned against a manually reviewed sample.

A Worked Threshold Comparison Table

The following table is a worked example with stated assumptions, not a benchmark. It represents observed behaviour when tuning on an e-commerce corpus of 20,000+ mixed-intent queries.

Cosine thresholdResulting cluster count (est.)Practical outcomeTrade-off
0.70Very lowOver-merged - unrelated intents share a clusterFast but useless for content briefs; too coarse for paid structure
0.80ModerateBalanced - coherent topics with clear boundariesRequires a human review pass; occasional borderline merges
0.90Very highOver-fragmented - near-singleton clustersMisses legitimate topical groupings; fragments prioritisation

Stage Three - Training a Lightweight Intent Classifier

Building a Labelled Seed Set of a Few Hundred Queries per Class

Hand-label 200-400 queries per intent class - informational, commercial investigation, transactional, navigational. A simple logistic regression or gradient-boosted tree on top of the embeddings is often enough; a large language model is not required for this step. Retrain quarterly, because intent drift is real: a query that meant 'what is X' this year may be dominated by 'buy X' next year.

Mapping Intent Labels to TOF, MOF and BOF Funnel Stages

Intent labelFunnel stagePrimary routing
InformationalTOFEditorial and AI-retrieval-ready content
Commercial investigationMOFComparison and category pages
TransactionalBOFProduct and landing pages, paid search

Human-in-the-loop gate: strategists approve the cluster taxonomy and intent labels before they are actioned. The model handles scale; judgement stays with the team.

Stage Four - SERP-Overlap Clustering as the Deciding Vote

How Shared Ranking URLs Reveal Google's Own Topic Boundaries

Semantic embeddings group queries by meaning. SERP-overlap clustering groups them by which URLs actually rank. If two queries share three or more of the same top-10 URLs, Google is treating them as closely related - often the same topic. Pull the top-10 results for a sample of queries (respecting crawl budget and rate limits), build a query-by-URL matrix, and cluster on Jaccard similarity. Where embeddings and SERP overlap disagree, SERP overlap usually reflects the current competitive reality and should take precedence for content decisions.

One Page or Many? Turning Overlap Scores Into Content Decisions

A high overlap score (for example, above 0.4 in a worked example) suggests one page should target the cluster. A low score suggests separate pages are warranted. Treat the threshold as a heuristic and validate against your own Search Console data - if Google already shows two of your URLs ranking for the same cluster, you have a cannibalisation problem rather than a consolidation opportunity.

Stage Five - The Opportunity Scoring Formula

Pseudo-Code for a Weighted Opportunity Score

The following is a worked example with stated assumptions - no benchmark implied. Each input is normalised to a 0-1 scale before weighting.

# Worked example only. Weights must be set by a strategist, not the model.
# Inputs are normalised 0-1 across the cluster set.

opportunity = (
    demand_score          # e.g. min-max normalised impressions or estimated volume
    * commercial_value    # strategist-assigned per cluster, tied to margin or pipeline
    * (1 - current_coverage)  # 0 if a dedicated page exists, 1 if none
) / difficulty_proxy      # e.g. avg. domain authority of ranking URLs, or KD

# Example weights (illustrative):
# demand 1.0 | commercial_value weighted 0.0-1.0 | coverage 0/1 | difficulty clip at 0.1
opportunity = (demand * commercial_value * (1 - coverage)) / max(difficulty, 0.1)

Setting Commercial-Value Weights With a Strategist, Not a Model

Demand, coverage and difficulty can be derived from data. Commercial value cannot - it requires a human to say 'this cluster maps to our highest-margin category' or 'this cluster feeds the enterprise pipeline'. Set weights in a workshop with the commercial owner, document them, and revisit them quarterly. The model applies the weights; it does not invent them.

The Cannibalisation Audit: Finding Query-Page Collisions in Search Console

Flagging Multiple URLs Receiving Impressions for One Cluster

Export the Search Console Pages dimension, join it to your query-cluster assignment, and flag every cluster where two or more URLs receive meaningful impressions. This is the operational definition of cannibalisation. In South African retail, seasonal spikes (BFCM, January) often expose these collisions because both URLs start competing for spiking demand.

Consolidation, Redirect or Re-Brief? Three Resolution Paths

Consolidation: merge the weaker page's content into the stronger URL and redirect. Redirect: when one URL has no unique value, 301 it to the primary page. Re-brief: when both URLs legitimately serve different audiences, rewrite both briefs to sharpen topical separation and internal linking. The pipeline should output a recommended resolution path per collision, subject to strategist approval.

Routing Clusters Into Content, Paid Search and CRO

Content Briefs, Paid Search Structure and Landing Page Tests

TOF clusters route to content briefs with AI-retrieval-ready structure. BOF clusters feed paid search campaign structure - one ad group per transactional cluster, with negative keywords drawn from adjacent clusters to prevent overlap. Where organic and paid both land on the same URL, coordinate message match across the two channels. Clusters with high traffic but weak conversion become candidates for conversion rate optimisation tests, not for more content.

Why Cluster-Level Attribution Beats Last-Click Reporting

A cluster often drives assisted conversions that last-click reporting attributes to a brand term or a paid search click. Reporting performance only at last-click systematically undervalues the top-of-funnel clusters doing the discovery work. This is why we build measurement around cluster-level and assisted-conversion attribution, as described in our custom reporting approach.

Where This Pipeline Breaks: Five Traps and How to Avoid Them

Estimated Volumes, Intent Drift and Seasonal Distortion

Three recurring traps. First, treating tool-estimated volumes as measured - they are not, and for South African and EMEA terms the error is often largest. Second, intent drift: label sets expire within a few quarters and must be refreshed. Third, seasonal distortion: a term that looks flat on a 12-month average may spike hard in BFCM or January, and any demand score computed on annual averages will miss it. Use rolling windows and flag known seasonal terms explicitly.

On-site search logs and CRM lead-source fields are personal data when they can be linked to an individual. Under South Africa's POPIA and the EU GDPR, you must have a lawful basis for processing, apply data minimisation and, where possible, aggregate or pseudonymise query data before it reaches the model. Consent-mode and server-side implementations should be reviewed by a legal advisor - this is not a marketing team decision alone.

Measuring Whether the System Works: Coverage, Cannibalisation, Revenue

Coverage and Cannibalisation Metrics

Two leading indicators tell you whether the pipeline is functioning. Coverage: the percentage of priority clusters that have a dedicated, well-optimised page. Cannibalisation: the count of query-page collisions from Search Console, tracked month over month. Both should move in the right direction within a quarter if the routing and audit stages are working.

Traffic-to-Revenue, ROAS and Lead Quality Signals

For e-commerce, tie cluster-level traffic to revenue via a clean data pipeline and review ROAS for clusters used in paid search - not blended, cluster-specific. For B2B SaaS, measure lead quality (MQL-to-SQL conversion) per cluster rather than raw form fills. Assisted conversions should be reported alongside last-click, with the reporting page linked so stakeholders understand the model. When the pipeline is working, the content team stops arguing about priority because the opportunity score, cannibalisation audit and commercial weights already answer the question.

Sources

Get a Quote

Why Choose Us

Here's what sets us apart

  • 500+ Expert Articles

    A content hub covering SEO, paid media, CRO and web design for South African businesses.

  • 200+ Success Stories

    Campaigns and builds delivered across retail, services, B2B and ecommerce.

  • 200+ Happy Clients

    Businesses that trust Prebo Digital with their digital growth.

  • 4.9 Average Rating

    Rated 4.9 out of 5 across verified Google reviews.

  • 24h Response Time

    Questions answered within one business day, every time.

  • Google Premier Partner

    Premier Partner status since 2022, placing us in the top 3% of agencies.

  • Amazon Verified Partner

    One of the first verified Amazon Ads partners in South Africa.

  • Meta Business Partner

    Certified to run paid social across Facebook, Instagram and beyond.

What Our Clients Say

Don't just take our word for it

Featured

“Great service and professional team.”

ES
Emelda Schuster
Featured

“Shout out to Leesha @Prebo Digital for great diligence and care handling our Google Ads account. Other agencies take your money and do nothing until you ask. Not Leesha & Prebo Digital. They do what they say and show up with a friendly face. Work to fix issues. Highly recommended.”

BS
Bradley Schmidt
Featured

“Excellent service and support.”

DB
Des Brown
Featured

“Very skilled and knowledgeable in the digital industry and you understand the importance of budgets. Start-ups do not have hundreds of thousands to spend at first and you guys really make the most of every budget provided.”

CS
Cat street
Featured

“Prebo will take your business to the next level. Extremely smart people, great service. Always go above and beyond.”

MG
Mike Gray
Featured

“A dedicated, knowledgeable and enthusiastic team of individuals that are determined to see your brand grow!”

AW
Alastair Waldeck
Featured

“A great agency to work with that always provides excellent service. Very professional and dedicated team.”

LV
Lynelle van Niekerk
Featured

“In the 4 months since we joined hands with Prebo our leads quantity and quality has increased with much more direct impact on our target market. The team is on point and forever in contact with new ideas and solutions to maximize our potential within the set budget cap. Very innovative group of people!”

RB
Rikus Booyens
Featured

“Great service from Prebo Digital team.”

MC
Mothusi Calvin Mogorosi
Featured

“Great Agency - growth-minded, a diverse team of talented individuals with collaborative success at its heart”

DD
David Delaney
Featured

“Outstanding digital marketing services.”

DD
DUNCAN DUNSHAM
Featured

“Industry experts!”

RB
Ricardo Banda
Featured

“Excellent work and professional service.”

MM
Menzi Mohale
Featured

“Expertise, ethos, excellence”

AJ
Andrew Johnson
Featured

“Professional and reliable service.”

ED
Ebert Du Plessis
5.0/ 5
15 reviews

Keep reading

Related Articles

core web vitals seo web design south africa — seo heroSEO

AI-Powered Technical SEO Audits: A Triage-to-Revenue Playbook for Scaling Stores

This playbook is for teams that already own a crawler and a Search Console property. It assumes you want to cut a 40,000-URL export down to a fix log your developers will actually action this sprint. Context: The 40,000-URL crawl and the twelve issues that mattered Picture a hypothetical Cape Town WooCommerce store running a 40,000-SKU catalogue. A quarterly crawl returns roughly 11,000 rows flagged as issues: duplicate titles, thin category pages, redirect chains, orphaned product variants. The export is intimidating, but in practice perhaps a dozen root causes explain nearly all of it. One misconfigured filter plugin generates thousands of parameter URLs; a stale sitemap points to discontinued products; a theme update dropped canonical tags on paginated archives. The problem is not finding issues; it is separating the twelve that matter from the noise that will consume a quarter. AI changes the economics of that separation. It does not replace the crawler, the browser, or your judgement. It compresses the time between raw export and a short, owned backlog. That distinction is the entire playbook. What AI actually does inside a technical audit (and what it doesn't) Inside a technical audit, a language model is useful for four jobs: clustering near-duplicate issues into root causes, drafting and testing regex against URL patterns, triaging log files into crawl-budget conversations, and summarising rendered-DOM diffs. It is not useful as a source of truth about whether a page is indexed or whether a tag fires. Those answers live in the crawl tool, Search Console, and a browser with the network panel open. Treat the model as a triage assistant that proposes hypotheses; a human signs off every finding. A model that confidently labels 3,000 URLs as “duplicate content” has not verified anything. It has noticed a pattern. Verification is a separate, non-negotiable step covered later in this playbook. Why 'AI-powered technical SEO audit' is not one workflow The phrase covers at least three distinct jobs: (1) issue triage on an existing crawl export, (2) pattern detection across logs and URL inventories, and (3) automated monitoring that flags changes between crawls. Each has a different tool need, a different verification path, and a different owner. A Shopify brand fighting app-generated parameter URLs needs pattern detection and a canonicals conversation, not a content-quality model. A WooCommerce store with plugin bloat needs render-path analysis before it needs anything else. Be explicit about which job you are buying or building. Stage one: Clean the crawl export before any model touches it Most AI triage fails because the input is dirty. Normalise the export first: strip tracking parameters from URL paths, de-duplicate by final canonical URL, and separate indexable from non-indexable rows. A small, repeatable regex pass does more for clustering quality than a larger model. # strip common tracking params from URL paths (run against your export) ^(https?://[^?]+)\?(?:.*&)?(utm_[a-z]+|gclid|fbclid|msclkid|mc_cid|mc_eid)=[^&]*(?:&.*)?$ Also flag rows where status code, canonical, and meta robots disagree. Those disagreements are where root causes hide. Stage two: Cluster 11,000 rows into distinct root causes Feed the cleaned export to a model with a narrow instruction: group rows by the likely underlying cause, not by the symptom. A useful prompt asks for groups defined by URL pattern, template, and status-code signature, then returns the count per group and a one-line hypothesis per group. The output should look like a table, not prose. For example: 4,200 rows matching /product/*?filter_* with 200 status and self-referencing canonicals; 1,100 rows matching /product/discontinued-* returning 404 but still in sitemap; 600 rows with duplicate titles across paginated category archives. That is a triage result a developer can act on. Stage three: Natural-language triage of log files and URL patterns Server log files are excellent model input because they are repetitive and pattern-rich. Ask the model to summarise crawl requests per URL pattern, identify patterns Googlebot requests heavily but that return 4xx or redirect, and flag any pattern receiving zero crawl requests despite being in the sitemap. The goal is to align crawl budget with revenue pages, not to maximise total requests. Google's crawl budget guidance is the reference frame here: crawl demand and crawl capacity interact, and a model can help you see where the two are misaligned. Where the model is confidently wrong: the four failure modes to expect Failure mode What you will see Verification action Hallucinated canonical Model claims a canonical tag exists on a page where it does not View source and crawl tool's rendered HTML side by side Misread status code Model treats a soft 404 as a real 404 or vice versa Check response in browser network tab and Search Console Over-clustering Two unrelated URL patterns merged into one “root cause” Spot-check five URLs from the group manually Stale crawl snapshot Model reasons from a crawl older than the last deploy Re-run crawl on staging or live before acting The three-part verification gate every AI-detected issue must pass Gate one: reproduce the issue in your crawl tool with the current deploy. Gate two: confirm the behaviour in Search Console's Page indexing report or URL Inspection. Gate three: open the URL in a real browser with cache disabled and confirm what a user, and Googlebot, would actually see. An issue that passes all three goes into the fix log. An issue that fails any of them goes back to the model as a false positive, and you note the pattern so future triage improves.

Oct 17, 202610 min read
Read more
Professional healthcare seo optimization optimization in actionSEO

NLP Content Optimization: How to Score, Diagnose and Prove Content Works Before You Publish

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.

Oct 17, 202610 min read
Read more
manage multiple google accounts south africa — seo heroSEO

AI SEO Tools in South Africa: What to Buy, What to Skip, and What It Costs in Rands

A Johannesburg team with three USD-priced seats on the table A Johannesburg-based e-commerce brand turning over R40m a year, running between R2m and R10m a month in paid media, has a familiar problem. The marketing manager has three AI SEO tools quoted on USD subscriptions, one junior SEO hire on the table, and a board that wants to know why organic revenue has been flat for two quarters. The quote is not the hard part. The hard part is deciding which of those seats earns its place in a stack that already includes GA4, Search Console, Shopify, Klaviyo and a reporting layer. This guide is not another explainer on what AI SEO is. It is a procurement document for South African teams who already understand the category and now have to sign annual contracts in dollars, justify the spend in rands, and make sure whatever they buy does not create a POPIA problem. If you want the strategy layer instead, Prebo Digital covers it in SEO / AI SEO services . Why 'AI SEO tools' is not one product category The single biggest procurement mistake is treating AI SEO software as a single decision. These platforms do very different jobs. Some replace keyword research. Some compress technical audit time. Some score content. Some attempt to track how often your brand appears in AI answers. Some automate internal linking. Some simply format reporting. Bundling them into one line item hides the fact that you may be paying for a content tool when your actual bottleneck is crawl budget or internal linking. Buy the tool that fixes your bottleneck, not the tool with the most impressive demo. A R3,500-per-month seat that solves your worst constraint beats a R700 seat that duplicates something you already own. Mapping the tool landscape by job to be done Six job categories matter for most South African mid-market teams. Grouping your evaluation this way forces a conversation about function rather than brand familiarity. Job to be done What it replaces Typical SA buyer Research & topic discovery Manual keyword spreadsheets, agency proposal research In-house content lead Technical audit Manual crawl reviews, developer handover docs SEO manager + dev team Content optimisation & scoring Editorial briefs, repeated copy reviews Content + brand teams AI-visibility / LLM mention tracking Nothing reliable existed before 2023 Brand and PR teams Internal linking automation Manual link audits on large catalogues E-commerce and publishers Reporting & dashboards Manual Looker Studio builds Marketing ops Research and topic discovery tools: what they actually replace Tools in this category ingest Search Console, competitor SERPs and question databases, then surface topic clusters. They are genuinely useful for teams producing 8 to 20 long-form pieces a month. They are less useful if your content velocity is under four articles a month, because you will not exhaust the queue they generate and you will keep paying for unused capacity. Technical audit tools: where AI genuinely compresses time Technical audit is the strongest AI use case in SEO. Crawling, grouping issues by template, estimating impact and writing a developer-ready ticket used to take a mid-level specialist a full working week on a 20,000-URL site. Cloud-based auditors now do the crawl and the grouping, leaving the specialist to triage and prioritise. That is real hours saved on large South African retail and marketplace domains where templated issues dominate. Content optimisation and scoring tools: useful, with a caveat Content scoring tools grade how well a draft covers a topic versus top-ranking pages. They help junior writers reach a baseline faster. The caveat: scores are proxies, not outcomes. Google's own guidance says AI-generated content is acceptable when it is helpful and people-first, and no scoring vendor can verify that. Treat scores as a checklist, not a target. A page that scores 92 but reads like it was assembled by committee will not hold rankings against a genuinely useful competitor page. AI-visibility and answer-engine tracking: the newest, least standardised layer This category attempts to track how often your brand appears in AI answers across assistants and AI Overviews. Names currently in evaluation conversations include Profound, Ahrefs Brand Radar, Semrush's AI toolkit and SE Ranking's AI tracking. Be clear internally: this is the newest and least standardised layer in the stack. Methodology differs per vendor, prompt sets are opaque, and results move week to week as models update. Buy it as a directional brand-health signal, never as a primary KPI. Prebo Digital measures this layer carefully because we have seen the variance first-hand; see how it lands in our custom reporting approach . Internal linking and site architecture automation For e-commerce and publishers with thousands of URLs, AI-assisted internal linking is one of the few categories where the ROI is easy to argue. These tools suggest link targets based on semantic relevance, then push updates to your CMS or a staging environment. On Shopify and WooCommerce stores, confirm write-access behaviour before purchase: some tools only suggest, others modify, and the difference matters to your dev team's release process. Never let a link-automation tool write directly to production without a review queue. A bad batch of internal links can dilute topical signals across thousands of pages in one deploy. The ZAR reality: converting USD seats, VAT and FX exposure Almost every AI SEO tool bills in USD. At the prevailing rate, a $99-per-month seat lands in the region of R1,800 to R2,000 before VAT, and that is an estimate that moves with the exchange rate, not a fixed price. Add 15% VAT for South African entities and the effective monthly cost of the same seat rises again. Annual prepay locks in today's rate but exposes you to a weaker rand tomorrow if you would have been better paying monthly. Many South African teams now budget at a 10 to 15% FX buffer and revisit contracts quarterly rather than signing 24-month deals. Which tools fit a 1-5 person marketing team Small teams should buy depth in one or two categories, not breadth across six. The best fit is usually a combined research and audit platform plus native GA4 and Search Console reports. Skip content-scoring tools until you have a consistent publishing cadence, and skip AI-visibility tracking until you have a brand worth tracking. Which tools fit a 5-20 person or multi-brand team This cohort usually needs a research platform, a technical auditor, a content workflow layer and reporting. Multi-brand or multi-market operations should prioritise seat pooling, role-based permissions, and shared project templates. This is also the tier where AI-visibility tracking starts to make sense because a brand manager can own the reporting without a dedicated analyst. Which stack suits a 20+ team with a data warehouse Large teams with a warehouse and BI layer should buy tools that expose APIs and raw data, not dashboards. If a tool cannot push clean data into your warehouse, it becomes another silo and another reconciliation problem. This tier benefits most from a small number of API-first tools stitched into a custom reporting layer, rather than four overlapping SaaS seats. The pattern is closer to Prebo Digital's own reporting philosophy than to a plug-and-play SaaS subscription.

Oct 16, 202611 min read
Read more
core web vitals seo web design south africa — seo heroSEO

Ecommerce SEO for Online Stores: A Catalogue-First Playbook for Organic Revenue

Context: The Store Where Only the Homepage Ranks Picture a South African online store with roughly 400 SKUs, a decent brand, and a Shopify or WooCommerce build that looks fine. Search Console tells a story the owner did not expect: the homepage collects most impressions, a dozen product URLs show up occasionally, and almost no category or collection pages rank at all. Organic sessions are flat quarter on quarter while paid traffic climbs. That pattern is rarely a content problem. It is a catalogue architecture problem. Search engines can only rank what they can crawl, understand, and differentiate, and most stores accidentally hide their highest-value pages: the category and collection URLs that match commercial search demand. This playbook is about fixing the organic search layer that sits on top of whatever design you already have. Why Ecommerce SEO Is Catalogue SEO, Not Blog SEO The unit of work in ecommerce SEO is the template, not the individual page. A category template, a product template, a faceted collection template. Fix the template once and the fix scales across hundreds of URLs. That is the leverage most stores miss. Many teams over-invest in blog posts because a blog feels approachable, and under-invest in category pages because those pages are generated by the platform and feel untouchable. The result is a site with informative articles ranking for informational queries while the money queries - where a buyer is ready to compare and purchase - go unanswered by your own domain. A store with 20 strong category pages will typically out-earn the same store with 200 blog posts and thin collections. Rankable demand lives closer to the transaction. The Three Page Types That Carry Commercial Intent (and How They Differ) Not every page in your catalogue serves the same search intent. Treating them identically is the root cause of a lot of wasted optimisation effort. Page type Search intent Primary optimisation focus Typical failure mode Category / collection Commercial, broad Descriptive H1, unique intro copy, filtered internal links to sub-collections Empty page with only a grid of product thumbnails Product detail Long-tail plus brand+model Unique specs, sizing, use-case copy, review signals, accurate schema Manufacturer copy reused verbatim across every listing Supporting content Informational Answer the question, then link to the relevant collection Orphan posts with no path back to a purchasable page Category and collection pages: the most under-optimised asset in your store Category pages match the phrasing buyers actually type: 'running shoes men', 'espresso machines under R5000', 'load shedding backup power'. Yet most platforms generate these pages with a title tag set to the collection name, a single line of boilerplate, and zero internal links pointing into deeper, more specific sub-collections. When you add a genuine descriptive paragraph above or below the grid - written for a human, not a keyword list - you give the page something unique to rank on. Product pages: winning long-tail and brand-plus-model queries Product pages capture the most specific demand: part numbers, exact model names, colour plus size combinations. These pages need structured specification data, accurate pricing and stock signals, and copy that answers practical questions - does it fit a particular application, what is in the box, what are the delivery timelines. Search engines increasingly surface product pages based on what the page demonstrates about the item, not just what the title says. Supporting content: feeding the funnel, not replacing it A guide or comparison post has one job in an ecommerce context: rank for an informational query and hand the reader to a catalogue page that answers the commercial version of that question. If your posts cannot link to a strong collection page, the traffic they earn has nowhere to convert. Index Bloat, Faceted Navigation, and Crawl Budget: The Store-Specific Problem This is the issue that most distinguishes ecommerce SEO from other kinds. Faceted navigation, sort parameters, internal search URLs, and pagination can multiply a 400-product catalogue into tens of thousands of near-duplicate or thin URLs. Left uncontrolled, these dilute crawl demand, consume index space, and can leave genuinely important pages waiting to be crawled. The decision framework is simple in principle and fiddly in practice: decide which facet combinations have real search demand, index those, and provide a clean path for everything else. A robots.txt disallow is a blunt tool - it stops crawling but not indexing if other signals point to the URL - so canonical tags and, where appropriate, meta robots directives usually do the job better. # Example: allow single-facet URLs with search demand, block sort and view parameters User-agent: * Disallow: /*?sort= Disallow: /*?view= Disallow: /search Allow: /collections/running-shoes?colour=black # On low-value parameter URLs, prefer a self-referencing canonical # Canonicalising every filtered URL back to the parent collection can suppress genuine long-tail demand. Facets like colour, material, and size sometimes map to real buyer language - test before you flatten them. Thin and Duplicated Product Descriptions: What Actually Differentiates a Listing Manufacturer-supplied descriptions are the norm across ecommerce. The problem is that many retailers publish the same copy, so no listing has a reason to be preferred over another. Google's own guidance on people-first content reinforces that pages should exist to help a user, not to replicate text for the sake of having something in the field. A useful starting point: for each product, add specification tables, sizing guidance, compatibility notes, local delivery and warranty information, and answers to the two or three questions your support inbox already receives about that item. That is unique content, not padded content - and it gives search engines something to differentiate your listing on. Shopify vs WooCommerce: Where the SEO Work Actually Sits The platform you choose determines which parts of ecommerce SEO you inherit and which parts you must build. Neither platform removes the work; they move it. Area Shopify WooCommerce Canonicalisation Handled automatically for products and collections in most cases Configured by the developer; default behaviour depends on the SEO plugin and theme URL structure Fixed patterns; limited control over paths Full control via permalink settings and custom post types Collection handling Known duplicate-collection URLs; requires attention when a product sits in multiple collections Shop pages and taxonomy archives are yours to structure Structured data Theme-dependent; some markup out of the box, but often incomplete Plugin-driven; verify what is emitted rather than assuming Performance Managed hosting baseline; app sprawl is the usual culprit Entirely in your hands - hosting, caching, scripts A practical way to think about this: on Shopify you focus on content, catalogue structure, and third-party app hygiene. On WooCommerce you also own canonicals, indexation rules, server response times, and caching strategy. If you are migrating between the two, plan the redirect map and canonical strategy before launch, not after.

Oct 13, 202611 min read
Read more

Need Help?

Office 17, Block A, Willowbrook Office Park, Roodepoort, 1724

Get SEO Consultation

Speak with our SEO specialists to boost your rankings. Free comprehensive SEO audit (worth R2,500).

GET FREE SEO AUDIT

Why Choose Us for SEO

What working with Prebo Digital gets you on every SEO project

200% Traffic Growth

Clients average a 200% lift in organic traffic, with some accounts closer to 350%.

First Page Rankings

We target the commercial keywords that put your business on page one of Google.

5+ Years SEO Experience

Half a decade of South African search campaigns behind every strategy we build.

Google Partner Status

Google Premier Partner status, verified and maintained since 2022.

Why Choose Us

Here's what sets us apart from the competition

500+ Expert Articles

A content hub covering SEO, paid media, CRO and web design for South African businesses.

200+ Success Stories

Campaigns and builds delivered across retail, services, B2B and ecommerce.

200+ Happy Clients

Businesses that trust Prebo Digital with their digital growth.

4.9 Average Rating

Rated 4.9 out of 5 across verified Google reviews.

24h Response Time

Questions answered within one business day, every time.

Google Premier Partner

Premier Partner status since 2022, placing us in the top 3% of agencies.

Amazon Verified Partner

One of the first verified Amazon Ads partners in South Africa.

Meta Business Partner

Certified to run paid social across Facebook, Instagram and beyond.

Frequently Asked Questions

Find answers to common questions

SEO involves enhancing your website's visibility on search engines to attract more organic traffic.

We employ data-driven strategies, including keyword research, on-page and off-page optimisation, and technical SEO, to improve your search engine rankings.

Our SEO services aim to boost your online visibility, increase website traffic, and drive higher conversions.