Du kennst das: Kund:innen laden fleißig Dateien hoch – aber die Dateinamen sind eine wilde Mischung aus Leerzeichen, Umlauten, Sonderzeichen und kryptischen Unterstrichen. Nicht nur, dass solche Dateinamen unschön aussehen – sie können im schlimmsten Fall sogar SEO-Probleme verursachen oder zu unsauberen URLs führen.
Die gute Nachricht: WordPress lässt sich ganz einfach dazu bringen, hochgeladene Dateinamen automatisch zu bereinigen. Wie? Mit einem kleinen, aber feinen Snippet für deine functions.php
Saubere Uploads, bessere Performance – und Google freut sich auch.
Warum saubere Dateinamen wichtig sind
Es gibt mehrere Gründe, warum du auf konsistente und saubere Dateinamen setzen solltest:
-
SEO: Sinnvolle und lesbare Dateinamen verbessern die Indexierung von Bildern und Dokumenten.
-
Performance: Umlaute oder Sonderzeichen können auf manchen Servern oder im CDN Probleme machen.
-
Struktur: Einheitliche Benennung sorgt für bessere Übersicht und Ordnung in der Mediathek.
-
Kompatibilität: Betriebssysteme, Browser und Plugins interpretieren Zeichen unterschiedlich – mit Problemen willst du dich nicht rumschlagen.

Kleines Code-Snippet, große Wirkung: Ordnung beginnt beim Dateinamen.
Das Snippet:
Automatische Dateiumbenennung beim Upload
Das folgende Snippet wandelt automatisch alle hochgeladenen Dateinamen um. Die Regeln dabei sind einfach:
-
Alles wird klein geschrieben.
-
Umlaute werden ersetzt: ä → ae, ö → oe usw.
-
ß wird zu ss.
-
Leerzeichen werden durch Bindestriche ersetzt.
-
Unterstriche werden durch Bindestriche ersetzt.
-
Alle anderen Sonderzeichen (außer Punkt und Bindestrich) werden entfernt.
Einfach kopieren, einfügen und nie wieder über komische Dateinamen ärgern.
Code zum Einfügen in die functions.php
Einmal eingebaut, übernimmt WordPress die Umbenennung automatisch beim Upload: Umlaute, Sonderzeichen und Leerzeichen werden sauber ersetzt – ganz ohne zusätzliches Plugin.
-
Hinweis: Auf Deinem Smartphone oder Tablet kannst Du die Codeansicht nach links und rechts wischen, um alle Infos zu lesen.
// Dateinamen bereinigen by medienvirus.de
function custom_sanitize_file_name($filename) {
// Alles in Kleinbuchstaben
$filename = mb_strtolower($filename, 'UTF-8');
// ß zu ss
$filename = str_replace('ß', 'ss', $filename);
// Umlaute ersetzen
$umlaute = ['ä'=>'ae', 'ö'=>'oe', 'ü'=>'ue', 'Ä'=>'ae', 'Ö'=>'oe', 'Ü'=>'ue'];
$filename = str_replace(array_keys($umlaute), array_values($umlaute), $filename);
// Leerzeichen durch Bindestrich
$filename = str_replace(' ', '-', $filename);
// Unterstriche entfernen (durch Bindestrich ersetzen)
$filename = str_replace('_', '-', $filename);
// Dateiname und Dateiendung trennen
$parts = pathinfo($filename);
$name = $parts['filename'];
$ext = isset($parts['extension']) ? '.' . $parts['extension'] : '';
// Punkte im Dateinamen durch Bindestriche ersetzen
$name = str_replace('.', '-', $name);
// Alle unerwünschten Zeichen entfernen (nur a-z, 0-9 und Bindestrich)
$name = preg_replace('/[^a-z0-9\-]/', '', $name);
// Mehrere Bindestriche auf einen reduzieren
$name = preg_replace('/-+/', '-', $name);
// Zusammensetzen von Name und Extension
return $name . $ext;
}
add_filter('sanitize_file_name', 'custom_sanitize_file_name', 10);
Wo der Code hinmuss – und wie du ihn updatesicher einbaust.
So setzt du das Snippet ein
Der einfachste Weg ist, das Snippet direkt in die functions.php
deines Child-Themes einzufügen. Damit bleibt es bei WordPress-Updates erhalten und beeinflusst nur dein aktives Theme – ideal für kleinere Anpassungen.
Wenn du lieber unabhängig vom Theme arbeiten willst, kannst du auch ein eigenes kleines Plugin schreiben oder das Snippet als sogenanntes MU-Plugin (Must-Use) im Ordner /wp-content/mu-plugins/
ablegen. Diese Plugins werden automatisch geladen – ganz egal, welches Theme gerade aktiv ist. Der große Vorteil: Du behältst die Kontrolle über deine Funktionalität und musst beim Theme-Wechsel nicht daran denken, den Code erneut einzubauen. Gerade für Agenturen oder wiederkehrende Projekte lohnt sich dieser Weg langfristig.
Noch mehr Kontrolle über Dateinamen für Profis mit Geschmack.
Profi-Tipp: Klartext statt Kauderwelsch
-
Hinweis: Auf Deinem Smartphone oder Tablet kannst Du die Codeansicht nach links und rechts wischen, um alle Infos zu lesen.
// Slug vorneweg
$filename = 'projektname-' . $filename;
So bleibt dein Upload nicht nur strukturiert, sondern auch nachvollziehbar – besonders praktisch bei großen Mediatheken oder mehrfach verwendeten Assets.
Weniger Chaos, mehr Kontrolle – mit einem simplen WordPress-Filter.
Fazit: Klein, aber mächtig
Alle Updates auf einen Blick.
Frisch aktualisiert am 28.04.2025
WordPress bleibt nicht stehen – und wir auch nicht. Hier findest du alle Anpassungen, die diesen Beitrag noch besser machen. Kleine Änderungen, große Wirkung.
-
Punkte im Dateinamen automatisch entfernen | 28.04.2025 Ein kleiner, aber entscheidender Feinschliff: Punkte innerhalb des Dateinamens können auf Social Media, beim CDN-Handling oder in Mediatheken Probleme verursachen. Deshalb entfernt das überarbeitete Snippet nun automatisch alle Punkte im Dateinamen – außer dem letzten vor der Dateiendung. So bleiben deine Dateinamen nicht nur schöner, sondern auch technisch einwandfrei.