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.
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.
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.
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.
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.
site:xueai.app once on each engine and compare the counts by eye. Thirty seconds.<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.datePublished, no dateModified. For questions like "where should I start learning AI in 2026", engines lean toward content that can prove it is fresh.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.
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.
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.
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.
Every move in this audit is copyable. An afternoon is enough. In order:
- Run a site: query on Google and on Bing. Log both numbers. A big gap tells you which one to fix first.
- Open your sitemap.xml, count entries, and match them against the real page count. What is missing is what the engine does not know.
- Pick five random pages and read the source: is the body there, is there a description, is canonical correct, does JSON-LD carry dates.
- Find every Q&A-shaped page on the site and check whether they are marked FAQPage.
- Search the request logs for GPTBot. If you find nothing, check whether analytics or the firewall dropped it.
- 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.
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.
| Phase | What to do | Why this slot |
|---|---|---|
| Week 1 | Fill multilingual sitemap, llms-full.txt, missing descriptions; register webmaster tools and submit | All "cannot see" diseases. Leave them and everything after is wasted. The three changes hit the same build script — one deploy |
| Week 2 | FAQPage structured data, JSON-LD dates, crawler-monitoring panel | The "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–4 | One-sentence answer blocks across the site | The 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 routine | Log index counts, watch crawler curves, watch AI-source referrers | The 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.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.