По умолчанию WordPress запрещает загружать на сайт файлы svg. Уже 12 лет идет процесс обсуждения о включении svg в список разрешенных файлов для загрузки, но положительного результата нет. На данный момент есть обходные пути как в wordpress разрешить загрузку svg. Рассмотрим их в этой статье.
Почему нельзя загружать svg в WordPress?
Когда вы попытаетесь добавить svg в вордресс, появится предупреждение «Извините, вам не разрешено загрузить этот тип файла».

ВордПресс не поддерживает загрузку svg файлов по соображениям безопасности. Так как SVG – это язык разметки, то он может содержать опасный код. Это значит, что SVG подвержен внедрению в код разных уязвимостей, например XSS-атаки.
Как включить поддержку svg?
Чтобы разрешить загрузку SVG-файлов в WordPress можно воспользоваться готовыми плагинами или кодом.
Разрешить загрузку SVG через код
Необходимо вручную добавить код в файл functions.php
вашей темы.
Подключитесь к сайту по FTP или откройте Внешний вид > Редактор тем в админке. Откройте файл functions.php
для редактирования.
Добавьте внизу файла код
function add_support_svg_file($mimes) {
$mimes['svg'] = 'image/svg+xml';
return $mimes;
}
add_filter('upload_mimes', 'add_support_svg_file');
Код добавляет в список разрешенных для загрузки файлов MIME-тип SVG.
Важно!
Данный код не является безопасным и может быть использован только в случае, если на сайте нет пользователей кроме вас и вы загружаете проверенные SVG-файлы.
Если на вашем сайте несколько пользователей, то можно добавить дополнительную проверку. Например, разрешить загрузку только администраторам или конкретному пользователю.
Код, который проверяет админские права пользователя.
// Разрешает загружать svg всем админам
function add_support_svg_file($mimes) {
// Проверка админских прав пользователя
if( current_user_can('administrator') ) {
$mimes['svg'] = 'image/svg+xml';
}
return $mimes;
}
add_filter('upload_mimes', 'add_support_svg_file');
Чтобы разрешить загружать svg только конкретному пользователю, например администратору с ID=1, код будет такой
// Разрешает загружать svg только юзеру с ID=1
function add_support_svg_file($mimes) {
$user_id = get_current_user_id();
if( $user_id == 1 ) {
$mimes['svg'] = 'image/svg+xml';
}
return $mimes;
}
add_filter('upload_mimes', 'add_support_svg_file');
Код с дополнительными проверками более безопасен. Он не дает загрузить svg неизвестным пользователям. Однако он не спасет, если в svg встроен вредоносный код. В идеале, перед загрузкой все svg файлы должны быть очищены. Сделать это можно с помощью специальных библиотек, но процесс трудоемкий и гораздо правильнее использовать для этого плагины.
Плагины WordPress для загрузки svg
Плагин Safe SVG
Safe SVG один из самых популярных плагинов для добавления поддержки SVG.

Что умеет плагин:
- Очищает SVG-файлы. Удаляет вредоносный код из содержимого файла.
- Оптимизирует файлы. Выполняет оптимизацию SVG через инструмент SVGO.
- Предпросмотр SVG-файлов в медиатеке. По умолчанию, файлы svg будут отображаться в медиатеке в виде иконки, плагин показывает содержимое файла.
- Расширенные возможности для загрузки файлов. Можно дополнительно указать, кому разрешено работать с файлами svg в ВордПресс.
- Блок Guttenberg. Позволяет встраивать на страницы/записи svg код.
Установите плагин в админке. У плагина нет страниц настроек, а значит вы сразу сможете использовать все его возможности.
Плагин SVG Support
SVG Support – еще один популярный плагин для добавления возможности загрузки SVG-файлов в WordPress.

Возможности плагина:
- Включает поддержку SVG. После установки можно сразу загружать файлы.
- Очистка файлов. Все файлы SVG предварительно очищаются для безопасности.
- Минификация. Оптимизирует svg для лучшего использования на сайте.
- Рендеринг SVG. Может добавлять inline svg.
- Расширенные настройки. Позволяет выбрать роли пользователей, кто имеет возможность загружать svg.
После установки, вам будут доступны настройки плагина в разделе Настройки > Поддержка SVG.

Заключение
В статье рассмотрели несколько вариантов включения поддержки SVG в ВордПресс. Мы рекомендуем использовать один из плагинов, так как они предоставляют безопасные способы работы с файлами SVG.