Optimasi Meta Tag untuk SEO Dasar: Panduan Lengkap Agar Website Cepat Terindeks dan Naik Peringkat

menit membaca.
Diperbarui
  • Optimasi Meta Tag SEO Terbaik

    Mengapa Meta Tag menjadi pondasi penting dalam optimasi SEO On-Page?
    Dalam blogging dan digital marketing, keberadaan sebuah situs sangat bergantung pada bagaimana mesin pencari seperti Google atau Bing memahami isinya. Di sinilah peran Meta Tag menjadi sangat krusial.

    Secara sederhana, Meta Tag adalah sekumpulan kode HTML yang disematkan dalam bagian <head> pada struktur website atau blog Anda yang berfungsi memberikan ringkasan atau rangkuman informasi dari seluruh isi situs atau halaman Anda kepada robot mesin pencari dan platform media sosial.


    Seberapa Penting Meta Tag bagi Peringkat Pencarian?

    Bisa dikatakan Meta Tag adalah kartu identitas situs Anda. Agar situs Anda mendapatkan rangking tinggi di halaman hasil pencarian atau yang biasa disebut SERP (Search Engine Results Page), menyertakan Meta Tag adalah keharusan, kecuali jika blog Anda memang disetel untuk pembaca privat.

    Faktanya, data yang muncul sebagai cuplikan di hasil pencarian, mulai dari Judul, Deskripsi singkat, hingga Snippet lainnya, sebagian besar bersumber langsung dari Meta Tag yang Anda pasang.

    Meta Tag yang disusun dengan baik, lengkap, dan rapi akan membuat situs Anda:

    • Lebih Cepat Terindeks oleh mesin pencari.
    • Memiliki kemungkinan lebih besar untuk mendapatkan posisi tinggi pada hasil pencarian.

    Apa Saja Komponen yang Harus Ada dalam Meta Tag?

    Secara default, Meta Tag yang paling standar dan wajib Anda miliki mencakup beberapa informasi penting:

    1. Judul Situs (Title Tag): Judul utama yang muncul di tab browser dan hasil pencarian.
    2. Deskripsi Penelusuran (Meta Description): Ringkasan singkat yang menarik (sekitar 150-160 karakter) yang muncul di bawah Judul pada hasil pencarian atau Search Engine Results Page (SERP).
    3. Kata Kunci (Meta Keyword): Saat ini sudah tidak terlalu dominan dalam SEO modern, namun masih dapat dicantumkan.
    4. Gambar Thumbnail: Gambar yang akan muncul saat link Anda dibagikan.

    Jika keempat data dasar ini sudah ada, Anda sudah memiliki senjata untuk bersaing. Namun, kenyataannya, ada ribuan situs dengan niche serupa yang melakukan hal yang sama. Satu-satunya cara untuk menguguli mereka adalah dengan memaksimalkan Meta Tag Anda!

    Tiga Kode Tambahan untuk Memaksimalkan Meta Tag Anda

    Untuk meningkatkan kualitas dan daya saing situs Anda, tambahkan beberapa kode penting berikut:

    1. Meta Open Graph (OG)

    Sumber traffic pengunjung tidak hanya berasal dari mesin pencari. Sebagian besar traffic juga datang dari media sosial. Meta Open Graph berfungsi memberikan ringkasan informasi situs Anda secara optimal kepada platform seperti Facebook, Whatsapp, X, dan LinkedIn, memastikan preview tautan Anda terlihat menarik dan profesional.

    2. Site Authority dan Verifikasi (opsional)

    Ini berisi informasi kepemilikan dan otoritas situs, seperti kode verifikasi untuk Google Search Console (Webmaster Tools), Bing, serta informasi penulis atau pemilik situs. Ini membantu mesin pencari mengidentifikasi kredibilitas dan kepemilikan.

    3. Meta Tag Robot yang Lebih Spesifik

    Meta tag ini memungkinkan Anda memberikan instruksi yang lebih kompleks kepada robot mesin pencari, seperti menentukan:

    • Bahasa konten situs Anda (misalnya, content-language).
    • Region/Lokasi target situs Anda.
    • Perintah khusus seperti noindex atau nofollow untuk halaman tertentu.

    Jika semua informasi di atas sudah Anda terapkan, situs Anda dipastikan akan lebih cepat terindeks dan memiliki dasar yang sangat kuat untuk menempati posisi tinggi di SERP.


    Penulisan Meta Tag yang Baik, Rapi dan Mudah Dimodifikasi

    Meta Tag yang efektif tidak hanya harus lengkap informasinya, tetapi juga harus tersusun rapi dan mudah dipahami oleh pemilik situs itu sendiri. Susunan yang terorganisir membuat Anda tidak kesulitan mengedit atau mengubah kode di kemudian hari.

    Kami memahami pentingnya efisiensi. Karena itulah kami telah merancang susunan kode yang terbukti efektif berdasarkan pengalaman kami. Bahkan, posisi situs kami tidak terpengaruh meskipun telah beberapa kali berganti template, semua berkat fondasi meta tag yang kokoh ini.

    Kami tidak mengklaim kode ini sempurna, namun ini adalah formula yang berhasil bagi kami, dan kami yakin ini juga layak Anda coba.

    Silakan tempelkan dan modifikasi kode meta tag di bawah ini pada bagian <head> ... </head> di situs atau blog Anda, atau ganti meta tag yang sebelumnya Anda gunakan.


    <b:with value='{favicon: {case: 0, url: data:blog.blogspotFaviconUrl, alt: "https://resources.blogblog.com/img/blank.gif"}, defaultImage: "https://resources.blogblog.com/img/blank.gif"}' var='additional'>
    
      <!-- title -->
      <b:switch var='data:view.type'>
        <b:case value='item'/>
        <b:comment>case for posts/static pages.</b:comment>
        <b:if cond='data:view.isPost'>
          <b:comment>Display blog name if post title length is less than 57.</b:comment>
          <b:with value='data:view.isPost and ((data:blog.pageName.length + data:blog.title.length) lt 57)' var='dash'>
            <title><b:eval expr='data:blog.pageName'/><b:if cond='data:dash'> | <b:eval expr='data:blog.title'/></b:if></title>
          </b:with>
          <b:else/>
          <title><b:eval expr='data:blog.pageName'/></title>
        </b:if>
        <b:case value='feed'/>
        <b:comment>case for index/search pages.</b:comment>
        <b:if cond='data:view.isHomepage'>
          <b:comment>homepage</b:comment>
          <title><b:eval expr='data:blog.title'/></title>
          <b:elseif cond='data:view.search.label'/>
          <b:comment>labels</b:comment>
          <title><b:eval expr='data:blog.pageName'/> | <b:eval expr='data:blog.title'/></title>
          <b:elseif cond='data:view.search.query'/>
          <b:comment>search</b:comment>
          <title>Search results for: "<b:eval expr='data:view.search.query'/>"</title>
          <b:else/>
          <b:comment>blog (..com/search)</b:comment>
          <title>Discover | <b:eval expr='data:blog.title'/></title>
        </b:if>
        <b:case value='error'/>
        <b:comment>case for error page.</b:comment>
        <title>404 Not Found.</title>
      </b:switch>
    
      <!-- meta -->
      <meta charset='UTF-8'/>
      <meta content='width=device-width, initial-scale=1, user-scalable=1, minimum-scale=1, maximum-scale=5' name='viewport'/>
    
      <b:comment>
        default value for empty description>: {
            noDescription: the value used when no search description is specified.
            errorDescription: description for the 404 error page (optional).
        }
      </b:comment>
      <b:with value='{link: data:blog.url.canonical, description: data:blog.metaDescription.escaped, noDescription: "Undefined meta description.", errorDescription: "The page you requested is missing or unavailable.", img: resizeImage(data:blog.postImageUrl, 0)}' var='og'>
    
        <meta expr:content='data:blog.metaDescription ? data:og.description : (!data:view.isError ? data:og.noDescription : data:og.errorDescription)' name='description'/>
        <b:if cond='!data:view.isError'>
          <meta content='max-image-preview:large' name='robots'/>
    
          <b:comment>open-graph and twitter-card.</b:comment>
          <meta expr:content='data:view.isMultipleItems ? "website" : "article"' property='og:type'/>
          <meta expr:content='your_organization_or_blog_title' property='og:site_name'/>
          <b:with value='data:blog.pageName.escaped ? data:blog.pageName.escaped : data:blog.title.escaped' var='name'>
            <b:with value='data:blog.metaDescription ? data:og.description : data:og.noDescription' var='summary'>
              <b:comment>default/blank image for homePage.</b:comment>
              <b:with value='data:blog.postImageUrl ? data:og.img : data:additional.defaultImage' var='image'>
                <meta expr:content='data:name' property='og:title'/>
                <meta expr:content='data:summary' property='og:description'/>
                <meta expr:content='data:og.link' property='og:url'/>
                <meta expr:content='data:image' property='og:image'/>
                <meta expr:content='data:name' name='twitter:title'/>
                <meta expr:content='data:summary' name='twitter:description'/>
                <meta expr:content='data:og.link' name='twitter:url'/>
                <meta expr:content='data:image' name='twitter:image'/>
                <meta content='summary_large_image' name='twitter:card'/>
              </b:with>
            </b:with>
          </b:with>
    
          <b:comment>theme-color.</b:comment>
          <b:with value='{light: "#fffffe", dark: "#1e1e1e"}' var='color'>
            <meta expr:content='data:color.light' expr:data-content='data:color.dark' name='theme-color'/>
            <meta expr:content='data:color.light' expr:data-content='data:color.dark' name='msapplication-navbutton-color'/>
            <meta expr:content='data:color.light' expr:data-content='data:color.dark' name='apple-mobile-web-app-status-bar-style'/>
            <meta expr:content='true' name='apple-mobile-web-app-capable'/>
          </b:with>
        </b:if>
      </b:with>
    
      <!-- link -->
      <link expr:href='data:blog.url.canonical' rel='canonical'/>
      <link expr:href='data:blog.url.canonical' hreflang='x-default' rel='alternate'/>
      <b:comment>Marker to tell robots that ?m=1 is an alternative link for mobile.</b:comment>
      <link expr:href='data:blog.url.canonical params {m: "1"}' media='only screen and (max-width:640px)' rel='alternate'/>
      <b:if cond='!data:view.isError'>
        <b:with value='{link: path(data:blog.homepageUrl, "feeds/posts/default")}' var='atom'>
          <b:tag expr:href='data:atom.link' name='link' rel='alternate' type='application/atom+xml'/>
          <b:tag expr:href='data:atom.link + "?alt=rss"' name='link' rel='alternate' type='application/rss+xml'/>
          <b:tag cond='data:view.isPost' expr:href='data:blog.postImageUrl ? resizeImage(data:blog.postImageUrl, 0) : data:additional.defaultImage' name='link' rel='image_src'/>
        </b:with>
      </b:if>
    
      <b:comment>Reduced first render delay when loading external assets (font, image, dll.).</b:comment>
      <b:with value='["https://fonts.gstatic.com", "https://blogger.googleusercontent.com"]' var='preconnect'>
        <b:loop values='data:preconnect' var='url'>
          <b:tag expr:href='data:url' name='link' rel='preconnect'>
            <b:attr cond='data:url contains "gstatic"' name='crossorigin' value='crossorigin'/>
            <b:attr name='b:whitespace' value='remove'/>
          </b:tag>
        </b:loop>
      </b:with>
    
      <!--[ favicon ]-->
      <link expr:href='data:additional.favicon.use eq 0 ? data:additional.favicon.url : data:additional.favicon.alt' expr:type='"image/" + (data:additional.favicon.use eq 0 ? "x-icon" : "png")' rel='apple-touch-icon'/>
      <link expr:href='data:additional.favicon.use eq 0 ? data:additional.favicon.url : data:additional.favicon.alt' expr:type='"image/" + (data:additional.favicon.use eq 0 ? "x-icon" : "png")' rel='icon'/>
    </b:with>
    
    <!-- site-verification --> //optional
    <meta content='xxxxxxxxxxxxxxxxx_g' name='google-site-verification'/>
    <meta content='xxxxxxxxxxxxxxxxx' name='msvalidate.01'/>
    <meta content='xxxxxxxxxxxxxxxxx' name='p:domain_verify'/>
    <meta content='xxxx_xxxxx-xxxxxxx' name='majestic-site-verification'/>

    Panduan Detail Penggunaan dan Kustomisasi Kode Meta Tag

    Setelah Anda menyalin kode Meta Tag lengkap di bagian sebelumnya, langkah selanjutnya adalah melakukan penyesuaian. Agar optimasi Meta Tag Anda sempurna, Anda WAJIB mengubah beberapa baris kode yang ditandai dengan informasi spesifik milik situs Anda.

    Berikut adalah panduan langkah demi langkah untuk mengkustomisasi setiap bagian penting:

    1. Pengaturan Default Gambar dan Favicon

    Bagian ini mendefinisikan URL default untuk kustom Favicon dan gambar yang ditampilkan jika postingan tidak memiliki gambar (atau untuk halaman beranda), gambar ini juga akan muncul sebagai cuplikan ketika situs dibagikan ke aplikasi chatting seperti Whatsapp dan Telegram.

    <b:with value='{favicon: {case: 0, url: data:blog.blogspotFaviconUrl, alt: "https://resources.blogblog.com/img/blank.gif"}, defaultImage: "https://resources.blogblog.com/img/blank.gif"}' var='additional'>
    Bagian yang Disesuaikan Penjelasan Kustomisasi
    case: 0 Ganti angka 0 menjadi 1 untuk mengaktifkan kustom Favicon. Nilai yang diterima hanya 0 dan/atau 1 untuk mewakili true/false.
    alt: "https://resources.blogblog.com/img/blank.gif" Ganti https://resources.blogblog.com/img/blank.gif dengan URL Logo Situs Anda. Gambar ini akan menjadi Favicon alternatif yang digunakan ketika nilai case: 0 diubah.
    defaultImage: "https://resources.blogblog.com/img/blank.gif" Gambar ini akan menjadi thumbnail default saat postingan tidak memiliki gambar, terutama di media sosial.
    2. Kustomisasi Judul untuk Halaman Postingan

    Judul postingan di atur untuk memiliki dua tampilan berdasarkan panjang karakter (termasuk spasi) yang dihitung berdasarkan panjang judul blog + judul postingan. Batas minimum yang ditentukan adalah 57 karakter, bagaimanapun Anda bisa mengubahnya sesuai kebutuhan.

    Kondisi Judul Postingan:
    Panjang Judul
    (Judul Blog + Judul Postingan)
    Penjelasan Contoh hasil di SERP
    Kurang dari 57 Judul blog juga akan muncul jika hasil tidak melebihi 57. Daftar Handphone Ram 6Gb | Raja Android
    Lebih dari 57 Jika melebihi 57 karakter, maka hanya judul postingan yang muncul Daftar Handphone Ram 6Gb Dengan Harga 2 Jutaan

    Untuk menonaktifkan kondisi ini dan menampilkan judul situs secara permanen, Anda perlu mengubah beberapa baris kode. Berikut adalah hasil sebelum dan sesudah perubahan, Anda hanya perlu menyalinnya:

    <b:with value='data:view.isPost and ((data:blog.pageName.length + data:blog.title.length) lt 57)' var='dash'>
      <title><b:eval expr='data:blog.pageName'/><b:if cond='data:dash'> | <b:eval expr='data:blog.title'/></b:if></title>
    </b:with>
    3. Pengaturan Judul Laman Index (Halaman Khusus)

    Dalam Blogger, laman Index merujuk pada halaman-halaman yang ditandai dengan /search/ pada URL-nya (selain Homepage, Posting, dan Laman Statis). Pengaturan ini penting untuk mempercantik tampilan hasil pencarian pada laman internal situs Anda:

    • Pencarian Internal (Query Pencarian): Menampilkan Judul berdasarkan kata kunci yang diketik user di kolom pencarian blog Anda. Anda bisa mengubah kata Search results for: menjadi Hasil Pencarian: atau kata lain.
    • Halaman Label: Menampilkan nama label (kategori) diikuti Judul Blog (Nama Label | Judul Blog).
    • Navigasi Lanjutan: Judul default yang akan tampil jika kondisi lain tidak terpenuhi (misalnya saat user mengklik tombol navigasi Postingan Lebih Lama).

    Beberapa blogger memilih untuk mencegah halaman-halaman ini terindeks oleh mesin pencari. Namun, tetap mengaturnya layak dilakukan untuk memastikan estetika judul yang konsisten.

    4. Kustomisasi Judul untuk Laman Error 404

    Ubah pesan detault 404 menjadi pesan yang lebih professional dan ramah pengguna atau ubah sesuai dengan bahasa yang Anda gunakan.

    Bagian yang disesuaikan Penjelasan
    404 Not Found. Bisa diganti dengan: Maaf! Halaman tidak ditemukan.
    5. Setelan Deskripsi Alternatif

    Bagian penting yang menentukan teks deskripsi bawaan yang digunakan jika Anda lupa mengisi deskripsi penelusuran saat menulis postingan.

    Setelan deskripsi penelusuran Blogger
    Setelan deskripsi penelusuran pada kanan bawah editor postingan Blogger.
    <b:with value='{link: data:blog.url.canonical, description: data:blog.metaDescription.escaped, noDescription: "Undefined meta description.", errorDescription: "The page you requested is missing or unavailable.", img: resizeImage(data:blog.postImageUrl, 0)}' var='og'>
    Bagian yang disesuaikan Penjelasan
    noDescription: "Undefined meta description." Kondisi ketika deskripsi penelusuran tidak diisi (kosong). Ganti teks Undefined meta description. menjadi deskripsi singkat yang mewakili isi seluruh situs Anda (maksimal 150 karakter).
    errorDescription: "The page you requested is missing or unavailable." Deskripsi untuk halaman Error 404.
    6. Setelan Open Graph (OG) Site Name

    Meta tag ini berfungsi untuk menampilkan nama situs Anda ketika tautan dibagikan di media sosial (Facebook, WhatsApp, X, dll.).

    <meta expr:content='your_organization_or_blog_title' property='og:site_name'/>
    Bagian yang disesuaikan Penjelasan
    your_organization_or_blog_title Ganti dengan Nama Resmi Blog/Organisasi Anda. Pastikan teks Nama Blog ditulis diantara tanda kutip tunggal (' ') jika mengandung Spasi. Contoh: 'Raja Android'
    7. Setelan Warna Tema Browser Mobile

    Bagian ini berfungsi mengubah warna Address bar pada browser mobile (Chrome, Safari).

    <b:with value='{light: "#fffffe", dark: "#1e1e1e"}' var='color'>
    Bagian yang disesuaikan Penjelasan
    light: "#fffffe" Warna dominan situs untuk mode Light.
    dark: "#1e1e1e" Ganti kode warna hex #1e1e1e dengan warna yang sesuai dengan situs Anda untuk mode Dark (jika situs Anda mendukung dark mode).
    8. Verifikasi Situs

    Bagian ini opsional, tetap sangat penting untuk membuktikan kepemilikan situs Anda ke berbagai tool SEO.

    <meta content='xxxxxxxxxxxxxxxxx_g' name='google-site-verification'/>
    <meta content='xxxxxxxxxxxxxxxxx' name='msvalidate.01'/>
    <meta content='xxxxxxxxxxxxxxxxx' name='p:domain_verify'/>
    <meta content='xxxx_xxxxx-xxxxxxx' name='majestic-site-verification'/>
    Bagian yang disesuaikan Penjelasan
    content='xxxxxxxxxxxxxxxxx_g' Kode verifikasi Google Search Console.
    content='xxxxxxxxxxxxxxxxx' Kode verifikasi Bing Webmaster.
    content='xxxxxxxxxxxxxxxxx' Kode verifikasi Pinterest.
    content='xxxx_xxxxx-xxxxxxx' Kode verifikasi Majestic SEO Tools (jika menggunakan).

    Anda harus mendapatkan kode-kode verisikasi ini dari masing-masing tool (Google, Bing, dll.) dan menyalinnya ke dalam tag ini.

    Berikan tanggapan Anda.

    Untuk menghindari SPAM, semua komentar akan dimoderasi sebelum ditampilkan.