Get Found · 4 / 6

Dissecting This Site: Google Indexes 693 Pages, Bing Only 50

The checklists and levers from the last two lessons all land on one real patient this time: Xiaoshan Academy itself. On 10 August 2026 we ran a full-site SEO / GEO audit, found ten gaps, and fixed a first round that same week. This lesson picks the five most representative ones. For each: how we found it, what we changed, how we check.

Real caseIndex comparisonAudit reportSoft-paywall teardown
First, the patient's baseline

On audit day the site looked like this: 759 HTML pages, Chinese / English / Korean, and almost all of them already had a description (743 pages) and JSON-LD (741 pages)2026-08-10 live check. In other words, last lesson's minimum viable checklist mostly passed. By a lot of tutorials' standards, this already counted as "a site that does SEO well."

Then we ran the live checks and the illness showed. That is why this chapter keeps saying "check it yourself": passing the checklist does not mean you are healthy. The numbers are the diagnosis. The first live check found the biggest disease in the room.

Try it · First live check: index counts on both sides

Lesson 1's three-minute rough exam starts with a site: query. Run that step on this site and you get the following. Tap the button to run it once.

site:xueai.app index count, live 2026-08-10 snapshot
Same site, same day, two engines
Google
Bing
Almost 14× apart — and the short end is the deadly one. Last lesson's setup pays off here: ChatGPT's web search leans heavily on Bing's index. If Bing only knows 50 of your pages, the other 640 can be beautifully written and ChatGPT still will not turn them up when a user searches. Diagnosis: in Google's eyes this is a content site; in ChatGPT's eyes it barely exists. The prescription is in the audit report below (gap 1).

The cause, in hindsight, is typical: the webmaster tools were registered with Google only. Bing was left to crawl on its own. Google's crawler is busy and has a large quota, so it can eventually cover the site; Bing is conservative with small sites that never submitted. The content was not different. You just never said hello to Bing.

Try it · Audit board: five gaps, one by one

Of the ten gaps, these five have the most teaching value. Tap each one and read it as "how we found it / what we changed / how we check." Notice that every "found" is a copyable action — you can run the same move on your own site.

2026-08-10 audit report (five excerpts) Opened 0 / 5
Tap a row to expand it
1Bing indexes about 50 pages; Google about 693
FoundRun site:xueai.app once on each engine and compare the counts by eye. Thirty seconds.
FixRegister Bing Webmaster and submit the sitemap; hook up IndexNow so the deploy script pushes changed URLs to Bing automatically. The first push got a 403 because the key file was not on the site root yet. After key verification it recovered.
CheckTarget: Bing index from 50 to 300+ within two weeks. Log the number in webmaster tools once a week.
2The sitemap missed every English and Korean page — about 470 URLs
FoundOpen your own sitemap.xml and count entries: about 330, all Chinese pages. The site clearly has .en and .ko pages, all waiting to be discovered by chance via inbound links. English is exactly the language overseas AI engines cite most — we had given away half the GEO table.
FixChange the generator: each lesson page emits three <url> entries, Chinese / English / Korean, and the entries point at each other with hreflang so engines know they are translations of the same page, not duplicates.
CheckSitemap entries from about 330 to about 800. No format errors in webmaster tools.
337 native Q&A pages marked only as Article — FAQ citations thrown away
FoundThis site's Beginner FAQ series is one question and one answer per page ("What is a token", "Why is AI customer service so dumb") — exactly the questions beginners type into AI as-is. The JSON-LD only had type Article. Last lesson's FAQPage lever was unused.
FixThe build script injects an extra FAQPage on this batch: page title as Question, the opening answer-block text as acceptedAnswer. Fully automatic — no page-by-page writing.
CheckGoogle rich-results test passes; once a month, ask Perplexity this batch of questions and log how often this site is cited.
4JSON-LD had no dates — AI engines could not judge freshness
FoundSpot-check a few pages' JSON-LD: no datePublished, no dateModified. For questions like "where should I start learning AI in 2026", engines lean toward content that can prove it is fresh.
FixNo hand-typed dates: the script takes each page's first commit and latest content commit from git, writes them into JSON-LD, caches them, and injects them at build time.
CheckSpot-check ten pages: schema validates, dates match git history.
5Analytics dropped all bot traffic — GEO could not be measured
FoundThe traffic script filtered out every bot request to keep the numbers clean. Human visits looked tidy. The cost: no idea whether GPTBot came, or what it fetched. Whether the rebuild had entered AI indexes — no dashboard at all.
FixChange filter to archive: store bot requests separately, count daily volume and hot paths for GPTBot, ClaudeBot, PerplexityBot, Bytespider and the rest by UA, and add an "AI crawls" table in admin.
CheckAdmin can show each AI crawler's last-7-day crawl curve. Last lesson's "GEO dashboard" is this table.
Five opened — notice the common thread: every fix went into a script and a process. Not one of them is handmade. One person maintaining hundreds of pages will leak by hand; making the build script do it right on every deploy is the SEO posture of a one-person company.
Try it · Soft paywall: let crawlers see paid content without giving it away

This site has a contradiction it cannot dodge: five hundred-plus pages (English and Korean versions included) require login, but if you wall off the whole page, engines and AI cannot grab a single word either. Before the audit that was the "hard paywall" — 531 gated pages were invisible to engines. After the rebuild it became a "soft paywall." Switch to see what users and crawlers each see under the two walls.

Hard paywall vs soft paywall Switch
What a logged-out user sees
xueai.app/slides/agent-3.html
Source the crawler gets (excerpt)

A soft paywall and cloaking that fools engines are one sheet of paper apart. What separates them is the line isAccessibleForFree: false: say plainly in JSON-LD that "this page has a paid part, and here is the gated range." That is Google's officially accepted approach (Flexible Sampling). Delete the declaration, give the engine the full text and the user an empty page, and you have slid into a violation. After the change: 531 gated pages are fully crawlable; indexable pages went from 28 to 186, then to the full set after the audit2026-08 change log.

Try it · Before and after: flip six cards

The scorecard of the whole rebuild sits on six cards. Tap one to flip one. The top-left card is the most important reminder: some numbers will not move on rebuild day. You wait for the engine to digest.

Before → after Flipped 0 / 6
Number snapshot: 2026-08-10 audit and that week's change log
sitemap entries
~330 entries
Missed every EN/KO page
llms.txt system
TOC only
No full-text edition
Q&A structured data
0 pages
All marked as plain articles
Freshness signals
None
Engines could not judge recency
AI crawler monitoring
All dropped
GEO flying blind
Bing index
~50 pages
Will not move on rebuild day
Notice the honesty of the last card: Bing's index count will not grow by a single page on rebuild day. SEO and GEO actions finish that day; the effect is counted by the week. That is why every check is written as "within two weeks" or "log once a week" — with a clock on it. SEO that "works the same day" is usually a con.

A word on the work behind the six cards: half a day to audit, the rebuild concentrated in one week, almost all of it changing one build script. One person, one week, almost zero cash cost — that is the real price of SEO / GEO for a one-person company once every action is scripted.

Copy-this list · Run the same audit on your site

Every move in this audit is copyable. An afternoon is enough. In order:

  1. Run a site: query on Google and on Bing. Log both numbers. A big gap tells you which one to fix first.
  2. Open your sitemap.xml, count entries, and match them against the real page count. What is missing is what the engine does not know.
  3. Pick five random pages and read the source: is the body there, is there a description, is canonical correct, does JSON-LD carry dates.
  4. Find every Q&A-shaped page on the site and check whether they are marked FAQPage.
  5. Search the request logs for GPTBot. If you find nothing, check whether analytics or the firewall dropped it.
  6. If you have paid content, look at gated pages from a crawler's view (curl or the webmaster fetch test) and confirm the engine and the user get the same document.

Log one line per check: current state, impact, fix. When you are done, that is your site's audit report.

The rebuild's rhythm chart

Finally, the schedule of this rebuild, for when you plan your own version. The core rule: prioritize in three layers — "the engine cannot see it," "it can see it but will not cite," "amplify and defend" — finish one layer before starting the next.

PhaseWhat to doWhy this slot
Week 1Fill multilingual sitemap, llms-full.txt, missing descriptions; register webmaster tools and submitAll "cannot see" diseases. Leave them and everything after is wasted. The three changes hit the same build script — one deploy
Week 2FAQPage structured data, JSON-LD dates, crawler-monitoring panelThe "can see but will not cite" layer. The monitoring panel must go live before the content moves, or later effects have no dashboard
Weeks 3–4One-sentence answer blocks across the siteThe only content workload counted in weeks: hundreds of summary sentences drafted in bulk by AI, then a human pass. It is last because it is slow, not because it is unimportant
Weekly routineLog index counts, watch crawler curves, watch AI-source referrersThe rebuild is one-shot; measurement is long-term. Numbers go into a ledger, with dates

Notice why week 1 crams three things together: they change the same build script. When one person is optimizing, grouping the schedule by "which file changes" saves half the effort versus grouping by "which is more important" — engineering instinct applied to SEO.

What to keep checking after the rebuild · Lesson 6The acceptance criteria from this rebuild settled into a 12-item list and four measurement snapshots, reusable on every ship.
Quiz · Where is the compliance line
Which of the following crosses the soft-paywall compliance line? Single choice
A soft paywall and cheating are one sheet of paper apart. This question is that sheet
AFull text in the HTML; logged-out users see the first 40%; JSON-LD declares the gated range
BReturn full text when a crawler UA is detected; ordinary users get only a login box; the page declares nothing
CFree pages fully open; paid pages put only the preview into llms-full.txt and note "full text at the link"
DAdd noindex to the locked.html prompt page so it does not occupy an index slot
Key Takeaways

Passing the checklist does not mean you are healthy: 743 of 759 pages had a description and looked fine. One live check showed Bing indexing only 50. The numbers are the diagnosis.

Every gap needs "how we found it, what we changed, how we check": finding must be copyable, the fix must go into a script, the check must carry a clock and a number.

A soft paywall complies by declaring: put the full paid text in the HTML so engines can crawl it, and declare the gated range with isAccessibleForFree. Delete the declaration and optimization slides into cheating.

Effects are counted by the week: the action finishes that day; index counts and citation rates wait for the engine to digest. Write every check as a dated target. Do not trust same-day promises.

Group the schedule by "which file changes": when one person is optimizing, cram changes to the same script into the same week and ship them in one deploy.

Sources: First-hand record of this site's 10 August 2026 SEO / GEO audit and that week's rebuild. Every number in this lesson (Google ~693 / Bing ~50, sitemap ~330 → ~800, 743/759 pages with a description, 531 gated pages, 37 Q&A pages, 317 lessons in llms.txt) is a 2026-08-10 live snapshot. Index counts will move with time; the method will not.