Who this case is for
If your site has thousands of products or listings, you add new ones every month, yet Google clicks don’t move and Search Console is full of “Crawled – currently not indexed”, this case is for you.
The client is a Bangkok real-estate agency renting and selling condos. We walk through the day they asked for an audit, what we found, what we proposed, and the targets we set together.
All numbers come from the client’s Google Search Console and GA4. We withhold the company name and real URLs, and we want to be clear up front: the results here are plan targets, not results that have already happened.
1. The audit request: lots of listings, but Google won’t keep them
The client raised two problems. First, a large number of pages were not being indexed. Second, he wanted listing pages to get more visitors and rankings.
| Website | Details |
|---|---|
| Domain age | About 8.5 years |
| Real listings | More than 2,300 (rent / sale) |
| Platform | WordPress + real-estate theme + Rank Math + Cloudflare |
| Brand on Google | Ranks #1 for its brand name, with a Knowledge Panel |
An 8-year-old domain that Google already recognises as a brand is not a “new site” problem. We had to find what signals the site was sending that made Google keep only part of it.
2. What we found: Google was handling almost 3x the URLs the site intended
The sitemap submitted 3,306 URLs, but Search Console showed Google handling almost 9,700. Thousands of URLs the owner never meant Google to see were eating Google’s crawling time.
The effect showed up in clicks. Google clicks held at 560–690 per quarter for 15 months, even with new listings every month, and more than half came from the homepage alone.
In plain terms, a library of 2,300+ listings was doing almost nothing for SEO. Going category by category, we found three bottlenecks.
Bottleneck 1: listings in the same building looked too alike
- 1,086 listings had numbered slugs (-2, -3, -5 …) that tell Google nothing and signal duplicates
- One building had 91 listings sharing the same H1, the building name. Some listing texts overlapped by up to 77%
- 179 buildings had 3 or more listings
When pages look this similar, Google keeps a few and leaves the rest in “Crawled – currently not indexed”. Of the 10 sample URLs Search Console showed, 8 were listings like these.
Bottleneck 2: rent / sale / not-available status lived in the URL
Every time a unit was rented or became available again, its URL changed. That produced 1,268 redirects and reset whatever ranking signals the page had built. Validation in Search Console had already come back “Failed” because the cause was still there.
Bottleneck 3: the pages that should sell were thin
Area, project and province pages, the ones that should catch searches, had very little text, and the filter-based listing pages were all set to noindex. Google had nothing of that type to rank.
Other findings along the way
| Area | Finding |
|---|---|
| Mobile speed | Lighthouse mobile 26–29, homepage weighing 7.5 MB |
| Backlinks | DR 2.5 with more than 1,000 referring domains, mostly automated spam. Only 11 real domains with real traffic |
| GA4 | The company’s two domains shared one property without separation, plus staff working in the backend and data-center traffic, so the numbers couldn’t be trusted |
There was good news too, and we put it in the report: no Manual Action, detailed listing titles, complete structured data, AI assistants already sending visits, and even with mixed GA4 data, Organic Search still drove about half of all key events with 61% engagement, clearly ahead of other channels. SEO was already this site’s best source of real customers.
3. What we proposed: no rebuild, fix the root causes in order
The first thing we told the client: the platform does not need to change. Everything can be fixed inside the existing WordPress site. Migrating now would change URLs yet again and add risk.
We ranked the work into 7 priorities:
- Make listing URLs stable (take status out of the URL) and stop creating numbered slugs
- Cut URLs Google shouldn’t see: filter links, feeds, duplicate pages, old sitemaps
- Handle duplicate listings in the same building and make each listing genuinely distinct
- Build out project / area / province pages to catch searches
- Separate GA4 for the two domains and filter staff and bot traffic
- Fix hreflang between the two domains so they point back to each other
- Mobile speed and links from real websites
Then we laid out a 3-month plan:
| Period | Main work |
|---|---|
| Month 1 · Fix indexing | Stable listing URLs, new slug rules, remove junk URLs from the crawl path, review duplicates across 179 buildings, clean sitemaps, separate GA4 |
| Month 2 · Structure + content | Pages for main property types and areas, stronger project pages, listing H1s that state unit / type / rent or sale, breadcrumbs, mobile speed |
| Month 3 · Growth | Guide articles linking to area and listing pages, links from 2–4 real domains per month, weekly GSC tracking |
Month 1 has to be finished first. If the structure keeps producing near-duplicates, new content added in months 2–3 will land in “Crawled – not indexed” just like before.
When the client said “I already fixed that”
While we went through the report, the client told us he had already fixed the status-in-URL issue. We didn’t just note it. We opened the live pages and checked, confirmed it was fixed, and updated the report right away to match the site as it is.
At the same time we pointed out a separate issue that was still active: new listings were still getting numbered slugs. We also made it clear that existing URLs should keep their current URLs, and the new slug rules apply only to listings added from now on, so there is no new round of redirects.
A good report has to match the site on the day it’s read, not a template.
4. Expected results: plan targets at 3 / 6 / 12 months
These figures come from the KPI table in the report. They are plan targets, not results that have happened.
| Metric | Current | 3 months | 6 months | 12 months |
|---|---|---|---|---|
| Available listings in the index | 1.63K pages indexed | ≥ 70% | ≥ 85% | ≥ 90% |
| Crawled – currently not indexed | 2,240 | < 1,200 | < 600 | < 300 |
| URLs Google has to handle | Almost 9,700 | Falling steadily | Close to sitemap count | Close to sitemap count |
| Google clicks per quarter | 606 | 700+ | 1,200+ | 2,500+ |
| Share of clicks not on the homepage | 49% | 55% | 65% | 75% |
| Lighthouse mobile (listing page) | 26 | 50+ | 70+ | 70+ |
Worth knowing: in the first 4–8 weeks after a URL structure change, indexed numbers can dip before they rise while Google re-reads and consolidates URLs. The targets are tracking goals for the work, not a ranking guarantee. We don’t guarantee rankings, but we will do our very best.
After reading the report
The client bought our 5,900-baht package and told us, in his words (translated):
“I’ve done all the work myself until now. Now I want a reliable expert to work with long-term to grow the site.”
For us, that sentence matters more than any number in the report, because it means the client saw that we checked the real site.
A short checklist for sites with many listings or products
- Is the number of URLs in Page indexing close to your sitemap count?
- Do product or listing URLs change when their status changes?
- Do you have lots of numbered slugs (-2, -3)?
- Does the homepage take more than half of all clicks?
- Is GA4 separated by domain, with staff traffic filtered out?
If you can’t answer one of these with confidence, your site may be losing sales pages without you knowing.
Questions site owners often ask us
Does “Crawled – currently not indexed” mean my content is bad? Not always. Here the main cause was near-identical pages and a large number of URLs that shouldn’t exist. Google read them and decided they weren’t worth keeping. Fix the structure first, then add content.
Will clicking Validate in Search Console again help? Not while the cause is still there. In this case validation had already failed. Finish the structural fix first, then request a new check.
Do I need to change platforms? Usually not. Everything in this case can be fixed in the existing WordPress site. An unnecessary migration changes URLs again and adds risk.
Should I change all my old URLs? No. Keep the URLs Google already knows. New rules apply to listings added from now on.
Want to know where your site is stuck?
Start with a free website check. For a detailed report, we offer SEO Audit Mini at 1,500 baht and a Full Audit starting at 10,000 baht. See SEO Audit service.
See our SEO service or other case studies.
