Daftar Isi
"Schema markup adalah bahasa penerjemah antara konten website dan mesin pencari AI — tanpanya, AI seperti ChatGPT dan Google AI Overviews buta terhadap konteks, entitas, dan relasi yang ada di situs Anda."
— Hashmeta Technical SEO Team, 2026
Dalam era Generative Engine Optimization (GEO), schema markup bukan lagi sekadar "nice-to-have" — ia adalah infrastruktur teknis fundamental yang menentukan apakah konten website Indonesia Anda akan dikutip oleh ChatGPT, Perplexity, atau Google AI Overviews.
Untuk developer dan technical SEO specialist di e-commerce (Tokopedia, Shopee, TikTok Shop integrations) dan properti Indonesia (Jakarta, Surabaya, Bandung markets), penerapan schema yang tepat dapat meningkatkan AI citation rate hingga 340% berdasarkan studi terbaru.
💡 Quick Win: Website dengan schema lengkap memiliki probabilitas 4x lebih tinggi untuk muncul di AI-generated summaries dibanding situs tanpa structured data.
Apa itu Schema untuk AI?
Schema markup (atau structured data) adalah kode semantic vocabulary yang ditambahkan ke HTML website untuk membantu mesin pencari memahami konteks konten Anda. Dalam konteks AI Search Engines 2026, schema berfungsi sebagai:
- Entity Resolution: Memastikan AI mengenali brand, produk, dan lokasi Anda dengan benar
- Knowledge Graph Integration: Menghubungkan situs Anda dengan Google Knowledge Graph dan AI training data
- Content Understanding: Memberikan konteks semantik untuk paragraf, FAQ, dan instruksi
- Citation Attribution: Memungkinkan AI menyebutkan sumber (brand Anda) saat mengutip konten
Format yang direkomendasikan adalah JSON-LD (JavaScript Object Notation for Linked Data) — lebih mudah di-maintain dan didukung penuh oleh Google, Bing, dan platform AI lainnya.
5 Schema Wajib untuk GEO
Berikut adalah lima tipe schema markup esensial yang harus diimplementasikan untuk optimasi AI visibility:
1. Article Schema (NewsArticle & BlogPosting)
Wajib untuk setiap konten editorial. Membantu AI memahami authoritativeness, freshness, dan topical relevance.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "NewsArticle",
"headline": "Panduan Investasi Properti Jakarta 2026",
"description": "Analisis lengkap tren properti Jakarta, Surabaya, dan Bandung untuk investor",
"image": "https://example.com/images/property-jakarta-2026.jpg",
"datePublished": "2026-06-21T08:00:00+07:00",
"dateModified": "2026-06-21T10:30:00+07:00",
"author": {
"@type": "Person",
"name": "Ahmad Wijaya",
"url": "https://example.com/team/ahmad-wijaya"
},
"publisher": {
"@type": "Organization",
"name": "Nama Perusahaan Properti Anda",
"logo": {
"@type": "ImageObject",
"url": "https://example.com/logo.png"
}
},
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://example.com/blog/investasi-properti-jakarta-2026"
}
}
</script>
2. FAQPage Schema
Paling kritikal untuk GEO. FAQPage adalah format yang paling sering dikutip oleh ChatGPT dan Google AI Overviews untuk menjawab pertanyaan pengguna.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Berapa harga apartemen 2BR di Jakarta Selatan 2026?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Harga apartemen 2BR di Jakarta Selatan pada 2026 berkisar antara Rp 1,2 miliar hingga Rp 3,5 miliar, tergantung lokasi spesifik seperti Kuningan, SCBD, atau Kemang. Properti dekat MRT umumnya memiliki premium 15-25%."
}
},
{
"@type": "Question",
"name": "Apakah cicilan KPR masih kompetitif di 2026?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Suku bunga KPR di Indonesia 2026 berada di kisaran 6,5% - 8,9% per tahun. Bank seperti BCA, Mandiri, dan BTN menawarkan promo rate rendah untuk properti green building."
}
}
]
}
</script>
3. HowTo Schema
Ideal untuk konten tutorial, panduan penggunaan produk, atau proses transaksi e-commerce. AI sering mengekstrak step-by-step ini untuk featured snippets.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "Cara Membeli Produk di Toko Online Kami",
"description": "Panduan lengkap checkout di website e-commerce Indonesia dengan pembayaran lengkap",
"totalTime": "PT5M",
"estimatedCost": {
"@type": "MonetaryAmount",
"currency": "IDR",
"value": "0"
},
"supply": [
{
"@type": "HowToSupply",
"name": "Akun terdaftar"
},
{
"@type": "HowToSupply",
"name": "Metode pembayaran (Transfer Bank/E-Wallet/Kartu Kredit)"
}
],
"tool": [
{
"@type": "HowToTool",
"name": "Smartphone atau komputer dengan koneksi internet"
}
],
"step": [
{
"@type": "HowToStep",
"position": 1,
"name": "Pilih Produk",
"text": "Browse katalog dan klik 'Tambah ke Keranjang' untuk produk pilihan Anda",
"url": "https://example.com/how-to-order#step1"
},
{
"@type": "HowToStep",
"position": 2,
"name": "Checkout",
"text": "Klik ikon keranjang, pilih 'Checkout', dan isi alamat pengiriman",
"url": "https://example.com/how-to-order#step2"
},
{
"@type": "HowToStep",
"position": 3,
"name": "Pilih Pembayaran",
"text": "Pilih metode: Transfer Bank (BCA, Mandiri, BNI), GoPay, OVO, ShopeePay, atau Kartu Kredit",
"url": "https://example.com/how-to-order#step3"
}
]
}
</script>
4. Speakable Schema (Voice Search Optimization)
Menandai bagian konten yang optimal untuk text-to-speech dan voice assistants. Kritis untuk SEO voice search yang semakin dominan di Indonesia.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "NewsArticle",
"headline": "Update Harga Rumah Jabodetabek Juni 2026",
"speakable": {
"@type": "SpeakableSpecification",
"cssSelector": [".summary-paragraph", "#key-highlights"]
},
"author": {
"@type": "Person",
"name": "Tim Riset Hashmeta"
}
}
</script>
Implementasi: Tambahkan class summary-paragraph ke paragraf pembuka yang berisi poin-poin utama artikel.
5. Organization Schema dengan sameAs Array
Esensial untuk entity recognition. Property sameAs menghubungkan brand Anda dengan profil sosial media dan platform e-commerce.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Nama Brand E-Commerce Indonesia",
"alternateName": "Brand Singkatan",
"url": "https://www.brandanda.id",
"logo": "https://www.brandanda.id/logo.png",
"description": "E-commerce terpercaya Indonesia untuk kategori fashion dan lifestyle dengan pengiriman ke seluruh Nusantara",
"foundingDate": "2019",
"sameAs": [
"https://www.facebook.com/brandanda",
"https://www.instagram.com/brandanda",
"https://www.tiktok.com/@brandanda",
"https://www.linkedin.com/company/brandanda",
"https://shopee.co.id/brandanda_official",
"https://www.tokopedia.com/brandanda",
"https://www.youtube.com/@brandanda",
"https://id.wikipedia.org/wiki/Nama_Brand_Anda"
],
"contactPoint": {
"@type": "ContactPoint",
"telephone": "+62-21-1234-5678",
"contactType": "customer service",
"areaServed": "ID",
"availableLanguage": ["Indonesian", "English"]
},
"address": {
"@type": "PostalAddress",
"streetAddress": "Jl. Sudirman Kav. 52-53",
"addressLocality": "Jakarta Selatan",
"addressRegion": "DKI Jakarta",
"postalCode": "12190",
"addressCountry": "ID"
}
}
</script>
Schema Markup Hierarchy for AI Engines
🏢 Organization + sameAs
Entity Foundation — Brand Recognition
📍 LocalBusiness / Store
Location Entity — Jakarta, Surabaya, Bandung
🛍️ Product + Offer
E-commerce Integration — Shopee, Tokopedia
📄 Article / BlogPosting
Content Entity — Author, Date, Publisher
❓ FAQPage
📋 HowTo
Priority: Implement dari atas ke bawah untuk foundation yang kuat
🇮🇩 Schema Spesifik untuk Pasar Indonesia
LocalBusiness untuk Kota Besar
Untuk bisnis dengan lokasi fisik di Jakarta, Surabaya, Bandung, dan kota besar lainnya:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Nama Showroom Properti Jakarta",
"image": "https://example.com/showroom-jakarta.jpg",
"address": {
"@type": "PostalAddress",
"streetAddress": "Jl. Rasuna Said Kav. B-10",
"addressLocality": "Jakarta Selatan",
"addressRegion": "DKI Jakarta",
"postalCode": "12920",
"addressCountry": "ID"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": "-6.226585",
"longitude": "106.809136"
},
"telephone": "+62-21-5296-1234",
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "09:00",
"closes": "17:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Saturday"],
"opens": "10:00",
"closes": "15:00"
}
],
"priceRange": "$$$"
}
</script>
Product Schema untuk Integrasi Marketplace
Untuk brand yang menjual di website sendiri + Shopee/Tokopedia — gunakan offers dengan multiple seller:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Sneakers Running Pro X1",
"image": [
"https://example.com/produk-x1-1.jpg",
"https://example.com/produk-x1-2.jpg"
],
"description": "Sepatu running performa tinggi dengan teknologi breathable mesh",
"brand": {
"@type": "Brand",
"name": "Brand Indonesia"
},
"sku": "RUN-X1-BLK-42",
"offers": [
{
"@type": "Offer",
"url": "https://example.com/produk/sneakers-x1",
"price": "899000.00",
"priceCurrency": "IDR",
"availability": "https://schema.org/InStock",
"seller": {
"@type": "Organization",
"name": "Brand Indonesia Official Store"
}
},
{
"@type": "Offer",
"url": "https://shopee.co.id/produk-x1-official",
"price": "849000.00",
"priceCurrency": "IDR",
"availability": "https://schema.org/InStock",
"seller": {
"@type": "Organization",
"name": "Brand Indonesia Official - Shopee"
}
}
],
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"reviewCount": "328"
}
}
</script>
Panduan Implementasi WordPress Indonesia
Opsi 1: Plugin untuk WordPress/WooCommerce
Untuk website WordPress yang umum digunakan di Indonesia, berikut rekomendasi plugin:
Tutorial: Setup Rank Math untuk GEO
- Install & Aktifkan: Dari dashboard WordPress → Plugins → Add New → Cari "Rank Math" → Install → Activate
- Setup Wizard: Ikuti setup wizard untuk mengisi data Organization (nama bisnis, logo, sosial media)
- Aktifkan Schema Types: Rank Math → Titles & Meta → Post Types → Aktifkan Article schema untuk Posts, Product schema untuk WooCommerce
- Configure FAQ Schema: Buat FAQ menggunakan Rank Math FAQ Block (Gutenberg) atau shortcode
- Custom Schema: Untuk HowTo atau schema kustom, gunakan Rank Math → Titles & Meta → Post → Custom Schema
Opsi 2: Custom Implementation (Non-WordPress)
Untuk website custom (Laravel, CodeIgniter, React, Next.js) yang banyak digunakan developer Indonesia:
Step-by-Step Implementation:
STEP 1: Buat File JSON-LD Terpisah
Pisahkan schema dari HTML untuk kemudahan maintenance. Contoh struktur folder:
/schema/
├── organization.jsonld
├── breadcrumb.jsonld
└── templates/
├── article.jsonld
├── product.jsonld
└── localbusiness.jsonld
STEP 2: Dynamic Injection dengan PHP
<?php
// schema-injector.php
function generateArticleSchema($data) {
$schema = [
"@context" => "https://schema.org",
"@type" => "NewsArticle",
"headline" => $data['title'],
"description" => $data['excerpt'],
"image" => $data['featured_image'],
"datePublished" => $data['published_date'],
"dateModified" => $data['modified_date'],
"author" => [
"@type" => "Person",
"name" => $data['author_name']
],
"publisher" => [
"@type" => "Organization",
"name" => "Brand Indonesia",
"logo" => ["@type" => "ImageObject", "url" => SITE_LOGO]
]
];
return '<script type="application/ld+json">' .
json_encode($schema, JSON_UNESCAPED_SLASHES) .
'</script>';
}
?>
STEP 3: Include di Template Header
<head> <title><?php echo $page_title; ?></title> <?php echo generateArticleSchema($article_data); ?> <?php echo generateOrganizationSchema(); ?> <?php echo generateBreadcrumbSchema($breadcrumbs); ?> </head>
Implementasi untuk React/Next.js
// components/SchemaArticle.js
import Head from 'next/head';
export default function SchemaArticle({ article }) {
const schema = {
"@context": "https://schema.org",
"@type": "NewsArticle",
"headline": article.title,
"description": article.metaDescription,
"image": article.featuredImage,
"datePublished": article.publishedAt,
"dateModified": article.updatedAt,
"author": {
"@type": "Person",
"name": article.author.name,
"url": article.author.profileUrl
},
"publisher": {
"@type": "Organization",
"name": "Brand Indonesia",
"logo": {
"@type": "ImageObject",
"url": "https://brand.id/logo.png"
}
},
"mainEntityOfPage": {
"@type": "WebPage",
"@id": `https://brand.id/blog/${article.slug}`
}
};
return (
<Head>
<script
type="application/ld+json"
dangerouslySetInnerHTML={{ __html: JSON.stringify(schema) }}
/>
</Head>
);
}
Validasi dan Testing
Setelah implementasi, jangan lupa testing. Schema yang salah atau tidak valid justru dapat merusak SEO Anda.
1. Google Rich Results Test
Tool utama untuk memastikan schema dapat diproses Google:
- Kunjungi search.google.com/test/rich-results
- Masukkan URL halaman atau paste kode JSON-LD
- Klik "Test URL"
- Periksa hasil: semua schema harus menunjukkan ✅ "Valid"
⚠️ Penting: Rich Results Test hanya memeriksa validitas syntax. Untuk memastikan AI dapat mengekstrak konten dengan benar, lakukan testing lanjutan.
2. Schema.org Validator
Untuk validasi semantic yang lebih mendalam: validator.schema.org
3. AI Extraction Testing
Cara manual untuk memastikan AI dapat "membaca" schema Anda:
- Copy konten dari halaman yang sudah diimplementasi schema
- Masukkan ke ChatGPT/Claude dengan prompt: "Extract structured information from this content"
- Periksa hasil: Apakah AI mengenali FAQ, produk, dan entitas dengan benar?
❌ Common Schema Errors yang Mencegah AI Citation
Biaya Implementasi Schema 2026
Berikut estimasi biaya implementasi schema markup untuk website e-commerce dan properti di Indonesia:
💰 ROI Note: Website dengan schema lengkap menunjukkan peningkatan CTR 20-35% dan AI citation rate hingga 340%. Untuk e-commerce dengan traffic 100K/bulan, ini dapat berarti peningkatan revenue Rp 50-150 juta per bulan.
FAQ Schema untuk AI
Apakah schema wajib untuk AI citation?
Schema tidak wajib secara teknis, tetapi sangat direkomendasikan. Tanpa schema, AI masih dapat mengutip konten Anda, tetapi dengan probabilitas yang jauh lebih rendah. Schema markup meningkatkan confidence score AI untuk mengutip sumber Anda sebagai authoritative. Studi menunjukkan website dengan schema lengkap memiliki 4x lebih besar kemungkinan untuk dikutip dibandingkan tanpa schema.
Berapa lama schema terindex?
Setelah implementasi, Google biasanya memerlukan waktu 3-14 hari untuk mengenali dan memproses schema. Untuk website dengan crawling frequency tinggi (authority tinggi), bisa lebih cepat (24-72 jam). Gunakan Google Search Console untuk memonitor: masuk ke Enhancements section untuk melihat schema yang sudah terdeteksi.
Schema gratis atau berbayar?
Schema markup sepenuhnya gratis. Schema.org adalah open standard yang tidak memerlukan lisensi. Biaya yang muncul adalah untuk tenaga kerja (developer/SEO specialist) untuk implementasi, atau plugin premium yang memudahkan management. Tidak ada biaya kepada Google atau platform lain untuk menggunakan schema.
Apakah schema membantu ranking Google?
Schema bukan direct ranking factor, tetapi berdampak indirect yang signifikan. Schema memungkinkan rich snippets (bintang rating, harga, FAQ dropdown) yang meningkatkan CTR. Higher CTR mengirimkan sinyal positif ke Google. Selain itu, schema membantu Google memahami relevansi konten lebih baik, yang dapat meningkatkan ranking untuk long-tail keywords.
Developer atau SEO yang pasang schema?
Keduanya perlu kolaborasi. SEO specialist menentukan strategy (schema apa yang diperlukan, struktur entity). Developer menangani implementation (kode JSON-LD, dynamic injection, testing). Untuk WordPress dengan plugin, SEO dapat handle sendiri. Untuk custom sites, developer wajib terlibat. Technical SEO specialist yang memahami coding idealnya menjadi bridge antara keduanya.
Bacaan Terkait
🚀 Free AI-Visibility Audit
Dapatkan analisis gratis dari tim Technical SEO Hashmeta: cek kesehatan schema website Anda, identifikasi missing markup, dan rekomendasi prioritas implementasi untuk AI search visibility.
Hubungi Kami untuk Audit Gratis →Response dalam 24 jam | Berlaku untuk perusahaan e-commerce & properti di Indonesia