Abschnitte per AJAX nachladen - Sinnfrage

Eine Frage im Forum regt zum Nachdenken an: Jemand möchte, dass Abschnitte erst beim Scrollen nachgeladen werden. Macht das Sinn? Geht das?

Sinnfrage

Zunächst einmal: Es ist deutlich einfacher, bereits im HTML vorhandene, aber unsichtbare Inhalte/Abschnitte einzublenden. Schließlich sollen diese Elemente sofort dargestellt werden, wenn sie den Viewport erreichen; und das geht nur dann schnell, wenn alles nötige schon geladen und alle Abmessungen bekannt sind.

Für Einblende-Effekte gibt es etliche fertige Scripte, die Wooshie und Zappel anbieten. So machen das zb die Module Wunderblock und Blockrocker, aber auch mit Itemz, OFA oder anderem lässt sich Derartiges umsetzen.

Ladezeit?

Eine Verkürzung der Ladezeit kann ebenfalls ein Motiv sein, in aller Regel wird das aber nur große Bilder betreffen und dazu wird man unter dem Stichwort „Lazy Loading“ eher fündig. Bilder werden dabei entweder per CSS unsichtbar gemacht (und dann erst beim Scrollen eingeblendet) oder es wird überhaupt der <img> Tag manipuliert und erst später zurecht gebogen.

Chrome und Firefox laden unsichtbare Bilder erst dann, wenn alles andere geladen ist. Sowohl Bilder, die per CSS ausgeblendet sind als auch Bilder, die (noch) nicht im Viewport sind, kommen ans Ende der Ladeliste, während  die sichtbare Seite schon lange dargestellt wird. Es scheint nicht sinnvoll, in diesen Mechanismus einzugreifen, zumal ich als Webdesigner auch gar nicht weiß, welcher Browser, welches Gerät, welche Bedingungen sind.

Für HTML selbst wird die Bilanz aus Latenzzeit und Netzwerk-Overhead kaum sinnvoll aussehen, wenn nicht gerade Grimms Gesamtwerk "Märchenweise" ausgeliefert wird.

Den Webserver entlasten

Es ist bei besucherstarken Online-Zeitungen mittlerweile gängig, dass die Kommentare erst geladen werden, wenn man bis dorthin gescrollt hat. Dafür gibt es gute Gründe, der Wichtigste wird sein, dass die Darstellung der Kommentare den Server stark belastet, was bei Millionen Zugriffen schon deutliche Mehrkosten verursacht. Schließlich scrollt nicht jeder soweit runter, oft noch unterhalb der ganzen Clickbait-Werbung (die ebenso erst nachgeladen wird).
Ein weiterer Grund wird sein, dass die Betreiber nicht wollen, dass Suchmaschinen-Bots die Kommentare „sehen“, schon um rechtliche Probleme zu vermeiden.

Inhalte vor Suchmaschinen verbergen

Klare Sache: Suchmaschinen-Bots scrollen und warten nicht, also wird nichts erfasst, was später per AJAX nachgeladen wird.
(Nur falls das nicht klar war: Ja, nachgeladene Inhalte werden von Suchmaschinen nicht erfasst!)

Abseits von reichweitenstarken Websites wird es der typische Webdesigner eher als Nachteil empfinden, wenn die Listung in  Suchmaschinen eingeschränkt ist. So sind die Kommentare hier für Suchmaschinen sichtbar, weil Kommentare einer Website etwas mehr Leben einhauchen und für ein besseres Ranking sorgen. Deutlich!

 

Technische Umsetzung

Nach dem oben gesagten bleibt die Frage: Wie sinnvoll ist es wirklich, Abschnitte per AJAX nachzuladen? Unterm Strich werden nur wenige konkrete Anwendungen übrigbleiben, die dann ohnehin individuell behandelt werden müssen. Natürlich wäre es schön, wenn WBCE insgesamt etwas AJAX-freundlich wäre, aber eine generelle Implementierung im Core ist wohl kaum sinnvoll. Bleibt die Umsetzung als Modul, und da gäbe es mehrere Ansätze.
Mehr dazu später.
 

Zurück

Kommentare:

Lazy loading von Bildern, Videos und iFrames beherrschen alle Browser über ein einfaches HTML Attribute. Der Vorteil hierbei. Bilder werden erst dann geladen, wenn Sie im Viewport des Browsers sichtbar sind. Das spart Bandbreite. Alles laden und ausblenden spart da erst mal nix, ausser man kombiniert das. Ein nettes Video dazu: https:/­/­youtu.be/­AActXSWxsRo. Im WBCE Ajax /­ React Thread Post 10 wird für zweiteres ein jQuery Script vorgestellt.

Grüße zx80

zx80 02.09.2021
Antworten