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

Skripte ohne async oder defer auf einer Seite finden

Werte anpassen, der Befehl aktualisiert sich live
user@server
curl -s https://example.com/ | tr '\n' ' ' | grep -oiE '<script[^>]*src=[^>]*>' | grep -viE 'async|defer|type=.?module'

Zeigt jedes <script src> ohne async, defer oder type="module". Solche Skripte halten den Browser beim Parsen an, bis sie geladen und ausgeführt sind, was First Contentful Paint und LCP verzögert. Besonders kritisch sind Treffer im <head>.

Hinweis: Skripte am Ende von <body> blockieren kaum, werden aber ebenfalls gelistet. jQuery-abhängige Skripte lassen sich nicht immer gefahrlos auf defer umstellen.

Auch gesucht als

  • render-blockierende Ressourcen finden
  • JavaScript ohne defer
  • PageSpeed blockierende Skripte
  • Skripte im Head bremsen die Seite

Bilder ohne loading-Attribut auf einer Seite finden

$curl -s https://example.com/ | tr '\n' ' ' | grep -oiE '<img[^>]*>' | grep -vi 'loading='
harmlosBilder und Performance

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

Cache-Control aller CSS-, JS- und Bilddateien einer Seite prüfen

$curl -s https://example.com/ | grep -oE '(src|href)="[^"]+\.(css|js|woff2?|jpe?g|png|gif|webp|avif|svg)(\?[^"]*)?"' | cut -d'"' -f2 | sed -E 's#^//#https://#; s#^/#https://example.com/#' | grep '^http' | sort -u | while read -r a; do printf '%-45s %s\n' "$(curl -sI "$a" | grep -i '^cache-control:' | tr -d '\r')" "$a"; done
harmlosBilder und Performance

Ersparnis durch gzip und Brotli für eine URL messen

$for e in identity gzip br; do curl -s -o /dev/null -H "Accept-Encoding: $e" -w "$e: %{size_download} Bytes\n" https://example.com/; done
harmlosBilder und Performance

HTTP/3-Unterstützung über den Alt-Svc-Header prüfen

$curl -sI https://example.com/ | grep -i '^alt-svc'
harmlosBilder 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.