Index: src/routes/admin-settings.js
===================================================================
--- src/routes/admin-settings.js	(revision 09ecc5fbe5b347c986a01096751b5d37a585a63c)
+++ src/routes/admin-settings.js	(revision 8f6225cbfb7a439454829f7dec26b0891f4163f0)
@@ -25,4 +25,5 @@
 import { entitlementStatus, premiumUnlocked } from '../services/PatreonService.js';
 import { googleConfigured, redirectUri, currentClientId, clientSecretSet } from '../config/google.js';
+import { toWebp } from '../services/ImageWebpService.js';
 
 const router = express.Router();
@@ -120,5 +121,5 @@
     // Hero: een geüploade afbeelding wint; anders het URL-tekstveld.
     if (req.file) {
-      const newUrl = `/media/hero/${req.file.filename}`;
+      const newUrl = `/media/hero/${toWebp(req.file)}`;
       // Ruim een vorige geüploade hero op (alleen als die uit onze hero-map kwam).
       const old = getSetting('hub_hero_image') || '';
