Skip to main content

กำลังโหลด...

Southern Whale

Case Study: A Bangkok Property Agency With 2,300 Listings, Yet Google Indexed Less Than Half. The Audit Traced It to the URL Structure

Real Estate Agency / Property ListingsBangkokSEO Audit + Search Console Diagnosis + 3-Month Plan

A Bangkok real-estate agency renting and selling condos (name withheld for client confidentiality)

Southern Whale Team · Technical SEO Consultant
Desk in a Bangkok property agency office, a monitor showing condo listings and an indexing chart

2,240 → < 600Crawled – currently not indexed (plan target)6-month target · 3 months < 1,200 · 12 months < 300

606 → 1,200+Google clicks per quarter (plan target)6-month target · 12 months 2,500+

49% → 75%Share of clicks not on the homepage (plan target)12-month target, so listing pages earn their own clicks

≥ 90%Available listings in the index (plan target)12-month target · 3 months ≥ 70%

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.

Page indexing status in Search Console
Indexed: 1.63K pages
Not indexed: 8.06K pages
3,202
noindex
2,240
Crawled – currently not indexed
1,268
Page with redirect
740
Discovered – currently not indexed

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.

Where last quarter's clicks landed
51% homepage alone 49% every other page combined
The best listing page earned only 5 clicks per quarter

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:

  1. Make listing URLs stable (take status out of the URL) and stop creating numbered slugs
  2. Cut URLs Google shouldn’t see: filter links, feeds, duplicate pages, old sitemaps
  3. Handle duplicate listings in the same building and make each listing genuinely distinct
  4. Build out project / area / province pages to catch searches
  5. Separate GA4 for the two domains and filter staff and bot traffic
  6. Fix hreflang between the two domains so they point back to each other
  7. 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.

About the Author

Southern Whale Team

Technical SEO Consultant

Have a similar project?

Free consultation · we scope the work before quoting