Đây có phải là một cách tiếp cận tốt cho hình ảnh Lazy Loading cho SEO?


14

Đối với hình ảnh được tải qua AJAX hoặc tôi không muốn lập chỉ mục, hãy sử dụng phương pháp tiếp cận thuộc tính data- *:

<img data-src="path/to/image.jpg" class="js-lazy-load" />

Javascript ánh xạ thuộc tính data-src sang thuộc tính src :

<img src="path/to/image.jpg" />

Nhưng đối với hình ảnh trong HTML mà tôi làm muốn lập chỉ mục:

<a href="path/to/image.jpg" class="js-lazy-load">Image alt text here</a>

Các javascript thay thế neo bằng một thẻ hình ảnh :

<img src="path/to/image.jpg" alt="Image alt text here" />

Có vẻ như sẽ duy trì khả năng lập chỉ mục và mục đích của trang (cho khả năng truy cập) mà không ảnh hưởng đến SEO (hy vọng). Nhưng sẽ thích một ý kiến ​​thứ hai.

Chỉnh sửa: Bất kỳ phản hồi nào về cách tiếp cận này - trang có liên kết đến hình ảnh so với trang có thẻ IMG nội tuyến - sẽ so sánh với thứ hạng trang. Tôi đoán các thẻ IMG nội tuyến sẽ có giá tốt hơn vì mỗi liên kết gửi đi sẽ làm giảm thứ hạng trang tổng thể (trừ khi chúng có rel = "nofollow" sẽ phản tác dụng).


Liên kết đi không làm mất thứ hạng trang của bạn. Đó không phải là cách PR hoạt động.
Lèse majesté

Tổng số các liên kết đi sẽ làm mất đi PR mà mỗi liên kết có? Vì vậy, nếu ban đầu trang có 5 liên kết - mỗi liên kết có 20% PR - nhưng với cách tiếp cận này sẽ có 50 - mỗi trang sẽ có 2%?
Aeron

Đúng rồi. Lượng PR được thông qua được chia cho số lượng liên kết trên trang, nhưng do điêu khắc PR, nofollowcác liên kết hiện cũng được đưa vào khi chia PR giữa các liên kết. Vì vậy, ngay cả khi bạn có 45 liên kết nofollow và 5 liên kết thông thường, 5 liên kết thông thường vẫn chỉ vượt qua 2% lượng nước ép liên kết. Mặc dù nếu Google thông minh, họ sẽ đối xử với các liên kết hình ảnh khác với các liên kết HTML, vì giải pháp của bạn là hợp lệ cho khả năng sử dụng và khả năng truy cập và không nên làm nản lòng bằng cách làm loãng luồng PR của bạn.
Lèse majesté

Câu trả lời:


10

Đó là một cách tiếp cận tốt. Một cách tiếp cận khác bạn có thể thực hiện là sử dụng <noscript />phần tử để lưu trữ phiên bản bình thường của imgthẻ, được Google lập chỉ mục và sử dụng JS để tạo phiên bản tải lười biếng.

Ngoài ra, bạn có thể sử dụng các quy ước AJAX hashbang của Google kết hợp với API lịch sử của HTML5 để tạo trạng thái trang có thể đánh dấu và chỉ mục. Điều này đặc biệt tốt hơn nếu bạn đang thực hiện một số loại trang cuộn vô hạn, vì nó cung cấp một hình thức giả trang mà một thứ gì đó mà hầu hết các triển khai cuộn vô hạn cần ( :: ho :: Google Images :: ho : :).


Chỉnh sửa: Sử dụng liên kết làm trình giữ chỗ cho hình ảnh có thể khiến luồng PR từ trang bị chia cho nhiều liên kết hơn, mặc dù PR luôn được bảo tồn trừ khi bạn sử dụng nofollowvì vậy về mặt lý thuyết, điều này sẽ làm tăng PR của những hình ảnh đó cho tìm kiếm hình ảnh.

Nếu bạn không muốn điều đó hoặc bạn muốn trang xuống cấp một cách duyên dáng cho những người dùng không phải là JS, bạn có thể đi theo con đường ngược lại và bắt đầu với hình ảnh thông thường nhưng sử dụng chặn JS để thay thế srcthuộc tính của hình ảnh khi tải trang (hoặc thậm chí chỉ cần xóa các thành phần hình ảnh và lưu trữ các srcthuộc tính trong hàng đợi tải lười biếng của bạn). Nếu bạn làm đúng, bạn có thể hoàn thành việc này trước khi bất kỳ hình ảnh nào thực sự bắt đầu tải xuống.


2
Tôi rất thích thấy điều đó - Google không nhìn vào <noscript>và tôi chưa tìm được cách chặn tải hình ảnh trong Firefox; thay thế src(ngay cả với một <script>thẻ ngay sau <img>thẻ) dường như không ngăn hình ảnh tải xuống trong phiên bản Firefox mới nhất. Nếu bạn biết một cách khác để làm điều đó, hãy chia sẻ!
mindplay.dk

@ mindplay.dk: Google có thể chọn không sử dụng noscriptvăn bản trong đoạn trích, nhưng tất cả mọi thứ tôi đọc đều khiến tôi tin rằng nó có noscriptnội dung chỉ mục nói chung. Tuy nhiên, bạn đúng về việc thay thế src. Suy nghĩ ban đầu của tôi là để đặt một script trước khi hình ảnh đầu tiên, do đó nó ngăn chặn việc tải những hình ảnh cho đến sau khi kịch bản đã được nạp và thực thi. Nhưng khi kiểm tra thêm, điều này sẽ không hoạt động vì hình ảnh sẽ không hiển thị trong DOM tại thời điểm đó. Bạn có thể chặn tải xuống bằng cách tối đa hóa các kết nối đồng thời đến máy chủ, nhưng điều đó không thực tế trong những ngày này.
Lèse majesté

Một bản hack bẩn mà người khác nghĩ ra là sử dụng JS để nhận xét các hình ảnh không có JS như vậy (có một phiên bản dài hơn liên quan đến phân tích cú pháp đầu cơ) : <script>document.write('<'+'!--');</script><img src=...><!---->. Bạn sẽ phải tự quyết định xem đó có phải là một cách tiếp cận được chấp nhận hay không.
Lèse majesté

2

Tôi đã thấy hình ảnh được tải với mẫu này:

<img data-src="path/to/image.jpg" class="js-lazy-load" />

được chọn bởi Google và Google Image Search và những người khác cũng đã phát hiện ra nó. Vì Google hiện thực thi javascript trên trang của bạn, nên có thể không cần phải đưa hình ảnh thực tế vào thuộc tính src. Việc bỏ qua một thuộc tính src có thể dẫn đến một đường viền màu xám xung quanh hình ảnh của bạn, vì vậy có lẽ tốt nhất để đi với một cái gì đó như:

<img src="placeholder.gif" data-src="path/to/image.jpg" class="js-lazy-load" alt="Image alt text here" />

Nb. điều này không nhất thiết phải áp dụng cho các công cụ tìm kiếm khác.

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.