Articles · 7 septembre 2026
Autoriser le SVG dans WordPress, sans se faire avoir
WordPress refuse les fichiers SVG. Ce n'est pas un oubli, c'est une vraie raison de sécurité. Ce qu'il faut savoir, la ligne qui suffit quand seuls des gens de confiance téléversent, et la bonne méthode sinon.
WordPress accepte .jpg, .png, .gif, .webp et quelques autres. Il bloque le SVG. La plupart des tutoriels en ligne y voient un oubli et vous tendent un extrait de code pour contourner. C’est une erreur. WordPress bloque le SVG pour une vraie raison de sécurité, et il vaut mieux la connaître avant de l’activer.
Pourquoi WordPress bloque le SVG
Un SVG, c’est du XML, pas des pixels. Un fichier SVG peut contenir des balises <script>, des attributs onload="...", des liens vers des ressources externes. Affichez un SVG malveillant dans un navigateur et vous avez une faille XSS stockée, installée dans votre médiathèque. C’est pour ça que le cœur dit non.
L’extrait d’une ligne (avec précaution)
Si seuls des gens de confiance téléversent des fichiers sur votre site (vous et votre équipe), l’extrait ci-dessous suffit. Placez-le dans le functions.php du thème ou dans une extension propre au site :
add_filter( 'upload_mimes', function( $mimes ) {
$mimes['svg'] = 'image/svg+xml';
return $mimes;
} );
C’est tout, les SVG passent. Attention au type MIME : image/svg+xml, et non image/svg comme le disent certains vieux tutoriels.
Si des utilisateurs non fiables peuvent téléverser
Auteurs, contributeurs, clients, quiconque dont vous ne répondriez pas personnellement : l’extrait ci-dessus n’est pas sûr. Il faut un nettoyage au téléversement. Deux options propres :
- Safe SVG, de Daryll Doyle. Gratuite, bien maintenue, elle retire le contenu dangereux des SVG à l’envoi. Installez-la, et le SVG fonctionne pour les rôles que vous autorisez.
- Le faire vous-même. Un hook sur
wp_handle_upload_prefilterqui passe le fichier dansenshrined/svg-sanitizer. Seulement si Safe SVG ne convient pas à votre configuration.
Pourquoi s’embêter avec le SVG
Un SVG est minuscule (souvent moins de 5 Ko pour un logo complexe), s’agrandit à n’importe quelle taille sans perte, et reste net sur les écrans Retina. Pour les logos, les icônes et toute illustration à plat, le SVG est le choix évident ; PNG et WebP sont un compromis. Le coût en sécurité est réel, la solution est à une extension près. Ça vaut le coup.
Et si votre médiathèque traîne de vieux logos et des images que plus rien n’utilise, Media Cleaner les retrouve.