SVG-bestanden uploaden in WordPress

Wil je een SVG-bestand uploaden in de mediabibliotheek van je WordPress-site? Standaard laat WordPress veel verschillende bestanden uploaden, zoals afbeeldingen, audio en zelfs video. Helaas is het uploaden van een SVG-bestand niet standaard toegestaan.

Gelukkig zijn er workarounds om tóch SVG-bestanden te kunnen uploaden naar je WordPress-site. In dit artikel leg ik uit wat SVG is, waarom je het zou willen gebruiken én hoe je dit kan doen in WordPress.

Wat is SVG?

De afkorting SVG staat voor Scalable Vector Graphics. Waar een normale afbeelding (bijvoorbeeld JPG of PNG) gebruikmaakt van pixels, gebruikt een SVG-bestand vector graphics met behulp van XML markup language.

Het grote voordeel van vector graphics (en dus van SVG) is dat je dit soort afbeeldingen eindeloos kan inzoomen zonder dat je aan kwaliteit inlevert. Dit is perfect voor grafische elementen op je website, zoals bijvoorbeeld logo’s of andere afbeeldingen met graphics en tekst.

Wouter Postma
Het logo van mijn website is óók een SVG. Als je hierop inzoomt zal deze scherp blijven.

Je weet met een SVG ook zeker dat je logo er op een smartphone met retina-scherm scherp uit zal zien. Oók als Apple of Google morgen een nieuwe telefoon lanceert met een nóg hogere pixeldichtheid.

Een laatste voordeel dat zeker benoemd moet worden is dat SVG-bestanden een stuk kleiner zijn dan bijvoorbeeld PNG-bestanden.

SVG-afbeeldingen maken

Het logo van Adobe Illustrator (in SVG-formaat)

Een SVG maak je met een software-programma dat vector graphics ondersteunt. De meest bekende is waarschijnlijk Adobe Illustrator, maar dit is zeker niet de enige! Als je in Illustrator een vector-afbeelding hebt gemaakt, kun je via File > Export > Export As je afbeelding opslaan als SVG.

Je kunt óók SVG-afbeeldingen maken met animaties. Hiervoor zijn verschillende handige tools zoals SVGator.

Waarom je geen SVG-bestanden kunt uploaden in WordPress

WordPress houdt SVG-bestanden standaard tegen vanwege de potentiële beveiligingsproblemen die met SVG gepaard gaan. Omdat SVG-bestanden gebaseerd zijn op XML, zijn deze kwetsbaar voor zogeheten XXE-aanvallen (External Entity-attacks).

SVG uploaden in WordPress niet toegestaan
Het uploaden van SVG-bestanden is standaard niet toegestaan in WordPress

Oplossingen

Om op een veilige manier gebruik te maken van SVG-bestanden, moeten deze “sanitized” worden. Dat wil zeggen dat het bestand wordt gestript van eventuele code die makkelijk te manipuleren is. Dit kun je natuurlijk zelf doen, maar je kan ook een plugin installeren zoals Safe SVG van 10up.

Safe SVG-plugin

Deze plugin doet voornamelijk twee dingen:

  • SVG-uploads toestaan: De plugin zorgt ervoor dat je SVG-bestanden kunt uploaden in WordPress, ondanks dat dit standaard niet mogelijk is.
  • Sanitizen van SVG’s: De Safe SVG-plugin zorgt er óók voor dat de SVG-bestanden die je uploadt, worden ge-sanitized.

Je kunt de Safe SVG-plugin gratis downloaden op WordPress.org of direct installeren vanuit je WordPress admin-omgeving.

Safe SVG plugin WordPress
Safe SVG-plugin voor WordPress

Nadat je de plugin geactiveerd hebt, kun je direct beginnen met het uploaden van SVG-bestanden naar je website. Vervolgens kun je deze gebruiken in berichten, pagina’s of als logo. Om een SVG in te stellen als logo moet je vaak met behulp van je Theme Options of Customizer te werk gaan. Of dit mogelijk is hangt sterk af van welk theme je gebruikt.

Let op: Soms werkt het niet direct als je een SVG-afbeelding gebruikt, bijvoorbeeld als je dit instelt als logo. Dat komt doordat een SVG als zijnde een vector géén standaard afmetingen heeft. Je kunt een vector namelijk eindeloos uitvergroten. Mocht het niet werken, probeer dan via de CSS-editor een vaste breedte aan je logo of afbeelding mee te geven. Heb je hier hulp bij nodig? Neem dan contact met me op.

Zelf doen

Je kunt óók zonder plugin te werk gaan. Je kan bijvoorbeeld zelf PHP-code toevoegen aan een site-specifieke plugin of aan het functions.php-bestand van je theme. Meer hierover lees je in deze blog van WP Engine. Deze optie klinkt misschien aantrekkelijk, maar je dient nog steeds te zorgen dat de SVG-bestanden die je uploadt ook veilig zijn. Het is daarom gemakkelijker en aan te raden – zeker als je niet technisch bent – om gebruik te maken van de plugin Safe SVG.

Conclusie

SVG-afbeeldingen hebben verschillende voordelen. Als je ze op de juiste manier inzet, kun je aanzienlijk besparen op de laadtijd van je website. Daarnaast kun je SVG-bestanden eindeloos uitvergroten zonder dat ze aan scherpte verliezen, en zelfs voorzien van animaties.

Een standaard installatie van WordPress staat het uploaden van SVG-afbeeldingen niet toe. Dit heeft te maken met bepaalde veiligheidsrisico’s die gepaard gaan met XML, de opmaak-taal waarop SVG-bestanden gebaseerd zijn. Gelukkig zijn er handige oplossingen zoals de Safe SVG-plugin of zelf code toevoegen. Voor de meeste gebruikers is de plugin-optie de betere optie, omdat de plugin er ook voor zorgt dat je SVG’s goed beschermd worden tegen de security-risico’s.

Het helpt natuurlijk ook om een goede hostingpartij te nemen die je beschermt tegen die risico’s. Denk hierbij aan SiteGround.

Wouter Postma
Wouter Postma

Hi! Ik ben Wouter Postma. Ik ben gespecialiseerd in online marketing en werk al heel lang met WordPress. Op deze website schrijf ik blogs over mijn ervaringen en deel ik tips & tricks.

Blijf op de hoogte van mijn blog

Vul je e-mailadres in en meld je aan voor mijn e-mail nieuwsbrief.

5 reacties

  1. Beste Wouter,

    Bedankt voor je uitleg. Ik heb van mijn nieuwe logo een svg gemaakt en geplaatst bij Weergave – Theme Options – Logo settings. Ik kan het logo uploaden na de app Safe SVG te hebben geïnstalleerd. Het logo wordt getoond op mijn Samsung telefoon maar als ik mijn website in de safari browser open dan zie ik mijn logo niet. Wat kan ik nu het beste doen? Ik zie wel dat met een svg bestand het logo veel scherper is dan met png / jpg. Maar nu moet ik het nog zichtbaar krijgen op een iPad/iMac in Safari.

    • Beste Birgitta,

      Je zou in dit geval de volgende CSS bij je logo kunnen meegeven:

      min-width: 300px;

      Een SVG-bestand heeft geen afmetingen (in pixels) omdat het een vector-bestand is, het kan helpen om een minimum aantal pixels op te geven.

      Mocht je er niet uitkomen, neem dan gerust even contact op, dan kan ik meekijken.

      Groet,
      Wouter

  2. Hoi Wouter,

    Dankjewel voor je reactie. Ik had inderdaad zoiets gelezen dat je een code kunt meegeven in de CSS maar daar heb ik geen kaas van gegeten. Ik heb mijn website: http://www.birgittavormgeving.nl in WordPress gemaakt met het thema van AccessPress en een Slider Revolution toegevoegd. Ik weet niet precies waar ik moet zoeken binnen WordPress waar ik die code kan aanpassen? Ik heb nu even een jpg file op mijn website staan maar die oogt dus wat onscherp op de iMac en iPad. Op mijn Samsung mobiel valt het wel mee.

  3. Hoi Wouter,

    In aanvulling op mijn vorige bericht…. Ik ben even verder aan het speuren geweest en zie onder Media en dan Bibliotheek het logo staan. Helemaal rechts staat: Deze media wordt niet ondersteund. Als ik op bewerken klik dan zie ik deze codering onder Beschrijving staan:

    My first SVG

    Moet hier ergens min-width: 300px; worden toegevoegd? Erboven of eronder werkt in ieder geval niet. Dus ik weet niet waar het dan wel moet komen staan?

  4. Oh, ik zie dat ie de codering vertaald naar “My first SVG”. Ik had een rijtje coderingen onder elkaar in bovenstaande bericht geplaatst maar is niet als zodanig verstuurd. Kan ik je screenshots sturen?

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *