Làm thế nào xấu là nó sử dụng hiển thị: không có trong CSS?


72

Tôi đã nghe nhiều lần rằng nó rất tệ khi sử dụng display: nonevì lý do SEO, vì đó có thể là một nỗ lực để đẩy các từ khóa phổ biến không liên quan. Một số câu hỏi:

  1. Có phải đó vẫn nhận được sự khôn ngoan?
  2. Liệu nó có tạo ra sự khác biệt nếu bạn chỉ ẩn một từ hoặc có thể là một ký tự không?
  3. Nếu bạn nên tránh sử dụng nó, các kỹ thuật ưa thích để ẩn (trong trường hợp bạn cần nó sẽ hiển thị lại trong một số điều kiện nhất định) là gì?

Một số tài liệu tham khảo tôi đã tìm thấy cho đến nay:

Matt Cutts từ năm 2005 trong một bình luận

Nếu bạn thẳng thắn sử dụng CSS để ẩn văn bản, đừng ngạc nhiên nếu đó được gọi là thư rác. Tôi không nói rằng văn bản di chuột hoặc văn bản DHTML hoặc văn bản có logo-nhưng-cũng-có-văn bản là thư rác; Tôi đã trả lời câu hỏi cuối cùng tại một cuộc hội thảo khi tôi nói "hãy tưởng tượng nó sẽ trông như thế nào đối với khách truy cập, đối thủ cạnh tranh hoặc ai đó đang kiểm tra báo cáo spam. Nếu bạn hiển thị tên công ty của bạn và đó là Expo Markers thay vì logo Expo Markers, bạn sẽ ổn thôi. Nếu văn bản bạn quyết định hiển thị là 'Expo Markers giảm giá trực tuyến giá rẻ mua trực tuyến Expo Markers sale ...' thì tôi sẽ thận trọng hơn, bởi vì điều đó có thể trông tệ. "

trong một bình luận khác trên cùng một bài viết

Chúng tôi có thể gắn cờ văn bản dường như bị ẩn bằng CSS tại Google. Cho đến nay, chúng tôi chưa loại bỏ thuật toán các trang web để làm điều đó. Chúng tôi cố gắng hết sức để tránh ném em bé ra ngoài bằng nước tắm.

Eric Enge cho biết vào năm 2008

Việc sử dụng hợp pháp kỹ thuật này rất phổ biến đến mức tôi hiếm khi mong đợi các công cụ tìm kiếm sẽ phạt một trang web vì sử dụng display: nonethuộc tính. Thật khó để thực hiện một thuật toán có thể thực sự tìm ra liệu việc sử dụng cụ thể display: nonecó nhằm đánh lừa các công cụ tìm kiếm hay không.


Điều gì xảy ra nếu tôi sử dụng màn hình trắng đang tải (không có văn bản bên trong nó) mà sau này tôi ẩn bằng javascript? Google sẽ xem xét tôi đang ẩn trang dưới màn hình trắng đó chứ? Cảm ơn bạn
bloomingsmilez

Tôi sử dụng màn hình: không có gì để giảm nội dung trang cho màn hình di động vì số lượng bản sao có vẻ hợp lý trên màn hình lớn hơn quá nhiều trên điện thoại. Tôi có gây ra cho mình một vấn đề không?

Câu trả lời:


57

Trong những ngày này của các trang web nặng của jQuery (và các khung JavaScript khác), tôi không thể thấy nó có thể là một vấn đề như thế nào, vì nó được sử dụng rộng rãi khi bạn sử dụng những thứ như thanh trượt jQuery, chuyển tiếp, phòng trưng bày, mã đánh dấu, v.v ... Hiện nay chúng rất phổ biến và công cụ tìm kiếm đủ thông minh để không mù quáng sử dụng chúng.

Một người dùng nêu điều này trong diễn đàn Google Webmaster Central :

"Chỉ sử dụng hiển thị: không ai sẽ không tự động kích hoạt hình phạt. Điều quan trọng là có hay không có cơ chế - tự động hoặc được người dùng gọi ra - để hiển thị nội dung. Google đang trở nên rất thành thạo trong việc xử lý JavaScript tìm và giải thích các cơ chế như vậy. Nếu bạn sử dụng HTML, CSS và JavaScript hợp lệ, bạn không có gì phải lo lắng. Chúc may mắn! "


Thú vị, cảm ơn. Điều đó ngụ ý rằng tôi nên tránh lười biếng và sử dụng display: noneđể loại bỏ các mục trong CSS có thể bị xóa trong mã; nhưng về hiệu ứng và như thế thì tôi ổn. Tôi tự hỏi làm thế nào họ có thể phát hiện các tình huống có logo hình ảnh và văn bản của logo cũng được bao gồm để truy cập nhưng bị ẩn. Từ mô tả, điều này sẽ được tính là xấu?
Andy

@Andy: Có thể. Nhưng bạn không nên sử dụng CSS để ẩn văn bản của logo; đặt nó trong altthuộc tính của imgthẻ. Đó là những gì thuộc tính dành cho, và theo như tôi biết, sử dụng nó có xu hướng tăng xếp hạng SEO của bạn.
David Z

Trên thực tế, có vẻ như đó có thể là trường hợp bạn sử dụng longdescthuộc tính của thẻ hình ảnh để cung cấp liên kết đến một trang khác có chứa mô tả đầy đủ. Điều này sẽ chỉ được nhìn thấy bởi trình đọc màn hình (và có lẽ các công cụ tìm kiếm). Xem webaim.org/techniques/images/longdesc#longdesc
Dan Diplo

Tôi thực sự không tìm kiếm cách tốt nhất để trình bày một mô tả về đồ họa ... Tôi đã đề cập đến trích dẫn của Matt Cutts Tôi không nói rằng ... có một logo-nhưng-cũng-có-văn bản là thư rác . Nó không có vẻ như tôi đang nói về việc sử dụng các thuộc tính althoặc longdescthuộc tính và nó cung cấp một sự tương phản nhẹ với Chìa khóa là liệu có hay không có một cơ chế ... để hiển thị nội dung .
Andy

7

Nếu bạn không lạm dụng nó, nó sẽ không thành vấn đề. Tại thời điểm này, Google không thu thập dữ liệu bảng định kiểu CSS để tìm phiên bản củadisplay: none

Google sẽ không tuyên chiến với quy tắc kiểu được sử dụng rộng rãi, họ chỉ đưa ra cảnh báo cho những người nghĩ rằng họ có thể thêm 1000 từ khóa vào một trang web được đặt thành display: nonehoặc thậm chí tệ hơn,margin-left: 9999px


6

Chỉ sử dụng "display: none" khi đó là công cụ phù hợp để sử dụng.

Như các trích dẫn cho thấy, các công cụ tìm kiếm có vấn đề với không hiển thị là thư rác. Cố gắng spam công cụ tìm kiếm, bất kể bạn sử dụng công cụ nào cho việc đó, là một ý tưởng tồi. Nếu bạn sử dụng CSS cho bất cứ điều gì khác ngoài thư rác, thì không có vấn đề gì.

Công cụ phù hợp cho công việc phù hợp.


3
Cảm ơn. Câu hỏi sau đó trở thành khi display: nonecông cụ phù hợp. Bạn nói rằng nếu CSS được sử dụng cho bất cứ thứ gì trừ thư rác thì đó sẽ không phải là vấn đề: bạn có tự tin rằng nếu tôi sử dụng display: nonenhư một cách lười biếng để loại bỏ các yếu tố, thì đó sẽ không phải là vấn đề?
Andy

@Andy display: none là công cụ chính xác khi bạn không muốn hiển thị một số nội dung. Để xóa các phần tử, tốt nhất là không bao gồm nó (hoặc, nếu sử dụng JavaScript, loại bỏ các phần tử khỏi DOM). Nếu bạn xóa nội dung khỏi trang bằng cách sử dụng display: none, vì vậy người dùng không nhìn thấy nhưng công cụ tìm kiếm vẫn lập chỉ mục cho nội dung đó, thì đó sẽ là spam. Nếu bạn có một số loại nút "Hiển thị / Ẩn" hoặc một cái gì đó tương tự, thì nó ổn.
luiscubal

4

Tôi đồng ý với Dan Diplo và để thêm vào những gì anh ấy nói, chính Google cũng sử dụng display: nonetrong TRANG CHỦ của mình , vì vậy nó thực sự không phải là vấn đề khi sử dụng nó, miễn là bạn không sử dụng nó để spam (tức là chèn hàng trăm từ khóa trong màn hình: không có bảng DIV).

Mở TRANG CHỦ Google HOME và xem mã nguồn HTML. Tìm kiếm cho display:nonebạn sẽ thấy nó nhiều lần. :)


Cảm ơn Marco. Điều đó vẫn để lại câu hỏi liệu bạn có thể sử dụng display: nonecác yếu tố không bao giờ nhìn thấy được không .
Andy

@Andy: các phần tử không bao giờ nhìn thấy được cho là chỉ SPAM, tôi không hiểu tại sao bạn nên sử dụng các phần tử không bao giờ hiển thị, tại sao lại phải đặt chúng trong trang HTML? Vì vậy, tôi mong đợi sử dụng chúng không phải là một ý tưởng tốt. Google có thể phát hiện ra chúng ngay bây giờ hoặc trong tương lai và phạt trang web của bạn.
Marco Demaio

Ví dụ duy nhất tôi có thể nghĩ đến là khi bạn đang sử dụng CMS và vì lý do thời gian, bạn có thể muốn sử dụng CSS để ẩn một hoặc hai bit đánh dấu nhỏ, thay vì hoàn toàn tùy chỉnh đánh dấu. (Và tôi chỉ yêu cầu Q hiểu rõ hơn về tình hình hiện tại - lựa chọn CMS của tôi là Drupal, trong đó việc thay đổi đánh dấu là nhanh chóng và dễ dàng.)
Andy

@Andy - Công cụ tìm kiếm thậm chí có thể đọc hàng ngàn dòng javascript và xác định các trường hợp không thể hiển thị một cách hợp lý cho một yếu tố không? Sẽ cần một số kỹ thuật đảo ngược để nghiên cứu mã của bất kỳ trang web nào với một dòng nói $('.'+somevar).show();và tìm ra mọi giá trị somevarcó thể có và so sánh với mọi trạng thái có thể có của DOM - và đó là một trường hợp đặc biệt tầm thường ... Ngoài ra, nhiều trường hợp div sẽ không được hiển thị do dữ liệu, đầu vào, kết quả cuộc gọi API / AJAX, hành vi người dùng, v.v., nhưng về mặt logic có thể ...
user568458

@ user568458 Tôi nghĩ rằng đó là điểm được Eric Enge đưa ra trong đoạn cuối của câu hỏi và bởi Dan Diplo trong câu trả lời được chấp nhận.
Andy

3

Tôi nghĩ bạn nên cố gắng đưa ra các phương án khác nhưng đây là một số bài viết tham khảo

Bao gồm các liên kết đến Maile và Vanessa trên một cuộc trò chuyện trên đài phát thanh của Webmaster về chủ đề này http://luigimontanez.com/2010/stop-USE-text-indent-css-trick/

Maile là một Kỹ sư của Google http://maileohye.com/html-text-indent-not-messing-up-your-rankings/

Đó là điều mà Google sẽ đưa ra một giải pháp cho, nhưng bù trừ tiêu cực và hiển thị không có gì là không an toàn nếu bạn có triển vọng dài hạn.


0

Google không thu thập display:nonenội dung CSS .

Ẩn một cái gì đó từ Google chỉ xấu nếu bạn cố tình thao túng thứ hạng tìm kiếm.

Các tùy chọn và văn bản ẩn từ khách truy cập hiện là một thông lệ phổ biến được đưa ra về cách các trang web tương tác đã trở thành, vì vậy bạn không nên lo lắng. Trước đây, mọi người đã sử dụng các phương pháp này để chơi trò chơi SEO, ẩn từ khóa và liên kết, v.v ... Kết quả là khi Google thu thập dữ liệu một trang web bị ẩn khỏi người xem, nó xem trang web đó kém tin cậy hơn.


0

Tôi vừa có một hội nghị với seo trong google và điều này không đúng. Hiển thị không có hình phạt, chắc chắn. Một thời gian trước khi điều này được xử lý với khả năng hiển thị thay thế hoặc sử dụng kích thước văn bản tiêu cực hoặc thụt lề tiêu cực.

Là một thực tế rằng văn bản cần phải được nhìn thấy và không bị cản trở trong bất kỳ cách nhìn thấy. Ít nhất là không có tấm nồi hơi hoặc nội dung trùng lặp hoặc lười biếng.

Bằng cách này, google có thể làm bất cứ điều gì họ muốn trên trang web của họ, họ đã tự đặt mình lên hàng đầu ngay cả khi đó là khoai tây.

Cụ thể, cách tiếp cận được đề xuất và có thể được sử dụng là để hiển thị nó và bất kể hậu quả thiết kế nào nó có thể có.

Tôi sẽ đề xuất những thứ như chỉ mục z (phân lớp) để kiểm tra xem có bất kỳ loại phong cách nào không được xem xét không. Nhưng tôi không nghĩ rằng thuật toán đủ mạnh để xem xét điều này. Hoặc những thứ như tính toán vị trí hộp trên kích thước màn hình để coi định vị âm là một khối trực quan.

Văn bản liên quan cho lợi ích khách hàng seo ergo nên được nhìn thấy.


1
Câu trả lời này không đúng. Bất cứ hội nghị nào bạn đã đi đến là khủng khiếp. Tôi không thể tưởng tượng những gì rác họ đã cho bạn ăn. Họ có thể nói với bạn thẻ meta cũng quan trọng.
John Conde

1
Đúng là nếu bạn tạo một danh sách dài các từ khóa, hãy đặt nó trên trang của bạn và ẩn nó bằng màn hình: không, Google sẽ phạt trang web của bạn. Cũng đúng là văn bản có nghĩa là cần được lập chỉ mục. Như các câu trả lời khác chỉ ra, có những cách sử dụng hợp pháp để hiển thị: không có.
Stephen Ostermiller

Các phương tiện kỹ thuật được sử dụng để ẩn văn bản hoàn toàn không quan trọng đối với Google. Suy đoán rằng chỉ số z hoặc định vị tiêu cực có thể được sử dụng để lừa đảo Google hoàn toàn sai. Googlebot kết xuất các trang ngay bây giờ và có thể phát hiện bất kỳ phương tiện nào được sử dụng để ngăn văn bản hiển thị bằng pixel trên trang. Các câu trả lời khác chỉ ra, không phải
Stephen Ostermiller
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.