これは、SEOのイメージレイジーローディングへの良いアプローチですか?


14

AJAXを介して読み込まれた画像、またはインデックスを作成したくない場合は、data- *属性アプローチを使用します。

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

Javascriptをマッピングし、データのsrcに属性のsrc属性を:

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

ただし、HTML内の画像については、インデックスを作成する必要があります。

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

JavaScriptは、アンカー画像タグに置き換えます。

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

SEOに影響を与えることなく(願わくば)インデックス機能とページの意図を(アクセシビリティのために)保存するようです。しかし、セカンドオピニオンが大好きです。

編集:このアプローチ(画像へのリンクのあるページとインラインIMGタグのあるページ)についてのフィードバックは、ページランクに関して比較します。インラインIMGタグは、各発信リンクが全体的なページランクを損なうので、より良い結果になると思います(rel = "nofollow"が生産的でない場合を除く)。


送信リンクは、ページランクを低下させません。それはPRの仕組みではありません。
Lèseはmajesté

発信リンクの総数は、各リンクのPRを損なうでしょうか?元のページに5つのリンクがあり、それぞれが20%のPRであった場合、このアプローチでは50になりますが、それぞれ2%になりますか?
アーロン

そのとおりです。渡されたPRの量がされてページ上のリンクの数で割ったが、PRによる彫刻、nofollowリンク間のPRを分割する際のリンクは、現在も含まれています。したがって、45個のnofollowリンクと5個の通常リンクがあったとしても、5個の通常リンクは依然としてリンクジュースの2%しかパスしません。Googleが賢明な場合、ユーザーのソリューションは使いやすさとアクセシビリティにとって有効なものであり、PRフローを希釈することで落胆すべきではないため、画像リンクはHTMLリンクとは異なります。
Lèseはmajesté

回答:


10

それは良いアプローチです。別の方法として、<noscript />要素を使用して、imgGoogleによってインデックスが作成される通常バージョンのタグを保存し、JSを使用して遅延読み込みバージョンを作成することもできます。

または、Googleのhashbang AJAX規則とHTML5の履歴APIを組み合わせて、ブックマークおよびインデックス可能なページの状態を作成できます。あなたは無限スクロールページのいくつかの種類をやっている場合、それはほとんど無限スクロールの実装は必死に必要な擬似ページネーション-何かの形(提供としてこれは、特に好適である::咳:: Google画像検索::咳を::)。


編集:リンクを画像のプレースホルダーとして使用すると、ページからのPRフローがより多くのリンクに分割される可能ありますnofollowが、理論上使用しない限りPRは常に保存されますが、理論上は画像検索の画像のPRが増加します。

それを望まない場合、または非JSユーザーのためにページを優雅に劣化させたい場合は、反対のルートに行き、通常の画像から始めることができますが、ページロード時に画像の属性をブロックする JSを使用してsrc(または画像要素を削除して、src属性を遅延読み込みキューに保存するだけです)。正しく実行すれば、実際に画像のダウンロードを開始する前にこれを完了できます。


2
私はそれを見たい<noscript>と思っています-Googleは見ていませんし、Firefoxで画像の読み込みをブロックする方法をまだ見つけていません。src<script>タグの直後にタグがある場合でも)置換しても<img>、Firefoxの最新バージョンでは画像のダウンロードが妨げられないようです。別の方法を知っている場合は、共有してください!
mindplay.dk

@ mindplay.dk:Google noscriptはスニペットでテキストを使用しないことを選択する場合がありますが、私が読んだものはすべて、noscriptコンテンツ全体のインデックス作成を行うと信じています。ただし、を置き換えることは正しいですsrc。私の最初の考えは、最初の画像のscript にaを置いて、スクリプトが読み込まれて実行されるまで画像の読み込みをブロックすることでした。しかし、さらに調べてみると、その時点では画像がDOMに表示されないため、これは機能しません。ホストへの同時接続を最大化することでダウンロードをブロックできますが、最近では非現実的です。
リースマジェス

他の誰かが思いついた汚いハックは、JSを使用してJSフリーのイメージをコメントアウトすることです(投機的解析を扱う長いバージョンがあります)<script>document.write('<'+'!--');</script><img src=...><!---->。それが受け入れ可能なアプローチであるかどうかを自分で決定する必要があります。
リースマジェス

2

このパターンでロードされた画像を見ました:

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

GoogleとGoogle Image Searchに取り上げられ、他の人もそれを見つけました。Googleがページでjavascript実行するようになったため、実際の画像をsrc属性に配置する必要はないかもしれません。src属性を無視すると、画像の周囲に灰色の境界線が表示される可能性があるため、次のような方法をお勧めします。

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

Nb。これは必ずしも他の検索エンジンに適用されるわけではありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.