Safe SVG


Safe SVG — лучший способ разрешить загрузку SVG в WordPress!

Это дает вам возможность разрешать загрузку SVG, в то же время следя за тем, чтобы они были очищены, чтобы предотвратить уязвимости SVG / XML, влияющие на ваш сайт.
Это также дает вам возможность просматривать загруженные SVG-файлы в медиа-библиотеке во всех размерах.

Нравится Safe SVG? Попробуй Pro-версию с дополнительными возможностями.

Возможности бесплатной версии

  • Санитарные SVG-файлы — Не открывайте дыр в безопасности на своем сайте WordPress, разрешив загрузку файлов без проверки.
  • Просмотр SVG в библиотеке медиафайлов — Прошли те времена, когда мы угадывали, какой SVG является правильным, мы включим предварительный просмотр SVG в библиотеке мультимедиа WordPress.

Возможности Pro-версии

  • Оптимизация SVGO — У вас будет возможность запустить SVG через наш сервер SVGO при загрузке, чтобы сэкономить ваше место.
  • Выберите, кто может загружать — Ограничьте загрузку SVG определенным пользователям на вашем сайте WordPress или разрешите кому-либо загружать.
  • Премиум поддержка — Pro-пользователи получают премиум поддержку, в то время как на форумах WordPress предлагается бесплатная поддержка, когда у нас имеется на это свободное время.

Первоначальный концепт: #24251

Проверка на безопасность SVG выполняется с помощью следующей библиотеки::


Установить прямо через WordPress, либо загрузить, распаковать и выгрузить файлы в директорию /wp-content/plugins/ вашего сайта

Часто задаваемые вопросы

Можем ли мы изменить разрешенные атрибуты и метки?

Да, это возможно, используя фильтры svg_allowed_attributes и svg_allowed_tags.
Они принимают аргумент, который должен быть возвращен. Смотрите ниже примеры:

add_filter( 'svg_allowed_attributes', function ( $attributes ) {

    // Do what you want here...

    // This should return an array so add your attributes to
    // to the $attributes array before returning it. E.G.

    $attributes[] = 'target'; // This would allow the target="" attribute.

    return $attributes;
} );

add_filter( 'svg_allowed_tags', function ( $tags ) {

    // Do what you want here...

    // This should return an array so add your tags to
    // to the $tags array before returning it. E.G.

    $tags[] = 'use'; // This would allow the <use> element.

    return $tags;
} );


This plugin adds SVG support to WordPress in the most natural way. No configuration needed – simply upload and use SVG graphics as you would upload and use JPEG, PNG and GIF images.
Very happy to find this plugin. I've found it works out of the box and helps add nice logos to my website. Thank you!
I heard about this plugin from a top WordPress tips website, only to find WordPress warning me that it might be unsafe due to being untested on WordPress 5.5. Please update for WordPress 5.5!
I struggled modifying my PNGs in order not to lose pixelation, to no avail, until I discovered this plugin. Now all my graphics are SVGs and there's no turning back! One little feature request though: make the image size appear in the media library list screen, as other images format do.
This is the plugin that I have been waiting for. Adding SVG implementation in easy way with full support of Gallery thumbnails. Plugin is doing the rest in securing SVG/XML code to avoid exploits. Great. No issues when working with cache plugins like W3 Total Cache and CloudFlare.
Посмотреть все 57 отзывов

Участники и разработчики

«Safe SVG» — проект с открытым исходным кодом. В развитие плагина внесли свой вклад следующие участники:


Перевести «Safe SVG» на ваш язык.

Заинтересованы в разработке?

Посмотрите код, проверьте SVN репозиторий, или подпишитесь на журнал разработки по RSS.

Журнал изменений


  • Fixed issue where 100% width is accidentally converted to 100px width. Props @joehoyle


  • Базовое обновление библиотеки


  • Базовое обновление библиотеки


  • Базовое обновление библиотеки, что устраняет некоторые проблемы безопасности


  • Базовое обновление библиотеки, которое устраняет некоторые проблемы безопасности


  • Fixed a bug causing lots of error log output to do with safe_svg::fix_direct_image_output()


  • Fixed a bug causing 0 height and width SVGs


  • Fixed a warning about an Illegal string offset
  • Fixed an issue if something other than a WP_Post object is passed in via the wp_get_attachment_image_attributes filter.


  • Fixed a warning that was being generated by a change made in 1.9.0.


  • If an image is the correct ratio, allow skipping of the crop popup when setting header/logo images with SVGs.


  • Don’t let errors break upload if uploading an empty file
  • Fix featured image display in Gutenberg. Props @hendridm 🙂


  • Pull SVG dimensions from the width/height or viewbox attributes of the SVG.
  • Add the role=»img» attribute to SVGs


  • Updated underlying lib and added new filters for filtering allowed tags and attributes


  • Images will now use the size chosen when inserted into the page rather than default to 2000px everytime.


  • Fairly big new feature — The library now allows <use> elements as long as they don’t reference external files!
  • You can now also embed safe image types within the SVG and not have them stripped (PNG, GIF, JPG)


  • 1.5.2 introduced an issue that can freeze the media library. This fixes that issue. Sorry!


  • Tested with 4.9.0
  • Fixed an issue with SVGs when regenerating media


  • Fix PHP strict standards warning


  • Обновление библиотеки
  • role, aria- and data- attributes are now whitelisted to improve accessibility


  • Fixes some issues with defining the size of an SVG.
  • Обновление библиотеки


  • SVGs now display as featured images in the admin area


  • WordPress 4.7.3 Compatibility
  • Expanded SVG previews in media library


  • Added a check / fix for when mb_* functions are not available


  • Updated underlying library to allow attributes/tags in all case variations


  • Added ability to preview SVG on both grid and list view in the wp-admin media area
  • Updated underlying library version


  • A fix for SVGZ uploads failing and not sanitising correctly


  • Allow SVGZ uploads


  • Fix for the mime type issue in 4.7.1. Mad props to @lewiscowles


  • Updated underlying library version


  • Minify SVGs after cleaning so they can be loaded correctly through file_get_contents


  • Added support for camel case attributes such as viewBox


  • Fixed an issue with empty svg elements self-closing


  • Added i18n
  • Added da, de ,en, es, fr, nl and ru translations
  • Fixed an issue with filename not being pulled over on failed uploads


  • Первый релиз