Seberapa buruk menggunakan display: tidak ada di CSS?

72

Saya telah mendengar berkali-kali bahwa itu buruk untuk digunakan display: nonekarena alasan SEO, karena itu bisa menjadi upaya untuk mendorong kata kunci populer yang tidak relevan. Beberapa pertanyaan:

  1. Apakah itu masih mendapat hikmat?
  2. Apakah ada bedanya jika Anda hanya menyembunyikan satu kata, atau mungkin satu karakter?
  3. Jika Anda harus menghindari penggunaannya, teknik apa yang disukai untuk bersembunyi (dalam situasi di mana Anda membutuhkannya untuk terlihat lagi pada kondisi tertentu)?

Beberapa referensi yang saya temukan sejauh ini:

Matt Cutts dari 2005 dalam komentar

Jika Anda langsung menggunakan CSS untuk menyembunyikan teks, jangan kaget jika itu disebut spam. Saya tidak mengatakan bahwa mouseovers atau teks DHTML atau memiliki-logo-tetapi-juga-memiliki-teks adalah spam; Saya menjawab yang terakhir di sebuah konferensi ketika saya berkata, "bayangkan bagaimana tampilannya bagi pengunjung, pesaing, atau seseorang yang memeriksa laporan spam. Jika Anda menunjukkan nama perusahaan Anda dan itu adalah Penanda Expo dan bukan logo Penanda Expo, Anda harus baik-baik saja. Jika teks yang Anda putuskan untuk ditampilkan adalah 'Penanda Expo, diskon online murah, beli Penanda Expo online ...' maka saya akan lebih berhati-hati, karena itu bisa terlihat buruk. "

Dan di komentar lain di artikel yang sama

Kami dapat menandai teks yang tampaknya disembunyikan menggunakan CSS di Google. Sampai saat ini kami belum secara algoritmik menghapus situs untuk melakukan itu. Kami berusaha keras untuk tidak membuang bayi dengan air mandi.

Eric Enge berkata pada 2008

Penggunaan yang sah dari teknik ini sangat lazim sehingga saya jarang berharap mesin pencari akan menghukum situs karena menggunakan display: noneatribut tersebut. Hanya saja sangat sulit untuk mengimplementasikan algoritma yang benar-benar dapat menemukan apakah penggunaan tertentu display: nonedimaksudkan untuk menipu mesin pencari atau tidak.

Andy
sumber
Bagaimana jika saya menggunakan layar putih pemuatan (tanpa teks di dalamnya) yang kemudian saya sembunyikan dengan javascript? Apakah google menganggap saya menyembunyikan halaman di bawah layar putih itu? Terima kasih
bloomingsmilez
Saya menggunakan tampilan: tidak ada untuk mengurangi konten halaman untuk layar seluler karena jumlah salinan yang tampaknya masuk akal pada layar yang lebih besar terlalu banyak pada telepon. Apakah saya membuat diri saya masalah?

Jawaban:

57

Pada hari-hari ini dari jQuery (dan kerangka kerja JavaScript lainnya) situs web yang berat maka saya tidak dapat melihat bagaimana itu bisa menjadi masalah, karena ini digunakan secara luas ketika Anda menggunakan hal-hal seperti jQuery slider, transisi, galeri, tickers dll. Ini sekarang sudah lumrah dan mesin pencari cukup pintar untuk tidak membabi buta menghukum penggunaannya.

Seorang pengguna menyatakan ini di forum Pusat Webmaster Google :

"Hanya menggunakan tampilan: tidak ada yang tidak akan secara otomatis memicu penalti. Kuncinya adalah apakah ada mekanisme - baik otomatis atau yang diminta oleh pengguna - untuk membuat konten terlihat. Google menjadi sangat mahir dalam memproses JavaScript untuk temukan dan tafsirkan mekanisme semacam itu. Jika Anda menggunakan HTML, CSS, dan JavaScript yang valid, Anda tidak perlu khawatir. Selamat mencoba! "

Dan Diplo
sumber
Menarik, terima kasih. Itu menyiratkan saya harus menghindari menjadi malas dan menggunakan display: noneuntuk menghapus item dalam CSS yang dapat dihapus dalam kode; tapi untuk efek dan sejenisnya aku baik-baik saja. Saya bertanya-tanya bagaimana mereka bisa mendeteksi situasi di mana ada logo gambar, dan teks logo juga termasuk untuk aksesibilitas tetapi disembunyikan. Dari uraian, ini akan dianggap buruk?
Andy
@Andy: Mungkin. Tetapi Anda tidak harus menggunakan CSS untuk menyembunyikan teks logo; letakkan di altatribut imgtag. Itulah atribut untuk sana, dan sejauh yang saya tahu, menggunakannya cenderung meningkatkan peringkat SEO Anda.
David Z
Sebenarnya, sepertinya ini adalah kasus di mana Anda menggunakan longdescatribut tag gambar untuk memberikan tautan ke halaman lain yang berisi deskripsi lengkap. Ini hanya akan dilihat oleh pembaca layar (dan mungkin mesin pencari). Lihat webaim.org/techniques/images/longdesc#longdesc
Dan Diplo
Saya sebenarnya tidak mencari cara terbaik untuk menyajikan deskripsi grafik ... Saya mengacu pada kutipan Matt Cutts. Saya tidak mengatakan bahwa ... memiliki-logo-tetapi-juga-memiliki-teks adalah spam . Bagi saya itu tidak terdengar seperti dia berbicara tentang menggunakan atribut altatau longdesc, dan memberikan sedikit kontras dengan Kuncinya adalah apakah ada mekanisme ... untuk membuat konten terlihat .
Andy
7

Jika Anda tidak menyalahgunakannya, itu tidak akan menjadi masalah. Saat ini Google tidak merayapi stylesheet CSS mencari contohdisplay: none

Google tidak akan menyatakan perang terhadap aturan gaya yang banyak digunakan, mereka hanya memberikan peringatan kepada mereka yang berpikir mereka dapat menambahkan 1000 kata kunci ke situs yang semuanya diatur ke display: noneatau bahkan lebih buruk,margin-left: 9999px

Shane Stillwell
sumber
6

Gunakan "display: none" hanya ketika itu adalah alat yang tepat untuk digunakan.

Seperti kutipan yang disarankan, masalah mesin pencari dengan tampilan tidak ada adalah spam. Mencoba menggunakan mesin pencari spam, apa pun alat yang Anda gunakan untuk itu, adalah ide yang buruk. Jika Anda menggunakan CSS untuk apa pun selain spam, maka tidak ada masalah.

Alat yang tepat untuk pekerjaan yang tepat.

luiscubal
sumber
3
Terima kasih. Pertanyaannya kemudian menjadi kapan display: nonealat yang tepat. Anda mengatakan bahwa jika CSS digunakan untuk apa pun selain spam, itu tidak akan menjadi masalah: apakah Anda yakin bahwa jika saya menggunakan display: nonecara malas untuk menghapus elemen, itu tidak akan menjadi masalah?
Andy
@Andy display: tidak ada alat yang benar ketika Anda tidak ingin menampilkan beberapa konten. Untuk menghapus elemen, mungkin lebih baik tidak memasukkannya sama sekali (atau, jika menggunakan JavaScript, menghapus elemen dari DOM). Jika Anda menghapus konten dari halaman menggunakan tampilan: tidak ada, jadi pengguna tidak melihatnya tetapi mesin pencari masih mengindeksnya, maka itu akan menjadi spam. Jika Anda memiliki semacam tombol "Tampilkan / Sembunyikan", atau semacamnya, maka tidak masalah.
Luiscubal
4

Saya setuju dengan Dan Diplo dan untuk menambahkan apa yang dia katakan, Googledisplay: none juga menggunakan dalam HALAMAN RUMAHnya , jadi itu tidak akan menjadi masalah saat menggunakannya, selama Anda tidak menggunakannya untuk mengirim spam (mis. Memasukkan ratusan untuk kata kunci dalam tampilan: tidak ada panel DIV).

Buka Google HOME PAGE dan cari dalam kode sumber HTML. Cari display:noneAnda akan melihatnya berkali-kali. :)

Marco Demaio
sumber
Terima kasih Marco. Itu masih menyisakan pertanyaan apakah Anda dapat menggunakan display: noneelemen yang tidak pernah terlihat.
Andy
@Andy: elemen tidak pernah terlihat seharusnya hanya SPAM, saya tidak melihat mengapa Anda harus menggunakan elemen tidak pernah terlihat, mengapa repot-repot menempatkan mereka di halaman HTML? Jadi saya berharap menggunakannya bukan ide yang baik. Google mungkin dapat mendeteksi mereka sekarang atau di masa depan dan menghukum situs Anda.
Marco Demaio
Satu-satunya contoh yang bisa saya pikirkan adalah ketika Anda menggunakan CMS dan untuk alasan waktu Anda mungkin ingin menggunakan CSS untuk menyembunyikan satu atau dua bit kecil markup, daripada mengubah-ubah markup secara keseluruhan. (Dan saya hanya meminta Q untuk memahami situasi saat ini dengan lebih baik - CMS pilihan saya adalah Drupal, di mana mengubah markup itu cepat dan mudah.)
Andy
@Andy - Mungkinkah secara logis mesin pencari membaca ribuan baris javascript dan mengidentifikasi kasus-kasus yang secara logis tidak mungkin ditampilkan suatu elemen? Dibutuhkan beberapa rekayasa balik yang sangat besar untuk mempelajari kode situs mana pun dengan satu baris yang mengatakan $('.'+somevar).show();dan mencari tahu setiap nilai yang mungkin somevarbisa miliki dan membandingkannya dengan setiap kemungkinan keadaan DOM - dan itu merupakan kasus yang sangat sepele ... Juga, banyak kasus di mana div tidak akan ditampilkan karena data, input, hasil panggilan API / AJAX, perilaku pengguna, dll, tetapi secara logis bisa ...
user56reinstatemonica8
@ user568458 Saya pikir itulah poin yang dibuat oleh Eric Enge pada paragraf terakhir dari pertanyaan, dan oleh Dan Diplo dalam jawaban yang diterima.
Andy
3

Saya pikir Anda harus mencoba mencari alternatif lain tetapi di sini ada beberapa artikel referensi

Termasuk tautan ke Maile dan Vanessa di obrolan radio Webmaster tentang topik ini http://luigimontanez.com/2010/stop-using-text-indent-css-trick/

Maile adalah Insinyur Google http://maileohye.com/html-text-indent-not-messing-up-your-rankings/

Ini adalah sesuatu yang Google akan berikan solusinya, tetapi offset negatif dan tampilan tidak ada yang tidak aman jika Anda mengambil pandangan jangka panjang.

AndyBeard
sumber
0

Google merayapi display:nonekonten CSS .

Menyembunyikan sesuatu dari Google hanya buruk jika Anda sengaja mencoba memanipulasi peringkat pencarian.

Opsi dan teks tersembunyi dari pengunjung sekarang menjadi praktik umum mengingat bagaimana situs web interaktif telah menjadi, jadi Anda tidak perlu khawatir. Di masa lalu, orang-orang menggunakan metode semacam ini untuk membuat game SEO, menyembunyikan kata kunci dan tautan, dll. Hasilnya ketika Google merayapi situs yang memiliki hal-hal yang tersembunyi dari pemirsa, ia memandang situs itu sebagai kurang dapat dipercaya.

Josip Ivic
sumber
0

Saya baru saja mengadakan konferensi dengan seo di google dan ini tidak benar. Menampilkan tidak ada hukuman, pasti. Beberapa waktu sebelum ini ditangani dengan visibilitas atau menggunakan ukuran teks negatif atau indentasi negatif.

Adalah fakta bahwa teks perlu terlihat dan tidak terhalang dengan cara apa pun yang terlihat. Setidaknya tidak ada pelat ketel atau duplikasi atau konten malas.

Ngomong-ngomong google dapat melakukan apapun yang mereka inginkan di situs mereka, mereka mungkin menempatkan diri mereka lebih dulu bahkan jika itu adalah kentang.

Khususnya pendekatan yang diusulkan dan mungkin akan digunakan adalah untuk menunjukkannya dan tidak peduli apa konsekuensi desain yang mungkin ditimbulkannya.

Saya akan mengusulkan hal-hal sebagai pengindeksan-z (layering) untuk memeriksa apakah kebetulan gaya semacam ini tidak dipertimbangkan. Tetapi saya rasa algoritma tidak cukup kuat untuk mempertimbangkan hal ini. Atau hal-hal seperti menghitung posisi kotak di atas ukuran layar untuk mempertimbangkan penentuan posisi negatif sebagai blok visual.

Teks terkait untuk minat klien seo ergo harus terlihat.

Budaya
sumber
1
Jawaban ini jelas salah. Konferensi apa pun yang Anda datangi sangat mengerikan. Saya tidak bisa membayangkan sampah apa lagi yang mereka berikan kepada Anda. Mereka mungkin memberi tahu Anda bahwa tag meta juga penting.
John Conde
1
Memang benar bahwa jika Anda membuat daftar kata kunci yang panjang, letakkan di halaman Anda, dan sembunyikan dengan tampilan: tidak ada, Google akan menghukum situs Anda. Juga benar bahwa teks yang dimaksudkan untuk diindeks harus terlihat. Seperti yang ditunjukkan oleh jawaban lain, ada kegunaan yang sah untuk ditampilkan: tidak ada.
Stephen Ostermiller
Cara teknis yang digunakan untuk menyembunyikan teks sama sekali tidak penting bagi Google. Spekulasi bahwa z-index atau posisi negatif dapat digunakan untuk menipu Google sama sekali tidak benar. Googlebot merender halaman sekarang dan dapat mendeteksi cara apapun yang digunakan untuk mencegah teks dari muncul di piksel pada page.As jawaban yang lain menunjukkan, tidak
Stephen Ostermiller