Zum Inhalt springen
Bilder & Medien

WordPress -scaled Bilder deaktivieren (big_image_size_threshold)

Unscharfe WordPress-Bilder beheben: das 2560-px-Limit mit dem Filter big_image_size_threshold anheben oder abschalten — und warum das erneute Hochladen der übersprungene Schritt ist.

Veröffentlicht

Setze einen Filter auf big_image_size_threshold, der false zurückgibt, und WordPress legt beim Hochladen keine -scaled Kopien mehr an. Gibst du stattdessen eine Zahl zurück, hebst du das Limit an, statt es zu entfernen. Beides gehört in functions.php oder in ein kleines Must-Use-Plugin, und beides wirkt ausschließlich auf Uploads, die nach dem Aktivieren des Filters entstehen.

// Disable the cap entirely — no -scaled copies at all.
add_filter( 'big_image_size_threshold', '__return_false' );
// Or just raise it. Longest edge, in pixels.
add_filter( 'big_image_size_threshold', function () {
    return 3840;
} );

Was WordPress dabei wirklich tut

Seit WordPress 5.3 wird jeder Upload an seiner längsten Kante vermessen. Liegt diese Kante über big_image_size_threshold — ab Werk 2560 px — kodiert WordPress das Bild auf dieses Limit herunter, speichert es als your-photo-scaled.jpg und schreibt die Anhang-Metadaten so um, dass die Größe full nun auf die skalierte Kopie zeigt.

Dein Original wird nicht gelöscht. Es bleibt unter seinem ursprünglichen Dateinamen auf der Festplatte, ist in den Anhang-Metadaten vermerkt und in PHP über wp_get_original_image_path() erreichbar. Ausgeliefert wird es im Frontend aber von nichts. Weder vom Block-Editor noch von srcset noch von der Vorschau in der Mediathek. Es liegt dort als Archivkopie.

Alles Weitere entsteht dann aus der skalierten Datei, nicht aus dem, was du hochgeladen hast:

GrößeQuelle, aus der sie entsteht
fulldie -scaled Kopie
large, medium_large, medium, thumbnaildie -scaled Kopie
Eigene Größen aus add_image_sizedie -scaled Kopie
Theme- und Plugin-Größen, z. B. woocommerce_thumbnaildie -scaled Kopie
srcset-Kandidatendie -scaled Kopie

Genau diese eine Tatsache erwischt so viele Leute.

Warum das der übliche Grund für “mein scharfes Bild wirkt weich” ist

Zwei Dinge passieren gleichzeitig, und nur eines davon ist offensichtlich.

Das Offensichtliche ist die Auflösung. Du lädst ein 4000 px breites Foto für einen Hero-Bereich über die volle Breite hoch. WordPress gibt dem Browser 2560 px. Auf einem gewöhnlichen Display, das einen 1600 px breiten Container füllt, merkt das niemand. Auf einem Retina-Display mit doppelter Pixeldichte bräuchte derselbe Container rund 3200 echte Pixel, bekommt 2560, und der Browser rechnet die Differenz hoch. Weiche Kanten, matschige Details, verwaschene Schrift im Bild.

Weniger offensichtlich ist die Neukodierung. Die -scaled Kopie ist kein verlustfreier Ausschnitt deiner Datei. WordPress dekodiert deinen Upload, verkleinert ihn und komprimiert ihn mit der eigenen JPEG-Qualitätseinstellung neu. War dein Original bereits ein komprimiertes JPEG aus Lightroom oder vom Smartphone, ist das eine Kodierung zweiter Generation: Kompressionsartefakte auf Kompressionsartefakten. Feine Details, Filmkorn und flache Farbverläufe trifft es am härtesten. Das siehst du sogar dann, wenn die Pixelabmessungen eigentlich ausreichen.

Prüf das nach, bevor du irgendetwas änderst. Öffne das Bild in einem neuen Tab und lies den Dateinamen in der URL. -scaled.jpg heißt: Das Limit hat zugeschlagen. Ein Maßangaben-Suffix wie -1536x1024.jpg bedeutet etwas anderes — srcset hat einen zu kleinen Zwischenwert gewählt, und der Grenzwert-Filter hilft dir dabei nicht.

Auf dem Server:

find wp-content/uploads -name '*-scaled.*' | wc -l

Ist die Zahl groß, prägt das Limit deine gesamte Mediathek.

Du kannst auch eine Datei in das Werkzeug zum Deaktivieren skalierter Bilder ziehen und siehst, ob eine bestimmte Quelle den Grenzwert überschreiten würde und bei welchen Abmessungen die skalierte Kopie landen würde — bevor du dich auf eine Einstellung festlegst.

Die ehrliche Abwägung

Die meisten Artikel behaupten, das Abschalten des Limits koste Speicherplatz. Das ist genau verkehrt herum, und es lohnt sich, hier präzise zu sein.

Der Speicherbedarf pro Bild sinkt leicht. Mit aktivem Grenzwert speichert WordPress dein Original und eine große skalierte Kopie. Ohne ihn bleibt nur das Original. Eine Datei statt zwei.

Bandbreite und Seitengewicht steigen, teils deutlich. Ohne Limit ist full dein unangetasteter Upload. Alles, was die volle Größe verlinkt oder darstellt — eine Lightbox, ein Galerie-Plugin, ein Link auf das Original, ein Theme, das full für Hero-Bilder anfordert — liefert jetzt eine Datei aus, die statt 900 KB auch 6 MB groß sein kann. Auf dem Smartphone ist das ein echtes Problem für den Largest Contentful Paint, und Bild-CDNs retten dich nicht immer, weil manche oberhalb einer Größengrenze einfach durchreichen.

Der Speicherbedarf beim Upload steigt. Ein 6000 px großes Bild in PHP zu verkleinern kostet erheblich mehr Arbeitsspeicher als ein 2560 px großes. Auf günstigem Shared Hosting mit knappem PHP-Speicherlimit ist das Abschalten des Limits ein plausibler Weg zu fehlgeschlagenen Uploads oder halb erzeugten Thumbnails. Den Grenzwert auf 3840 anzuheben statt ihn zu entfernen ist die sicherere Variante derselben Änderung.

Deshalb lautet die vernünftige Voreinstellung für die meisten Websites: Zahl anheben, nicht entfernen. Entfernen ist richtig, wenn du Bilder ausspielst, die tatsächlich die volle Auflösung brauchen: Galerien in Druckqualität, Produktzoom, Architekturfotografie — alles, wo Besucher das Original genau betrachten sollen.

Die Änderung sauber umsetzen

1. Bring den Filter dorthin, wo er überlebt. functions.php in einem Child-Theme funktioniert. Ein Must-Use-Plugin aus einer einzigen Datei ist besser, weil ein Theme-Wechsel es nicht stillschweigend aushebeln kann.

<?php
/**
 * Plugin Name: Raise big image threshold
 */
add_filter( 'big_image_size_threshold', function () {
    return 3840;
} );

2. Lade die betroffenen Bilder erneut hoch. Das ist der Schritt, den Leute überspringen, um danach zu schließen, der Filter funktioniere nicht. Der Grenzwert wird genau einmal ausgewertet: beim Upload. Vorhandene Anhänge behalten ihre alten Metadaten für immer. Lösche den Anhang, lade die Datei neu hoch und korrigiere anschließend die Verweise in deinen Beiträgen.

3. Erwarte nicht, dass das Neuerzeugen der Thumbnails etwas rettet. wp media regenerate über WP-CLI baut die Zwischengrößen aus der Datei neu auf, die die Metadaten als volle Größe führen — und das ist bei einem bereits begrenzten Bild die -scaled Kopie. Verworfene Details lassen sich damit nicht zurückholen. Nützlich als Aufräumarbeit nach dem erneuten Hochladen. Als alleinige Lösung nutzlos.

4. Kontrolliere das Ergebnis, statt es anzunehmen. Öffne das Bild nach dem erneuten Hochladen im Frontend und lies den Dateinamen noch einmal. Kein -scaled heißt: Der Filter greift.

Wann Deaktivieren der falsche Schritt ist

Wenn deine Ausgangsbilder ohnehin unter 2560 px liegen und trotzdem weich aussehen, war der Grenzwert nie beteiligt. Dann ist der Anzeigebereich größer als die verfügbaren Pixel, und die Antwort lautet: größere Ausgangsdatei oder kleinerer Container — nicht dieser Filter.

Trägt der ausgelieferte Dateiname ein Maßangaben-Suffix statt -scaled, hat srcset einen kleinen Kandidaten gewählt. Das ist meist ein Missverhältnis zwischen der im Theme angegebenen Inhaltsbreite und dem Bereich, in dem das Bild tatsächlich gerendert wird. Das Limit abzuschalten ändert daran nichts.

Und wenn ein Plugin dein src auf einen Optimierer oder CDN-Proxy umschreibt, gilt nichts davon, solange du nicht geprüft hast, was dieser Proxy ausliefert. Vergleiche, was WordPress erzeugen müsste, mit dem, was der Browser tatsächlich lädt; wenn beides auseinandergeht, schau dir an, was dazwischenhängt.

FAQ

Fragen

Wie deaktiviere ich skalierte Bilder in WordPress?

Setze einen Filter auf big_image_size_threshold, der false zurückgibt. Er gehört in functions.php oder in ein kleines Must-Use-Plugin. Mit false ist das Limit komplett aus, Uploads behalten ihre Originalabmessungen und es entsteht keine -scaled Kopie. Gibst du stattdessen eine Zahl wie 3840 zurück, hebst du das Limit an, statt es zu entfernen.

Was bedeutet das Suffix -scaled in einem WordPress-Dateinamen?

Es kennzeichnet eine neu kodierte Kopie, die WordPress angelegt hat, weil dein Upload an der längsten Kante über 2560 px lag. Diese Kopie wird auf deiner Website überall zur vollen Größe. Deine Originaldatei bleibt unter ihrem normalen Namen auf der Festplatte, aber nichts im Frontend verlinkt sie, und jedes Thumbnail sowie jeder srcset-Kandidat entsteht aus der skalierten Kopie.

Verbrauchen deaktivierte skalierte Bilder mehr Speicherplatz?

Pro Bild meist etwas weniger, weil WordPress keine zweite große Datei mehr neben dem Original ablegt. Der eigentliche Preis ist die Bandbreite, nicht der Speicher. Ohne Limit liefert alles, was die volle Größe verlinkt, deinen unangetasteten Upload aus — über eine Mobilfunkverbindung können das mehrere Megabyte sein.

Werden bereits unscharfe Bilder durch das Abschalten des Grenzwerts wieder scharf?

Nein. Der Filter wirkt nur auf neue Uploads. Bilder, die schon in der Mediathek liegen, behalten Metadaten, die auf ihre skalierte Kopie zeigen, und beim Neuerzeugen der Thumbnails entstehen alle Größen wieder aus derselben begrenzten Datei. Um die Auflösung zurückzubekommen, musst du den Anhang löschen und die Datei erneut hochladen, nachdem der Filter aktiv ist.

Sind 2560 px ein sinnvoller Grenzwert?

Für die meisten Content-Websites ja. Eine Quelle mit 2560 px deckt einen 1280 px breiten Anzeigebereich bei doppelter Pixeldichte ab, und das ist der Normalfall. Heb den Wert auf 3840 an, wenn du randlose Hero-Bereiche, Produktzoom oder Fotogalerien betreibst. Ganz abschalten solltest du ihn nur, wenn du wirklich unveränderte Originale ausliefern musst.