# Medical SEO Services for Hospital Targeting Indonesia

> Medical SEO services for hospital targeting Indonesia: what to include, how to build patient trust and how to measure qualified enquiries

- URL: https://medikabyte.com/medical-seo-services-hospital-indonesia/
- Diperbarui: 2026-10-16
- Penulis: Adtyaa
- Penerbit: ADTYAA (B2B digital agency)

Skip to content

[**ADTYAA** Technology & Digital Systems](https://medikabyte.com/)

**EN**

**ID**

**中文**

Consultation

[Capabilities](https://medikabyte.com/#capabilities)
[Expertise](https://medikabyte.com/#expertise)
[Approach](https://medikabyte.com/#approach)
[Proof](https://medikabyte.com/#proof)
[About](https://medikabyte.com/#about)
[Essentials](https://medikabyte.com/essentials/)
Consultation

# Medical SEO Services for Hospital Targeting Indonesia: *What to Include and How to Measure It*

By Adtyaa 8 October 2026 8 min read

[Request a consultation](https://wa.me/6281411188809?text=Hi%20Adtyaa%2C%20I%27d%20like%20to%20discuss%20a%20Medical%20SEO%20Services%20for%20Hospital%20Targeting%20Indonesia%3A%20What%20to%20Include%20and%20How%20to%20Measure%20It)

Medical SEO services for hospital targeting Indonesia come down to one question: when an Indonesian patient searches for your specialty in Bahasa Indonesia, does your hospital appear, and does the page earn their trust? This guide explains what a complete medical SEO programme includes, how it differs from general SEO, and how to measure whether it produces qualified patient enquiries.

**Key takeaways**

- Medical SEO is held to a higher standard, because health content affects people’s decisions. Expertise, review and sources matter.
- A programme for Indonesia needs Bahasa Indonesia content, correct language targeting and a healthy technical foundation.
- Six components work together: keyword research, site structure, service pages, medical content, technical SEO and authority building.
- SEO compounds over months. Judge it on qualified enquiries, not rankings alone.

![Marketing professional in a face mask analysing charts on a laptop and tablet, illustrating medical SEO services for hospital targeting Indonesia](https://medikabyte.com/wp-content/uploads/2026/10/medical-SEO-services-for-hospital-targeting-Indonesia.jpg)

Medical SEO is measured in qualified enquiries, not only in rankings.

## Why medical SEO services need a higher standard

Google’s quality guidelines treat health topics as high-stakes, and they expect stronger signs of expertise, authority and trust on these pages. For a hospital, that means every page should be written and reviewed by the right people, and the reader should be able to see it.

The same standard protects patients. A page that explains a procedure honestly, with its risks and alternatives, builds the kind of trust that turns a search into an enquiry.

## How Indonesian patients search

They search mainly in Bahasa Indonesia, often in full questions, and they care about cost, doctors and recovery. A single query may mix Indonesian and English medical terms. Keyword research must reflect how people actually search, rather than translating English keywords one by one.

## Six components of medical SEO services for hospital targeting Indonesia

Use this list to review any proposal or to audit your current programme.

### Keyword research in Bahasa Indonesia

Map real queries by service line, intent and patient stage: symptoms, treatment, cost, doctors and comparisons.

### Site structure and language targeting

A dedicated Bahasa Indonesia section, such as an /id/ folder, with hreflang tags, clean URLs and internal links between service pages and doctor profiles.

### Service line pages

One page per priority treatment: what it is, who it suits, the process, recovery, cost context, doctors and FAQs.

### Medical content and review

Content written with clinicians, reviewed by a qualified doctor, dated and supported by reputable sources.

### Technical SEO

Mobile speed, Core Web Vitals, indexing, structured data and clean tracking.

### Authority and trust

Doctor profiles, credentials, accreditations, reviews and earned mentions from reputable sites.

## Medical content that earns trust

Treat every health page as if a clinician will read it critically, because one will.

- Name the author and the reviewing doctor, with credentials
- Show the date of the last medical review
- Cite reputable sources, such as guidelines, journals and health authorities
- Explain risks and alternatives honestly
- Avoid miracle claims and guaranteed outcomes
- Make it clear when a patient should seek in-person care

## Technical foundations for medical SEO

- Fast, mobile-friendly pages
- Correct hreflang between the English and Bahasa Indonesia versions
- Structured data such as Hospital, MedicalClinic and Physician, used accurately
- A secure, accessible and crawlable site
- Clean URLs and internal links from service pages to doctors
- Search Console and analytics set up with conversion tracking for WhatsApp clicks and forms

## Earn links and reputation the right way

Authority should come from being useful and credible, not from shortcuts.

- Publish content that other professionals want to cite
- Build relationships with associations, universities and partner institutions
- Keep the Google Business Profile accurate for each physical location
- Avoid paid link schemes and low-quality directories

## Compliance and ethics

Promotional content on your site is still advertising. Check these before publishing:

- Advertising rules of the health authority in your home market and in Indonesia
- Limits on testimonials and before-and-after images
- Personal data protection laws in both countries, and patient consent before sharing any case

Rules change, so confirm the current position with regulators and legal counsel, and never promise treatment outcomes.

## How to measure medical SEO services

Rankings matter only as a path to enquiries. Build your reporting around:

- Qualified enquiries from organic search: WhatsApp clicks, forms and calls
- Organic visibility and traffic by service line in Bahasa Indonesia
- Growth in brand and non-brand search
- Enquiry-to-consultation rate for organic leads
- Cost per qualified enquiry compared with paid channels

SEO compounds over months. No reputable provider guarantees positions or timelines.

## Common mistakes

- Machine-translating English pages into Bahasa Indonesia
- One generic page for every treatment
- No medical review of content
- Ignoring technical issues such as speed and indexing
- Chasing rankings with no tracking of enquiries
- Buying links
- Expecting results in weeks

## Frequently asked questions

**What are medical SEO services?**

They are search optimisation services built for healthcare providers: keyword research, service pages, medically reviewed content, technical SEO and authority building, all held to the higher standard that health content demands.

**How long does medical SEO take?**

Usually several months before organic enquiries become meaningful, depending on competition, content quality and site authority. Be cautious of anyone who guarantees a timeline.

**Do we need Bahasa Indonesia pages?**

For most specialties, yes. Separate pages with correct language targeting match how patients search far better than machine-translated copies.

**How is medical SEO different from general SEO?**

Health content affects decisions about people’s wellbeing, so it needs clinician authorship or review, reputable sources, honest risk information and strict avoidance of exaggerated claims.

This article is general marketing guidance, not legal or medical advice.

Project brief

## Share your requirement.

Describe what you are building, what is not performing, or what needs to improve. I will review the brief and respond within 24 hours.

WhatsApp / Phone [0814 111 888 09](tel:+6281411188809)

Email [hallo@adtyaa.cloud](mailto:hallo@adtyaa.cloud)

Base **Jakarta, Indonesia**

Location

## Find us on Google Maps.

In-person meetings are by appointment. Please message first so a time can be confirmed.

### DJURAGAN IKLAN ID

Founded by ADTYAA

Jl. Green Pramuka City No.9 13, RT.13/RW.9, Rawasari, Kec. Cempaka Putih, Kota Jakarta Pusat, DKI Jakarta 10570

#### Opening hours

Mon, Wed to Sat 08:00 – 21:30

Tuesday 08:00 – 21:00

Sunday 09:00 – 21:30

[Get directions](https://www.google.com/maps/dir/?api=1&destination=-6.1883766,106.8732792&destination_place_id=ChIJKcjnOqb1aS4RfbYD_EKMv84)
[Chat on WhatsApp](https://wa.me/6281411188809)
[Call now](tel:+6281411188809)

Build what your business depends on.

## Let’s build something worth depending on.

One accountable technology partner across engineering, growth, security, and digital infrastructure.

Request a consultation [Explore capabilities](https://medikabyte.com/#capabilities)

[**ADTYAA**](https://medikabyte.com/)

Digital Systems & Technology Consultancy

Aditya

Founder & Technology Strategist

Djuragan Iklan

Navigate

- [Capabilities](https://medikabyte.com/#capabilities)
- [Expertise](https://medikabyte.com/#expertise)
- [Approach](https://medikabyte.com/#approach)
- [About](https://medikabyte.com/#about)
- Location
- Contact

Capabilities

- [Software Engineering](https://medikabyte.com/#capabilities)
- [Digital Engineering](https://medikabyte.com/#capabilities)
- [Growth Systems](https://medikabyte.com/#capabilities)
- [Security & Infrastructure](https://medikabyte.com/#capabilities)
- [Medical SEO](https://medikabyte.com/#medical)
- [Custom Plugins](https://medikabyte.com/essentials/)
- [Custom Themes](https://medikabyte.com/essentials/)
- [Add-ons & Care Plans](https://medikabyte.com/essentials/)

Contact

[WhatsApp](https://wa.me/6281411188809)
[hallo@adtyaa.cloud](mailto:hallo@adtyaa.cloud)
Jakarta, Indonesia

ADTYAA

© 2026 ADTYAA. All rights reserved.

[Essentials](https://medikabyte.com/essentials/)

[Chat on WhatsApp](https://wa.me/6281411188809)

var D = {"skip":["Skip to content","Lewati ke konten","跳到主要内容"],"menu":["Menu","Menu","菜单"],"lang.group":["Language","Bahasa","语言"],"nav.cap":["Capabilities","Keahlian","核心能力"],"nav.work":["Expertise","Spesialisasi","行业专长"],"nav.app":["Approach","Pendekatan","合作流程"],"nav.proof":["Proof","Bukti","实绩"],"nav.about":["About","Tentang","关于"],"nav.ess":["Essentials","Essentials","Essentials"],"nav.cta":["Consultation","Konsultasi","预约咨询"],"nav.contact":["Contact","Kontak","联系我们"],"bag.aria":["ADTYAA Essentials: services, themes, plugins, and add-ons","ADTYAA Essentials: jasa, tema, plugin, dan add-on","ADTYAA Essentials：服务、主题、插件与附加服务"],"hero.cta1":["Request a consultation","Jadwalkan konsultasi","预约咨询"],"hero.cta2":["Explore capabilities","Jelajahi keahlian","了解核心能力"],"hero.role":["Founder & Technology Strategist","Founder & Technology Strategist","创始人 · 技术战略顾问"],"cap4.title":["Software Engineering","Software Engineering","软件工程"],"cap1.title":["Digital Engineering","Digital Engineering","数字工程"],"cap2.title":["Growth Systems","Growth Systems","增长体系"],"cap3.title":["Security & Infrastructure","Security & Infrastructure","安全与基础设施"],"opt.med":["Medical SEO","SEO Medis","医疗 SEO"],"opt.other":["Other / Not sure yet","Lainnya / Belum yakin","其他 / 尚未确定"],"contact.label":["Project brief","Brief proyek","项目简报"],"contact.title":["Share your requirement.","Sampaikan kebutuhan Anda.","请告诉我们您的需求。"],"contact.copy":["Describe what you are building, what is not performing, or what needs to improve. I will review the brief and respond within 24 hours.","Jelaskan apa yang sedang Anda bangun, apa yang belum berjalan optimal, atau apa yang perlu ditingkatkan. Saya akan mempelajari brief dan merespons dalam 24 jam.","请描述您正在构建的内容、表现不佳之处或需要改进的方面。我会审阅简报并在 24 小时内回复，咨询以英文进行。"],"contact.wa":["WhatsApp / Phone","WhatsApp / Telepon","WhatsApp / 电话"],"contact.loc":["Base","Lokasi","所在地"],"contact.city":["Jakarta, Indonesia","Jakarta, Indonesia","印度尼西亚 · 雅加达"],"form.name":["Name *","Nama *","姓名 *"],"form.email":["Email","Email","邮箱"],"form.wa":["WhatsApp","WhatsApp","WhatsApp"],"form.url":["Website","Website","网站"],"form.service":["Capability *","Keahlian *","所需能力 *"],"form.choose":["Choose a capability","Pilih keahlian","请选择能力方向"],"form.eng":["Engagement","Jenis kerja sama","合作类型"],"form.time":["Timeline","Target waktu","时间安排"],"form.choose2":["Choose one","Pilih salah satu","请选择"],"form.msg":["Project / problem","Proyek / masalah","项目 / 问题"],"form.sendwa":["Send via WhatsApp","Kirim lewat WhatsApp","通过 WhatsApp 发送"],"form.sendmail":["Send via email","Kirim lewat email","通过邮件发送"],"form.note":["Your brief opens in WhatsApp or your email application. Nothing is stored on this page.","Brief Anda terbuka di WhatsApp atau aplikasi email, siap dikirim. Tidak ada data yang disimpan di halaman ini.","您的简报将在 WhatsApp 或邮件应用中打开，供您发送。本页面不会保存任何数据。"],"eng.1":["One-time fix or setup","Perbaikan atau setup sekali jalan","一次性修复或设置"],"eng.2":["Full project","Proyek penuh","完整项目"],"eng.3":["Ongoing monthly support","Dukungan bulanan berkelanjutan","持续月度支持"],"eng.4":["Not sure yet","Belum yakin","尚未确定"],"time.1":["As soon as possible","Secepatnya","尽快"],"time.2":["Within 1 month","Dalam 1 bulan","1 个月内"],"time.3":["Within 3 months","Dalam 3 bulan","3 个月内"],"time.4":["Flexible","Fleksibel","灵活"],"f.err":["Please enter your name and choose a capability first.","Isi nama dan pilih keahlian terlebih dahulu.","请先填写姓名并选择能力方向。"],"f.okwa":["Opening WhatsApp...","Membuka WhatsApp...","正在打开 WhatsApp…"],"f.okmail":["Opening your email application...","Membuka aplikasi email Anda...","正在打开邮件应用…"],"m.name":["Name","Nama","Name"],"m.email":["Email","Email","Email"],"m.wa":["WhatsApp","WhatsApp","WhatsApp"],"m.url":["Website","Website","Website"],"m.service":["Capability","Keahlian","Capability"],"m.eng":["Engagement","Jenis kerja sama","Engagement"],"m.time":["Timeline","Target waktu","Timeline"],"m.msg":["Message","Pesan","Message"],"m.subject":["Project enquiry","Permintaan proyek","Project enquiry"],"loc.label":["Location","Lokasi","地点"],"loc.title":["Find us on Google Maps.","Temukan kami di Google Maps.","在 Google 地图上找到我们。"],"loc.lead":["In-person meetings are by appointment. Please message first so a time can be confirmed.","Pertemuan langsung dengan janji temu. Kirim pesan terlebih dahulu agar waktunya dapat dikonfirmasi.","现场会面需提前预约。请先发送消息以确认时间。"],"loc.founded":["Founded by ADTYAA","Founded by ADTYAA","由 ADTYAA 创立"],"loc.hours":["Opening hours","Jam operasional","营业时间"],"loc.d1":["Mon, Wed to Sat","Sen, Rab sampai Sab","周一、周三至周六"],"loc.d2":["Tuesday","Selasa","周二"],"loc.d3":["Sunday","Minggu","周日"],"loc.dir":["Get directions","Petunjuk arah","获取路线"],"loc.wa":["Chat on WhatsApp","Chat via WhatsApp","通过 WhatsApp 洽谈"],"loc.call":["Call now","Telepon sekarang","立即致电"],"loc.map":["DJURAGAN IKLAN ID on Google Maps","DJURAGAN IKLAN ID di Google Maps","DJURAGAN IKLAN ID 的 Google 地图位置"],"final.label":["Build what your business depends on.","Bangun sistem yang diandalkan bisnis Anda.","构建您的业务所依赖的系统。"],"final.title":["Let's build something worth depending on.","Mari bangun sesuatu yang layak diandalkan.","让我们共同构建值得依赖的系统。"],"final.copy":["One accountable technology partner across engineering, growth, security, and digital infrastructure.","Satu partner teknologi yang akuntabel untuk engineering, growth, keamanan, dan infrastruktur digital.","一个对结果负责的技术合作方，覆盖工程、增长、安全与数字基础设施。"],"foot.nav":["Navigate","Navigasi","导航"],"foot.cap":["Capabilities","Keahlian","核心能力"],"foot.con":["Contact","Kontak","联系"],"foot.plugins":["Custom Plugins","Plugin Kustom","定制插件"],"foot.themes":["Custom Themes","Tema Kustom","定制主题"],"foot.addons":["Add-ons & Care Plans","Add-on & Paket Perawatan","附加服务与维护计划"],"foot.rights":["All rights reserved.","Hak cipta dilindungi.","保留所有权利。"],"dock.group":["Quick contact","Kontak cepat","快速联系"],"dock.wa":["Chat on WhatsApp","Chat via WhatsApp","通过 WhatsApp 洽谈"],"dock.maps":["Open in Google Maps","Buka di Google Maps","在 Google 地图中打开"],"dock.call":["Call now","Telepon sekarang","立即致电"],"au.name":["Adtyaa, Founder of [DJURAGAN IKLAN ID<\/a>","Adtyaa, Founder of](https://maps.app.goo.gl/YRw1yaWB5xfHcjwq5) [DJURAGAN IKLAN ID<\/a>","Adtyaa，](https://maps.app.goo.gl/YRw1yaWB5xfHcjwq5) [DJURAGAN IKLAN ID<\/a> 创始人"],"au.bio":["Builds professional websites, SEO and digital advertising systems for healthcare and professional service brands.","Membangun website profesional, sistem SEO, dan digital advertising untuk brand healthcare dan jasa profesional.","为医疗健康与专业服务品牌构建专业网站、SEO 与数字广告体系。"],"au.cta":["Discuss your Indonesia plan","Diskusikan rencana Indonesia Anda","探讨您的印尼市场方案"],"a.home":["Home","Beranda","首页"],"a.m1":["By Adtyaa","Oleh Adtyaa","作者：Adtyaa"],"a.toc":["In this article","Dalam artikel ini","本文内容"],"wa.general":["Hi Adtyaa, I'd like to discuss a Medical SEO Services for Hospital Targeting Indonesia: What to Include and How to Measure It","Hi Adtyaa, I'd like to discuss a Medical SEO Services for Hospital Targeting Indonesia: What to Include and How to Measure It","Hi Adtyaa, I'd like to discuss a Medical SEO Services for Hospital Targeting Indonesia: What to Include and How to Measure It"],"wa.article":["Hi Adtyaa, I'd like to discuss a Medical SEO Services for Hospital Targeting Indonesia: What to Include and How to Measure It","Hi Adtyaa, I'd like to discuss a Medical SEO Services for Hospital Targeting Indonesia: What to Include and How to Measure It","Hi Adtyaa, I'd like to discuss a Medical SEO Services for Hospital Targeting Indonesia: What to Include and How to Measure It"],"a.h1a":["Medical SEO Services for Hospital Targeting Indonesia:","Layanan SEO Medis untuk Rumah Sakit yang Menyasar Indonesia:","面向印尼的医院医疗 SEO 服务："],"a.h1b":["What to Include and How to Measure It","Apa yang Perlu Disertakan dan Cara Mengukurnya","应包含什么，如何衡量成效"],"a.crumb":["Medical SEO Services for Hospital Targeting Indonesia","Layanan SEO Medis untuk Rumah Sakit yang Menyasar Indonesia","面向印尼的医院医疗 SEO 服务"],"a.insights":["Medical tourism marketing and SEO insights","Medical tourism marketing and SEO insights","医疗旅游营销与 SEO 洞察"],"a.m2":["8 October 2026","8 Oktober 2026","2026 年 10 月 8 日"],"a.m3":["8 min read","Baca 8 menit","阅读约 8 分钟"],"a.lead":["Medical SEO services for hospital targeting Indonesia come down to one question: when an Indonesian patient searches for your specialty in Bahasa Indonesia, does your hospital appear, and does the page earn their trust? This guide explains what a complete medical SEO programme includes, how it differs from general SEO, and how to measure whether it produces qualified patient enquiries.","Layanan SEO medis untuk rumah sakit yang menyasar Indonesia bermuara pada satu pertanyaan: ketika pasien Indonesia mencari spesialisasi Anda dalam Bahasa Indonesia, apakah rumah sakit Anda muncul, dan apakah halamannya layak dipercaya? Panduan ini menjelaskan apa saja yang tercakup dalam program SEO medis yang lengkap, apa bedanya dengan SEO umum, dan bagaimana mengukur apakah program itu menghasilkan enquiry pasien yang berkualitas.","面向印尼的医院医疗 SEO 服务，归根结底是一个问题：当印尼患者用印尼语搜索您的专科时，您的医院会出现吗？页面能赢得他们的信任吗？本文说明一套完整的医疗 SEO 方案包含什么、它与普通 SEO 有何不同，以及如何衡量它是否带来了合格的患者咨询。"],"kt":["Key takeaways","Poin utama","核心要点"],"kl0":["Medical SEO is held to a higher standard, because health content affects people’s decisions. Expertise, review and sources matter.","SEO medis dinilai dengan standar yang lebih tinggi, karena konten kesehatan memengaruhi keputusan orang. Keahlian, peninjauan, dan sumber itu penting.","医疗 SEO 的标准更高，因为健康内容会影响人们的决定。专业性、审核和资料来源都很重要。"],"kl1":["A programme for Indonesia needs Bahasa Indonesia content, correct language targeting and a healthy technical foundation.","Program untuk Indonesia membutuhkan konten Bahasa Indonesia, penargetan bahasa yang benar, dan fondasi teknis yang sehat.","面向印尼的方案需要印尼语内容、正确的语言定位和健康的技术基础。"],"kl2":["Six components work together: keyword research, site structure, service pages, medical content, technical SEO and authority building.","Enam komponen bekerja bersama: riset kata kunci, struktur situs, halaman layanan, konten medis, SEO teknis, dan pembangunan otoritas.","六个组成部分协同运作：关键词研究、网站结构、服务页面、医疗内容、技术 SEO 和权威建设。"],"kl3":["SEO compounds over months. Judge it on qualified enquiries, not rankings alone.","SEO bersifat akumulatif selama berbulan-bulan. Nilai dari enquiry berkualitas, bukan peringkat saja.","SEO 的效果以月计。请用有效咨询而不只是排名来评判。"],"h1":["Why medical SEO services need a higher standard","Mengapa layanan SEO medis membutuhkan standar yang lebih tinggi","为什么医疗 SEO 服务需要更高的标准"],"p1":["Google’s quality guidelines treat health topics as high-stakes, and they expect stronger signs of expertise, authority and trust on these pages. For a hospital, that means every page should be written and reviewed by the right people, and the reader should be able to see it.","Pedoman kualitas Google memperlakukan topik kesehatan sebagai hal berisiko tinggi, dan mengharapkan tanda keahlian, otoritas, dan kepercayaan yang lebih kuat pada halaman-halaman ini. Bagi rumah sakit, itu berarti setiap halaman harus ditulis dan ditinjau oleh orang yang tepat, dan pembaca harus dapat melihatnya.","谷歌的质量指南把健康话题视为高风险领域，并期望这类页面展现更强的专业性、权威性和可信度。对医院而言，这意味着每一页都应由合适的人撰写和审核，并让读者看得到这一点。"],"p2":["The same standard protects patients. A page that explains a procedure honestly, with its risks and alternatives, builds the kind of trust that turns a search into an enquiry.","Standar yang sama melindungi pasien. Halaman yang menjelaskan prosedur dengan jujur, beserta risiko dan alternatifnya, membangun kepercayaan yang mengubah sebuah pencarian menjadi enquiry.","同样的标准也保护患者。一个诚实说明治疗、风险和替代方案的页面，才能建立起把搜索变成咨询的信任。"],"f3a":["Marketing professional in a face mask analysing charts on a laptop and tablet, illustrating medical SEO services for hospital targeting Indonesia","Profesional pemasaran bermasker menganalisis grafik di laptop dan tablet, menggambarkan layanan SEO medis untuk rumah sakit yang menyasar Indonesia","戴口罩的营销人员在笔记本电脑和平板上分析图表，象征面向印尼的医院医疗 SEO 服务"],"f3c":["Medical SEO is measured in qualified enquiries, not only in rankings.","SEO medis diukur dari enquiry berkualitas, bukan hanya dari peringkat.","医疗 SEO 的衡量标准是有效咨询，而不只是排名。"],"h2":["How Indonesian patients search","Bagaimana pasien Indonesia mencari","印尼患者如何搜索"],"p4":["They search mainly in Bahasa Indonesia, often in full questions, and they care about cost, doctors and recovery. A single query may mix Indonesian and English medical terms. Keyword research must reflect how people actually search, rather than translating English keywords one by one.","Mereka mencari terutama dalam Bahasa Indonesia, sering kali dalam kalimat tanya lengkap, dan peduli pada biaya, dokter, dan pemulihan. Satu pencarian bisa mencampur istilah medis Indonesia dan Inggris. Riset kata kunci harus mencerminkan cara orang benar-benar mencari, bukan menerjemahkan kata kunci Inggris satu per satu.","他们主要用印尼语搜索，常用完整的问句，并关心费用、医生和恢复周期。一次搜索里还可能夹杂印尼语和英语的医学术语。关键词研究必须反映人们真实的搜索方式，而不是把英文关键词逐个翻译。"],"h3":["Six components of medical SEO services for hospital targeting Indonesia","Enam komponen layanan SEO medis untuk rumah sakit yang menyasar Indonesia","面向印尼的医院医疗 SEO 服务的六个组成部分"],"p5":["Use this list to review any proposal or to audit your current programme.","Gunakan daftar ini untuk meninjau proposal apa pun atau mengaudit program Anda saat ini.","可以用这份清单审阅任何方案，或审计您目前的做法。"],"d6t":["Keyword research in Bahasa Indonesia","Riset kata kunci dalam Bahasa Indonesia","印尼语关键词研究"],"d6c":["Map real queries by service line, intent and patient stage: symptoms, treatment, cost, doctors and comparisons.","Petakan pencarian nyata berdasarkan lini layanan, intent, dan tahap pasien: gejala, perawatan, biaya, dokter, dan perbandingan.","按服务线、搜索意图和患者阶段梳理真实查询：症状、治疗、费用、医生和对比。"],"d7t":["Site structure and language targeting","Struktur situs dan penargetan bahasa","网站结构与语言定位"],"d7c":["A dedicated Bahasa Indonesia section, such as an /id/ folder, with hreflang tags, clean URLs and internal links between service pages and doctor profiles.","Bagian Bahasa Indonesia tersendiri, seperti folder /id/, dengan tag hreflang, URL yang bersih, dan tautan internal antara halaman layanan dan profil dokter.","独立的印尼语板块（例如 /id/ 目录），配合 hreflang 标签、清晰的网址，以及服务页面与医生简介之间的内部链接。"],"d8t":["Service line pages","Halaman lini layanan","服务线页面"],"d8c":["One page per priority treatment: what it is, who it suits, the process, recovery, cost context, doctors and FAQs.","Satu halaman per perawatan prioritas: apa itu, cocok untuk siapa, prosesnya, pemulihan, gambaran biaya, dokter, dan FAQ.","每项优先治疗一个页面：是什么、适合谁、流程、恢复、费用参考、医生和常见问题。"],"d9t":["Medical content and review","Konten medis dan peninjauan","医疗内容与审核"],"d9c":["Content written with clinicians, reviewed by a qualified doctor, dated and supported by reputable sources.","Konten ditulis bersama klinisi, ditinjau oleh dokter yang berkualifikasi, diberi tanggal, dan didukung sumber tepercaya.","与临床医生共同撰写，由合格医生审核，标注日期，并有可靠来源支撑。"],"d10t":["Technical SEO","SEO teknis","技术 SEO"],"d10c":["Mobile speed, Core Web Vitals, indexing, structured data and clean tracking.","Kecepatan di ponsel, Core Web Vitals, pengindeksan, structured data, dan pelacakan yang bersih.","移动端速度、Core Web Vitals、索引、结构化数据和干净的追踪。"],"d11t":["Authority and trust","Otoritas dan kepercayaan","权威与信任"],"d11c":["Doctor profiles, credentials, accreditations, reviews and earned mentions from reputable sites.","Profil dokter, kredensial, akreditasi, ulasan, dan mention yang diraih dari situs tepercaya.","医生简介、资质、认证、评价，以及来自可靠网站的自然提及。"],"f12a":["Medical SEO services workflow for hospital targeting Indonesia, from keyword research to organic patient enquiries","Alur kerja layanan SEO medis untuk rumah sakit yang menyasar Indonesia, dari riset kata kunci hingga enquiry pasien organik","面向印尼的医院医疗 SEO 服务流程，从关键词研究到自然搜索咨询"],"f12c":["","",""],"f12s":["data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20640%20480%27%3E%3Crect%20width%3D%27640%27%20height%3D%27480%27%20fill%3D%27%2305070A%27%2F%3E%3Cline%20x1%3D%2756%27%20y1%3D%2756%27%20x2%3D%2756%27%20y2%3D%27440%27%20stroke%3D%27%23A8823F%27%20stroke-width%3D%272%27%2F%3E%3Ccircle%20cx%3D%2756%27%20cy%3D%2756%27%20r%3D%279%27%20fill%3D%27%23D9BC82%27%2F%3E%3Ctext%20x%3D%2788%27%20y%3D%2758%27%20font-family%3D%22Segoe%20UI%2CHelvetica%20Neue%2CArial%2Csans-serif%22%20font-size%3D%2722%27%20font-weight%3D%27700%27%20fill%3D%27%23F3EEE4%27%3EKeyword%20research%3C%2Ftext%3E%3Ctext%20x%3D%2788%27%20y%3D%2783%27%20font-family%3D%22Segoe%20UI%2CHelvetica%20Neue%2CArial%2Csans-serif%22%20font-size%3D%2715%27%20fill%3D%27%23A9A292%27%3EReal%20Bahasa%20Indonesia%20queries%20by%20service%20line%3C%2Ftext%3E%3Ccircle%20cx%3D%2756%27%20cy%3D%27120%27%20r%3D%279%27%20fill%3D%27%23D9BC82%27%2F%3E%3Ctext%20x%3D%2788%27%20y%3D%27122%27%20font-family%3D%22Segoe%20UI%2CHelvetica%20Neue%2CArial%2Csans-serif%22%20font-size%3D%2722%27%20font-weight%3D%27700%27%20fill%3D%27%23F3EEE4%27%3ESite%20structure%3C%2Ftext%3E%3Ctext%20x%3D%2788%27%20y%3D%27147%27%20font-family%3D%22Segoe%20UI%2CHelvetica%20Neue%2CArial%2Csans-serif%22%20font-size%3D%2715%27%20fill%3D%27%23A9A292%27%3ELanguage%20targeting%20and%20internal%20links%3C%2Ftext%3E%3Ccircle%20cx%3D%2756%27%20cy%3D%27184%27%20r%3D%279%27%20fill%3D%27%23D9BC82%27%2F%3E%3Ctext%20x%3D%2788%27%20y%3D%27186%27%20font-family%3D%22Segoe%20UI%2CHelvetica%20Neue%2CArial%2Csans-serif%22%20font-size%3D%2722%27%20font-weight%3D%27700%27%20fill%3D%27%23F3EEE4%27%3EService%20line%20pages%3C%2Ftext%3E%3Ctext%20x%3D%2788%27%20y%3D%27211%27%20font-family%3D%22Segoe%20UI%2CHelvetica%20Neue%2CArial%2Csans-serif%22%20font-size%3D%2715%27%20fill%3D%27%23A9A292%27%3EOne%20page%20per%20priority%20treatment%3C%2Ftext%3E%3Ccircle%20cx%3D%2756%27%20cy%3D%27248%27%20r%3D%279%27%20fill%3D%27%23D9BC82%27%2F%3E%3Ctext%20x%3D%2788%27%20y%3D%27250%27%20font-family%3D%22Segoe%20UI%2CHelvetica%20Neue%2CArial%2Csans-serif%22%20font-size%3D%2722%27%20font-weight%3D%27700%27%20fill%3D%27%23F3EEE4%27%3EMedical%20content%3C%2Ftext%3E%3Ctext%20x%3D%2788%27%20y%3D%27275%27%20font-family%3D%22Segoe%20UI%2CHelvetica%20Neue%2CArial%2Csans-serif%22%20font-size%3D%2715%27%20fill%3D%27%23A9A292%27%3EClinician-reviewed%2C%20dated%20and%20sourced%3C%2Ftext%3E%3Ccircle%20cx%3D%2756%27%20cy%3D%27312%27%20r%3D%279%27%20fill%3D%27%23D9BC82%27%2F%3E%3Ctext%20x%3D%2788%27%20y%3D%27314%27%20font-family%3D%22Segoe%20UI%2CHelvetica%20Neue%2CArial%2Csans-serif%22%20font-size%3D%2722%27%20font-weight%3D%27700%27%20fill%3D%27%23F3EEE4%27%3ETechnical%20SEO%3C%2Ftext%3E%3Ctext%20x%3D%2788%27%20y%3D%27339%27%20font-family%3D%22Segoe%20UI%2CHelvetica%20Neue%2CArial%2Csans-serif%22%20font-size%3D%2715%27%20fill%3D%27%23A9A292%27%3ESpeed%2C%20indexing%20and%20structured%20data%3C%2Ftext%3E%3Ccircle%20cx%3D%2756%27%20cy%3D%27376%27%20r%3D%279%27%20fill%3D%27%23D9BC82%27%2F%3E%3Ctext%20x%3D%2788%27%20y%3D%27378%27%20font-family%3D%22Segoe%20UI%2CHelvetica%20Neue%2CArial%2Csans-serif%22%20font-size%3D%2722%27%20font-weight%3D%27700%27%20fill%3D%27%23F3EEE4%27%3EAuthority%20and%20trust%3C%2Ftext%3E%3Ctext%20x%3D%2788%27%20y%3D%27403%27%20font-family%3D%22Segoe%20UI%2CHelvetica%20Neue%2CArial%2Csans-serif%22%20font-size%3D%2715%27%20fill%3D%27%23A9A292%27%3ECredentials%2C%20reviews%2C%20earned%20mentions%3C%2Ftext%3E%3Ccircle%20cx%3D%2756%27%20cy%3D%27440%27%20r%3D%2713%27%20fill%3D%27%23D9BC82%27%2F%3E%3Ctext%20x%3D%2788%27%20y%3D%27447%27%20font-family%3D%22Segoe%20UI%2CHelvetica%20Neue%2CArial%2Csans-serif%22%20font-size%3D%2724%27%20font-weight%3D%27700%27%20fill%3D%27%23D9BC82%27%3EOrganic%20patient%20enquiries%3C%2Ftext%3E%3C%2Fsvg%3E","data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20640%20480%27%3E%3Crect%20width%3D%27640%27%20height%3D%27480%27%20fill%3D%27%2305070A%27%2F%3E%3Cline%20x1%3D%2756%27%20y1%3D%2756%27%20x2%3D%2756%27%20y2%3D%27440%27%20stroke%3D%27%23A8823F%27%20stroke-width%3D%272%27%2F%3E%3Ccircle%20cx%3D%2756%27%20cy%3D%2756%27%20r%3D%279%27%20fill%3D%27%23D9BC82%27%2F%3E%3Ctext%20x%3D%2788%27%20y%3D%2758%27%20font-family%3D%22Segoe%20UI%2CHelvetica%20Neue%2CArial%2Csans-serif%22%20font-size%3D%2722%27%20font-weight%3D%27700%27%20fill%3D%27%23F3EEE4%27%3ERiset%20kata%20kunci%3C%2Ftext%3E%3Ctext%20x%3D%2788%27%20y%3D%2783%27%20font-family%3D%22Segoe%20UI%2CHelvetica%20Neue%2CArial%2Csans-serif%22%20font-size%3D%2715%27%20fill%3D%27%23A9A292%27%3EPencarian%20Bahasa%20Indonesia%20nyata%20per%20lini%20layanan%3C%2Ftext%3E%3Ccircle%20cx%3D%2756%27%20cy%3D%27120%27%20r%3D%279%27%20fill%3D%27%23D9BC82%27%2F%3E%3Ctext%20x%3D%2788%27%20y%3D%27122%27%20font-family%3D%22Segoe%20UI%2CHelvetica%20Neue%2CArial%2Csans-serif%22%20font-size%3D%2722%27%20font-weight%3D%27700%27%20fill%3D%27%23F3EEE4%27%3EStruktur%20situs%3C%2Ftext%3E%3Ctext%20x%3D%2788%27%20y%3D%27147%27%20font-family%3D%22Segoe%20UI%2CHelvetica%20Neue%2CArial%2Csans-serif%22%20font-size%3D%2715%27%20fill%3D%27%23A9A292%27%3EPenargetan%20bahasa%20dan%20tautan%20internal%3C%2Ftext%3E%3Ccircle%20cx%3D%2756%27%20cy%3D%27184%27%20r%3D%279%27%20fill%3D%27%23D9BC82%27%2F%3E%3Ctext%20x%3D%2788%27%20y%3D%27186%27%20font-family%3D%22Segoe%20UI%2CHelvetica%20Neue%2CArial%2Csans-serif%22%20font-size%3D%2722%27%20font-weight%3D%27700%27%20fill%3D%27%23F3EEE4%27%3EHalaman%20lini%20layanan%3C%2Ftext%3E%3Ctext%20x%3D%2788%27%20y%3D%27211%27%20font-family%3D%22Segoe%20UI%2CHelvetica%20Neue%2CArial%2Csans-serif%22%20font-size%3D%2715%27%20fill%3D%27%23A9A292%27%3ESatu%20halaman%20per%20perawatan%20prioritas%3C%2Ftext%3E%3Ccircle%20cx%3D%2756%27%20cy%3D%27248%27%20r%3D%279%27%20fill%3D%27%23D9BC82%27%2F%3E%3Ctext%20x%3D%2788%27%20y%3D%27250%27%20font-family%3D%22Segoe%20UI%2CHelvetica%20Neue%2CArial%2Csans-serif%22%20font-size%3D%2722%27%20font-weight%3D%27700%27%20fill%3D%27%23F3EEE4%27%3EKonten%20medis%3C%2Ftext%3E%3Ctext%20x%3D%2788%27%20y%3D%27275%27%20font-family%3D%22Segoe%20UI%2CHelvetica%20Neue%2CArial%2Csans-serif%22%20font-size%3D%2715%27%20fill%3D%27%23A9A292%27%3EDitinjau%20klinisi%2C%20diberi%20tanggal%2C%20dan%20bersumber%3C%2Ftext%3E%3Ccircle%20cx%3D%2756%27%20cy%3D%27312%27%20r%3D%279%27%20fill%3D%27%23D9BC82%27%2F%3E%3Ctext%20x%3D%2788%27%20y%3D%27314%27%20font-family%3D%22Segoe%20UI%2CHelvetica%20Neue%2CArial%2Csans-serif%22%20font-size%3D%2722%27%20font-weight%3D%27700%27%20fill%3D%27%23F3EEE4%27%3ESEO%20teknis%3C%2Ftext%3E%3Ctext%20x%3D%2788%27%20y%3D%27339%27%20font-family%3D%22Segoe%20UI%2CHelvetica%20Neue%2CArial%2Csans-serif%22%20font-size%3D%2715%27%20fill%3D%27%23A9A292%27%3EKecepatan%2C%20pengindeksan%2C%20dan%20structured%20data%3C%2Ftext%3E%3Ccircle%20cx%3D%2756%27%20cy%3D%27376%27%20r%3D%279%27%20fill%3D%27%23D9BC82%27%2F%3E%3Ctext%20x%3D%2788%27%20y%3D%27378%27%20font-family%3D%22Segoe%20UI%2CHelvetica%20Neue%2CArial%2Csans-serif%22%20font-size%3D%2722%27%20font-weight%3D%27700%27%20fill%3D%27%23F3EEE4%27%3EOtoritas%20dan%20kepercayaan%3C%2Ftext%3E%3Ctext%20x%3D%2788%27%20y%3D%27403%27%20font-family%3D%22Segoe%20UI%2CHelvetica%20Neue%2CArial%2Csans-serif%22%20font-size%3D%2715%27%20fill%3D%27%23A9A292%27%3EKredensial%2C%20ulasan%2C%20mention%20yang%20diraih%3C%2Ftext%3E%3Ccircle%20cx%3D%2756%27%20cy%3D%27440%27%20r%3D%2713%27%20fill%3D%27%23D9BC82%27%2F%3E%3Ctext%20x%3D%2788%27%20y%3D%27447%27%20font-family%3D%22Segoe%20UI%2CHelvetica%20Neue%2CArial%2Csans-serif%22%20font-size%3D%2724%27%20font-weight%3D%27700%27%20fill%3D%27%23D9BC82%27%3EEnquiry%20pasien%20dari%20pencarian%20organik%3C%2Ftext%3E%3C%2Fsvg%3E","data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20640%20480%27%3E%3Crect%20width%3D%27640%27%20height%3D%27480%27%20fill%3D%27%2305070A%27%2F%3E%3Cline%20x1%3D%2756%27%20y1%3D%2756%27%20x2%3D%2756%27%20y2%3D%27440%27%20stroke%3D%27%23A8823F%27%20stroke-width%3D%272%27%2F%3E%3Ccircle%20cx%3D%2756%27%20cy%3D%2756%27%20r%3D%279%27%20fill%3D%27%23D9BC82%27%2F%3E%3Ctext%20x%3D%2788%27%20y%3D%2758%27%20font-family%3D%22PingFang%20SC%2CHiragino%20Sans%20GB%2CMicrosoft%20YaHei%2CNoto%20Sans%20SC%2Csans-serif%22%20font-size%3D%2722%27%20font-weight%3D%27700%27%20fill%3D%27%23F3EEE4%27%3E%E5%85%B3%E9%94%AE%E8%AF%8D%E7%A0%94%E7%A9%B6%3C%2Ftext%3E%3Ctext%20x%3D%2788%27%20y%3D%2783%27%20font-family%3D%22PingFang%20SC%2CHiragino%20Sans%20GB%2CMicrosoft%20YaHei%2CNoto%20Sans%20SC%2Csans-serif%22%20font-size%3D%2715%27%20fill%3D%27%23A9A292%27%3E%E6%8C%89%E6%9C%8D%E5%8A%A1%E7%BA%BF%E6%A2%B3%E7%90%86%E7%9C%9F%E5%AE%9E%E7%9A%84%E5%8D%B0%E5%B0%BC%E8%AF%AD%E6%9F%A5%E8%AF%A2%3C%2Ftext%3E%3Ccircle%20cx%3D%2756%27%20cy%3D%27120%27%20r%3D%279%27%20fill%3D%27%23D9BC82%27%2F%3E%3Ctext%20x%3D%2788%27%20y%3D%27122%27%20font-family%3D%22PingFang%20SC%2CHiragino%20Sans%20GB%2CMicrosoft%20YaHei%2CNoto%20Sans%20SC%2Csans-serif%22%20font-size%3D%2722%27%20font-weight%3D%27700%27%20fill%3D%27%23F3EEE4%27%3E%E7%BD%91%E7%AB%99%E7%BB%93%E6%9E%84%3C%2Ftext%3E%3Ctext%20x%3D%2788%27%20y%3D%27147%27%20font-family%3D%22PingFang%20SC%2CHiragino%20Sans%20GB%2CMicrosoft%20YaHei%2CNoto%20Sans%20SC%2Csans-serif%22%20font-size%3D%2715%27%20fill%3D%27%23A9A292%27%3E%E8%AF%AD%E8%A8%80%E5%AE%9A%E4%BD%8D%E4%B8%8E%E5%86%85%E9%83%A8%E9%93%BE%E6%8E%A5%3C%2Ftext%3E%3Ccircle%20cx%3D%2756%27%20cy%3D%27184%27%20r%3D%279%27%20fill%3D%27%23D9BC82%27%2F%3E%3Ctext%20x%3D%2788%27%20y%3D%27186%27%20font-family%3D%22PingFang%20SC%2CHiragino%20Sans%20GB%2CMicrosoft%20YaHei%2CNoto%20Sans%20SC%2Csans-serif%22%20font-size%3D%2722%27%20font-weight%3D%27700%27%20fill%3D%27%23F3EEE4%27%3E%E6%9C%8D%E5%8A%A1%E7%BA%BF%E9%A1%B5%E9%9D%A2%3C%2Ftext%3E%3Ctext%20x%3D%2788%27%20y%3D%27211%27%20font-family%3D%22PingFang%20SC%2CHiragino%20Sans%20GB%2CMicrosoft%20YaHei%2CNoto%20Sans%20SC%2Csans-serif%22%20font-size%3D%2715%27%20fill%3D%27%23A9A292%27%3E%E6%AF%8F%E9%A1%B9%E4%BC%98%E5%85%88%E6%B2%BB%E7%96%97%E4%B8%80%E4%B8%AA%E9%A1%B5%E9%9D%A2%3C%2Ftext%3E%3Ccircle%20cx%3D%2756%27%20cy%3D%27248%27%20r%3D%279%27%20fill%3D%27%23D9BC82%27%2F%3E%3Ctext%20x%3D%2788%27%20y%3D%27250%27%20font-family%3D%22PingFang%20SC%2CHiragino%20Sans%20GB%2CMicrosoft%20YaHei%2CNoto%20Sans%20SC%2Csans-serif%22%20font-size%3D%2722%27%20font-weight%3D%27700%27%20fill%3D%27%23F3EEE4%27%3E%E5%8C%BB%E7%96%97%E5%86%85%E5%AE%B9%3C%2Ftext%3E%3Ctext%20x%3D%2788%27%20y%3D%27275%27%20font-family%3D%22PingFang%20SC%2CHiragino%20Sans%20GB%2CMicrosoft%20YaHei%2CNoto%20Sans%20SC%2Csans-serif%22%20font-size%3D%2715%27%20fill%3D%27%23A9A292%27%3E%E7%BB%8F%E5%8C%BB%E7%94%9F%E5%AE%A1%E6%A0%B8%E3%80%81%E6%A0%87%E6%B3%A8%E6%97%A5%E6%9C%9F%E3%80%81%E6%9C%89%E6%9D%A5%E6%BA%90%3C%2Ftext%3E%3Ccircle%20cx%3D%2756%27%20cy%3D%27312%27%20r%3D%279%27%20fill%3D%27%23D9BC82%27%2F%3E%3Ctext%20x%3D%2788%27%20y%3D%27314%27%20font-family%3D%22PingFang%20SC%2CHiragino%20Sans%20GB%2CMicrosoft%20YaHei%2CNoto%20Sans%20SC%2Csans-serif%22%20font-size%3D%2722%27%20font-weight%3D%27700%27%20fill%3D%27%23F3EEE4%27%3E%E6%8A%80%E6%9C%AF%20SEO%3C%2Ftext%3E%3Ctext%20x%3D%2788%27%20y%3D%27339%27%20font-family%3D%22PingFang%20SC%2CHiragino%20Sans%20GB%2CMicrosoft%20YaHei%2CNoto%20Sans%20SC%2Csans-serif%22%20font-size%3D%2715%27%20fill%3D%27%23A9A292%27%3E%E9%80%9F%E5%BA%A6%E3%80%81%E7%B4%A2%E5%BC%95%E4%B8%8E%E7%BB%93%E6%9E%84%E5%8C%96%E6%95%B0%E6%8D%AE%3C%2Ftext%3E%3Ccircle%20cx%3D%2756%27%20cy%3D%27376%27%20r%3D%279%27%20fill%3D%27%23D9BC82%27%2F%3E%3Ctext%20x%3D%2788%27%20y%3D%27378%27%20font-family%3D%22PingFang%20SC%2CHiragino%20Sans%20GB%2CMicrosoft%20YaHei%2CNoto%20Sans%20SC%2Csans-serif%22%20font-size%3D%2722%27%20font-weight%3D%27700%27%20fill%3D%27%23F3EEE4%27%3E%E6%9D%83%E5%A8%81%E4%B8%8E%E4%BF%A1%E4%BB%BB%3C%2Ftext%3E%3Ctext%20x%3D%2788%27%20y%3D%27403%27%20font-family%3D%22PingFang%20SC%2CHiragino%20Sans%20GB%2CMicrosoft%20YaHei%2CNoto%20Sans%20SC%2Csans-serif%22%20font-size%3D%2715%27%20fill%3D%27%23A9A292%27%3E%E8%B5%84%E8%B4%A8%E3%80%81%E8%AF%84%E4%BB%B7%E3%80%81%E8%87%AA%E7%84%B6%E6%8F%90%E5%8F%8A%3C%2Ftext%3E%3Ccircle%20cx%3D%2756%27%20cy%3D%27440%27%20r%3D%2713%27%20fill%3D%27%23D9BC82%27%2F%3E%3Ctext%20x%3D%2788%27%20y%3D%27447%27%20font-family%3D%22PingFang%20SC%2CHiragino%20Sans%20GB%2CMicrosoft%20YaHei%2CNoto%20Sans%20SC%2Csans-serif%22%20font-size%3D%2724%27%20font-weight%3D%27700%27%20fill%3D%27%23D9BC82%27%3E%E8%87%AA%E7%84%B6%E6%90%9C%E7%B4%A2%E5%B8%A6%E6%9D%A5%E7%9A%84%E6%82%A3%E8%80%85%E5%92%A8%E8%AF%A2%3C%2Ftext%3E%3C%2Fsvg%3E"],"m13":["Not sure where your hospital stands on these six components? Send us your specialty and target market on WhatsApp, and we will discuss where to look first.","Tidak yakin posisi rumah sakit Anda pada keenam komponen ini? Kirimkan spesialisasi dan target pasar Anda lewat WhatsApp, dan kita akan membahas dari mana mulai memeriksa.","不确定贵院在这六个组成部分上处于什么水平？请通过 WhatsApp 告诉我们您的专科和目标市场，我们会一起讨论该先查哪里。"],"h4":["Medical content that earns trust","Konten medis yang membangun kepercayaan","能赢得信任的医疗内容"],"p14":["Treat every health page as if a clinician will read it critically, because one will.","Perlakukan setiap halaman kesehatan seolah seorang klinisi akan membacanya secara kritis, karena memang akan ada.","请把每一个健康页面都当作会被临床医生严格审阅来对待，因为确实会有医生来看。"],"l15":["Name the author and the reviewing doctor, with credentials","Sebutkan nama penulis dan dokter peninjau, beserta kredensialnya","署名作者和审核医生，并注明资质"],"l16":["Show the date of the last medical review","Tampilkan tanggal tinjauan medis terakhir","显示最近一次医学审核的日期"],"l17":["Cite reputable sources, such as guidelines, journals and health authorities","Kutip sumber tepercaya, seperti pedoman, jurnal, dan otoritas kesehatan","引用可靠来源，例如指南、期刊和卫生主管部门"],"l18":["Explain risks and alternatives honestly","Jelaskan risiko dan alternatif dengan jujur","如实说明风险和替代方案"],"l19":["Avoid miracle claims and guaranteed outcomes","Hindari klaim ajaib dan hasil yang dijamin","避免夸大宣传和保证疗效"],"l20":["Make it clear when a patient should seek in-person care","Jelaskan dengan gamblang kapan pasien harus mencari perawatan langsung","说明患者何时应当线下就医"],"h5":["Technical foundations for medical SEO","Fondasi teknis untuk SEO medis","医疗 SEO 的技术基础"],"l21":["Fast, mobile-friendly pages","Halaman yang cepat dan ramah ponsel","速度快、适配移动端的页面"],"l22":["Correct hreflang between the English and Bahasa Indonesia versions","Hreflang yang benar antara versi Inggris dan Bahasa Indonesia","英语与印尼语版本之间正确的 hreflang"],"l23":["Structured data such as Hospital, MedicalClinic and Physician, used accurately","Structured data seperti Hospital, MedicalClinic, dan Physician, yang dipakai secara akurat","准确使用 Hospital、MedicalClinic 和 Physician 等结构化数据"],"l24":["A secure, accessible and crawlable site","Situs yang aman, mudah diakses, dan dapat di-crawl","安全、无障碍、可抓取的网站"],"l25":["Clean URLs and internal links from service pages to doctors","URL yang bersih dan tautan internal dari halaman layanan ke dokter","清晰的网址，以及从服务页面到医生的内部链接"],"l26":["Search Console and analytics set up with conversion tracking for WhatsApp clicks and forms","Search Console dan analitik yang disiapkan dengan pelacakan konversi untuk klik WhatsApp dan formulir","设置好 Search Console 和分析工具，并追踪 WhatsApp 点击和表单的转化"],"h6":["Earn links and reputation the right way","Raih tautan dan reputasi dengan cara yang benar","以正确的方式建设外链与口碑"],"p27":["Authority should come from being useful and credible, not from shortcuts.","Otoritas harus datang dari bermanfaat dan kredibel, bukan dari jalan pintas.","权威应当来自有用和可信，而不是走捷径。"],"l28":["Publish content that other professionals want to cite","Terbitkan konten yang ingin dikutip profesional lain","发布其他专业人士愿意引用的内容"],"l29":["Build relationships with associations, universities and partner institutions","Bangun hubungan dengan asosiasi, universitas, dan institusi mitra","与协会、大学和合作机构建立关系"],"l30":["Keep the Google Business Profile accurate for each physical location","Jaga Google Business Profile tetap akurat untuk setiap lokasi fisik","为每个实体院区保持谷歌商家档案准确"],"l31":["Avoid paid link schemes and low-quality directories","Hindari skema tautan berbayar dan direktori berkualitas rendah","避免付费买链和低质量目录"],"h7":["Compliance and ethics","Kepatuhan dan etika","合规与伦理"],"p32":["Promotional content on your site is still advertising. Check these before publishing:","Konten promosi di situs Anda tetap merupakan iklan. Periksa hal berikut sebelum menerbitkan:","您网站上的推广内容仍然属于广告。发布之前请核查："],"l33":["Advertising rules of the health authority in your home market and in Indonesia","Aturan iklan dari otoritas kesehatan di pasar asal Anda dan di Indonesia","您所在市场和印尼卫生主管部门的广告规定"],"l34":["Limits on testimonials and before-and-after images","Batasan testimoni dan gambar sebelum dan sesudah","对患者评价和术前术后对比图的限制"],"l35":["Personal data protection laws in both countries, and patient consent before sharing any case","Undang-undang perlindungan data pribadi di kedua negara, dan persetujuan pasien sebelum membagikan kasus apa pun","两国的个人数据保护法律，以及分享任何病例之前须取得的患者同意"],"p36":["Rules change, so confirm the current position with regulators and legal counsel, and never promise treatment outcomes.","Aturan bisa berubah, jadi pastikan posisi terkini kepada regulator dan penasihat hukum, dan jangan pernah menjanjikan hasil perawatan.","规定会变化，请与监管机构和法律顾问确认最新要求，并且切勿承诺治疗效果。"],"h8":["How to measure medical SEO services","Cara mengukur layanan SEO medis","如何衡量医疗 SEO 服务"],"p37":["Rankings matter only as a path to enquiries. Build your reporting around:","Peringkat hanya penting sebagai jalan menuju enquiry. Susun laporan Anda di sekitar:","排名只是通向咨询的路径。请围绕以下指标建立报告："],"l38":["Qualified enquiries from organic search: WhatsApp clicks, forms and calls","Enquiry berkualitas dari pencarian organik: klik WhatsApp, formulir, dan panggilan","自然搜索带来的有效咨询：WhatsApp 点击、表单和电话"],"l39":["Organic visibility and traffic by service line in Bahasa Indonesia","Visibilitas dan trafik organik per lini layanan dalam Bahasa Indonesia","按服务线统计的印尼语自然可见度和流量"],"l40":["Growth in brand and non-brand search","Pertumbuhan pencarian bermerek dan tidak bermerek","品牌词与非品牌词搜索的增长"],"l41":["Enquiry-to-consultation rate for organic leads","Tingkat enquiry ke konsultasi untuk lead organik","自然搜索线索的咨询到到诊转化率"],"l42":["Cost per qualified enquiry compared with paid channels","Biaya per enquiry berkualitas dibandingkan kanal berbayar","每条有效咨询的成本，并与付费渠道比较"],"p43":["SEO compounds over months. No reputable provider guarantees positions or timelines.","SEO bersifat akumulatif selama berbulan-bulan. Tidak ada penyedia tepercaya yang menjamin posisi atau waktu.","SEO 的效果以月计累积。任何正规服务商都不会保证排名位置或时间。"],"h9":["Common mistakes","Kesalahan umum","常见错误"],"l44":["Machine-translating English pages into Bahasa Indonesia","Menerjemahkan halaman Inggris ke Bahasa Indonesia dengan mesin","把英文页面机器翻译成印尼语"],"l45":["One generic page for every treatment","Satu halaman generik untuk setiap perawatan","所有治疗共用一个通用页面"],"l46":["No medical review of content","Tidak ada tinjauan medis atas konten","内容没有经过医学审核"],"l47":["Ignoring technical issues such as speed and indexing","Mengabaikan masalah teknis seperti kecepatan dan pengindeksan","忽视速度和索引等技术问题"],"l48":["Chasing rankings with no tracking of enquiries","Mengejar peringkat tanpa melacak enquiry","只追排名，不追踪咨询"],"l49":["Buying links","Membeli tautan","购买外链"],"l50":["Expecting results in weeks","Mengharapkan hasil dalam hitungan minggu","期待几周内见效"],"h10":["Frequently asked questions","Pertanyaan yang sering diajukan","常见问题"],"q1":["What are medical SEO services?","Apa itu layanan SEO medis?","什么是医疗 SEO 服务？"],"r1":["They are search optimisation services built for healthcare providers: keyword research, service pages, medically reviewed content, technical SEO and authority building, all held to the higher standard that health content demands.","Ini adalah layanan optimasi pencarian yang dibangun untuk penyedia layanan kesehatan: riset kata kunci, halaman layanan, konten yang ditinjau secara medis, SEO teknis, dan pembangunan otoritas, semuanya dengan standar lebih tinggi yang dituntut konten kesehatan.","它是专为医疗机构打造的搜索优化服务：关键词研究、服务页面、经医学审核的内容、技术 SEO 和权威建设，并且全部遵循健康内容所要求的更高标准。"],"q2":["How long does medical SEO take?","Berapa lama SEO medis berjalan?","医疗 SEO 需要多久？"],"r2":["Usually several months before organic enquiries become meaningful, depending on competition, content quality and site authority. Be cautious of anyone who guarantees a timeline.","Biasanya beberapa bulan sebelum enquiry organik menjadi berarti, tergantung persaingan, kualitas konten, dan otoritas situs. Waspadai siapa pun yang menjamin jadwal.","通常需要数月，自然咨询才会变得明显，具体取决于竞争程度、内容质量和网站权威度。对任何保证时间表的承诺都要谨慎。"],"q3":["Do we need Bahasa Indonesia pages?","Apakah kita membutuhkan halaman Bahasa Indonesia?","我们需要印尼语页面吗？"],"r3":["For most specialties, yes. Separate pages with correct language targeting match how patients search far better than machine-translated copies.","Untuk sebagian besar spesialisasi, ya. Halaman terpisah dengan penargetan bahasa yang benar jauh lebih sesuai dengan cara pasien mencari dibandingkan salinan hasil terjemahan mesin.","对大多数专科来说需要。设置了正确语言定位的独立页面，比机器翻译的副本更贴近患者实际的搜索方式。"],"q4":["How is medical SEO different from general SEO?","Apa bedanya SEO medis dengan SEO umum?","医疗 SEO 与普通 SEO 有何不同？"],"r4":["Health content affects decisions about people’s wellbeing, so it needs clinician authorship or review, reputable sources, honest risk information and strict avoidance of exaggerated claims.","Konten kesehatan memengaruhi keputusan tentang kesejahteraan orang, sehingga membutuhkan penulisan atau tinjauan klinisi, sumber tepercaya, informasi risiko yang jujur, dan penghindaran klaim berlebihan secara ketat.","健康内容影响人们对自身健康的决定，因此需要由临床医生撰写或审核、引用可靠来源、如实说明风险，并严格避免夸大宣传。"],"e.h":["Need medical SEO services for your hospital’s Indonesia strategy?","Butuh layanan SEO medis untuk strategi Indonesia rumah sakit Anda?","您的医院印尼策略需要医疗 SEO 服务吗？"],"e.p":["ADTYAA builds localised SEO, advertising and enquiry systems for healthcare providers that want to reach Indonesian patients. Message us on WhatsApp with your specialty and target market, and we will outline where to start.","ADTYAA membangun sistem SEO, iklan, dan enquiry yang dilokalisasi untuk penyedia layanan kesehatan yang ingin menjangkau pasien Indonesia. Kirim pesan lewat WhatsApp berisi spesialisasi dan target pasar Anda, dan kami akan menguraikan dari mana memulai.","ADTYAA 为希望触达印尼患者的医疗机构打造本地化 SEO、广告投放和咨询转化系统。请通过 WhatsApp 告诉我们您的专科和目标市场，我们会说明从哪里入手。"],"note":["This article is general marketing guidance, not legal or medical advice.","Artikel ini adalah panduan pemasaran umum, bukan nasihat hukum atau medis.","本文为一般性营销指引，不构成法律或医疗建议。"],"au.alt":["Adtyaa, Founder of DJURAGAN IKLAN ID","Adtyaa, Founder DJURAGAN IKLAN ID","Adtyaa，DJURAGAN IKLAN ID 创始人"]}; var LI = { en: 0, id: 1, zh: 2 }; var L = "en"; var PHONE = "6281411188809", MAIL = "hallo@adtyaa.cloud";](https://maps.app.goo.gl/YRw1yaWB5xfHcjwq5)

function $(sel, ctx) { return Array.prototype.slice.call((ctx || root).querySelectorAll(sel)); } function byId(id) { return document.getElementById(id); } function t(key, lang) { var e = D[key]; if (!e) { return key; } var v = e[LI[lang || L]]; return (v === undefined || v === "") ? e[0] : v; } function msgLang() { return "en"; } function waUrl(m) { return "https://wa.me/" + PHONE + "?text=" + encodeURIComponent(m); }

/* ---------- language (EN default, ID, 中文) ---------- */ var scLoaded = false; function loadSC() { if (scLoaded) { return; } scLoaded = true; var l = document.createElement("link"); l.rel = "stylesheet"; l.href = "https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@300;400;500;700&display=swap"; document.head.appendChild(l); } function apply() { if (L === "zh") { loadSC(); } document.documentElement.setAttribute("lang", L === "zh" ? "zh-Hans" : L); root.setAttribute("data-l", L); $("[data-i18n]").forEach(function (el) { el.textContent = t(el.getAttribute("data-i18n")); }); $("[data-i18n-html]").forEach(function (el) { el.innerHTML = t(el.getAttribute("data-i18n-html")); }); $("[data-i18n-alt]").forEach(function (el) { el.setAttribute("alt", t(el.getAttribute("data-i18n-alt"))); }); $("[data-i18n-src]").forEach(function (el) { el.setAttribute("src", t(el.getAttribute("data-i18n-src"))); }); $("[data-i18n-title]").forEach(function (el) { el.setAttribute("title", t(el.getAttribute("data-i18n-title"))); }); $("[data-i18n-aria]").forEach(function (el) { el.setAttribute("aria-label", t(el.getAttribute("data-i18n-aria"))); }); $("[data-wa]").forEach(function (el) { el.setAttribute("href", waUrl(t(el.getAttribute("data-wa"), msgLang()))); }); $("[data-lang]").forEach(function (b) { b.setAttribute("aria-pressed", b.getAttribute("data-lang") === L ? "true" : "false"); }); var st = byId("fs"); if (st) { st.textContent = ""; st.classList.remove("err"); } }

root.addEventListener("click", function (e) { var b = e.target.closest ? e.target.closest("[data-lang]") : null; if (!b) { return; } L = b.getAttribute("data-lang"); apply(); });

(function initLang() { var pick = null; try { var q = new URLSearchParams(window.location.search || "").get("lang"); if (q && LI[q] !== undefined) { pick = q; } } catch (x) {} if (pick) { L = pick; } })();

/* ---------- header + mobile menu ---------- */ var hd = byId("hd"), bg = byId("bg"), mn = byId("mn"); var bar = root.querySelector(".prog span"); var ticking = false; function onScroll() { ticking = false; if (hd) { hd.classList.toggle("sc", window.scrollY > 8); } if (bar) { var h = document.documentElement.scrollHeight - window.innerHeight; var p = h > 0 ? Math.min(1, Math.max(0, window.scrollY / h)) : 0; bar.style.transform = "scaleX(" + p.toFixed(4) + ")"; } } window.addEventListener("scroll", function () { if (!ticking) { ticking = true; window.requestAnimationFrame(onScroll); } }, { passive: true }); onScroll();

function closeMenu() { if (mn) { mn.classList.remove("on"); } if (bg) { bg.setAttribute("aria-expanded", "false"); } } if (bg && mn) { bg.addEventListener("click", function () { var on = mn.classList.toggle("on"); bg.setAttribute("aria-expanded", on ? "true" : "false"); }); mn.addEventListener("click", function (e) { if (e.target.closest && e.target.closest("a")) { closeMenu(); } }); } document.addEventListener("keydown", function (e) { if (e.key === "Escape") { closeMenu(); } }); window.addEventListener("resize", function () { if (window.innerWidth > 1000) { closeMenu(); } });

/* ---------- contact form (no server) ---------- */ var form = byId("cf"); if (form) { var fs = byId("fs"); var val = function (id) { var el = byId(id); return el ? el.value.trim() : ""; }; var optText = function (id) { var el = byId(id); if (!el || !el.value) { return ""; } var key = el.options[el.selectedIndex].getAttribute("data-i18n"); return key ? t(key, msgLang()) : el.options[el.selectedIndex].text; }; var setStatus = function (key, err) { fs.textContent = key ? t(key) : ""; fs.classList.toggle("err", !!err); }; var validate = function () { var ok = true; ["f-name", "f-service"].forEach(function (id) { var el = byId(id), bad = !el.value.trim(); el.setAttribute("aria-invalid", bad ? "true" : "false"); if (bad) { ok = false; } }); return ok; }; var compose = function () { var ml = msgLang(), lines = [t("wa.general", ml), ""]; var add = function (k, v) { if (v) { lines.push(t(k, ml) + ": " + v); } }; add("m.name", val("f-name")); add("m.email", val("f-email")); add("m.wa", val("f-wa")); add("m.url", val("f-url")); add("m.service", optText("f-service")); add("m.eng", optText("f-eng")); add("m.time", optText("f-time")); var m = val("f-msg"); if (m) { lines.push(""); lines.push(t("m.msg", ml) + ":"); lines.push(m); } return lines.join("\n"); }; byId("send-wa").addEventListener("click", function () { if (!validate()) { setStatus("f.err", true); return; } setStatus("f.okwa", false); window.open(waUrl(compose()), "_blank", "noopener"); }); byId("send-mail").addEventListener("click", function () { if (!validate()) { setStatus("f.err", true); return; } setStatus("f.okmail", false); var subject = t("m.subject", msgLang()) + " - " + val("f-name"); window.location.href = "mailto:" + MAIL + "?subject=" + encodeURIComponent(subject) + "&body=" + encodeURIComponent(compose()); }); form.addEventListener("submit", function (e) { e.preventDefault(); byId("send-wa").click(); }); ["f-name", "f-service"].forEach(function (id) { var el = byId(id); var clear = function () { if (el.value.trim()) { el.setAttribute("aria-invalid", "false"); } }; el.addEventListener("input", clear); el.addEventListener("change", clear); }); }

apply();

/* ---------- motion (respects reduced motion) ---------- */ var reduce = window.matchMedia && window.matchMedia("(prefers-reduced-motion: reduce)").matches;

/* ---------- particle field (article header + final CTA) ---------- */ function initFx(host) { if (!host) { return; } var cv = document.createElement("canvas"); cv.className = "fx"; cv.setAttribute("aria-hidden", "true"); host.insertBefore(cv, host.firstChild); var ctx = cv.getContext("2d"); if (!ctx) { return; } var W = 1, H = 1, stars = [], dust = [], nodes = [], mx = -9999, my = -9999, onScreen = true; var sprite = document.createElement("canvas"); sprite.width = sprite.height = 48; var sg = sprite.getContext("2d"), grad = sg.createRadialGradient(24, 24, 0, 24, 24, 24); grad.addColorStop(0, "rgba(255,243,209,1)"); grad.addColorStop(.25, "rgba(230,200,140,.55)"); grad.addColorStop(1, "rgba(201,164,92,0)"); sg.fillStyle = grad; sg.fillRect(0, 0, 48, 48); function rnd(a, b) { return a + Math.random() * (b - a); } function seed() { var a = W * H, i; stars = []; dust = []; nodes = []; for (i = 0; i < Math.round(a / 9000); i++) { stars.push({ x: rnd(0, W), y: rnd(0, H), r: rnd(.3, 1.05), p: rnd(0, 6.28), s: rnd(.5, 1.6) }); } for (i = 0; i < Math.round(Math.min(46, 16 + a / 42000)); i++) { dust.push({ x: rnd(0, W), y: rnd(0, H), r: rnd(1.4, 3.6), vy: rnd(.1, .38), vx: rnd(-.07, .07), a: rnd(.25, .65), p: rnd(0, 6.28) }); } for (i = 0; i < Math.round(Math.min(64, Math.max(20, a / 24000))); i++) { nodes.push({ x: rnd(0, W), y: rnd(0, H), vx: rnd(-.12, .12), vy: rnd(-.1, .1) }); } } function size() { var r = host.getBoundingClientRect(), dpr = Math.min(window.devicePixelRatio || 1, 2); W = Math.max(1, r.width); H = Math.max(1, r.height); cv.width = Math.round(W * dpr); cv.height = Math.round(H * dpr); ctx.setTransform(dpr, 0, 0, dpr, 0, 0); seed(); draw(0, true); } function draw(t, still) { var i, j, n, m, dx, dy, d, al; ctx.clearRect(0, 0, W, H); for (i = 0; i < stars.length; i++) { n = stars[i]; al = .2 + .6 * (.5 + .5 * Math.sin(t * .001 * n.s + n.p)); ctx.fillStyle = "rgba(243,232,205," + (al * .75).toFixed(3) + ")"; ctx.beginPath(); ctx.arc(n.x, n.y, n.r, 0, 6.2832); ctx.fill(); } for (i = 0; i < nodes.length; i++) { n = nodes[i]; if (!still) { n.x += n.vx; n.y += n.vy; if (n.x < -10) { n.x = W + 10; } else if (n.x > W + 10) { n.x = -10; } if (n.y < -10) { n.y = H + 10; } else if (n.y > H + 10) { n.y = -10; } } for (j = i + 1; j < nodes.length; j++) { m = nodes[j]; dx = n.x - m.x; dy = n.y - m.y; if (dx > 150 || dx < -150 || dy > 150 || dy < -150) { continue; } d = Math.sqrt(dx * dx + dy * dy); if (d < 150) { ctx.strokeStyle = "rgba(217,188,130," + ((1 - d / 150) * .2).toFixed(3) + ")"; ctx.lineWidth = .7; ctx.beginPath(); ctx.moveTo(n.x, n.y); ctx.lineTo(m.x, m.y); ctx.stroke(); } } dx = n.x - mx; dy = n.y - my; d = Math.sqrt(dx * dx + dy * dy); if (d < 190) { ctx.strokeStyle = "rgba(246,231,189," + ((1 - d / 190) * .5).toFixed(3) + ")"; ctx.lineWidth = .9; ctx.beginPath(); ctx.moveTo(n.x, n.y); ctx.lineTo(mx, my); ctx.stroke(); } ctx.fillStyle = "rgba(230,205,150,.7)"; ctx.beginPath(); ctx.arc(n.x, n.y, 1.25, 0, 6.2832); ctx.fill(); } for (i = 0; i < dust.length; i++) { n = dust[i]; if (!still) { n.y -= n.vy; n.x += n.vx + Math.sin(t * .0006 + n.p) * .12; if (n.y < -12) { n.y = H + 12; n.x = rnd(0, W); } } ctx.globalAlpha = n.a * (.65 + .35 * Math.sin(t * .0012 + n.p)); ctx.drawImage(sprite, n.x - n.r * 3, n.y - n.r * 3, n.r * 6, n.r * 6); } ctx.globalAlpha = 1; } function loop(ts) { if (onScreen && !document.hidden) { draw(ts, false); } window.requestAnimationFrame(loop); } size(); if ("ResizeObserver" in window) { new ResizeObserver(function () { size(); }).observe(host); } else { window.addEventListener("resize", size); } if (reduce) { return; } if ("IntersectionObserver" in window) { new IntersectionObserver(function (es) { es.forEach(function (en) { onScreen = en.isIntersecting; }); }, { rootMargin: "100px" }).observe(host); } host.addEventListener("pointermove", function (e) { var r = host.getBoundingClientRect(); mx = e.clientX - r.left; my = e.clientY - r.top; }); host.addEventListener("pointerleave", function () { mx = -9999; my = -9999; }); window.requestAnimationFrame(loop); } initFx(root.querySelector(".ah")); initFx(root.querySelector(".final")); if (reduce || !("IntersectionObserver" in window)) { return; } if (!document.body.classList.contains("elementor-editor-active")) { root.classList.add("js"); var rv = new IntersectionObserver(function (es) { es.forEach(function (en) { if (!en.isIntersecting) { return; } en.target.classList.add("in"); rv.unobserve(en.target); }); }, { threshold: 0, rootMargin: "0px 0px -6% 0px" }); $(".rv").forEach(function (el) { rv.observe(el); }); } })();

tetap bisa diseleksi/disalin. */ (function(){ 'use strict'; if(window.__cgOn)return;window.__cgOn=1; if(document.body&&document.body.classList.contains('elementor-editor-active'))return;

var doc=document,root=doc.documentElement; var EDITABLE="input,textarea,select,[contenteditable='true']"; var COPYABLE='.cm,address'; var WM_MS=5000; /* lama watermark tampil setelah screenshot terdeteksi */ var wm=null,wmTimer=0;

root.classList.add('cg-on');

function inEditable(el){return !!(el&&el.closest&&el.closest(EDITABLE))} function block(e){e.preventDefault()}

/* ---------- Watermark screenshot ---------- */ function showWatermark(){ if(!wm){ if(!doc.body)return; wm=doc.createElement('div'); wm.className='cg-wm'; wm.setAttribute('aria-hidden','true'); doc.body.appendChild(wm); } root.classList.add('cg-shot'); clearTimeout(wmTimer); wmTimer=setTimeout(function(){root.classList.remove('cg-shot')},WM_MS); }

/* ---------- Print ---------- */ function printOn(){root.classList.add('cg-print')} function printOff(){root.classList.remove('cg-print')} window.addEventListener('beforeprint',printOn); window.addEventListener('afterprint',printOff); if(window.matchMedia){ var mq=window.matchMedia('print'); var onMq=function(e){e.matches?printOn():printOff()}; if(mq.addEventListener)mq.addEventListener('change',onMq); else if(mq.addListener)mq.addListener(onMq); }

/* ---------- Mouse / seleksi ---------- */ doc.addEventListener('contextmenu',function(e){ if(!inEditable(e.target))block(e); });

doc.addEventListener('dragstart',block);

doc.addEventListener('selectstart',function(e){ var t=e.target&&e.target.nodeType===1?e.target:(e.target&&e.target.parentElement); if(inEditable(t)||(t&&t.closest&&t.closest(COPYABLE)))return; block(e); });

/* ---------- Keyboard ---------- */ doc.addEventListener('keydown',function(e){ var k=e.code,mod=e.ctrlKey||e.metaKey,stop=false;

/* Screenshot: PrintScreen, Cmd+Shift+3/4/5/6 (Mac), Win+Shift+S */ if(k==='PrintScreen'||e.key==='PrintScreen'|| (e.metaKey&&e.shiftKey&&(k==='Digit3'||k==='Digit4'||k==='Digit5'||k==='Digit6'||k==='KeyS'))){ showWatermark(); }

if(k==='F12'){ stop=true; }else if(mod&&!e.altKey&&(k==='KeyP'||(!e.shiftKey&&(k==='KeyS'||k==='KeyU')))){ stop=true; /* Ctrl/Cmd + P (print), S, U */ }else if( (mod&&e.shiftKey&&(k==='KeyI'||k==='KeyJ'||k==='KeyC'))|| /* Ctrl/Cmd + Shift + I, J, C */ (e.metaKey&&e.altKey&&(k==='KeyI'||k==='KeyJ'||k==='KeyC'||k==='KeyU')) /* Cmd + Option + I, J, C, U (Mac) */ ){ stop=true; } if(stop){block(e);e.stopPropagation()} },true);

/* Di Windows, PrintScreen sering hanya mengirim keyup */ doc.addEventListener('keyup',function(e){ if(e.code==='PrintScreen'||e.key==='PrintScreen')showWatermark(); },true);

/* Desktop saja: bila panel dev tools terbuka (docked), bersihkan console saat jendela di-resize */ if(window.matchMedia&&window.matchMedia('(hover:hover) and (pointer:fine)').matches){ var raf=0; window.addEventListener('resize',function(){ if(raf)return; raf=requestAnimationFrame(function(){ raf=0; if((window.outerWidth-window.innerWidth>200||window.outerHeight-window.innerHeight>260)&&window.console&&console.clear){console.clear()} }); },{passive:true}); } }());
