Victoria and Albert Museum: 1,2 Millionen Kunstwerke auf statischen Webseiten

Das britische V&A hat mit dem freien Tool Hugo statische Webseiten für mehr als eine Million Kunstwerke erstellt, die einen schnellen Online-Zugang bieten.

In Pocket speichern vorlesen Druckansicht 15 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Christian Kirsch

Während sich viele Websites auf dynamisch generierte Inhalte konzentrieren, geht das Londoner Victoria and Albert Museum einen als altmodisch geltenden Weg: Es stellt sein Angebot „Explore our Collection“ ausschließlich auf statischen Webseiten bereit. Zurzeit sind mehr als 1,2 Millionen Objekte online zugänglich. Der weitgehende Verzicht auf Serverzugriffe soll die Seiten so schnell wie möglich machen.

Wie der V&A-Mitarbeiter Patrick Cartlidge in einem Blog-Beitrag ausführt, änderten sich die Daten der meisten Kunstwerke kaum. Deshalb ergäbe es wenig Sinn, die Webseiten dafür bei jeder Abfrage erneut per JavaScript aus Einzelteilen zusammenzubasteln. Stattdessen habe man sich entschieden, sie einmalig als statische HTML-Dokumente zu erzeugen.

Dazu nutzt das Museum den in Go geschriebenen freien Static Site Generator Hugo, der aus Markdown-Dateien und HTML-Templates HTML-Seiten erzeugt. Die Datensätze kommen in 10.000er-Paketen im JSONL-Format an. Daraus werden einzelne JSON-Dateien erzeugt, deren Inhalt in die Kopfzeilen von Markdown-Dokumenten wandert. Am Ende erstellt Hugo daraus 10.000 HTML-Seiten, die zum Webserver übertragen werden.

Cartlidge berichtet, dass Hugo für jedes dieser Pakete rund 30 Sekunden benötigt. Für 1,2 Millionen Datensätze sollte der Prozess also rund eine Stunde dauern. Das sei allerdings ohnehin nur selten nötig, denn meist gäbe es nur wenige Änderungen, sodass auch nur wenige HTML-Seiten zu aktualisieren seien.

Mit der Performance ist man bei V&A zufrieden: Die Seiten bauten sich ohne Verzögerung auf, und Googles Web-Tachometer Lighthouse gebe für die Geschwindigkeit die volle Punktzahl von 100. Die komplette Sammlung findet sich unter vam.ac.uk.

(ck)