This is a healthcare services directory built for patients and medical tourists in Indonesia. Healthcare is a sector where Google is strict about who it trusts, and Indonesian patients search in specific local terms, often comparing hospitals by name and asking about BPJS coverage before they ask about price.
The Challenge
- Medical queries are treated as high-risk. Thin or unverified directories get filtered out of the results.
- Patients do not search for "hospital". They search for a specialty in a city, such as heart specialist Surabaya or beauty clinic Bali.
- The same questions now also surface inside AI overviews, so the pages had to work in both places.
The Strategy
1. Query trees in Bahasa Indonesia
Head terms were rumah sakit terbaik Jakarta, spesialis jantung Surabaya and klinik kecantikan Bali. Each template was then built to answer the whole tree of follow-up questions:
- Cost: "Biaya operasi bypass jantung di rumah sakit swasta Jakarta"
- Comparison: "Perbandingan fasilitas RS Siloam vs Mitra Keluarga"
- Process: "Prosedur pendaftaran pasien BPJS atau asuransi internasional"
2. Data that can be defended
- Hospital, practitioner and clinic data was collected with Python scripts.
- Facilities below 3.5 stars or without verifiable credentials were removed and 301-redirected to verified category pages.
- Titles rotated across five sentence patterns and named real districts such as Jakarta Selatan, Surabaya Pusat and Bandung, so pages did not compete with each other.
- Missing hours, addresses or contact details display a dash, never a broken string.
3. Entity and author signals
A single author card sits on every content page, supported by medical entity schema linking providers, clinics and the author.
The Result
Search Console, 7 September to 3 October 2026:
| Metric | Value |
|---|---|
| Total clicks | 2,160 (2,148 from Indonesia) |
| Total impressions | 85,500 (84,844 from Indonesia) |
| Average CTR | 2.5% |
| Average position | 6.9 |

Impressions began around 10 September and stepped up again around 20 September, and clicks held at the higher level instead of fading. An average position of 6.9 means the typical query is already on page one, and a 2.5% CTR is well above the 0.2% to 0.3% seen on the other directory builds in this series.
Why it worked
Programmatic pages usually fail on quality, not volume. Removing weak listings and showing a dash instead of guessing kept every page honest, and the rotated titles let one template cover many specialties and cities without cannibalising itself. Patients and AI systems both reward a page that answers the cost, comparison and registration questions in one place.
How to apply this
- Build the schema first: link clinic, practitioner and author to recognised entities.
- Group keywords into intent clusters so one template answers the treatment question and the insurance question together.
- Put a hard quality floor in the data pipeline and redirect anything below it.
- Format with clear headings and short service definitions so AI summaries can quote you.