tl; dr , tiga cara cara membubuhi keterangan secara semantik dalam dokumen HTML5 :
- Microdata dan RDFa adalah sintaksis (ekstensi HTML) untuk menandai konten semantik, tetapi mereka tidak menyediakan kosa kata.
- Microformats adalah konvensi (menggunakan kembali apa yang HTML sediakan) untuk semantik menandai konten, dan (hanya!) Memasok kosa kata untuk tujuan itu.
Schema.org adalah kumpulan kosa kata (yang dapat digunakan dengan berbagai sintaksis, termasuk Microdata dan RDFa, tetapi tidak Microformats), jadi pertanyaan ini seharusnya: Microdata vs. Microformats? Dan mengapa tidak mengundang RDFa ke pesta?
RDFa dan Microdata yang tidak sama, tapi konsepsional yang sama . Namun Microformats sangat berbeda dari keduanya.
Jika satu-satunya tujuan Anda adalah untuk meningkatkan tampilan hasil pencarian dari mesin pencari, tidak masalah dengan cara markup mana yang Anda pilih (asalkan didukung oleh mesin pencari). Tapi "semantic markup", tentu saja, memungkinkan lebih banyak: membangun Web Semantic . Bukan tanpa alasan Microformats berhubungan dengan istilah "web semantik huruf kecil", sementara RDFa berhubungan dengan "web Semantik huruf besar" (Microdata adalah sintaks yang lebih baru, tetapi akan cocok dengan varian huruf besar).
Perbedaan utama: ekstensibilitas . RDFa dan Microdata menggunakan URI, Microformats menggunakan nama kelas spesifik (untuk class
atribut HTML ) dan tipe tautan (untuk rel
atribut HTML ). Itu berarti:
Dengan Microformats Anda hanya dapat menandai konten tertentu jika komunitas Microformats membuat dan menerima "kosa kata" yang sesuai (yaitu, Microformat).
Dengan RDFa dan Microdata Anda dapat membuat kosakata Anda sendiri jika belum ada yang sesuai (dan ada banyak kosakata ).
Google mengatakan saya tidak dapat menggunakan keduanya "karena ini dapat membingungkan parser".
Saya tidak akan membiarkan ini menghentikan saya dari menerapkan beberapa cara markup. Google juga mencabut pernyataan ini dalam obrolan.
Pembaruan: Pada dokumentasi Data Terstruktur Google , tidak ada yang mengatakan mereka tidak dapat menangani sintaksis yang berbeda pada dokumen yang sama. Dan Alat Penguji mereka melaporkan tidak ada kesalahan jika beberapa sintaks digunakan.
Lihat juga pertanyaan terkait tentang Stack Overflow: