↑ ↓ auswählen, Enter öffnen, Esc schließen

Bilder ohne loading-Attribut auf einer Seite finden

Werte anpassen, der Befehl aktualisiert sich live
user@server
curl -s https://example.com/ | tr '\n' ' ' | grep -oiE '<img[^>]*>' | grep -vi 'loading='

Gibt jedes <img>-Element ohne loading-Attribut aus. Bilder unterhalb des sichtbaren Bereichs sollten loading="lazy" tragen, damit sie den ersten Seitenaufbau nicht ausbremsen. Keine Ausgabe heißt: alle Bilder haben ein loading-Attribut.

Hinweis: Das Hauptbild im sichtbaren Bereich (LCP-Element) gerade nicht lazy laden, sonst verschlechtert sich der LCP. Ob Bilder mit loading="lazy" versehen sind, zeigt grep -i 'loading="lazy"' am Ende statt grep -vi.

Auch gesucht als

  • Lazy Loading prüfen
  • Bilder ohne loading lazy
  • werden Bilder verzögert geladen
  • offscreen Bilder aufschieben

Skripte ohne async oder defer auf einer Seite finden

$curl -s https://example.com/ | tr '\n' ' ' | grep -oiE '<script[^>]*src=[^>]*>' | grep -viE 'async|defer|type=.?module'
harmlosBilder und Performance

Bilder ohne alt-Attribut auf einer Seite finden

$curl -s https://example.com/ | tr '\n' ' ' | grep -oiE '<img[^>]*>' | grep -viE '\balt='
harmlosSEO-Checks

TTFB mehrfach messen mit Minimum, Median und Maximum

$for i in $(seq 10); do curl -o /dev/null -s -w '%{time_starttransfer}\n' https://example.com/; done | LC_ALL=C sort -n | awk '{a[NR]=$1; s+=$1} END {printf "Min: %.3fs Median: %.3fs Max: %.3fs Schnitt: %.3fs\n", a[1], a[int((NR+1)/2)], a[NR], s/NR}'
harmlosSEO-Checks

Antwortzeit einer PHP-Seite mit einer statischen Datei vergleichen

$for u in https://example.com/ https://example.com/wp-includes/css/dist/block-library/style.min.css; do curl -o /dev/null -s -w "%{time_starttransfer}s TTFB $u\n" "$u"; done
harmlosBilder und Performance

Bilder mit Abmessungen über X Pixel finden

$find /var/www/vhosts/example.com/httpdocs/wp-content/uploads -type f \( -iname '*.jpg' -o -iname '*.jpeg' -o -iname '*.png' \) -exec identify -format '%w %h %i\n' {} + 2>/dev/null | awk -v max=2560 '$1 > max || $2 > max'
harmlosBilder und Performance

Bilder rekursiv nach AVIF umwandeln

$find /var/www/vhosts/example.com/httpdocs/wp-content/uploads -type f \( -iname '*.jpg' -o -iname '*.jpeg' -o -iname '*.png' \) -exec sh -c 'for f; do [ -e "$f.avif" ] || avifenc -s 6 "$f" "$f.avif" >/dev/null; done' sh {} +
vorsichtBilder und Performance

Erst lesen, dann ausführen.

Die Befehle auf myline.de greifen direkt in Server, Dateien und Datenbanken ein. Ein falscher Pfad oder Platzhalter kann Daten unwiderruflich löschen oder einen Server unerreichbar machen.

  • Alle Befehle werden ohne Gewähr bereitgestellt und sind nicht auf jedem System getestet.
  • Vor dem Ausführen verstehen, was ein Befehl tut, und jeden Platzhalter prüfen.
  • Vorher ein Backup anlegen und möglichst zuerst auf einem Testsystem ausprobieren.
  • Die Ausführung erfolgt auf eigene Verantwortung. Eine Haftung für Schäden ist ausgeschlossen, soweit gesetzlich zulässig.