Schema markup adalah salah satu teknik SEO teknikal yang paling berkesan namun sering diabaikan oleh laman web Malaysia. Dengan menambah kod structured data pada halaman anda, enjin carian dapat memahami kandungan dengan lebih tepat — dan berpotensi memaparkan maklumat anda dalam rich snippets yang menarik perhatian pengguna.
Apa Itu Schema Markup dan Structured Data?
Schema markup ialah kod data berstruktur yang ditambah pada halaman web menggunakan vocabulary dari Schema.org. Ia memberi “konteks” kepada enjin carian — bukan sekadar teks, tetapi makna sebenar di sebalik kandungan tersebut.
Structured data adalah istilah yang lebih umum merujuk kepada sebarang format data teratur yang boleh dibaca mesin. Schema markup adalah pelaksanaan structured data yang paling relevan untuk SEO.
Mengapa schema markup penting?
| Faedah | Penerangan |
|---|---|
| Rich snippets | Paparan SERP dipertingkat dengan bintang, imej, harga |
| Pemahaman kandungan | Enjin carian faham makna, bukan sekadar kata kunci |
| Knowledge Graph | Potensi kemasukan dalam Knowledge Graph Google |
| Carian suara | Data berstruktur membantu voice assistant seperti Google Assistant |
| CTR lebih tinggi | Rich results menarik lebih banyak klik |
Schema.org dibangunkan bersama oleh Google, Microsoft, Yahoo, dan Yandex sebagai vocabulary universal untuk enjin carian. Ini bermakna satu schema yang betul boleh berfaedah merentasi pelbagai enjin carian.
Jenis Format Schema Markup
JSON-LD (Disyorkan)
JSON-LD (JavaScript Object Notation for Linked Data) adalah format yang disyorkan oleh Google. Ia diletakkan sebagai skrip dalam kepala halaman, berasingan dari kandungan HTML.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Panduan Schema Markup untuk Laman Web Malaysia",
"author": {
"@type": "Organization",
"name": "Semantic.my"
}
}
</script>
Kelebihan JSON-LD:
- Berasingan dari markup HTML — mudah diurus
- Boleh dijana secara dinamik
- Lebih mudah untuk debugging
- Kurang risiko ralat berbanding Microdata
- Plugin WordPress seperti Rank Math dan Yoast SEO jana JSON-LD secara automatik
Microdata
Microdata menyematkan structured data dalam HTML menggunakan atribut khas. Kaedah ini lebih mencabar kerana ia bercampur dengan markup halaman.
<article itemscope itemtype="https://schema.org/Article">
<h1 itemprop="headline">Panduan Schema Markup</h1>
<span itemprop="author" itemscope itemtype="https://schema.org/Organization">
<span itemprop="name">Semantic.my</span>
</span>
</article>
RDFa
RDFa menggunakan atribut HTML yang serupa dengan Microdata tetapi berdasarkan standard W3C. Ia lebih biasa dalam persekitaran Content Management System (CMS) tertentu.
<article vocab="https://schema.org/" typeof="Article">
<h1 property="headline">Panduan Schema Markup</h1>
<span property="author" typeof="Organization">
<span property="name">Semantic.my</span>
</span>
</article>
Untuk kebanyakan laman web Malaysia — terutamanya yang menggunakan WordPress, Shopify, atau platform moden — JSON-LD adalah pilihan terbaik kerana kesederhanaannya.
Jenis Schema Penting untuk Laman Web Malaysia
Article Schema
Untuk artikel blog, berita, dan halaman kandungan. Schema ini menyokong kandungan penulisan SEO yang menyeluruh.
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Panduan Schema Markup untuk SEO",
"description": "Cara melaksanakan structured data untuk laman web Malaysia",
"image": "https://semantic.my/images/schema-guide.jpg",
"author": {
"@type": "Organization",
"name": "Semantic.my",
"url": "https://semantic.my/about/"
},
"publisher": {
"@type": "Organization",
"name": "Semantic.my",
"logo": {
"@type": "ImageObject",
"url": "https://semantic.my/logo.png"
}
},
"inLanguage": "ms-MY",
"datePublished": "2026-03-12",
"dateModified": "2026-03-12"
}
Perhatikan penggunaan "inLanguage": "ms-MY" — ini penting untuk laman BM supaya Google dapat memahami konteks bahasa kandungan.
LocalBusiness Schema — Format Malaysia
LocalBusiness schema adalah antara yang paling bernilai untuk perniagaan Malaysia kerana ia menyuap terus ke dalam Google Maps dan Local Pack. Berikut adalah contoh lengkap mengikut format alamat Malaysia:
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Semantic.my -- Agensi SEO Malaysia",
"image": "https://semantic.my/office.jpg",
"url": "https://semantic.my",
"telephone": "+60-17-202-0030",
"address": {
"@type": "PostalAddress",
"streetAddress": "Tingkat 10, Menara XYZ, Jalan Ampang",
"addressLocality": "Kuala Lumpur",
"addressRegion": "Wilayah Persekutuan",
"postalCode": "50450",
"addressCountry": "MY"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 3.1412,
"longitude": 101.6865
},
"openingHoursSpecification": {
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "09:00",
"closes": "18:00"
},
"priceRange": "RM1,500 -- RM15,000",
"areaServed": {
"@type": "Country",
"name": "Malaysia"
}
}
Format alamat Malaysia yang betul dalam schema:
streetAddress— nombor dan nama jalan, termasuk tingkat atau unitaddressLocality— bandar (Kuala Lumpur, Petaling Jaya, Johor Bahru)addressRegion— negeri atau wilayah persekutuanpostalCode— 5 digit poskod MalaysiaaddressCountry— gunakan kod ISO “MY” bukan “Malaysia”
Organization Schema
Untuk maklumat syarikat dan jenama. Letakkan di halaman utama.
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Semantic.my",
"url": "https://semantic.my",
"logo": "https://semantic.my/logo.png",
"description": "Agensi SEO Malaysia yang pakar dalam SEO",
"foundingDate": "2020",
"sameAs": [
"https://linkedin.com/company/semantic-my",
"https://facebook.com/semanticmy"
],
"contactPoint": {
"@type": "ContactPoint",
"telephone": "+60-17-202-0030",
"contactType": "khidmat pelanggan",
"areaServed": "MY",
"availableLanguage": ["Malay", "English"]
}
}
Product Schema
Untuk halaman produk e-dagang, pastikan harga dalam MYR:
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Pakej Audit SEO",
"description": "Audit SEO teknikal menyeluruh untuk laman web Malaysia",
"offers": {
"@type": "Offer",
"price": "3000",
"priceCurrency": "MYR",
"availability": "https://schema.org/InStock",
"priceValidUntil": "2026-12-31"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.8",
"reviewCount": "24"
}
}
FAQPage Schema
Untuk halaman soalan lazim. Schema ini sangat berkesan untuk mendapatkan rich snippets FAQ berkembang dalam SERP.
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Apa itu schema markup?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Schema markup ialah kod structured data yang membantu enjin carian memahami kandungan laman web dengan lebih tepat."
}
},
{
"@type": "Question",
"name": "Berapa kos untuk laksanakan schema markup?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Schema markup boleh dilaksanakan secara percuma menggunakan plugin WordPress atau secara manual. Kos hanya timbul jika anda mengupah pembangun web atau menggunakan platform berbayar seperti Schema App."
}
}
]
}
BreadcrumbList Schema
Untuk navigasi breadcrumb yang jelas dalam SERP:
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Laman Utama",
"item": "https://semantic.my"
},
{
"@type": "ListItem",
"position": 2,
"name": "SEO",
"item": "https://semantic.my/ms/seo/"
},
{
"@type": "ListItem",
"position": 3,
"name": "SEO Teknikal",
"item": "https://semantic.my/ms/seo/teknikal/"
},
{
"@type": "ListItem",
"position": 4,
"name": "Schema Markup",
"item": "https://semantic.my/ms/seo/teknikal/schema-markup/"
}
]
}
Cara Schema Membantu Rich Snippets dalam Google
Rich snippets adalah paparan hasil carian yang dipertingkat — ia menunjukkan maklumat tambahan di bawah pautan biasa dalam SERP. Schema markup adalah syarat utama untuk kebanyakan jenis rich snippets.
Jenis rich results yang boleh dicapai:
| Rich Result | Schema Diperlukan | Paparan |
|---|---|---|
| Ulasan bintang | Review, AggregateRating | Bintang 1-5 |
| FAQ berkembang | FAQPage | Soalan boleh dikembang |
| Cara buat | HowTo | Langkah demi langkah |
| Resepi | Recipe | Imej, rating, masa masak |
| Produk | Product, Offer | Harga, ketersediaan |
| Acara | Event | Tarikh, lokasi, tiket |
| Perniagaan tempatan | LocalBusiness | Jam buka, telefon |
| Breadcrumb | BreadcrumbList | Laluan navigasi |
Rich results bukan sahaja menarik — ia terbukti meningkatkan CTR secara ketara berbanding hasil carian biasa, kerana ia menduduki lebih banyak ruang di SERP dan menyampaikan maklumat berguna sebelum pengguna klik.
Schema untuk Laman Dwibahasa BM dan EN
Laman web Malaysia perlu optimumkan schema untuk BM dan EN serentak kerana audiens dwibahasa. Ini adalah cabaran unik yang dihadapi kebanyakan perniagaan tempatan.
Pendekatan yang disyorkan:
1. Schema berasingan mengikut bahasa halaman
Untuk halaman BM (/ms/seo/teknikal/schema-markup/):
{
"@context": "https://schema.org",
"@type": "Article",
"inLanguage": "ms-MY",
"headline": "Schema Markup: Panduan Structured Data untuk SEO",
"url": "https://semantic.my/ms/seo/teknikal/schema-markup/"
}
Untuk halaman EN (/seo/technical/schema-markup/):
{
"@context": "https://schema.org",
"@type": "Article",
"inLanguage": "en-MY",
"headline": "Schema Markup: Structured Data for SEO Rich Results",
"url": "https://semantic.my/seo/technical/schema-markup/"
}
2. Gunakan @graph untuk menghubungkan entiti
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Organization",
"@id": "https://semantic.my/#organization",
"name": "Semantic.my",
"url": "https://semantic.my"
},
{
"@type": "WebSite",
"@id": "https://semantic.my/#website",
"url": "https://semantic.my",
"publisher": {"@id": "https://semantic.my/#organization"}
},
{
"@type": "Article",
"@id": "https://semantic.my/ms/seo/teknikal/schema-markup/#article",
"isPartOf": {"@id": "https://semantic.my/#website"},
"inLanguage": "ms-MY",
"author": {"@id": "https://semantic.my/#organization"}
}
]
}
Pendekatan @graph membolehkan Google memahami hubungan antara entiti dalam laman anda — sebuah teknik penting dalam SEO on-page berasaskan entiti.
Alat Pengesahan dan Pemantauan Schema
Google Rich Results Test
Alat utama untuk menguji kelayakan rich results:
- URL: search.google.com/test/rich-results
- Uji dengan URL halaman atau paste kod HTML terus
- Tunjukkan schema yang dikesan dan pratonton rich result
- Kenal pasti ralat dan amaran
Schema Markup Validator
Pengesahan terperinci terhadap vocabulary Schema.org:
- URL: validator.schema.org
- Lebih menyeluruh dari Rich Results Test
- Periksa semua jenis schema, bukan hanya yang disokong Google
- Berguna untuk schema tersuai
Schema App
Platform berbayar untuk pengurusan schema peringkat enterprise:
- Jana schema secara automatik berdasarkan CMS
- Pemantauan rich results berterusan
- Sesuai untuk laman web besar dengan banyak jenis halaman
Google Search Console
Pantau prestasi schema dalam jangka panjang:
- Laporan Enhancements tunjukkan status rich results
- Kenal pasti ralat dan amaran schema
- Jejak impressions dan klik untuk jenis rich results tertentu
- Hantar permintaan pengesahan semula selepas betulkan ralat
Kesilapan Biasa Schema Markup
Elakkan kesilapan berikut yang boleh menyebabkan schema ditolak atau memberi kesan negatif:
-
Sifat wajib hilang — Schema tidak akan disahkan tanpa sifat yang diperlukan oleh Schema.org. Semak dokumentasi untuk setiap jenis schema.
-
Tandakan kandungan tersembunyi — Schema mesti sepadan dengan kandungan yang kelihatan pada halaman. Menandakan kandungan yang tidak dapat dilihat pengguna melanggar panduan Google.
-
Jenis schema tidak tepat — Menggunakan Product untuk perkhidmatan, atau LocalBusiness untuk perniagaan dalam talian sahaja tanpa lokasi fizikal.
-
Entiti tidak dihubungkan — Tidak menggunakan @id untuk menghubungkan Organization ke Article ke WebSite menyebabkan Google tidak dapat membina gambaran entiti yang lengkap.
-
Maklumat lapuk — Harga, waktu operasi, atau nombor telefon yang sudah berubah tetapi schema tidak dikemas kini.
-
Schema berganda yang bercanggah — Dua blok schema bagi jenis yang sama tetapi dengan maklumat berbeza pada halaman yang sama.
-
Terlupa kemas kini selepas ubah kandungan — Schema perlu dikemas kini setiap kali kandungan halaman berubah dengan ketara.
Senarai Semak Pelaksanaan Schema
Seluruh Laman
- Organization schema di halaman utama
- WebSite schema dengan search action
- BreadcrumbList pada semua halaman dalaman
- Logo dihubungkan dengan betul
Halaman Artikel
- Article atau BlogPosting schema
- Pengarang dihubungkan ke Organization atau Person
- Publisher dihubungkan ke Organization
- datePublished dan dateModified disertakan
- inLanguage ditetapkan (ms-MY atau en-MY)
Halaman Produk dan Perkhidmatan
- Product schema dengan offers
- Harga dalam MYR dengan priceCurrency: “MYR”
- Ketersediaan dinyatakan
- AggregateRating jika ada ulasan
Perniagaan Tempatan
- LocalBusiness dengan alamat penuh format Malaysia
- GeoCoordinates untuk peta
- OpeningHoursSpecification
- Maklumat hubungan dan kawasan servis
Schema markup yang dilaksanakan dengan betul adalah pelaburan teknikal yang berbaloi — ia meningkatkan kefahaman enjin carian terhadap kandungan SEO on-page anda dan membuka peluang rich results yang boleh meningkatkan keterlihatan dan CTR laman web Malaysia anda.
Mulakan dengan Organization dan BreadcrumbList schema pada semua halaman, kemudian tambah jenis schema spesifik mengikut jenis kandungan. Sahkan dengan Rich Results Test, dan pantau hasilnya dalam laporan Enhancements Google Search Console.