Showing posts with label (X)HTML. Show all posts
Showing posts with label (X)HTML. Show all posts

Saturday, October 6, 2012

Rich Snippets - Blogger Metadata Twitter Cards

Bismillah. Alhamdulillah. Blogger Tune-Up kembali bisa menulis walau masih kaku setelah hampir satu bulan lamanya tidak menulis. Artikel kali ini merupakan lanjutan penjelasan dari artikel sebelumnya tentang Open Graph Metadata Untuk Blogger, namun lebih spesifik membahas tentang Twitter Cards. Twitter Cards adalah fasilitas yang diberikan oleh jejaring sosial Twitter untuk para blogger agar konten yang dibagikan melalui jejaring Twitter lebih menarik dan mudah dipahami oleh pengikut kita. Mereka para pengikut (follower) jejaring Twitter yang kita kelola akan lebih mudah untuk memahami dengan cepat mengenai materi utama dari artikel yang kita bagikan dari blog kita, karena sisipan konten artikel yang tampil pada Twitter berisi informasi tentang judul artikel, ringkasan (meta description) artikel, gambar thumbnail, info penulis (nama dan alamat Twitter), info blog (favicon, nama blog dan alamat Twitter) serta beberapa informasi penting lainnya.
Blogger Twitter Cards

Deskripsi

Twitter Cards atau Kartu Twitter memungkinkan kita untuk melampirkan berbagai informasi media untuk pengguna Twitter (Tweets) yang memiliki pranala ke konten blog yang kita kelola. Kita hanya cukup menambahkan beberapa baris kode HTML (metadata) kedalam halaman web yang kita kelola maka dengan otomatis pengguna yang membagikan link konten blog kita pada tweet mereka akan memiliki "kartu" informasi yang akan terlihat pada semua pengikutnya. Namun fasilitas ini belum 100% untuk semua pengguna. Twitter pada blognya yang ditulis (update) pada hari Rabu, 12-09-2012 (13:56) menjelaskan bahwa mereka masih dalam proses secara bertahap untuk menggelar teknologi tersebut hingga 100% bisa digunakan untuk semua pengguna. Ini berarti untuk sementara waktu, tidak semua pengguna akan memperoleh fasilitas ini.
Sebagai pengembang, Twitter Card (Kartu Twitter) berguna untuk:
  • Memberi Anda kendali tentang bagaimana konten Anda ditampilkan pada Tweet
  • Mengarahkan lalu lintas ke situs Anda
  • Meningkatkan jumlah orang yang mengikuti akun Twitter Anda melalui atribusi konten

Integrasi Metadata Twitter Cards

Pada artikel Open Graph Metadata Untuk Blogger sebenarnya sudah dibahas lengkap. Silahkan mengikuti tata cara pemasangan metada seperti yang dijelaskan pada artikel tersebut.
Langkah 1
Login ke Blogger
Langkah 2
Masuk ke "Dasbor - Template - Edit HTML - Lanjutkan"
Langkah 3
Pastikan kode dibawah ini tersedia:
<!-- Metadata Twitter -->
<meta name='twitter:card' content='summary'/>
<meta name='twitter:site' content='@situsAnda'/>
<meta name='twitter:creator' content='@userName'/>
<meta name='twitter:url' expr:content='data:blog.canonicalUrl'/>
<meta name='twitter:title' expr:content='data:blog.pageTitle'/>
<meta name='twitter:description' expr:content='data:blog.metaDescription'/>
<meta name='twitter:image' expr:content='data:blog.postImageThumbnailUrl'/>
Perhatian! Kode metadata Twitter Cards diatas hanya sepenggal, wajib metadata tersebut lengkap dengan metadata open graph
Langkah 4
Simpan template jika yakin kode tersebut tersedia

Pemeriksaan Metadata Twitter Cards

Setelah yakin bahwa metadata Twitter Cards terpasang dengan baik pada template, lakukan pemeriksaan dengan langkah sebagai berikut:
Langkah 1
Buka halaman Preview your Twitter Card
Langkah 2
Masukan alamat artikel yang akan diperiksa pada kotak "Media URL"
Preview Tool Twitter Cards
Langkah 3
Klik tombol "Preview Card" dan tunggu hingga kartu twitter ditampilkan seperti dibawah ini:
Hasil Preview Twitter Cards
Langkah 4
Berarti integrasi metadata Twitter Cards berhasil...

Berpartisipasi pada Twitter Cards

Agar Kartu Twitter dapat ditampilkan dengan baik maka sebaiknya anda berpartisipasi dalam pengembangan Twitter Cards dengan mengikuti ketentuan sebagai berikut:
  • Baca dokumentasi dan cara menambahkan markup yang tepat untuk Blog Anda.
  • Uji markup Anda dengan alat pratinjau yang disediakan (Lolos Pemeriksaan Metadata Twitter Cards). Kiriman Anda akan ditolak secara otomatis jika Anda memiliki markup tidak lengkap atau cacat.
  • Setelah markup diimplementasikan, mengisi formulir dan menyertakan link ke halaman yang berisi perwakilan markup.

Hal yang harus diperhatikan dalam pengisian formulir:
  • Pada bagian "Twitter Username" isi dengan nama akun twitter anda.
  • Pada bagian "Twitter Username associated with that domain" isi dengan nama akun twitter yang khusus dibuat untuk pengikut blog anda.
  • Yang diberi tanda bintang merah adalah bagian yang tidak boleh dikosongkan, namun sebaiknya semua bagian diisi dengan baik.
Setelah formulir diisi dengan baik, tunggu beberapa saat (bisa satu minggu hingga satu bulan) email konfirmasi dari tim Kartu Twitter.

Twitter Cards Pengguna Non Blog*Spot

Ma'af sekali, Blogger Tune-Up tidak akan membahas bagaimana mengintegrasikan Twitter Cards untuk platform blog selain Blog*Spot. Bagi para pengguna CMS non Blog*Spot seperti Wordpress, Drupal dan lain sebagainya terutama yang berbasis PHP silahkan merujuk pada artikel Niall Kennedy berjudul "Twitter Cards PHP" yang ditulis lengkap beserta source code-nya pada GitHub.

Kesimpulan

Dibawah ini adalah screenshoot blog yang sudah terintegrasi Twitter Card dan yang belum dipasang Twitter Card pada saat di-tweet.
Dengan Twitter Cards
Tanpa Twitter Cards
Selamat mencoba dan semoga berhasil. Happy Blogging :)

Friday, August 10, 2012

Memahami CSS Selector - Bagian 3

Bismillah. Alhamdulillah. Dua artikel yang khusus membahas CSS Selector telah ditulis dengan harapan kita bersama bisa mempelajarinya dengan baik. Dan mudah-mudahan dapat memberikan gambaran serta memecahkan permasalahan-permasalahan yang berhubungan dengan CSS selama ini. Saya menulis artikel tentang CSS Selector bukan bermaksud menggurui sahabat blogger, tapi pada mulanya dimaksudkan sebagai catatan pribadi, untuk mengingatkan diri sendiri disaat lupa. Maklum saya juga bukanlah blogger profesional yang setiap hari selalu berkutat dengan kode-kode CSS. Semakin jarang bertemu dengan CSS semakin besar kemungkinan lupa.
CSS Selector
Artikel kali ini masih sambungan dari dua artikel sebelumnya yang membahas CSS Selector. CSS Selector yang akan dibahas kali ini cukup lumayan sulit dan rumit, bahkan beberapa kode masih jarang yang menggunakannya namun tidak ada salahnya tetap dibagikan sebagai bahan diskusi. Mari kita pelajari CSS Selector berikutnya, jika anda merasa pusing dan bingung berarti saya pun demikian adanya... (hehehehe...)

Agar pemahaman tentang artikel CSS Selector kali ini menjadi lebih mudah, sebaiknya anda unduh terlebih dahulu contoh study case pada link unduhan diatas, kemudian baca artikel dengan memahami langsung dari contoh yang tersedia. Jangan lupa ekstrak file hasil unduhan dengan perangkat lunak archive extractor (misal; 7ZIP, WinZIP, atau WinRAR).

(21) X::pseudoElement

Kita dapat menggunakan Pseudo Element untuk memberikan style pada bagian-bagian dari suatu elemen, seperti misal; style untuk baris pertama pada sebuah paragrap atau huruf pertama dari sebuah paragrap. Pseudo Element tersusun dari dua titik-dua "::" (two colon).

Pseudo Elemen dengan Target Huruf Pertama Paragrap
Dibawah ini contoh kode CSS yang digunakan untuk memberikan style pada huruf pertama pada sebuah paragrap:
p::first-letter {
float: left;
font-size: 2em;
font-weight: bold;
font-family: cursive;
padding-right: 2px;
}
Pseudo Elemen pada kode CSS diatas memberikan style pada semua huruf pertama dari setiap paragrap yang terdapat pada halaman yang sedang dibuka. Cara ini biasanya digunakan pada style sebuah halaman koran (newspaper).

Pseudo Elemen dengan Target Baris Pertama Paragrap
Dibawah ini contoh kode CSS yang digunakan untuk memberikan style pada baris pertama pada sebuah paragrap:
p::first-line {
font-weight: bold;
font-size: 1.2em;
}
Hampir sama dengan fungsi kode Pseudo Elemen CSS sebelumnya, hanya saja target style ditujukan pada semua baris pertama dari setiap paragrap halaman yang sedang dibuka.
Mengutip dari www.w3.org bahwa:
"Untuk kesesuaian dengan style sheet yang ada, maka semua user agent harus bisa menerima notasi satu titik-dua (one-colon) sebelumnya untuk pseudo elemen yang dimasukan pada CSS level 1 dan level 2 (yaitu, :first-line, :first-letter, :before dan :after). Kompatibilitas ini tidak berlaku untuk pseudo element baru yang diperkenalkan pada spesifikasi ini."
Kenyataannya, user agent pada browser versi terbaru mampu membaca dengan baik notasi satu titik-dua pada pseudo element yang terdapat didalam kode CSS dan dengan otomatis mengubahnya menjadi notasi dua titik-dua (two-colon). Terserah anda, apakah akan menggunakan pseudo element dengan notasi two-colon atau one-colon.

Selector ini bekerja pada browser: IE6+ - Firefox - Chrome - Safari - Opera

(22) X:nth-child(n)

Pseudo Element ini digunakan untuk memberikan style pada anak (child) dari sebuah deret item. Pseudo Element ini sederhananya untuk menyeleksi suatu deret item yang tersedia didalam sebuah susunan daftar dengan penghitungan item dimulai dari atas.
li:nth-child(2) {
color: red;
}
Perhatikan kode CSS diatas. Pseudo Element nth-child(2) digunakan untuk memberikan style pada setiap list item (li) yang berada pada susunan (baris) ke-dua dalam setiap kumpulan list item. Pseudo Element ini juga dapat digunakan untuk menyeleksi atau memberikan style list item dengan cara penentuan kelipatannya. Misal; nth-child(2n), maka item 2, 4, 6, 8, dan seterusnya yang merupakan kelipatan dua akan dipengaruhi oleh style pseudo element. nth-chlid mampu menyeleksi item hingga urutan ke-397 [li:nth-child(397)].

Selector ini bekerja pada browser: IE9+ - Firefox 3.5+ - Chrome - Safari - Opera

(23) X:nth-last-child(n)

Pseudo Element ini hampir sama dengan nth-chlid, hanya berbeda cara seleksinya saja. Jika nth-child melakukan seleksi dengan cara mengitung list item dari atas, sedangkan nth-last-child adalah kebalikannya, yaitu melakukan penghitungan list item dari item yang terakhir.
li:nth-last-child(2) {
color: red;
}
Perhatikan kode CSS diatas. Pseudo Element nth-last-child(2) digunakan untuk memberikan style pada setiap list item (li) yang berada pada susunan (baris) ke-dua dari bawah (dari item terakhir) dalam setiap kumpulan list item. Misal; list item terdiri dari 8 baris, maka target pseudo elemen ini adalah list item pada baris ke-7 (jika dihitung dari atas) atau baris ke-2 (jika dihitung dari bawah).

Selector ini bekerja pada browser: IE9+ - Firefox 3.5+ - Chrome - Safari - Opera

(24) X:nth-of-type(n)

Pseudo Element ini hampir sama dengan :nth-child hanya saja terdapat perbedaan dalam menentukan targetnya. Jika :nth-child akan mencari target berupa child, jika :nth-of-type akan mencari target berupa type elemen.
ul:nth-of-type(2) {
border: 1px solid black;
}
Perhatikan kode CSS diatas. Anggaplah kita memiliki 5 kumpulan unordered list (ul) yang setiap ul terdiri dari 5 list item (li). Kemudian kita ingin memberikan style berupa garis kotak hanya pada ul ke-dua, dan ul ke-dua ini tidak memiliki ID unik yang terkait antara elemen dengan CSS. Maka kita menggunakan pseudo elemen nth-of-type(2), dan hasilnya hanya ul urutan ke-dua dari ataslah yang akan diberi garis kotak hitam.

Selector ini bekerja pada browser: IE9+ - Firefox 3.5+ - Chrome - Safari - Opera

(25) X:nth-last-of-type(n)

Pseudo Element ini hampir sama dengan :nth-of-type hanya berbeda cara menentukan target type-nya saja. Jika nth-of-type menentukan target elemen dengan cara mengitungnya dari atas, sedangkan nth-last-of-type adalah kebalikannya, yaitu melakukan penghitungan target elemen dari elemen yang terakhir.
ul:nth-last-of-type(2) {
border: 1px solid black;
}
Perhatikan kode CSS diatas. Anggaplah kita memiliki 5 kumpulan unordered list (ul) yang setiap ul terdiri dari 5 list item (li). Kemudian kita ingin memberikan style berupa garis kotak hanya pada ul ke-dua (dari bawah) atau ul ke-empat jika dihitung dari atas. Maka kita menggunakan pseudo elemen nth-last-of-type(2), dan hasilnya hanya ul urutan ke-dua (dari bawah) atau ke-empat (dari atas) yang akan diberi garis kotak hitam.

Selector ini bekerja pada browser: IE9+ - Firefox 3.5+ - Chrome - Safari - Opera

(26) X:first-child

Pseudo Element ini cukup banyak digunakan oleh para web desainer. Struktur pseudo class ini digunakan untuk menentukan style dengan target child (anak) pertama dari elemen utama (parent).
ul li:first-child {
border-top: none;
}
Perhatikan kode CSS diatas. Anggaplah kita memiliki sekumpulan list item (li) dari sebuah unordered list (ul). Kemudian diberikan style garis pada bagian-atas (border-top) dari masing-masing list item. Namun kita ingin membuang garis-atas (border-top) hanya pada list item urutan ke-satu, maka gunakan :first-child untuk menyeleksinya, kemudian buang garis-atasnya (border-top: none;).

Selector ini bekerja pada browser: IE7+ - Firefox - Chrome - Safari - Opera

(27) X:last-child

Pseudo class ini hampir sama dengan :first-child namun berbeda target. Struktur pseudo class ini digunakan untuk menentukan style dengan target child (anak) terakhir dari elemen utama (parent).
li:last-child {
border-bottom: none;
}
Perhatikan kode CSS diatas. Anggaplah kita memiliki sekumpulan list item (li) dari sebuah unordered list (ul). Kemudian diberikan style garis pada bagian-bawah (border-bottom) dari masing-masing list item. Namun kita ingin membuang garis-bawah (border-bottom) hanya pada list item urutan terakhir, maka gunakan :last-child untuk menyeleksinya, kemudian buang garis-bawahnya (border-bottom: none;).
Hati-hati, IE8 mendukung pseudo element :first-child tetapi tidak mendukung pseudo element :last-child.

Selector ini bekerja pada browser: IE9+ - Firefox - Chrome - Safari - Opera

(28) X:only-child

Pseudo class :first-child dan :last-child sudah kita pelajari dan pahami, lalu untuk apa pseudo class :only-child?
div p:only-child {
color: red;
}
Perhatikan kode CSS diatas. Mungkin diantara kita ada yang pernah menemukan masalah ini. Misal; kita ingin memberikan style HANYA pada paragraph pertama yang merupakan child (anak) dari SEBUAH div. Namun, paragrap lainnya dari div lain tidak ingin kita beri style. Jika menggunakan pseudo class :first-child maka setiap paragrap pertama dari setiap div akan diberi style. Sedangkan kita hanya mentargetkan paragrap pertama dari sebuah div. Ini berarti style hanya akan diberlakukan pada paragrap pertama yang merupakan child sebuah div (dari sebuah div hanya terdapat sebuah paragraph), sedangkah div lain yang memiliki paragrap lebih dari satu tidak akan diberi style. Kondisi seperti ini sangat sulit diselesaikan dengan menggunakan pseudo class lain, maka gunakanlah pseudo class :only-child untuk menyelesaikannya.

Selector ini bekerja pada browser: IE9+ - Firefox - Chrome - Safari - Opera

(29) X:only-of-type

Pseudo class ini hampir sama dengan :only-child dan :nth-of-type(n) hanya saja berbeda target. Mungkin bisa dikatakan sebagai perpaduan dari :only-child dan :nth-of-type(n).
li:only-of-type {
font-weight: bold;
}
Perhatikan kode CSS diatas. Sebenarnya sama saja dengan :only-child hanya saja berbeda target. Jika :only-child menentukan target yang merupakan child dari sebuah elemen, sedangkan :only-of-type menentukan target berdasar type. Misal; Kita memiliki dua unordered list (ul), ul pertama hanya terdiri dari satu li (list item) sedangkan ul kedua terdiri dari lima li. Jika anda menggunakan li:only-of-type maka style hanya akan berpengaruh pada target li tunggal dari sebuah ul.

Selector ini bekerja pada browser: IE9+ - Firefox 3.5+ - Chrome - Safari - Opera

(30) X:first-of-type

Pseudo element ini mungkin boleh dikatakan sebagai perpaduan dari :first-child dengan :nth-of-type(n). Karena pseudo element ini memiliki target style untuk elemen pertama yang terdekat pada tipenya (jenisnya).
Untuk memahami fungsi pseudo element :first-of-type maka perhatikan skenario HTML dibawah ini:
<div>
<p>Solusi Pseudo Element :first-of-type</p>
<ul>
<li>List Item 1</li>
<li>List Item 2</li>
</ul>

<ul>
<li>List Item 3</li>
<li>List Item 4</li>
</ul>
</div>
Kita memiliki 2 Unordered List (ul) yang setiap ul terdiri dari 2 list item (li). Dan kita ingin memberikan style pada "List Item 2", maka beberapa solusi pseudo element yang bisa kita gunakan adalah sebagai berikut:

Solusi 1
ul:first-of-type > li:nth-child(2) {
font-weight: bold;
}
Keterangan:
  • ul:first-of-type digunakan untuk menyeleksi ul pertama sesuai dengan tipenya
  • Notasi > digunakan untuk memilih langsung turunan dari ul:first-of-type (lihat direct selector)
  • li:nth-child(2) digunakan untuk menyeleksi child li ke-dua dihitung dari atas


Solusi 2
p + ul li:last-child {
font-weight: bold;
}
Keterangan:
  • p + ul digunakan untuk menyeleksi ul yang posisinya tepat dibawah p (lihat adjacent selector)
  • li:last-child digunakan untuk menyeleksi li child terakhir


Solusi 3
ul:first-of-type li:nth-last-child(1) {
font-weight: bold;
}
Keterangan:
  • ul:first-of-type digunakan untuk menyeleksi ul pertama sesuai dengan tipe-nya (jenisnya atau kelompoknya)
  • li:nth-last-child(1) digunakan untuk menyeleksi ul terakhir diurutan pertama yang dihitung dari bawah

Selector ini bekerja pada browser: IE9+ - Firefox 3.5+ - Chrome - Safari - Opera

Kesimpulan

Jika terpaksa harus menggunakan dan memperhatikan browser versi lama seperti Internet Explorer Versi 6, maka kita harus berhati-hati dalam menggunakan selector versi baru. Namun jangan sampai hal ini justru menghalangi keinginan anda untuk belajar. Jangan sampai versi browser menurunkan semangat belajar dan membuat kita harus diam, karena hal ini sangat merugikan diri kita sendiri. Untuk memperkecil kesalahan penggunaan selector selalu rujuklah daftar kompatibilitas-browser. Atau, Anda dapat menggunakan script IE9.js buatan Dean Edward agar browser versi lama mampu mendukung selector baru. Dan atau, gunakan framework tertentu agar browser lama mampu me-render CSS Selector baru dengan baik, misal; Modernizr.
Ketika kita harus menuliskan kode berdampingan dengan framework populer, semisal jQuery, usahakan kita menuliskan kode selector CSS3 asli pada sekumpulan kode-kode custom perpustakaan. Hal ini akan membuat susunan kode-kode menjadi lebih cepat untuk diakses (dirender) oleh browser, jika memungkinkan. Usahakan menggunakan parsing asli browser daripada menggunakan parsing buatan sendiri, hal ini akan meningkatkan kinerja kode saat dirender.
Akhirnya, saya secara pribadi berharap, 3 artikel yang membahas tentang CSS Selector ini dapat membantu mempercepat pemahaman anda tentang fungsi dari masing-masing kode tersebut. Sehingga, suatu hari saya bisa bertanya tentang pengalaman anda dalam penggunaan CSS Selector. Jika anda menemukan kasus dari CSS Selector diatas, atau menemukan CSS selector lain dan ingin dibahas pada artikel Blogger Tune-Up, jangan sungkan untuk mengirimkan kritik, saran dan pengetahuan baru kepada penulis. Selamat mencoba, selamat belajar dan semoga berhasil. Happy Blogging :)

Pranala Luar:

Saturday, August 4, 2012

Memahami CSS Selector - Bagian 2

Bismillah. Alhamdulillah. Membahas tentang CSS terkadang sangatlah membingungkan. Karena jika diibaratkan, bahasa CSS adalah make-up untuk mempercantik penampilan suatu elemen. Sederhananya, CSS itu berpengaruh terhadap suatu elemen, namun tidak mampu membuat atau menciptakan elemen. CSS hanya akan tampak menarik jika bersatu dengan suatu elemen, namun tidak mampu berdiri sendiri. Pemahaman, pengetahuan dan pengalaman yang kurang dalam menggunakan CSS kadang berakibat cukup fatal dengan tidak tampilnya suatu elemen, bergesernya posisi elemen, tertutupnya elemen satu oleh elemen lainnya, posisi yang tidak rata dan seimbang dan lain sebagainya, dan kita sering kesulitan untuk mencari solusinya ketika ratusan bahkan ribuan baris CSS telah dituliskan.
CSS Selector
Pada artikel sebelumnya telah dibahas tentang CSS Selector Bagian 1, mudahan-mudahan artikel tersebut telah dipahami dengan baik dan sudah dilakukan trial and error untuk menemukan letak perbedaan dan kehebatan masing-masing fungsinya. Jika belum memahaminya dengan baik, ada baiknya terus dilakukan percobaan dan penelaahan sampai kita benar-benar memahaminya. Pemahaman yang baik akan melahirkan keyakinan yang kuat, dan ini tentunya modal dasar seorang web desainer. Yakin anda sudah paham dengan CSS Selector bagian 1? Jika merasa yakin, mari kita lanjutkan ke pembahasan CSS Selector bagian 2...

(11) X[href="foo"]

Selector ini lebih cocok jika disebut sebagai url filter selector. Karena sisipan yang dimasukan didalam tanda kutip merupakan target yang akan mengarah hanya kepada link yang memiliki url sama.
a[href="http://modification-blog.blogspot.com"] {
color: red;
}
Perhatikan contoh CSS diatas. Selector diatas hanya akan berpengaruh pada target tag anchor yang memiliki url http://modification-blog.blogspot.com, sedangkan tag anchor lainnya (yang tidak memiliki url sama) tidak akan dipengaruhi sama sekali.

Selector ini bekerja pada browser: IE7+ - Firefox - Chrome - Safari - Opera

(12) X[href*="modif"]

Selector ini hampir mirip dengan selector X[href="foo"], namun selector X[href*="modif"] memiliki target yang lebih luas dan tidak terlalu spesifik.
a[href*="modif"] {
color: red;
}
Perhatikan contoh CSS diatas. Selector ini digunakan untuk memberikan style pada tag anchor yang url-nya mengandung kata "modif", misal; blog.modif.com, modif.blog.com, modifblog.com dan atau modification-blog.blogspot.com. Sedangkan tag anchor yang url-nya tidak mengandung kata "modif" tidak akan dipengaruhi sama sekali. Penggunaan simbol bintang didalamnyalah yang membuat selector bersifat lebih luas. Tanpa simbol bintang maka target sangat sempit, bahkan kata "modif" tidak akang mengenai tag anchor apapun.

Selector ini bekerja pada browser: IE7+ - Firefox - Chrome - Safari - Opera

(13) X[href^="http"]

Selector ini digunakan untuk memberikan style dengan menggunakan regular expression untuk menentukan kata kunci awal.
a[href^="http"] {
background: url(external/icon.png) no-repeat;
padding-left: 10px;
}
Perhatikan contoh CSS diatas. Ini biasanya digunakan untuk menambahkan icon kecil pada tag anchor yang menandakan bahwa url tersebut mengarah keluar (eksternal) dari halaman yang sedang dibuka. Disini kode CSS menggunakan bantuan simbol carat (^) yang biasanya digunakan sebagai regular expression untuk menentukan string awal. String awal yang akan dideteksi dari kode contoh diatas adalah href yang url-nya diawali dengan "http" karena biasanya url halaman internal dari suatu situs tidak disertai "http" sedangkan untuk halaman eksternal harus lengkap dengan penambahan "http" diawal url-nya.

Selector ini bekerja pada browser: IE7+ - Firefox - Chrome - Safari - Opera

(14) X[href$=".jpg"]

Selector ini hampir mirip dengan selector X[href^="http"], perbedaannya hanya pada regular expression untuk menentukan string.
a[href$=".jpg"] {
color: red;
}
Perhatikan contoh CSS diatas. Kode CSS menggunakan simbol dollar ($), yang merupakan regular expression untuk menentukan string akhir. Maka kode CSS pada contoh diatas hanya akan mempengaruhi tag anchor href yang url-nya mengandung string .jpg pada akhir url-nya. Sedangkan url yang akhiran stringnya bukan .jpg maka tidak akan dipengaruhi sama sekali.

Selector ini bekerja pada browser: IE7+ - Firefox - Chrome - Safari - Opera

(15) X[data-*="foo"]

Selector ini merupakan cara lain untuk menentukan type suatu file yang akan dipengaruhi oleh CSS.
a[data-filetype="image"] {
color: red;
}
Selector pada nomor 14 biasanya digunakan untuk membuat style berdasarkan type file, misal; untuk memberikan style pada file-file dengan type png, jpg, jpeg, gif maka kita menggunakan multiple selector pada kode CSS seperti dibawah ini:
a[href$=".jpg"],
a[href$=".jpeg"],
a[href$=".png"],
a[href$=".gif"] {
color: red;
}
Jika menggunakan multiple selector seperti diatas ini tentunya berpengaruh pada setiap tag anchor dengan string akhir sama, lalu bagaimana jika ada diantaranya tag anchor yang tidak ingin dipengaruhi CSS? Solusinya dengan menggunakan custom attribute. Kita dapat menambahkan sendiri atribut data-filetype pada masing-masing tag anchor yang mengandung link sebuah gambar, seperti dibawah ini:
<a href="path/image.jpg" data-filetype="image">Image Link</a>
<a href="path/image.png" data-filetype="image">Image Link</a>
Setelah pengaitnya (custom attribute) diletakan pada tag anchor, kita dapat dengan mudah menuliskan atribut tersebut pada CSS agar target menjadi spesifik yang mengarah pada tag anchor tertentu, seperti dibawah ini:
a[data-filetype="image"] {
color: red;
}

Selector ini bekerja pada browser: IE7+ - Firefox - Chrome - Safari - Opera

(16) X[foo~="bar"]

Selector ini menggunakan penambahan simbol tilda (~) yang digunakan untuk mentargetkan style pada atribut elemen yang memiliki spasi (space) value (nilai).
a[data-info~="external"] {
color: red;
}
a[data-info~="image"] {
border: 1px solid black;
}
Perhatikan contoh CSS diatas. Kita telah mendeklarasikan 2 selector dengan nilai berbeda, yaitu external dan image. Misal elemen yang dipengaruhi CSS tersebut seperti dibawah ini:
<a href="path/to/image.jpg" data-info="external image">Gambar Eksternal</a>
Pada contoh elemen diatas, kita telah membuat atribut data-info dengan 2 nilai, yaitu external dan image. Dua nilai atribut ini memberikan keleluasaan bagi kita untuk menentukan style yang tepat dan lebih fleksibel dari pada hanya dengan satu nilai. Dua nilai pada atribut ini hanya dipisahkan dengan spasi kosong seperti halnya penggunaan selector class.

Selector ini bekerja pada browser: IE7+ - Firefox - Chrome - Safari - Opera

(17) X:checked

Pseudo class ini digunakan untuk memberikan style input yang terpilih (checked) seperti tombol radio atau checkbox.
input[type=radio]:checked {
border: 1px solid black;
}

Selector ini bekerja pada browser: IE9+ - Firefox - Chrome - Safari - Opera

(18) X:hover

Selector ini mungkin sangat familiar bagi anda, karena memang selector yang sering digunakan, namun pada mulanya hanya digunakan pada tag anchor saja. Sekarang :hover bisa digunakan pada berbagai elemen. Istilah resmi untuk selector ini adalah user action pseudo class.
div:hover {
background: #e3e3e3;
}
Perhatikan kode CSS diatas. Selector :hover tidak digunakan pada tag anchor tetapi digunakan pada sebuah elemen div. Hati-hati menggunakan selector :hover karena Internet Explorer versi lama tidak akan memberikan perubahan apapun dalam penggunaan :hover pseudo class ini dan hanya berlaku pada tag anchor saja. Contoh dibawah ini adalah :hover pseudo class pada tag anchor yang akan memberikan style garis bawah dengan warna hijau (green) pada saat pointer mouse berada diatas tag anchor.
a:hover {
border-bottom: 1px solid green;
}
Para web desainer menyarankan penggunaan border-bottom: 1px solid #000; untuk garis bawah sebuah tag anchor dari pada menggunakan text-decoration: underline;

Selector ini bekerja pada browser: IE6+ (tapi hanya pada elemen tag anchor) - Firefox - Chrome - Safari - Opera

(19) X:after

Selector :before dan :after pseudo class sangat berguna sekali dan sering digunakan. Setiap hari, banyak para web desainer kreatif melakukan percobaan untuk menemukan cara baru yang lebih efektif. Salah satu teknik :after pseudo class yang sangat terkenal adalah clear-fix hack seperti kode dibawah ini:
.clearfix:after {
content: "";
display: block;
clear: both;
visibility: hidden;
font-size: 0;
height: 0;
}
.clearfix {
*display: inline-block;
_height: 1%;
}
Penggunaan hack :after pseudo class ini untuk menyisipkan sebuah spasi (ruang kosong) setelah elemen sebelumnya.

Selector ini bekerja pada browser: IE8+ - Firefox - Chrome - Safari - Opera

(20) X:not(selector)

Selector ini disebut negation pseudo class yang digunakan sebagai pengingkaran (negation) terhadap suatu kondisi.
div:not(#container) {
color: blue;
}
Perhatikan kode CSS diatas. Jika kita baca maka kurang lebih berbunyi; jika elemen div bukan (atau tidak memiliki) id container maka huruf akan diberi warna biru (blue).
Atau kita ingin memilih setiap elemen namun bukan paragraph dengan huruf diberi warna hijau (green) maka kode CSS ditulis seperti dibawah ini:
*:not(p) {
color: green;
}
Jika dibaca kurang lebih berbunyi; semua elemen (*) huruf akan diberi warna hijau (green) kecuali huruf yang berada didalam paragrap (tag p).

Selector ini bekerja pada browser: IE9+ - Firefox - Chrome - Safari - Opera

Kesimpulan

Bertambah 10 selector dalam memori kita dan selector-nya pun semakin lumayan rumit untuk dipahami dan dihapal. Namun jika kita terus melakukan trial and error, perlahan tapi pasti selector diatas akan mampu diingat dan dipahami dengan baik. Penggunaan kode-kode CSS terutama selector tidak hanya cukup untuk dibaca, kita harus benar-benar mencobanya sendiri agar paham perubahan demi perubahan yang terjadi pada elemen-elemen HTML yang kita tulis. Lakukan eksplorasi lebih jauh dengan mengikuti imajinasi kita agar muncul permasalahan-permasalahan yang harus dipecahkan, semakin sering menemukan masalah semakin paham fungsi dari masing-masing selector diatas. Lakukan pula pengkombinasian selector hingga terjadi bentrok disana-sini, maka ketika kita mampu melakukan perbaikan bentrok, semakin baik pula pemahaman kita.
Ingat! Mengerti belum tentu memahami, karena mengerti saja belum cukup untuk menyelesaikan permasalahan-permasalahan yang timbul. Tulis dan terus tulis kode demi kode hingga kita benar-benar memahaminya.
know:not(#understand){
error: rewrite;
often: successful;
}
Sampai ketemu dipembahasan berikutnya. Selamat belajar dan selamat mencoba. Happy Blogging :)

Pranala Luar:

Thursday, August 2, 2012

Memahami CSS Selector - Bagian 1

Bismillah. Alhamdulillah. Perkembangan bahasa markup Cascading Style Sheet (CSS) cukuplah pesat dan ini membuat tampilan situs menjadi semakin dinamis. Pada awal perkembangannya, bahasa CSS masih termasuk kaku, namun kini para web desainer mampu menciptakan efek-efek yang mengesankan hanya dengan CSS. Ini tentunya seiring dengan ide-ide yang terus berkembang, kebutuhan akan situs yang sederhana namun tetap menarik dan banyak lagi faktor lain yang membuat bahasa markup CSS semakin hebat. Para developer browser pun dipaksa untuk mengikuti perkembangan bahasa markup ini, atau bahkan para developer browser-lah yang memancing perkembangan bahasa markup yang satu ini. Ini tentunya berimbas pada pertambahan kosakata yang digunakan pada bahasa markup CSS, dan bagi para pecinta desain layout situs tentunya juga harus menyediakan memori ekstra untuk menghafal lebih banyak kosakata.
CSS Selector
Salah satu dari sekian banyak pertambahan kosakata bahasa markup CSS adalah fungsi selector (pemilih). Mungkin dulu kita hanya mengenal selektor id, class dan descendant (turunan), namun hari ini, ketika CSS memasuki versi 3 (atau sering dikenal CSS3) semakin bertambah pula fungsi-fungsi selektor yang digunakan dalam mendesain situs. Dalam penggunaannya pun, para desainer web dituntut berhati-hati karena penggunaan versi terbaru bahasa markup harus pula diikuti dengan penggunaan browser versi baru, hal ini karena penggunaan fungsi baru bisa saja tidak mampu bekerja baik pada browser lama terutama browser IE :( Sebuah konsekwensi dari perkembangan dan perubahan...
Dibawah ini akan dibahas selektor yang paling banyak digunakan dan harus diingat dengan baik oleh para desainer web. Untuk memahami dengan baik fungsi dari masing-masing selector, lebih baik anda unduh terlebih dahulu contoh penggunaannya pada link dibawah ini, ekstrak dengan perangkat lunak ekstraktor (misal; 7ZIP, WinZIP atau WinRAR) kemudian buka masing-masing contoh pada browser.

(1) *

Sebelum membahas jenis selector lainnya maka selector yang satu ini harus dipahami dengan baik terutama bagi anda yang baru memulai belajar tentang bahasa CSS. Selector dengan simbol bintang (atau sering disebut asterik) akan mengarahkan target pada semua elemen tunggal didalam halaman.
* {
margin: 0;
padding: 0;
}
Para web desainer biasanya menggunakan selector ini untuk me-reset atau mengkosongkan margin dan padding. Selector ini sangat bermanfaat untuk menyamakan posisi margin dan padding pada berbagai penampilan browser. Namun hati-hati dalam penggunaannya, karena terlalu sering menggunakan selector ini akan menambah beban load halaman pada browser.
Selector * juga bisa digunakan pada child (anak) dari selector lain, misal:
#container * {
border: 1px solid black;
}
Maka selector ini akan mengarah pada target elemen tunggal dari semua child div #container. Namun ingat juga, jangan terlalu sering menggunakannya.

Selector ini bekerja pada browser: IE6+ - Firefox - Chrome - Safari - Opera

(2) #X

Simbol # (id) sering disebut hash. Selector dengan prefix hash digunakan untuk pentargetan sesuai dengan ID pada halaman. Dalam penggunaannya sangatlah sederhana, karena kita hanya perlu menentukan target sesuai dengan ID yang digunakan pada halaman.
#container {
width: 960px;
margin: auto;
border: 1px solid #212121;
background-color: #CCCCCC;
}
Selector # bersifat tetap atau kaku karena hanya boleh digunakan pada satu target ID dan tidak boleh digunakan lagi.

Selector ini bekerja pada browser: IE6+ - Firefox - Chrome - Safari - Opera

(3) .X

Simbol . sering disebut class. Dalam penggunaannya hampir sama dengan selector id, namun selector class diperbolehkan untuk digunakan secara berulang pada berbagai elemen halaman dan dapat digunakan secara bersamaan (multiple) dengan selector class lainnya.
.error {
color: red;
}
.warning {
border: 1px solid #212121;
}
Dalam penerapannya, kita bisa menggabungkannya dengan selector id untuk pentargetan yang lebih spesifik, bahkan bisa saja memiliki class yang sama namun digunakan dalam style yang lebih spesifik.
Contoh penggambungan selector id dengan selector class:
#container .error {
color: red;
}
#container .warning {
border: 1px solid #212121;
}
Penggabungan dua selector diatas hanya akan memberikan style pada target elemen yang lebih spesifik.

Selector ini bekerja pada browser: IE6+ - Firefox - Chrome - Safari - Opera

(4) X Y

Selector ini sering disebut selector descendant (turunan). Selector ini digunakan untuk menentukan style target yang lebih spesifik.
li a {
text-decoration: none;
}
Perhatikan CSS diatas. Selector diatas digunakan untuk memberikan style pada semua tag anchor yang berada didalam unordered list (daftar urutan yang biasanya menggunakan tag li). Sedangkan tag anchor yang berada diluar unordered list tidak akan dipengaruhi sama sekali.
Bagaimana jika kita menuliskannya X Y Z A B.error? maka penulisan seperti ini adalah salah. Hindari penggunaan metode seperti ini, kita akan lebih baik dengan menentukan selector descendant atau turunan yang paling dekat.

Selector ini bekerja pada browser: IE6+ - Firefox - Chrome - Safari - Opera

(5) X

Selector tunggal umum yang digunakan untuk memberikan style pada target elemen dengan type tertentu tanpa penggunaan id atau class.
a {
color: red;
}
ul {
margin-left: 0;
}
Contoh CSS diatas akan memberikan target style pada semua tag anchor dan unordered list. Namun, jika ada style lain yang ditulis lebih spesifik maka kesamaan property yang ada pada style diatas akan dinonaktifkan.
a {
color: red;
}
li a {
color: blue;
}
Style CSS diatas akan menghasilkan warna tag anchor blue untuk tag anchor yang berada didalam unordered list, dan akan menghasilkan warna tag anchor red pada semua tag anchor yang berada diluar unordered list.

Selector ini bekerja pada browser: IE6+ - Firefox - Chrome - Safari - Opera

(6) X:visited dan X:link

Selector ini sudah termasuk ke dalam pseudo-class, yang merupakan salah satu perkembangan bahasa CSS. Sehingga pada browser lawas, penggunaan pseudo-class tidak akan berpengaruh apa-apa terutama pada browser lawas IE6+ :(.
a:link {
color: red;
}
a:visited {
color: blue;
}
Pengguaan selector pseudo-class :link akan memberikan style pada semua tag anchor yang bisa diklik (memiliki target URL). Sedangkan penggunaan selector pseudo-class :visited hanya akan memberikan style pada tag anchor yang pernah di klik dan atau pernah dikunjungi (visited).

Selector ini bekerja pada browser: IE7+ - Firefox - Chrome - Safari - Opera

(7) X + Y

Selector ini biasa disebut adjacent selector, yang digunakan untuk memberikan style pada elemen yang terdekat atau berdekatan.
ul + p {
color: red;
}
Pada contoh CSS diatas, style hanya akan diterapkan hanya pada paragrap pertama yang ditempatkan setelah ul namun p bukanlah child dari ul. Sedangkan paragrap kedua dan seterus tidak akan terpengaruhi style ini.

Selector ini bekerja pada browser: IE7+ - Firefox - Chrome - Safari - Opera

(8) X > Y

Selector ini biasa disebut direct selector, yang digunakan untuk memberikan style pada elemen yang ditargetkan langsung.
#container > ul {
border: 1px solid black;
}
Pada contoh CSS diatas, style hanya akan diterapkan pada ul yang merupakan child langsung (atau child pertama) yang ditempatkan setelah div #container. Sedangkan ul lain (child kedua, ketiga dan seterusnya) tidak akan dipengaruhi walaupun masih berada didalam div #container. Selector X > Y hampir mirip dengan selector X Y, perbedaan hanya pada target. Jika selector X Y akan berpengaruh pada semua target elemen yang ada didalamnya, sedangkan selector X > Y hanya berpengaruh pada child pertama saja.

Selector ini bekerja pada browser: IE7+ - Firefox - Chrome - Safari - Opera

(9) X ~ Y

Selector ini sering disebut sibling combinator yang hampir mirip dengan selector X + Y. Perbedaannya ada pada target, jika X + Y hanya memiliki target pada elemen pertama yang ditempatkan setelahnya, sedangkan X ~ Y akan berpengaruh pada semua target elemen yang ditempatkan setelahnya.
ul ~ p {
color: red;
}
Pada contoh CSS diatas, style akan diterapkan pada semua paragrap yang ditempatkan setelah elemen ul, namun p bukanlah child dari ul. p berada tepat dibawah elemen ul.

Selector ini bekerja pada browser: IE7+ - Firefox - Chrome - Safari - Opera

(10) X[title]

Selector ini disebut attributes selector yang digunakan untuk memberikan style pada elemen yang memiliki attribut title saja.
a[title] {
color: green;
}
Pada contoh CSS diatas, style hanya akan mempengaruhi tag achor yang memiliki atribut title saja, sedangkan tag anchor yang tidak memiliki atribut title tidak akan dipengaruhi.

Selector ini bekerja pada browser: IE7+ - Firefox - Chrome - Safari - Opera

Kesimpulan

Selector yang dibahas diatas adalah selector dasar yang harus diingat dengan baik, karena kita akan sering bertemu dengan selector ini. Disini diperlukan kemampuan eksplorasi dan imajinasi untuk bisa mengkombinasikan dan menggunakan berbagai selector yang sudah dibahas diatas. Sangat membingungkan jika kita baru saja berkenalan dengan selector ini, namun jangan lelah untuk melalukan trial and error agar kita dapat menemukan fungsi spesifik dari masing-masing selector. Semua kembali pada kemampuan kita untuk bisa membedakan fungsi dari masing-masing selector. Janganlah lelah untuk mencoba...
Sampai ketemu dipembahasan berikutnya. Selamat belajar dan selamat mencoba. Happy Blogging :)

Pranala Luar:

Thursday, July 26, 2012

Rich Snippets - Blogger Authorship

Bismillah. Alhamdulillah. Walau menggunakan Netbook tapi Blogger Tune-Up masih bisa menulis artikel-artikel tentang blog walau bersifat sederhana, setelah beberapa minggu yang lalu, Laptop kesayangan penulis mengalami kerusakan total dan tak bisa lagi diperbaiki (100% mati). Bahkan beberapa proyek yang masih dalam tahap pengembangan, ikut menghilang. Namun bukan berarti ngeblog berhenti total, karena berbagai cara dilakukan agar kegiatan ngeblog tetap aktif dengan konsekwensi frekuensi penerbitan artikel menjadi sangat lambat dan beberapa percobaan yang bersifat online juga menjadi tersendat.
Rich Snippets Blogger Authorship

Deskripsi

Artikel kali ini masih membahas tentang Rich Snippets yaitu penambahan sisipan konten tentang kepemilikan blog pada hasil pencarian search engine, atau pihak Google menyebutnya dengan Authorship. Ketika kita melakukan pencarian dengan kata kunci tertentu pada mesin pencari, kadang kita menemukan beberapa deret situs pada hasil pencarian yang mampu menampilkan photo profile, nama penulis dan jumlah teman dalam lingkaran (circle) Google Plus. Hal ini sangat membantu keakuratan blog yang kita tuju, karena sisipan ini sangat membantu kita dalam pencarian. Authorship atau kepemilikan blog memiliki nilai tambah pada hasil pencarian karena para pengunjung biasanya jika sudah mengenal seseorang dengan baik maka tanpa pikir panjang mereka percaya dengan artikel yang disusun oleh penulis tersebut. Misal kita mencari suatu artikel dengan kata kunci "New 30 day challenge" dan hasil pencarian Google menampilkan sederet hasil pencarian seperti dibawah ini:
Description Authorship
Dari sederet artikel tersebut anggaplah kita mengenal salah satu penulisnya dengan baik. Misal; Matt Cutts. Maka saya tidak akan lagi mengklik situs lain dalam sederetan hasil pencarian tersebut, karena saya tahu betul bagaimana seorang Matt Cutts menuliskan artikel. Paham betul loyalitas Matt Cutts pada dunia internet dan lain sebagainya. Sisipan kaya atau Rich Snippet ini tentunya memberikan nilai tambah atas kualitas sebuah blog. Atau justru sebaliknya; Kita paham betul karakter seorang penulis artikel yang hobi-nya copy paste atau hanya menulis ulang artikel orang lain, maka kita enggan untuk mengklik link tersebut. Rinch Snippet Authorship walau hanya terdiri dari beberapa baris informasi, namun memiliki manfaat hebat untuk memberikan nilai lebih pada suatu blog.

Konsep Authorship

Google telah memberikan referensi cukup jelas mengenai Authorship, anda bisa menemukan artikel-artikel yang berhubungan dengan Authorship pada bagian akhir artikel ini (Pranala Luar). Bagaimana konsep Authorship tersebut? Perhatikan gambar dibawah ini:
Konsep Authorship
Konsep Authorship ini menggunakan Rich Snippet dengan standar Microformats, yaitu menggunakan tag rel (relationship) dalam implementasinya. Mesin pencari Google akan mengumpulkan informasi dari halaman blog dan kemudian menguraikannya untuk memeriksa link-link eksternal yang secara sengaja dikaitkan dengan halaman lain diluar blog tersebut. Dalam kasus authorsip, mesin pencari Google hanya mengenali relationship dengan Google Plus untuk Rich Snippets hasil pencarian. Ketika mesin pencari melakukan crawler (merayapi) halaman-halaman blog, robots spider akan mencari link-link yang memiliki hubungan (relation) dengan halaman-halaman terkait terutama halaman Google Plus. Suatu halaman eksternal yang dikaitkan secara sengaja (dalam kasus ini Google Plus) dengan halaman blog akan dirayapi ulang untuk melihat keterkaitannya dengan blog yang sebelumnya telah dirayapi.

Memahami Tag Rel

Dari konsep diatas dapat kita ambil kesimpulan bahwa robots spider mesin pencari pada mulanya melakukan crawling (perayapan) pada halaman blog, kemudian robots ini menemukan suatu link yang dikaitkan keluar yaitu link yang disisipi tag rel="auhor". Misal seperti contoh dibawah ini:
<a href="https://plus.google.com/12345" rel="author">Hendriono</a>
Maka kemudian robot spider akan melakukan perayapan terhadap halaman yang dituju (dalam contoh; https://plus.google.com/12345) hingga ditemukan suatu link pada halaman tersebut yang memiliki keterkaitan yaitu link yang memiliki tag rel="me". Misal seperti contoh dibawah ini:
<a href="http://modification-blog.blogspot.com/" rel="me">Blogger Tune-Up</a>

Ketentuan Authorship

Dari penjelasan diatas berarti ada ketentuan yang harus dipenuhi jika kita ingin Rich Snippets Authorship mampu menampilkan; Photo Profile, Nama Penulis dan Jumlah teman dalam lingkaran (circle) pada deret halaman hasil pencarian Google, yaitu:
  • Halaman blog harus memiliki link tautan menuju halaman Google Plus dengan menyisipkan tag rel="author" pada link tautan tersebut
  • Halaman Google Plus harus memiliki link tautan menuju halaman blog dengan menyisipkan tag rel="me" pada link tautan tersebut
  • Halaman blog dan halaman Google Plus harus melewati proses otentikasi dengan alamat email yang valid untuk mencegah klaim kepemilikan oleh pihak lain.
Jika tiga ketentuan tersebut dipenuhi, dalam beberapa hari Rich Snippet Authorship akan ditampilkan pada halaman hasil pencarian. Lalu bagaimana proses integrasinya?

Integrasi Tag rel="author" pada Blog

Untuk menyisipkan link tautan eksternal yang menuju ke halaman Google Plus, ikuti langkah dibawah ini:
Langkah 1
Login ke Blogger
Langkah 2
Masuk ke "Dasbor - Template - Edit HTML - Lanjutkan"
Langkah 3
Cari kode dibawah ini:
<head>
...
</head>
Langkah 4
Sisipkan (copy paste) kode dibawah ini diantara tag/kode pada langkah 3:
<link href="https://plus.google.com/ID_Profile" rel="author"/>
Ganti ID_Profile dengan ID Profile Google Plus anda (klik disini) yang bisa dilihat pada address bar, seperti contoh dibawah ini:
ID Profile Google Plus
Langkah 5
Simpan template

Integrasi Tag rel="me" pada Google Plus

Langkah 1
Buka halaman Profile Google+ Anda
Langkah 2
Klik tombol "Edit Profile" atau klik link ini
Langkah 3
Pilih bagian "Contibute to" atau "Kontributor pada", kemudian isi dengan Link URL Blog
Edit Contribute to
Contribute to
Langkah 6
Klik tombol "Done Editing"
Keterangan: Tag rel="me" secara otomatis ditambahkan tanpa harus dimasukan secara manual. Ketika kita menambahkan suatu link pada bagian "Contribute to" maka didalamnya sudah mengandung tag rel="me".

Verifikasi Email Author

Setelah proses integrasi tag rel pada link tautan Blog dan Google Plus, lakukan proses otentikasi authorship seperti langkah dibawah ini:
Langkah 1
Buka link Google Plus Authorship
Langkah 2
Masukan alamat email valid sesuai dengan email yang digunakan untuk login pada Blog, GMail, dan Google Plus
Langkah 3
Klik tombol "Signup for Authorship"
Langkah 4
Tunggu proses verifikasi, kemudian buka profile Google Plus anda. Pada bagian "Work email" harus ada tanpa cheklist yang berarti bahwa author telah terverifikasi.
Email Verify Authorship

Pemeriksaan Rich Snippets Authorship

Setelah tiga ketentuan diatas selesai dilakukan maka lakukan pengecekan, bahwa Rich Snippets Authorship telah berhasil. Ikuti langkah dibawah ini:
Langkah 1
Buka halaman Rich Snippets Testing Tools
Langkah 2
Masukan (copy paste) URL halaman blog anda pada kotak yang tersedia
Langkah 3
Klik tombol "Preview" dan tunggu proses...
Langkah 4
Perhatikan preview yang dihasilkan oleh Rinch Snippet Webmaster Tools seperti contoh dibawah ini:
Snippet Testing Authorship
Hal yang harus diperhatikan adalah:
  • Photo Profile yang tampil sama dengan yang digunakan pada profile Google Plus yang disertai nama author
  • Verified: Authorship markup is verified for this page. Yang berarti bahwa author telah terverifikasi dengan baik
Langkah 5
Sabar menunggu, hingga mesin pencari Google melakukan Re-Index pada halaman blog anda atau lakukan proses Re-Index blog melalui Google Web Master Tools milik anda. Dalam beberapa hari atau minggu maka Rich Snippets Author ditampilkan pada hasil pencarian mesin pencari.

Kesimpulan

Para webmaster menyebutkan "embrace authorsip" atau rangkul dan klaim kepemilikan blog dengan mengikuti ketentuan dari pemilik mesin pencari, karena sampai hari ini Google adalah penguasa mesin pencari. Dan lagi pula, ketentuan diatas sesuai dengan standar Rich Snippets yang disepakati bersama, yaitu standar microformats sehingga ada kemungkinan mesin pencari lain akan mengikuti metode yang sama. Matt Cutts bercanda pada videonya "sampai hari ini, saya tidak tahu apakah ada mesin pencari lain?". Lalu apakah artikel ini termasuk teknik SEO? Lagi-lagi Blogger Tune Up menegaskan, bahwa kami menulis artikel ini bukan bertujuan untuk SEO, kami hanya menulis artikel sesuai dengan ketentuan semantic web sebagai cara pendekatan pada mesin pencari. Mengenai "apakah berpengaruh pada rangking pencarian?" Blogger Tune Up tidak menjamin dan tidak tahu. Tanpa SEO adalah SEO sebenarnya yang murni tanpa intimidasi. Sampai ketemu dipembahasan berikutnya. Happy Blogging :)

Pranala Luar:

Saturday, July 7, 2012

Blogger Meta Description

Bismillah. Alhamdulillah. Bagian ini sering terlupakan atau bahkan tidak mendapat perhatian dari para pengguna Blogger. Mereka seakan menganggap meta description sebagai sebuah hal yang biasa saja tanpa pengaruh yang besar. Meta description adalah bagian vital blog yang berisi informasi tentang blog dan artikel-artikel yang ditulis. Meta description tidak akan ditampilkan oleh browser namun diperlukan oleh machine-readable metadata untuk mengurai isi situs. Tanpa meta description maka blog akan sangat sulit dirayapi oleh mesin pencari. Pada bahasan sebelumnya tentang Metadata Open Graph sudah banyak diulas tentang keberadaan dan posisi meta description bagi mesin pencari dan situs lain. Salah satunya bahwa, situs lain akan menampilkan situs blog kita pada situs mereka dengan mengambil informasinya dari meta description.
Blogger Meta Description

Deskripsi

Sesuai dengan perubahan kebijakan mesin pencari dalam merayapi suatu situs, maka blogger menyediakan fasilitas meta description agar para pengguna blogger tidak tersisihkan dimata mesin pencari. Bahkan fasilitas ini dikeluarkan ketika Google belum mengeluarkan kebijakan penghapusan meta keyword dari index mesin pencarinya. Matt Cutts sebagai seorang senior engineer di mesin pencari Google menyebutkan bahwa "kami mengabaikan dan tidak lagi menggunakan meta keyword untuk mengindex suatu situs namun kami menggunakan meta description untuk merayapi suatu situs" hal ini menjadi penegasan bahwa mereka (mesin pencari) tidak perlu dan tidak menganggap keberadaan meta keyword namun mereka sangat memperhatikan meta description. Dalam video yang diunggah pada Youtube, Matt Cutts menyebutkan "jangan habiskan waktu anda untuk mengumpulkan berbagai keyword karena kami telah mengabaikan meta keyword, sekarang konsentrasi-lah untuk membuat meta description yang menarik bagi pengunjung".
Perhatikan screenshoot dibawah ini:
Meta Description on Share
Facebook dan Goole Plus menampilkan meta description Blogger Tune-Up. Apa yang ditampilkan pada Facebook dan Google Plus bukanlah paragraph awal atau isi artikel namun itu adalah meta description. Meta description berisi informasi yang unik pada setiap halaman artikel. Ini berarti meta description bersifat dinamis dan berbeda disetiap halaman artikel. Seorang Blogger harus menuliskan meta description pada masing-masing artikel.

Mengaktifkan Meta Description

Jika anda menggunakan template bawaan blogger sudah tentu meta description terintegrasi didalamnya, namun tidak demikian bagi para pengguna custom template. Meta description biasanya harus dimasukan secara manual atau mungkin sebenarnya sudah tersedia namun terkadang tidak tahu maksudnya. Mari kita aktifkan meta description.
Langkah 1
Login ke Blogger
Langkah 2
Masuk ke "Setelan - Preferensi Penelusuran - Tag Meta"
Mengaktifkan Meta Description
Langkah 3
Klik "Edit" pilih "Ya" pada "Aktifkan deskripsi penelusuran?"
Index Meta Description
Langkah 4
Isi meta description dengan karakter maksimum 150 karakter. Setelah di isi klik tombol "Simpan perubahan"
Keterangan: Meta description ini akan digunakan hanya pada halaman utama (halaman index atau halaman beranda) sedangkan untuk masing-masing artikel, kita harus menuliskannya lagi.

Memeriksa Ketersediaan Meta Description

Untuk meyakinkan bahwa meta description telah terintegrasi pada blog kita, lakukan pemeriksaan pada dua lokasi berikut, yaitu:
Pada Editor Entri
Langkah 1
Buat sebuah artikel
Langkah 2
Perhatikan pada sidebar editor, harus sudah bertambah satu widget "Deskripsi Penelusuran"
Meta Deskripsi Penelusuran Pada Artikel
Langkah 3
Klik "Deskripsi Penelusuran" dan masukan deskripsi artikel pada kotak dibawahnya, setelah itu klik tombol "Selesai"
Keterangan: Deskripsi Penelusuran ini akan menggantikan deskripsi global, dan deskripsi ini akan digunakan mesin pencari untuk mengurai isi artikel anda. Meta Description ibarat ringkasan dari artikel yang anda tulis, makanya, buatlah deskripsi yang menarik. Deskripsi artikel tidak akan ditampilkan pada browser namun akan diambil oleh mesin pencari (machine-readable metadata) dan situs lain (misal Facebook dan Google Plus).

Pada Template
Langkah 1
Masuk ke "Template - Edit HTML - Lanjutkan"
Langkah 2
Scroll hingga di temukan kode dibawah ini:
<meta expr:content='data:blog.metaDescription' name='description'/>
Jika tidak ditemukan berarti blog anda belum menggunakan meta description walau sudah diaktifkan, ikuti langkah penyisipan kode berikutnya.
Langkah 3
Jika template belum menerapkan meta description, cari kode dibawah ini:
<b:include data='blog' name='all-head-content'/>
Langkah 4
Masukan (copy paste) kode dibawah ini tepat dibawah kode pada langkah 3:
<b:if cond='data:blog.metaDescription != &quot;&quot;'>
<meta expr:content='data:blog.metaDescription' name='description'/>
</b:if>
Keterangan: Mengenai conditional tag silahkan baca disini
Langkah 6
Simpan template

Memeriksa Meta Description

Setelah meta description diaktifkan, dan artikel yang disertai meta descriptioan diterbitkan maka lakukan pengecekan untuk memastikan bahwa meta description sudah aktif pada blog anda. Lakukan langkah berikut:
Langkah 1
Lihat artikel yang sudah disertai meta description
Langkah 2
Gunakan kombinasi tombol keyboard CTRL + U (pengguna Firefox dan Chrome) atau klik kanan pada area artikel dan pilih "View source" (pengguna Safari) untuk melihat source code blog anda, dan perhatikan meta deskripsi yang baru saja anda buat. Atau gunakan kata kunci "name='description'" menggunakan pencarian browser. Jika sudah tampil seperti apa yang anda tuliskan pada artikel berarti meta description pada blog anda sudah aktif, lakukan share pada Facebook atau Google Plus, maka yang akan ditampilkan adalah meta description, bukan penggalan artikel.

Video Penggunaan Meta Description

Dibawah ini adalah video yang dijelaskan oleh Matt Cutts tentang penggunaan meta description dan pengabaian meta keyword.


Kesimpulan

Penambahan meta description berarti menambah daftar pekerjaan anda, karena artikel-artikel sebelumnya mungkin tidak disertai meta description. Ini berarti sekarang anda harus memasukannya satu persatu. Huh!!! Sangat melelahkan, bayangkan jika artikel sudah mencapai 500 halaman? Namun itulah sebuah konsekwensi dari sebuah kebijakan. Google memiliki kebijakan maka blogger mau tidak mau harus mengikuti, kecuali jika kita tidak peduli dengan semua perubahan itu.
Apakah meta description adalah salah satu teknik SEO? Ma'af saya bukan ahli SEO dan tidak tahu tentang SEO. Blogger Tune-Up hanya menuliskan artikel sesuai dengan standar yang belaku dan tidak dimaksudkan untuk bermain SEO. Semantic Web adalah pendekatan situs terhadap mesin pencari, dan meta description adalah bagian dari semantic web. Jadi, SEO atau bukan tidaklah menjadi tujuan, tetap menulis untuk konsumsi manusia itu lebih baik dari pada menulis untuk konsumsi mesin.

Pranala Luar:

Thursday, July 5, 2012

Rich Snippets - Microformat & Microdata

Bismillah. Alhamdulillah. Berawal dari rasa penasaran dengan perkembangan standar bahasa HTML dan tingkah laku mesin pencari, juga rasa penasaran dengan gencarnya para Blogger membahas "cara menampilkan bintang pada hasil penelusuran Google" yang secara garis besar para Blogger baik lokal maupun global hanya membahas cara-caranya saja tanpa detail maksud dan tujuan hingga memperoleh bintang pada hasil penelusuran. Muncul berbagai pertanyaan dalam benak saya secara pribadi. Untuk apakah jika kita memperoleh bintang? Berpengaruhkan hal tersebut terhadap blog kita dihadapan mesin pencari? dan lain sebagainya. Hingga terjadilah pertemuan dengan istilah Rich Snippet yang sedang hangat dibahas, terutama Google yang gencar memperkenalkan Rich Snippet pada para webmaster. Masih hangat beberapa saat yang lalu, Blogger Tune-Up membahas tentang metadata dengan standar Open Graph, sekarang akan dibahas yang mirip-mirip namanya tetapi berbeda fungsinya yaitu microdata dan microformat. Apa perbedaan microdata dan microformat? Dan apa hubungannya dengan Rich Snippet? Atau justru masih bertanya, apa Rich Snippet? Mari sama-sama menyimak artikel ini.
Blogger Rich Snippets

Apa dan Untuk Apa Rich Snippet?

Jika diterjemahkan perkata mungkin akan menghasilkan persepsi yang berbeda. Rich Snippet dalam bahasa Indonesia berarti sama dengan Sisipan Kaya. Sesuai dengan namanya maka Rich Snippet digunakan untuk memperjelas atau memberikan deskripsi tambahan dari suatu situs agar pengunjung dengan mudah menemukan target yang dicarinya. Silahkan anda perhatikan mesin pencari dalam menampilkan suatu kata kunci, semakin sedikit situs spam yang menggunakan black hat SEO ter-index pada mesin pencari hal ini salah satunya dipengaruhi oleh Rich Snippet. Jika suatu situs menambahkan Rich Snippet sama persis seperti situs resminya maka situs tersebut dianggap sebagai situs sampah. Sisipan Kaya berfungsi untuk menambahkan atau melengkapi informasi yang penting untuk diketahui oleh pengguna internet. Misal; Kita akan mencari suatu aplikasi dengan nama "Tune Up Utilities" namun lupa nama lengkap aplikasi tersebut, yang kita ingat hanya kata "Tune Up". Ketika kita mencari aplikasi tersebut dengan kata kunci "Tune Up" pada mesin pencari maka akan disuguhkan sederet situs yang beragam, beberapa kemungkinan yang bisa saja muncul pada mesin pencari adalah sebagai berikut:
  • Tune-Up yang berhubungan dengan blog ini
  • Tune-Up yang berhubungan dengan mesin
  • Tune-Up yang berhubungan dengan aplikasi
Perhatikan screenshoot hasil pencarian dengan kata kunci "Tune Up" dibawah ini:
Rich Snippets
Situs mana yang akan diklik? Dapat dipastikan pengguna internet akan meng-klik "Tune Up Utilities 2012 - CNET Download.com" sesuai tujuannya untuk memperoleh informasi lengkap tentang aplikasi tersebut. Nomor 1 itulah yang kemudian dikenal dengan Rich Snippet yang berisi informasi sisipan tentang:
  • Rating
  • Penulis Ulasan
  • Harga
  • Sistem Operasi
  • Kategori Aplikasi
Dan kecil kemungkinan pengguna nyasar ke situs "Blogger Tune Up". Disinilah fungsi Rich Snippet yang membuat mesin pencari lebih mudah untuk digunakan oleh pengguna yang awam sekalipun. Index mesin pencari pun semakin mendekati sasaran yang benar-benar dibutuhkan oleh pengguna internet. Rich Snippet akan memberikan informasi yang sangat berguna bagi pengguna.
Sedangkan Nomor 2 pada gambar biasanya diambil dari meta description.

Manusia Pertama, Mesin Kedua

Human First, Machines Second adalah kalimat yang selalu ditekankan oleh para webmaster. Intinya, ketika kita membuat sebuah situs maka hal yang pertama harus diperhatikan adalah para pengunjung baik itu dari sisi usability dan accessibility. Sedangkan mesin adalah prioritas kedua dalam membangun sebuah situs. Tim Berners - Lee menyebutkan:

... berbagai informasi penting dalam desain web digunakan untuk konsumsi manusia, dan ... stuktur data tidak ditujukan untuk robot web browsing. ... Semantic Web disusun dalam membantu pendekatan bahasa untuk mengekspresikan informasi kedalam sebuah mesin pemrosesan formulir.

Dari penjelasan diatas dapat diambil kesimpulan bahwa pada dasarnya desain web itu mengutamakan manusia namun ketika kita menyusun web dengan aturan semantic berarti kita juga melakukan pendekatan pada mesin. Semantic berada diantara web desainer dan mesin yang digunakan sebagai media untuk saling berkomunikasi dan Rich Snippet harus disusun sesuai dengan Semantic Web.

Kenapa Harus Menambahkan Rich Snippet?

Kebanyakan para webmaster sangat familiar dengan tag HTML dalam menyusun halam web. Dan biasanya tag HTML ditulis untuk memberitahu browser bagaimana menampilkan informasi yang ada didalam tag. Sebagai contoh; <h1>Tune Up</h1>. Tag ini berarti memberitahu browser untuk menampilkan string teks "Tune Up" dalam format heading 1 (Judul 1). Namun, tag HTML ini tidak memberikan informasi apa-apa tentang arti string teks tersebut. Apakah string teks "Tune Up" tersebut merupakan sebuah aplikasi, sebuah blog, atau tentang mesin? Sehingga hal ini menjadi sangat sulit bagi mesin pencari untuk menampilkan informasi yang relevan kepada pengguna internet. Dimulai dari permasalah inilah kemudian mesin pencari (Google, Yahoo!, Microsoft dan Yandex) memperkenalkan Rich Snippet agar hasil pencarian mereka menjadi lebih relevan sesuai dengan apa yang dicari pengguna internet.
Seperti dijelaskan diatas bahwa untuk menyusun Rich Snippet, kita harus mengikuti aturan main semantic agar web yang kita susun mampu dengan mudah dibaca oleh mesin pencari. Dalam menyusun Rich Snippet para webmaster menyarankan dua format yaitu microdata dan microformat. Format microdata dan microformat sebenarnya merupakan pengembangan dari bahasa mark up, sehingga dalam penggunaannya pun terintegrasi didalam tag-tag HTML yang sudah ada. Namun tidak menutup kemungkinan untuk menyusun Rich Snippet didalam tag HTML secara terpisah.

Apa Microformat dan Microdata?

Microdata hampir sama dengan microformat, karena keduanya merupakan perkembangan bahasa markup yang masih termasuk kedalam machine-readable metadata (mesin pembaca metadata) untuk menguraikan konten web. Tag HTML, Microdata dan Microformat adalah bahasa markup unik yang saling melengkapi satu sama lain dan ketiganya sangat membantu mesin pencari dalam merayapi halaman-halaman web. Diantara ketiganya, microdata merupakan perkembangan bahasa markup terbaru yang keberadaannya memberikan persaingan selaras terhadap microformat yang menggunakan standar RDFa. Dalam penggunaannya, sebenarnya para webmaster bebas untuk menentukan format markup-nya, boleh menggunakan microformat saja, microdata saja atau menggunakan keduanya. Namun webmaster terutama Google menyarankan penggunaan kedua format tersebut.

Microformat didesain untuk berbagai jenis konten web secara umum. Mereka terintegrasi didalam markup dan atribut yang sebenarnya mudah untuk dipahami dan digunakan. Dan mereka sangatlah sederhana karena menggunakan kosakata pre-defined, misal; fn, author, rel, vcard, updated, dan sebagainya. Microformat menggunakan format standar yang didefinisikan oleh microformat.org.
Contoh penggunaan microformat:
<dl class="vcard">
<dt class="fn"><a href="http://modification-blog.blogspot.com" class="url">Hendriono</a></dt>
<dd class="title">Web Desain</dd>
<dd class="adr"><span class="locality">Ciamis</span>, <abbr title="Jawa Barat" class="region">JABAR</abbr> <span class="postal-code">46383</span></dd>
</dl>
Perhatikan nilai dari atribut class (vcard, fn, url, title, adr, locality, region, postal-code). Dari contoh diatas dapat diambil kesimpulan bahwa microformat bisa diintegrasikan didalam atribut class, dan dapat digunakan bersama dengan CSS. (Insya Allah artikel berikutnya akan membahas tentang Microformat secara detail)

Microdata adalah bagian dari spesifikasi HTML5. Namun juga tergantung pada perubahan kosakata dan atribut baru dalam penerapan metadata. Dan itu tidak dibatasi untuk setiap jenis tertentu dari konten web, untuk dapat menjelaskan konten unik yang tidak mampu ditangani oleh Microformat. Selanjutnya, microdata dapat menggunakan notasi DOM, yang dapat membuat parsing metadata lebih mudah.
Ada dua standar kosakata microdata yang digunakan saat ini yaitu kosakata dari data-vocabulary.org dan kosakata dari schema.org. Namun dari keduanya, beberapa webmaster terutama Google menyarankan penggunaan kosakata dari schema.org, dengan alasan kosakata schema.org lebih banyak dan lebih fleksibel dari pada kosakata data-vocabulary. Walau contoh yang diberikan oleh Google masih menggunakan data-vocabulary namun disarankan pada webmaster untuk menggunakan Schema yang lebih banyak kosakatanya dan kemungkinan kedepannya, data-vocabulary tidak lagi digunakan.
Contoh penggunaan microdata:
<dl itemscope itemtype="http://schema.org/Person">
<dt itemprop="name"><a href="http://modification-blog.blogspot.com" itemprop="url">Hendriono</a></dt>
<dd itemprop="title">Web Desain</dd>
<dd itemprop="address" itemscope itemtype="http://schema.org/Address">
<span itemprop="locality">Ciamis</span>, <abbr title="Jawa Barat" itemprop="region">JABAR</abbr> <span itemprop="postal-code">46383</span>
</dd>
</dl>
Nah, sekarang kita bisa membedakan, mana syntaks microformat dan mana syntaks microdata. Keduanya jelas memiliki perbedaan syntaks, microdata menggunakan itemscope untuk sinkronisasi dengan kosakata dan itemtype untuk deklarasi spesifik kosakata yang akan digunakan. Sedangkan itemprop adalah deklarasi masing-masing item yang harus sesuai dengan jenis kosakata (itemtype) yang digunakan.
Misal contoh diatas jika saya baca sebagai mesin; Tujuannya adalah memperkenalkan siapa Hendriono, maka syntaks wajibnya adalah itemscope. Kemudian menentukan jenis kosakata yang akan digunakan dalam memperkenalkan diri, maka syntaks itemtype spesifik mengarah pada perpustakaan http://schema.org/Person. Sedangkan itemprop adalah deklarasi masing-masing item; name, title dan address. Disana ada lagi penambahan kosakata lain yaitu http://schema.org/Address karena alamat memiliki begitu banyak item lainnya (dalam contoh; locality, region, postal-code). Apakah susunannya harus selalu seperti itu? Tidak...
Contoh diatas hanya menggunakan logika sederhana;
  • Siapa namanya? Hendriono
  • Apa hobinya? Web Desain
  • Dimana alamatnya? (Nah, pada pertanyaan ini, kita akan membutuhkan banyak sekali item jawaban, misal; Kabupaten, Propinsi, Kode POS, Nomor Telephone dan lain sebagainya, maka dibutuhkan sebuah kosakata lagi)
Jika masih bingung, Insya Allah kedepan tentang microdata ini akan dibahas lebih detail.

Walaupun memiliki perbedaan syntaks dan perbedaan standar namun microdata dan microformat bisa di-integrasikan secara bersama-sama. Dibawah ini contoh perpaduan Microformat dan Microdata:
<dl class="vcard" itemscope itemtype="http://data-vocabulary.org/Person">
<dt class="fn" itemprop="name"><a href="http://modification-blog.blogspot.com" itemprop="url">Hendriono</a></dt>
<dd class="title" itemprop="title">Web Desainer</dd>
<dd class="adr" itemprop="address" itemscope itemtype="http://data-vocabulary.org/Address">
<span class="locality" itemprop="locality">Ciamis</span>, <abbr title="Jawa Barat" class="region" itemprop="region">JABAR</abbr> <span class="postal-code" itemprop="postal-code">46383</span>
</dd>
</dl>

Warning Microformat Google Webmaster Rich Snippets

Saya secara pribadi sempat bingung dengan beberapa warning yang ditampilkan saat melakukan pemeriksaan Rich Snippet. Namun warning default yang ditampilkan Tool Rich Snippet biasanya terdiri dari tiga jenis (tidak menutup kemungkinan lebih banyak lagi) warning dan semua itu kesalahan secara default dari microformat blogger (bukan dari microdata):

Warning: Missing required hCard "author"
<span class='post-author vcard'>
<a class='url fn' expr:href='data:post.authorProfileUrl' rel='author' title='author profile'><data:post.author/></a>
</span>
Warning ini diatasi dengan menambahkan kode class='url fn'. url menunjukan link url author dan fn menunjukan nama lengkap (full name)

Warning: Missing required field "updated"
<abbr class='updated published' expr:title='data:post.timestampISO8601'><data:post.timestamp/></abbr>
Warning ini diatas dengan menambahkan kode class='updated published' yang menunjukan waktu diterbitkan dan waktu diupdatenya artikel.

Warning: Missing required field "entry-title"
<h2 class='post-title entry-title'>
Warning diatas diatasi dengan menambahkan entry-title pada class, untuk menunjukan judul artikel.

Situs wiki microformats.org menuliskan beberapa issue untuk para pengguna blogger, diantaranya:
  • Template baru menggunakan "main" untuk identifikasi global semua artikel (entri)
  • Template baru menggunakan "post" untuk identifikasi masing-masing artikel blog
  • Template baru menggunakn "post-title" untuk identifikasi judul artikel
Untuk mengetahui issue baru silahkan kunjungi secara teratur situs wiki microformats.org.

Video Rich Snippet dari Google Webmaster

Video dibawah ini dibahas oleh tim Google Webmaster khusus tentang Rich Snippet. Video-video terbaru akan ditambahkan kemudian.
Introduction to Rich Snippets

Types of Rich Snippets

Rich Snippets - Product Search

Rich Snippets - Reviews

Rich Snippets - Recipe markup

Rich Snippets - Events

Rich Snippets - Breadcrumbs

Rich Snippets - Apps

Rich Snippets - Notifying Google

Rich Snippets - Troubleshooting

When will Rich Snippets become widely available?

Kesimpulan

Artikel diatas mungkin belum memenuhi harapan akan keingintahuan tentang semantic microformat dan microdata. Artikel ini hanya pancingan agar kita jangan telalu cepat menggunakan trik-trik yang dibahas luas oleh pada blogger tanpa tahu tujuannya dan efeknya untuk blog kita. Hati-hati dalam menerapkan kode, script atau tutorial sepintas tanpa penjelasan, karena ketidaktahuan fungsi bisa membuat kita masuk dalam kotak sebagai bagian dari Blogger yang menerapkan Black Hat SEO. Dan Black Hat SEO membuat blog kita dianggap sampah oleh mesin pencari.
Lalu apakah microformat dan microdata adalah bagian dari teknik SEO. Ma'af saya bukan ahli SEO dan tidak tahu tentang SEO, saya menulis artikel ini hanya mengikuti aturan main dan standar yang ada. Blogger Tune-Up masih tetap berkomitmen "Tanpa SEO adalah SEO sebenarnya yang murni tanpa intimidasi". Sampai ketemu pada pembahasan berikutnya. Happy Blogging :)

Saturday, June 16, 2012

Image Maps (Map Area Coords)

Bismillah. Alhamdulillah. Pernahkah kita berkunjung pada suatu situs yang didalamnya menggunakan peta? Kemudian ketika kita arahkan mouse dan klik suatu area maka kita diarahkan pada suatu target URL? Jika pernah maka kemungkinan terbesar situs tersebut menggunakan Image Maps (Pemetaan Gambar). Fungsi ini sangat bermanfaat dan mampu menyederhanakan peranan tag-tag lain, namun tag map ini sangat jarang digunakan. Entah karena kerumitannya atau karena ketidaktahuan? Mari kita pelajari bagaiman Image Maps ini bekerja dan semoga apa yang dijabarkan mampu membantu menyederhanakan hal yang terlihat rumit menjadi mudah, sederhana dan dipahami dengan baik.
Image Maps - Map Area Coords

Deksripsi

Image Map atau Pemetaan Gambar memungkinkan author (penulis) untuk menentukan daerah (area) dari suatu gambar (img) atau objek (object) dan menetapkan tindakan tertentu untuk masing-masing daerah (area) (misal; mengambil dokumen, menjalankan program, mengarahkan URL dan lain-lain). Ketika daerah (area) tersebut di eksekusi atau diaktifkan oleh user maka aksi akan dijalankan. Fungsi tag ini sebenarnya sangat bermanfaat ketika kita ingin memetakan suatu gambar dan menyisipkan aksi-aksi didalamnya, hal yang mungkin menjadi sangat sulit jika diterapkan dengan metode (tag) lain.
Kita akan membahas 2 tag dan 3 attibut untuk menggunakaan fungsi pemetaan ini, yaitu:
  • Tag <map> digunakan untuk mendefinisikan sisi klien peta gambar (image-map). Peta gambar adalah gambar dengan area yang dapat dieksekusi atau di klik. Elemen name pada tag <map> diperlukan/wajib dan hal ini terkait dengan attribut usemap pada tag <img> yang berfungsi untuk menciptakan hubungan antara gambar dan peta. Identitas yang ada pada attibut name (tag <map>) terkait erat dengan identitas yang ada pada attribut usemap (tag <img>). Identitas ini harus sama agar gambar dan peta mampu berhubungan. Unsur <map> berisi sejumlah elemen <area> dengan fungsi untuk mendefinisikan daerah yang dapat diklik/dieksekusi dalam peta gambar.
  • Tag <area> digunakan untuk mendefinisikan area atau daerah didalam peta gambar. Area merupakan tag spesifik untuk membagi-bagi daerah dalam peta gambar dan daerah tersebut adalah area yang dapat dieksekusi/diklik. Tag <area> selalu dan wajib berada didalam tag <map>.
  • Attribut usemap dan attribut name adalah attribut penyatuan anatara 2 elemen, yaitu elemen gambar dengan elemen peta. Attribut usemap pada tag <img> dikaitkan langsung dengan attribut name pada tag <map> dan menciptakan hubungan antara gambar dengan peta. Pada mulanya antara gambar (<img>) dengan peta (<map>) adalah 2 elemen yang terpisah satu sama lain. Gambar hanya berisi objek dan peta hanya berisi area pemetaan, kemudian keduanya menjadi satu karena satu sama lain dikaitkan. Pengkaitan ini menggunakan 2 attribut yaitu attribut usemap pada tag <img> dan attribut name pada tag <map>. Kedua attribut itu harus memiliki identitas sama.
  • Attribut coords digunakan untuk menspesifikasi titik koordinat X dan Y dari suatu wilayah pada peta gambar. Attribut coords (harus) digunakan bersama-sama dengan attribut shape untuk menentukan ukuran, bentuk dan penepatan suatu area (daerah). Titik koordinat X dan Y dimulai dari pojok kiri atas sebagai titik 0,0.

Syntax

Secara default kode Image Maps (Pemetaan Gambar) ditulis seperti dibawah ini:
<img src ="peta.jpg" alt="Nama Gambar Peta" usemap="#petaku" />

<map name="petaku">
<area shape="rect" coords="x1,y1,x2,y2" href="URL" alt="Nama Area" />
<area shape="circle" coords="x,y,r" href="URL" alt="Nama Area" />
<area shape="poly" coords="x1,y1,x2,y2,...,xn,yn" href="URL" alt="Nama Area" />
</map>
Perhatikan gambar dibawah ini:
Image Maps - Map Area Coords
Image Maps - Map Area Coords
Image Maps - Map Area Coords
Pada mulanya terdapat dua buah elemen yaitu elemen tag <img> dan elemen tag <map>. Keduanya merupakan elemen yang berdiri sendiri dengan fungsi masing-masing. Tag <img> adalah elemen yang berisi gambar, sedangkan tag <map> adalah elemen yang berisi pemetaan area. Kemudian keduanya disatukan/dikaitkan seakan-akan menjadi satu elemen dengan bantuan attribut usemap pada tag <img> dan attribut name pada tag <map>. Perhatikan contoh; attribut usemap diberi identitas #petaku dan attribut name diberi identitas yang sama yaitu petaku namun tanpa simbol hash (#). Tanda hash dapat diartikan sebagai pengalamatan. Maka usemap="#petaku" dan name="petaku" adalah cara untuk mengkaitkan atau menyatukan antara elemen gambar dan elemen peta.

Shape dan Coords

Didalam tag <area> terdapat 2 buah attribut penting yaitu shape dan coords. Attribut shape digunakan untuk menentukan bentuk, ukuran dan penetapan suatu area, sedangkan attribut coords untuk menentukan titik sumbu koordinatnya. 

[A] Attribut Shape 
Attibut shape terdiri dari 4 jenis value atau identitas, yaitu:
  1. rect atau rectangle atau segi empat, ini digunakan untuk menentukan area yang bisa diklik dengan bentuk segi empat
  2. circle atau lingkaran, ini digunakan untuk menentukan area yang bisa diklik dengan bentuk lingkaran.
  3. poly atau polygon atau segi tidak beraturan, ini digunakan untuk menentukan area yang bisa diklik dengan bentuk segi tidak beraturan.
  4. default, ini adalah bentuk dasar untuk menentukan semua area sebagai peta.
Syntax Shape ditulis sebagai berikut:
<area shape="default|rect|circle|poly" />
Perhatikan gambar dibawah ini:
Image Maps - Map Area Coords
Nomor 1 : Area berbentuk rectangle (Segi Empat)
Nomor 2 : Area berbentuk circle (Lingkaran)
Nomor 3 : Area berbentuk polygon (tidak beraturan)

[B] Attribut Coords
Attibut coords sebenarnya merupakan penjabaran dari attribut shape, sehingga nilai (value) yang digunakan mengikuti aturan shape. Sedangkan shape memiliki 3 value penting yang harus dideklarasikan titik sumbun X dan Y-ya (default tidak perlu dijabarkan) agar bentuknya sesuai aturan shape. Attribut coord mengikuti aturan shape, sebagai berikut:
Jika shape bernilai rect maka syntax coords harus ditulis seperti dibawah ini:
<area shape="rect" coords="x1,y1,x2,y2" />
Kita cukup menentukan 2 titik sumbu koordinat, yaitu x1,y1 dan x2,y2
Jika shape bernilai circle maka syntax coords harus ditulis seperti dibawah ini:
<area shape="circle" coords="x,y,r" />
Kita harus menentukan satu titik sumbu koordinat x,y sebagai titik pusat lingkaran dan panjang jari-jari (r=radius) dari lingkaran
Jika shape bernilai poly maka syntax coords harus ditulis seperti dibawah ini:
<area shape="poly" coords="x1,y1,x2,y2,...,xn,yn" />
Ini mungkin merupakan bentuk yang paling komplek, kita harus menentukan titik-titik sumbu x,y pada setiap sudut area. Jika area poly tersebut terdiri dari 10 sudut, maka kita harus menulis 10 titik sumbu x dan 10 titik sumbu y.
Perhatikan gambar dibawah ini:
Image Maps - Map Area Coords

Cara Menentukan Nilai Coords (Titik Sumbu Koordinat XY)

Setelah memahami dengan baik konsep Image Maps diatas, sekarang kita belajar menentukan titik sumbu koordinat xy. Sebenarnya banyak cara, namun diantara cara yang ada penulis lebih mudah menggunakan metode dibawah ini.
Perhatikan gambar dibawah ini:
Image Maps - Map Area Coords
  • Gunakan perangkat lunak pengolah citra gambar (GIMP atau Adobe Photoshop). Bagi pengguna GIMP, telah tersedia plugin khusus untuk menentukan titik sumbu koordinat XY dengan mudah. Silahkan baca-baca disini cara menggunakan GIMP untuk menentukan nilai coords.
  • Buka gambar yang akan digunakan sebagai peta dengan Adobe Photoshop.
  • Tentukan bentuk dari shape pada objek gambar (anda bisa menggunakan Rectangle Tool, Ellipse Tool, atau Polygon Tools)
  • Arahkan pointer mouse pada titik sumbu koordinat yang akan diambil dan baca hasilnya pada Panel Info (Tekan F8) kemudian tulis sumbu X dan sumbu Y pada attribut coords.
  • Pindahkan pointer mouse pada titik sumbu koordinat lainnya untuk menentukan titik sumbu X dan titik sumbu Y berikutnya.

Kesimpulan

Penggunaan Image Maps sebenarnya bebas untuk berbagai keperluan. Silahkan anda bereksperimen dengan Image Maps dan temukan keindahan koding. Mudah bukan? Selamat mencoba dan semoga berhasil. Happy Blogging :)

Sumber dan Pranala Luar: