Quick answer: On 23 September 2026 our sitemap listed 705 URLs and Google Search Console reported 7 indexed. We crawled every English page, built the internal link graph, and found six defects. Fixing them measurably improved the site. None of them was the reason only 7 pages were indexed.
The starting position
| URLs in sitemap | 705 |
| Discovered by Google | 705 |
| Indexed | 7 |
| Referring domains | 43 |
Discovery was never the problem. Google had read the sitemap that day and found every URL. The gap between 705 discovered and 7 indexed is a decision, not a failure of plumbing.
We crawled all 178 English pages, parsed each one, and built the link graph from rendered HTML rather than from a site map we drew ourselves. Six things came out of it.
1. The glossary was a set of leaves
Twenty-three definition pages, each one targeting a head term. The link graph said this:
pages linking to any glossary term: { "/glossary": 23 }
median blog -> glossary links: 0
median pillar -> glossary links: 0
The index linked every term. Nothing else linked any of them. Eighteen terms had exactly one inbound link on the whole domain; the other five appeared in the site-wide menu, which is boilerplate and discounted as boilerplate.
We linked the first mention of each defined term inside article prose, and gave every term four sibling links on a ring so that the two terms no article happens to mention are covered too. In-content links into the glossary went from 23 to 617, and the worst-linked term went from one inbound link to five.
2. Cloudflare was in front of the site and cached none of it
cache-control: public, max-age=600, must-revalidate <- origin asked
cf-cache-status: DYNAMIC <- Cloudflare declined
Cloudflare does not cache HTML by default, whatever the origin asks for. It needs an explicit Cache Rule. Every one of those 705 URLs was served from a single machine on every hit, including every crawl.
Measured over six samples, with the client TLS round-trip subtracted so what is left is response time: 346 ms from the origin, 186 ms from the edge.
3. Most of the site was published in one language
Forty-nine guides, sixteen tools and twenty-three glossary terms are published in seven languages. Eighty-two blog posts and four commercial pages are published in one. The hreflang count tells you which is which without reading a word: nine alternates on a translated page, one on an untranslated one.
4. FAQ schema on 59 pages would have been wasted work
The obvious next item was the 59 pages with no FAQPage markup. Checking Google’s documentation before writing any of it turned up that the feature was narrowed to government and health sites in September 2023 and removed from Google Search entirely in May 2026.
The visible question-and-answer content is still worth writing, because answer engines lift it and readers use it. The schema alone buys nothing in Google. This is the cheapest kind of win available on any audit: the work you find a reason not to do.
5. Our images did not match our pages
Every guide carried a generated hero image, and the images were abstract by rule — the page about community advice showed a pile of pebbles. Unique and irrelevant is still filler, and it is worth nothing in image search, which reads the page around the picture and expects the two to agree. We rewrote every scene to depict its subject and regenerated all 72.
6. The thing none of the above fixes
Forty-three referring domains.
Internal linking raises the value of a page that gets crawled. Edge caching makes each crawl cheaper. Translation multiplies the addressable pages. Schema makes a crawled page easier to understand. Every one is worth doing and we did them.
None of them changes how much crawling a domain is granted. That is set by how many independent sites vouch for it, and at 43 referring domains across 705 URLs the allocation is the ceiling. A technically perfect site with no links is a technically perfect site nobody reads.
What we would tell a merchant with the same symptom
If Search Console says discovered, currently not indexed on most of your URLs:
- Check it is not a duplicate problem first. Different symptom, different fix — our canonical URL definition covers the distinction.
- Stop adding pages. More URLs on a domain with a small crawl allocation makes the ratio worse, not better.
- Make the pages you have easier to reach. One inbound link is not enough, and a menu link is not an editorial link.
- Earn links. It is slower and harder than any technical fix, which is exactly why most audits end before they get to it.
A free technical audit will find the first three on your store in minutes. The fourth is the work.
