Verwenden Sie für Bilder, die über AJAX geladen wurden oder die nicht indexiert werden sollen, den data- * -Attribut-Ansatz:
<img data-src="path/to/image.jpg" class="js-lazy-load" />
Das Javascript ordnet das data-src- Attribut dem src- Attribut zu:
<img src="path/to/image.jpg" />
Aber für Bilder in der HTML , dass ich tun möchte indizierte:
<a href="path/to/image.jpg" class="js-lazy-load">Image alt text here</a>
Das Javascript ersetzt den Anker durch ein Image- Tag:
<img src="path/to/image.jpg" alt="Image alt text here" />
Scheint, dass die Indexierbarkeit und die Absicht der Seite (für die Barrierefreiheit) erhalten bleiben, ohne die SEO (hoffentlich) zu beeinträchtigen. Würde mich aber über eine zweite Meinung freuen.
Bearbeiten: Jedes Feedback dazu, wie dieser Ansatz - Seite mit Links zu Bildern oder Seite mit Inline-IMG-Tags - in Bezug auf den Seitenrang verglichen wird. Ich vermute, dass die Inline-IMG-Tags besser abschneiden würden, da jeder ausgehende Link den Gesamtrang der Seite beeinträchtigen würde (es sei denn, sie hätten rel = "nofollow", was kontraproduktiv wäre).
quelle
nofollow
Links jetzt auch beim Teilen von PR zwischen Links einbezogen. Selbst wenn Sie 45 Nofollow-Links und 5 reguläre Links haben, passieren die 5 regulären Links immer noch nur 2% des Linksafts. Wenn Google schlau wäre, würden sie Image-Links anders behandeln als HTML-Links, da Ihre Lösung hinsichtlich Benutzerfreundlichkeit und Zugänglichkeit gültig ist und Sie nicht entmutigen sollten, Ihren PR-Fluss zu verwässern.Antworten:
Das ist ein guter Ansatz. Ein anderer Ansatz, den Sie wählen können, besteht darin, mithilfe des
<noscript />
Elements die normale Version desimg
Tags zu speichern , die von Google indiziert wird, und mithilfe von JS die Version zum verzögerten Laden zu erstellen.Alternativ können Sie die Hashbang-AJAX-Konventionen von Google in Kombination mit der HTML5-Protokoll-API verwenden, um Lesezeichen- und indexfähige Seitenzustände zu erstellen. Dies ist besonders vorzuziehen, wenn Sie eine Art unendliche Bildlaufseite ausführen, da diese eine Form der Pseudo-Paginierung bietet - etwas, das die meisten unendlichen Bildlaufimplementierungen dringend benötigen ( :: husten :: Google Bilder :: husten ::) .
Bearbeiten: Die Verwendung von Links als Platzhalter für die Bilder kann dazu führen, dass der PR-Fluss von der Seite auf mehrere Links aufgeteilt wird. PR bleibt jedoch immer erhalten, es sei denn, Sie verwenden
nofollow
dies theoretisch, um die PR dieser Bilder für die Bildsuche zu erhöhen.Wenn Sie dies nicht möchten oder möchten, dass sich die Seite für Nicht-JS-Benutzer ordnungsgemäß verschlechtert, können Sie den umgekehrten Weg einschlagen und mit normalen Bildern beginnen, aber JS blockieren, um das
src
Attribut der Bilder beim Laden der Seite zu ersetzen (oder sogar Löschen Sie einfach die Bildelemente und speichern Sie diesrc
Attribute in Ihrer Lazy Loading Queue. Wenn Sie es richtig machen, können Sie dies tun, bevor die Bilder tatsächlich heruntergeladen werden.quelle
<noscript>
und ich habe noch keine Möglichkeit gefunden, das Laden von Bildern in Firefox zu blockieren. Das Ersetzensrc
(auch mit einem<script>
Tag unmittelbar nach dem<img>
Tag) scheint nicht zu verhindern, dass das Bild in der neuesten Version von Firefox heruntergeladen wird. Wenn Sie einen anderen Weg kennen, teilen Sie uns dies bitte mit!noscript
Text in Snippets, aber alles, was ich gelesen habe, lässt mich glauben, dass es Indexinhaltenoscript
im Allgemeinen enthält. Sie haben jedoch Recht mit der Substitutionsrc
. Mein ursprünglicher Gedanke war, einscript
vor das erste Bild zu stellen, damit es das Laden der Bilder blockiert, bis das Skript geladen und ausgeführt wurde. Bei genauerer Betrachtung würde dies jedoch nicht funktionieren, da die Bilder zu diesem Zeitpunkt nicht im DOM angezeigt würden. Sie können das Herunterladen blockieren, indem Sie die Anzahl der gleichzeitigen Verbindungen zum Host maximieren. Dies ist jedoch heutzutage unpraktisch.<script>document.write('<'+'!--');</script><img src=...><!---->
. Sie müssen selbst entscheiden, ob dies ein akzeptabler Ansatz ist.Ich habe Bilder mit diesem Muster geladen gesehen:
erhalten abgeholt von Google und Google Image Search und andere haben entdeckt es auch. Da Google jetzt Javascript auf Ihrer Seite ausführt , ist es möglicherweise nicht erforderlich, das tatsächliche Bild in das src-Attribut einzufügen. Das Vernachlässigen eines src-Attributs kann zu einem grauen Rand um Ihr Bild führen. Daher ist es wahrscheinlich am besten, wenn Sie Folgendes verwenden:
Nb. Dies gilt nicht unbedingt für andere Suchmaschinen.
quelle