How we score a product
Katapic gives every product four scores out of 100. Two score the text, SEO and AI search, and are explained here signal by signal. Brand relevance checks whether the listing fits your company profile and agrees with its own title and category; completeness, covered further down, scores the data fields the channels read before the text. The two text scores are kept apart because they fail for different reasons. We publish the fifteen text signals and their exact weights because a score you cannot audit is a number, not a diagnosis.
Search visibility, 8 signals
Checks that make a product easier for a classic search engine to understand and match to a query. They are our heuristics, not Google’s ranking factors.
| Signal | Weight | What it measures |
|---|---|---|
| Readability | 10% | Sentence and word complexity, on a scale calibrated for the language of the listing: eight languages use a published index, Japanese and Chinese a sentence-length proxy we declare as such, and a text too short to tell its language uses LIX, an index that works in any language. On a product only sentences are read: table cells, headings and items like "Colour: black" are data and stay out. |
| Keyword density | 15% | How often the target keyword appears. Full marks between 1% and 2.5%, our threshold rather than a search engine rule; stuffing is penalised. In a short text, under 40 words for each word of the keyword, a single mention already gets full marks. |
| Keyword in the opening | 15% | Whether the target keyword appears in the first 200 characters. |
| Length vs platform norm | 15% | Description length against our reference band for the platform the product is sold on. Length alone does not rank a page, so on a product the signal only flags texts too short to describe it or longer than the platform maximum, and is neutral in between. Category pages keep their own band. |
| Vocabulary uniqueness | 10% | Distinct words over total words, lowered by stock marketing phrases recognised in ten languages. Catches boilerplate copied across a catalogue. On a category page it counts repeated sentences instead, because the typical flaw there is one paragraph pasted on forty categories. |
| Opening length | 10% | On a product, whether the first sentence runs from 80 to 200 characters: enough to say what the product is, short enough for a snippet. On a category page, whether the first paragraph runs from 25 to 90 words. |
| Structured hints in the text | 15% | Identity cues a parser can pick up: the brand named, when the product has one, a measurement or size, the category word, a model or code. Two are enough. Price does not count: it has its own field and does not belong in the text. |
| Sentence variety | 10% | Variation in sentence length. Flat, identical rhythm reads as generated. With fewer than three sentences there is no rhythm to measure: the value is neutral on a product and low on a category page, which should say more. |
AI search visibility, 7 signals
Whether an assistant can lift a usable, attributable statement out of the listing. Five of the seven signals, 72% of the weight, follow interventions measured by the peer-reviewed GEO study below: citations, statistics, authority and clarity. Question and answer structure and markup depth are our own additions for product pages.
| Signal | Weight | What it measures |
|---|---|---|
| Citation density | 5% | Links and attribution phrases, recognised in all ten supported languages. |
| Quantitative claims | 28% | Concrete specifics, each counted once: numbers with units, sizes, and values such as a table row or a "Colour: black" item. Assistants quote specifics. |
| Factual clarity | 20% | Share of short declarative sentences, at most 22 words. Long clauses are hard to lift, and on a product a sentence built on a stock phrase does not count. |
| Question and answer structure | 14% | Questions, and the parts an assistant can map onto a user question. On a product these are list items and table rows that carry a value, each fact counted once, while headings alone do not count; on a category page headings count too. |
| Authority signals | 14% | A brand mention, distinct years and certifications: what makes a claim traceable to someone. Repeating the brand adds nothing. |
| Markup depth | 14% | Whether the text is organised rather than one flat block: paragraphs, a list, a table with values, headings. Their presence counts, not how many there are, and a list that only repeats the table adds nothing. |
| Source attribution | 5% | Whether key claims are attributed to a real source, counted in absolute terms. |
Each axis is a weighted sum of its own signals. The weights on each axis add up to exactly 1.00, so a score is always out of 100 and no signal can quietly dominate.
What a score tells you, and what it does not
A score measures how a listing does against these checks. It is not a prediction of traffic, citations or sales. The thresholds are ours: no search engine publishes a keyword density or a length it rewards. Google lists keyword stuffing among the things not to focus on, and says length alone does not matter for ranking. The thresholds are here to flag a text that is thin, stuffed or off topic. To see whether a change moved anything, connect Search Console: Katapic compares clicks and impressions before and after each fix. To see whether AI answers cite your store, use the visibility check.
How we score a category page
A category page answers a different question than a product does. Not "what is this" but "which of these do I pick", so it is scored with its own rubric. Two of the fifteen product signals are missing here on purpose: they look for a price, a measurement and an article code, and a category has none of those and should not. In their place are two signals that would make no sense on a product.
Search visibility, 8 signals
The same signal names as a product, measured for a page that sits above a product grid. The length band is shorter and has an ideal, 150 to 300 words, because under a category description sits the product grid, and that is what the visitor came for. Where a signal is measured differently, its description says so.
| Signal | Weight | What it measures |
|---|---|---|
| Readability | 10% | Sentence and word complexity, on a scale calibrated for the language of the listing: eight languages use a published index, Japanese and Chinese a sentence-length proxy we declare as such, and a text too short to tell its language uses LIX, an index that works in any language. On a product only sentences are read: table cells, headings and items like "Colour: black" are data and stay out. |
| Keyword density | 15% | How often the target keyword appears. Full marks between 1% and 2.5%, our threshold rather than a search engine rule; stuffing is penalised. In a short text, under 40 words for each word of the keyword, a single mention already gets full marks. |
| Keyword in the opening | 15% | Whether the target keyword appears in the first 200 characters. |
| Length vs platform norm | 15% | Description length against our reference band for the platform the product is sold on. Length alone does not rank a page, so on a product the signal only flags texts too short to describe it or longer than the platform maximum, and is neutral in between. Category pages keep their own band. |
| Vocabulary uniqueness | 15% | Distinct words over total words, lowered by stock marketing phrases recognised in ten languages. Catches boilerplate copied across a catalogue. On a category page it counts repeated sentences instead, because the typical flaw there is one paragraph pasted on forty categories. |
| Opening length | 10% | On a product, whether the first sentence runs from 80 to 200 characters: enough to say what the product is, short enough for a snippet. On a category page, whether the first paragraph runs from 25 to 90 words. |
| Range coverage | 10% | Whether the text names what is actually inside: the types, formats, sizes or materials present, rather than a paragraph that would fit any category in the shop. |
| Sentence variety | 10% | Variation in sentence length. Flat, identical rhythm reads as generated. With fewer than three sentences there is no rhythm to measure: the value is neutral on a product and low on a category page, which should say more. |
AI search visibility, 6 signals
Whether an assistant can lift a usable answer to "which one should I get". Sources weigh little here, as on a product: a category page states almost nothing that needs backing, and rewarding citations would only push toward inventing one.
| Signal | Weight | What it measures |
|---|---|---|
| Selection criteria | 30% | Whether the text explains what to choose on: use, material, size, budget. It is the heaviest signal of the axis, because it is the whole job of a category page. |
| Question and answer structure | 20% | Questions, and the parts an assistant can map onto a user question. On a product these are list items and table rows that carry a value, each fact counted once, while headings alone do not count; on a category page headings count too. |
| Factual clarity | 20% | Share of short declarative sentences, at most 22 words. Long clauses are hard to lift, and on a product a sentence built on a stock phrase does not count. |
| Quantitative ranges | 15% | Ranges rather than single figures ("36 to 42", "3 to 12 litres"): they describe the set, where a product describes one item. |
| Source attribution | 10% | Whether key claims are attributed to a real source, counted in absolute terms. |
| Citation density | 5% | Links and attribution phrases, recognised in all ten supported languages. |
The AI-search rubric is adapted from this peer-reviewed study: GEO: Generative Engine Optimization, KDD 2024
From score to grade
The letter beside each score is a plain band, not a curve. It does not move with how other stores are doing.
A
85+
B+
75-84
B
70-74
C+
60-69
C
55-59
D
40-54
F
0-39
The third check: structured fields
Text is not everything. Google says a GTIN helps a listing be found and that accurate matching cannot be assured without one, and the OpenAI product feed specification requires brand, price and availability, with optional fields for category, material, dimensions and condition. A listing can score well on all fifteen text signals and still be hard to match, because channels match products on fields as well as on text. Katapic checks those separately, validating barcodes with the GS1 check digit and categories against the published Google taxonomy.
The fourth axis: Completeness
Text is scored by the fifteen signals above. Completeness scores something else: whether the fields the channels read before the text are there and valid. It is the same calculation as the data readiness check of the public store scan, published here with its bands. It uses no AI and spends no credits.
Identity and fields
A barcode that passes the GS1 check digit, or the declaration that the product has none; brand; category, with the Google category confirmed; price and currency; availability; condition; dimensions and weight; attributes.
Images
At least one image; the main image at 500 by 500 pixels or more (Meta today, Google from 2027); a format the channels accept; a square main image; no picture shared by several products.
Texts
A title that is not all in capitals and carries no promotional words; a description long enough, not identical to another product, with clean HTML; quantities in the title that agree with the text.
Duplicates and coherence
Products that share a title; products that differ only by size, colour, quantity or pack, proposed as variants of one product; a discount that is not above the price.
Sync
Products never synced to the store, products edited after the last sync, and syncs that ended in an error.
Channel readiness
For Google Shopping, Meta, the ChatGPT feed, the store, the PDF catalog and AI answers: the required fields of each published specification, checked one by one.
Completeness is good from 80 and fair from 50. The 42 checks carry a severity that follows data readiness: a missing identifier weighs more than a title in capitals.
Public rules the checks come from: the Google Merchant Center product data specification, the OpenAI product feed specification, the Meta catalog fields reference and the GS1 check digit. Every finding in the app links to its rule.
Fixes that need no AI are free, with no limit
Titles in capitals, messy HTML, the condition, the declaration of a missing manufacturer barcode, the grouping of variants, the Google category, the store category and, for merchants who sell their own products, their own brand, a square main photo and the score of products never scored are deterministic: Katapic proposes each fix with a preview and a count and applies it only on your confirmation, and the fixes that change your data can be undone for 30 days. No credit is spent on them, however many you run, because no AI is involved.
What the score never does
- It never generates an identifier. Google asks never to guess a GTIN and says a missing or incorrect one may limit visibility, so a made up barcode is worse than none. We detect, validate and report; we never synthesise.
- It never rewards invented facts. A product legitimately without a barcode is not a defect, it is a different finding.
- It never compares you to other stores. The bands are fixed, so your score means the same thing in January and in June.
See these signals on your own products
An SEO score and an AI search score for each of your latest products, without an account. All four scores with a free account.
Scan free