Bisakah mikrodata diimplementasikan dalam meta tag?

12

Harap pertimbangkan kode berikut yang ditandai dengan atribut untuk menyediakan mikrodata:

<!DOCTYPE html>
<html>
    <head>
        <title>Micro data test - Normal version</title>
    </head>
    <body>
        <div itemscope itemtype="http://schema.org/Product">
            <h1 itemprop="name">Product name</h1>
            <img alt="" itemprop="image" src="http://placehold.it/200x200" />
            <div itemprop="description">This is the product description.</div>
            <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
                <meta content="in_stock" itemprop="availability" />
                <span content="GBP" itemprop="priceCurrency">£</span><span itemprop="price">100.00</span>
            </div>
        </div>
    </body>
</html>

Menggunakan Alat Pengujian Data Terstruktur Google memberikan hasil positif.

Ini baik-baik saja dalam contoh pengujian, namun, kami ingin mengimplementasikan mikrodata di berbagai situs yang struktur HTML-nya sangat bervariasi. Untuk mengimplementasikan atribut dengan cara ini akan membutuhkan seseorang untuk mengedit markup HTML secara manual pada setiap situs secara individual.

Lebih disukai, kami ingin dapat memanggil fungsi tunggal yang mengemas semua mikrodata di satu tempat; secara teknis ini dimungkinkan dengan menggunakan meta tag dengan cara berikut:

<!DOCTYPE html>
<html>
    <head>
        <title>Micro data test - Meta tag version</title>
    </head>
    <body>
        <meta itemscope itemtype="http://schema.org/Product" itemref="microName microImage microDescription microOffer" />
        <meta id="microName" itemprop="name" content="Product name" />
        <link id="microImage" itemprop="image" href="http://placehold.it/200x200" />
        <meta id="microDescription" itemprop="description" content="This is the product description." />
        <meta id="microOffer" itemprop="offers" itemscope itemtype="http://schema.org/Offer" itemref="microCurrency microPrice microAvail" />
        <meta id="microAvail" itemprop="availability" content="in_stock" />
        <meta id="microCurrency" itemprop="priceCurrency" content="GBP" />
        <meta id="microPrice" itemprop="price" content="100.00" />
        <div>
            <h1>Product name</h1>
            <img alt="" src="http://placehold.it/200x200" />
            <div>This is the product description.</div>
            <div>£100.00</div>
        </div>
    </body>
</html>

Menggunakan Alat Pengujian Data Terstruktur Google memberikan hasil positif yang sama dengan tes pertama.

Untuk referensi (kami tidak akan pernah melakukan ini di situs yang sebenarnya) Alat Pengujian Data Terstruktur Google mengembalikan kesalahan jika Anda mencoba untuk melewatkan mikrodata yang disembunyikan oleh CSS.

Jadi, markup tag normal dan meta menghasilkan hasil yang sama, namun, saya memiliki beberapa kekhawatiran karena pernyataan berikut dari Google dan Schema.org:

https://support.google.com/webmasters/answer/146750 menyatakan:

Secara umum, Google akan menggunakan hanya data yang ditandai yang terlihat oleh pengguna. Data tersembunyi akan diabaikan. Namun, dalam beberapa keadaan, mungkin bermanfaat untuk menyediakan versi konten yang bisa dibaca mesin dan versi yang bisa dibaca manusia. Misalnya, sementara string teks "Ulang tahun Elvis" penting bagi banyak pembaca manusia, itu tidak berarti bagi mesin pencari seperti 1935-01-08. Demikian pula, pembaca manusia dapat menyimpulkan arti dari simbol $, tetapi dapat bermanfaat untuk secara khusus memberi tahu mesin pencari apakah harga Anda dalam peso atau dolar.

http://schema.org/docs/gs.html menyatakan (terkait dengan penggunaan tag meta):

Teknik ini harus digunakan dengan hemat. Hanya gunakan meta dengan konten untuk informasi yang tidak bisa ditandai.

http://schema.org/docs/faq.html#13 menyatakan:

Sebagai aturan umum, Anda harus menandai hanya konten yang dapat dilihat oleh orang-orang yang mengunjungi halaman web dan bukan konten di div tersembunyi atau elemen halaman tersembunyi lainnya.

Pertanyaan saya adalah:

  1. Meskipun tidak ada kesalahan yang dikembalikan, apakah kita akan dihukum oleh mesin pencari untuk menggunakan meta tag dengan cara ini (yaitu duplikat konten, menyembunyikan informasi dll)?
  2. Jika ini tidak cocok, bisakah Anda menyarankan cara untuk memisahkan mikrodata dari data aktual atau akankah kita harus menggigit peluru dan mengimplementasikannya dalam HTML berdasarkan kasus per kasus?
Stephen Ostermiller
sumber
2
Hal semacam ini merupakan tindakan penyeimbang yang cukup rumit untuk Google. Bahkan jika tidak ada masalah hari ini, Google dapat dengan mudah mengubah kebijakan mereka. Google menghasilkan uang dengan memiliki mesin pencari yang mengarahkan penggunanya ke konten yang paling cocok lebih baik daripada pesaingnya. Konten tersembunyi dengan cara apa pun dapat merusaknya, sehingga akan selalu lebih aman untuk menandai konten yang terlihat.
@Alohci Ya, ini yang saya takuti dan tidak ada cara untuk memberi tahu sampai semuanya terlambat! Terima kasih atas komentarnya, saya pikir kita mungkin harus menggigit peluru yang satu ini dan melakukannya dengan cara biasa.

Jawaban:

6

Rencana Anda untuk menggunakan meta data untuk mikrodata tidak layak. Berikut ini adalah FAQ Google tentang mengapa tidak menampilkan data Anda dalam hasil pencarian :

Apakah konten Anda yang ditandai disembunyikan dari pengguna?

Secara umum, Google tidak akan menampilkan konten apa pun dalam cuplikan kaya yang tidak terlihat oleh pengguna manusia. Jangan menyembunyikan konten yang Anda telah ditandai untuk cuplikan kaya menggunakan teknik seperti display:none, value-titleatau css. Google akan mengabaikan konten yang tidak terlihat oleh pengguna manusia, jadi Anda harus menandai teks yang akan dilihat pengunjung di halaman web Anda.

Satu-satunya cara agar Google menggunakan mikrodata yang Anda berikan adalah menandainya di tempat ia berada di halaman, terlihat oleh pengguna.

Pada titik ini, Google tidak menghukum karena mencoba menyalahgunakan cuplikan kaya selain hanya mematikan cuplikan kaya untuk situs itu. Tidak akan mengejutkan saya jika Google mulai mengecualikan situs dari hasil pencarian sepenuhnya ketika Google menemukan situs mencoba menggunakan microdata dengan cara yang tidak sesuai dengan pedoman.

Selama data meta yang Anda markup juga terlihat di suatu tempat di halaman, Google tidak mungkin menganggap situs Anda berbahaya. Namun, alat otomatis mereka mendeteksi ketika Anda menandai data di lokasi yang tidak terlihat dan mereka tidak akan menampilkannya di hasil pencarian.

Stephen Ostermiller
sumber
Terima kasih atas jawabannya. Anda meningkatkan beberapa poin menarik; sepertinya sedikit gunanya mengimplementasikan microdata dalam meta tag jika data tidak akan digunakan!
4

Menggunakan meta(dan link) elemen untuk Microdata baik-baik saja. Kadang-kadang bahkan tidak ada alternatif yang masuk akal untuk itu, misalnya, jika kode tertentu harus disediakan di mana tidak masuk akal untuk menunjukkannya kepada pengguna Anda.

Google bahkan menggunakan metadalam beberapa contoh Cuplikan Kaya mereka:

  • Aplikasi Produk dan Perangkat Lunak :

    <meta itemprop="priceCurrency" content="USD" />
  • Ulasan :

    <meta itemprop="datePublished" content="2006-05-04">
    <meta itemprop="bestRating" content="10"/>
    <meta itemprop="worstRating" content="1"/>
  • Video :

    <meta itemprop="uploadDate" content="2015-02-05T08:00:00+08:00"/>
    <meta itemprop="duration" content="PT1M33S" />
    <meta itemprop="interactionCount" content="2347" />
  • Artikel :

    <meta itemprop="datePublished" content="2015-02-05T08:00:00+08:00"/>

Jadi pertanyaannya adalah, berapa banyak terlalu banyak (jika ada batasannya)? Dan saya pikir aman untuk mengasumsikan bahwa tidak ada batasan yang keras , kemungkinan besar tergantung pada berbagai faktor tambahan.

Namun, masuk akal bagi Google untuk tidak mengabaikan markup Microdata jika hanya meta/ linkdigunakan. Mengapa? Karena mereka juga mendukung (dan kadang - kadang bahkan merekomendasikan ) JSON-LD untuk menyediakan data Schema.org, dan ini hanya terdiri dari konten "tersembunyi" (yaitu, scriptelemen tersembunyi yang digunakan sebagai blok data ).

Dan inilah yang akan saya sarankan dalam kasus Anda: Jika Anda tidak ingin menambahkan data terstruktur dengan menandai elemen yang ada, gunakan JSON-LD .

unor
sumber
Terima kasih atas sarannya. Saya akan melihat JSON-LD.
1

Saya tidak dapat mengomentari apakah ini akan bekerja untuk semua situasi, tetapi kami menggunakan Schema.org dengan cara yang Anda jelaskan - sebagai meta "konten" pada halaman produk. Mengapa? Ini jauh lebih portabel dan tidak merusak tema. Ini juga memungkinkan lebih banyak kontrol granular pada memformat data, dan itu mendapatkan data yang relevan setelah <body>(jauh di atas flip). Platform yang berbasis kait (atau bahkan berbasis F&R seperti vQmod) muncul di benak: tidak ada cara untuk secara lancar memusatkan perhatian pada F&R semua arahan ke dalam struktur tanpa mengkodekannya dengan keras.

Kami belum melihat adanya penalti, Google masih menggunakan data, masih memasukkannya ke widget SERP. Kami masih memiliki sebagian besar data pada halaman di suatu tempat, tetapi sejauh sebagian besar markup berjalan, ada dalam 1 wadah meta hirarkis tunggal menggunakan content=""seperti contoh bawah Anda hanya organisasi yang dibungkus dengan sebagai "membuat penawaran". Sekarang jangan mengambil ini terlalu jauh - hal-hal struktural seperti loop ulasan, remah roti, deskripsi utama, atau spesifikasi sebaiknya tidak dimasukkan ke dalam wadah meta ini. Coba kode keras mereka agar terlihat.

Kebanyakan orang akan mengatakan "jangan gunakan content=""meta" tetapi sekali lagi, sebagian besar dari orang-orang itu belum pernah mencobanya. Hal yang sama berlaku untuk hal-hal seperti markup kaya pada daftar produk dalam kategori ... ya kita juga melanggar aturan itu :) Ingatlah bahwa Google bukan satu-satunya ikan di kolam RDF. Apa yang G katakan bukanlah "membuat atau menghancurkan" dalam keadaan ini menggunakan format data isu-standar dengan cara yang sangat dapat diterima oleh seluruh kolam. Mungkin bahkan karena G sendiri berubah pikiran di masa depan. Ia menginginkan data di atas / di atas semua, namun itu membuat Anda kode dalam data di bawah / di bawah ini, sedangkan meta attribs meletakkannya di depan dan tengah, dalam bahasa yang dapat diakses mesin.

dhaupin
sumber
Flaggellum note, OpenGraph (OG) dan lebih banyak bekerja dengan metode yang sama: seperti meta dengan konten di <head>atau <body>. Pinterest menyukai data-pertama dari Skema. Kartu Twitter berfungsi serupa. Dan jangan takut untuk menggunakan data-kosa kata untuk remah roti dan bagian dari loop ulasan, itu valid.
dhaupin
Terima kasih atas jawabannya, menarik untuk mengetahui bahwa metode meta tag telah berhasil diterapkan tanpa penalti yang jelas.