Алексей открыл студию йоги: логотип в PNG на телефоне мыльный, дизайнер прислала logo.svg. WordPress ответил: «Извините, этот тип файла недопустим по соображениям безопасности». На форуме нашёл код для functions.php, чуть не вставил — пишут про взлом через файл. Непонятно, чем SVG опаснее обычной картинки. Ниже — путь без программиста: плагин-фильтр, проверка файла и загрузка только для администратора. Сегодня вы настроите Safe SVG и получите результат: логотип в медиабиблиотеке без ошибки MIME.
WordPress блокирует SVG не из вредности: это не картинка, а текстовый файл (XML), внутри которого может спрятаться чужой код. Безопасный путь для владельца сайта — плагин с очисткой при загрузке (Safe SVG или SVG Support 2.5.17+), а не одна строка «разрешить svg» из интернета. Загрузку оставьте только себе как администратору. Файл берите у дизайнера и гляньте в блокноте: нет слов script и onload.
SVG нужен для чёткого логотипа без тяжёлых PNG. WordPress не пускает формат «из коробки» — и это разумно. Ниже — почему появляется ошибка, как включить «досмотр багажа» и что проверить до клика «Загрузить».
- Разберитесь, почему WordPress отказывает в SVG
- Установите Safe SVG и ограничьте загрузку администратором
- Проверьте SVG-файл до загрузки в медиабиблиотеку
- Избегайте типичных ошибок с SVG на WordPress
- Сравните плагины, если Safe SVG не подошёл
- Что делать, если SVG загрузился, но не виден в библиотеке
- Как понять, что настройка сработала
- Частые вопросы
- Можно ли загрузить SVG в WordPress без плагина?
- Опасен ли SVG, если нет форм на сайте?
- Какой плагин для SVG выбрать в WordPress?
- Почему WordPress пишет, что тип файла недопустим?
- Что делать, если плагин отклонил мой SVG?
- Нужен ли формат .svgz обычному бизнесу?
- Как проверить SVG перед загрузкой?
Разберитесь, почему WordPress отказывает в SVG

JPG и PNG — готовые картинки. SVG (векторная графика) — текстовый файл: откройте в Блокноте, увидите path и circle. Туда можно вписать скрипт — при показе «логотипа» чужой код сработает в браузере посетителя (XSS — внедрение кода через страницу).
Типичная ошибка: думать, что WordPress «не любит вектор». На практике система защищает медиатеку от файлов, которые выглядят как картинка, а ведут себя как мини-страница. Пока нет безопасного способа загрузки, любой .svg упрётся в ошибку — даже честный файл от дизайнера.
Нюанс из документации Safe SVG: плагин не включает SVG глобально. Если разрешить MIME-тип через upload_mimes (список форматов WordPress) без очистки, файл может пройти обходом и остаться «грязным». «Разрешить SVG одной строкой» и «безопасно разрешить» — разные задачи.
Установите Safe SVG и ограничьте загрузку администратором

Для владельца без разработчика прямой путь — Safe SVG (1+ млн установок, версия 2.5.0). Файл проходит очистку enshrined/svg-sanitize: опасные теги вырезаются. Если не удалось — ошибка «couldn’t be sanitized»: это защита, не поломка.
Пошагово — сделайте шесть действий в админке WordPress:
- Откройте «Плагины → Добавить новый», найдите Safe SVG, установите и активируйте.
- В настройках плагина (или в «Настройки → Safe SVG») отметьте, кто может загружать SVG. Оставьте только роль «Администратор».
- Убедитесь, что плагин обновлён до свежей версии — в 2.5.0 обновили пакет очистки с исправлениями безопасности.
- Перейдите в «Медиафайлы → Добавить новый».
- Выберите logo.svg с компьютера (файл от дизайнера, не с сомнительного сайта иконок).
- После загрузки откройте медиабиблиотеку: превью и название файла должны отображаться без ошибки MIME.
Схема безопасной загрузки: доверенный файл от дизайнера → Safe SVG активен → только администратор → Медиафайлы → Добавить → превью в библиотеке → вставка в блок «Изображение» или шапку темы.
Алексей так и сделал: не трогал functions.php, оставил загрузку себе, проверил файл в блокноте — логотип встал на главную без размытия.
Проверьте SVG-файл до загрузки в медиабиблиотеку

Боль «боюсь файла из интернета» снимается простым чек-листом. Не нужно быть программистом — достаточно Блокнота и здравого смысла.
- Источник: файл от дизайнера, из брендбука или экспорта из Figma/Illustrator. Не качайте «пак иконок» с неизвестного лендинга.
- Расширение: обычный .svg, не .svgz (сжатый архив). В 2026 году у плагина SVG Support нашли уязвимость CVE-2026-13340 именно из-за .svgz до версии 2.5.17 — для логотипа салона сжатый формат не нужен.
- Размер: ориентир до 50 КБ для простого лого. Огромный файл с лишними данными чаще ломается при очистке.
- Взгляд в блокнот: откройте файл правой кнопкой → «Открыть с помощью» → Блокнот. Красные флаги: слова script, onload, javascript:, iframe, внешние ссылки на чужие домены.
- Норма: видны svg, path, rect, circle, fill — без исполняемого кода.
Честный логотип — десятки строк с координатами. Если видите <script> или onload= — попросите дизайнера экспорт «для web».
Избегайте типичных ошибок с SVG на WordPress
Часто ломается не плагин, а привычки владельца. Вот что не делать:
- Голый код upload_mimes из форума. Официальный хук WordPress меняет список типов файлов, но сам файл не чистит. Если на сайте появится автор блога или менеджер, дыра станет реальной.
- Разрешить SVG всем ролям. Даже с плагином очистки атака возможна только от того, кто может грузить файлы. Оставьте право администратору.
- Игнорировать обновления плагина. «Безопасный» плагин тоже ошибается — история с .svgz в SVG Support это показала. Обновляйте до 2.5.17 и выше.
- Скачивать SVG-паки «как попало». Иконки с бесплатных каталогов без проверки — частый источник мусора и скрытого кода.
Типичная ошибка: плагин есть, роли забыли — редактор грузит файлы с биржи. Безопасность SVG — фильтр на входе и дисциплина «кто кладёт в медиатеку».
Сравните плагины, если Safe SVG не подошёл
| Критерий | Safe SVG | SVG Support (2.5.17+) | WP SVG Images |
|---|---|---|---|
| Простота для новичка | Высокая: установил, ограничил роль, загрузил | Средняя: больше настроек, в т.ч. inline-режим | Высокая: минимум кнопок |
| Очистка при загрузке | Да, enshrined/svg-sanitize | Да, с патчем для .svgz | Да, отклоняет вредоносные файлы |
| Кому доверять загрузку | Настройка ролей в плагине | Role-based access | Настройка ролей |
| На что смотреть | Не полагаться на голый upload_mimes | Обновиться минимум до 2.5.17 | Подойдёт для лёгкого сайта услуг |
Итоговый вердикт: для первого логотипа без кода начните с Safe SVG. Если нужны тонкие настройки отображения в контенте — SVG Support, но только свежая версия. Не ставьте три плагина одновременно — они конфликтуют.
Что делать, если SVG загрузился, но не виден в библиотеке
Файл прошёл очистку, а превью пустое — часто это норма для вектора. Inline-режим вставляет код прямо в страницу; на сайте услуг хватит блока «Изображение». После смены темы проверьте логотип в «Внешний вид». Ошибка sanitization — в файле лишнее; попросите экспорт «для web» или PNG/WebP. Не отключайте защиту — лучше запасной PNG, чем «грязный» вектор.
Как понять, что настройка сработала
Перед FAQ сверьте чеклист успеха — вы поймёте, что задача закрыта:
- Плагин с очисткой (Safe SVG или аналог) активен и обновлён до свежей версии.
- Загружать SVG может только администратор — не авторы и не менеджеры магазина.
- Тестовый logo.svg из доверенного источника (.svg, не .svgz) загружается без ошибки MIME.
- Файл виден в медиабиблиотеке и открывается на сайте в нужном месте.
- При попытке загрузить заведомо «грязный» файл (с script в блокноте) плагин отклоняет его с сообщением, а не молча сохраняет.
- Вы сможете вставить логотип в шапку или блок «Изображение» без размытия на телефоне.
Когда все пять пунктов выполнены, SVG загружен безопасно: чёткий логотип, без дыры для чужого кода. Дальше — порядок в медиабиблиотеке и защита входа в админку.
Не уверены в файле или ролях — напишите через форму или Telegram. Настройка WordPress — в услугах, гайды — в статьях.
Материал проверен: Андрей Дикий — настраивает WordPress для малого бизнеса и ведёт блог про SEO/GEO.
Источники и факты: каталоги wordpress.org/plugins/safe-svg и svg-support (2.5.0 и 2.5.17+), хук upload_mimes на developer.wordpress.org, разборы wp-kama.ru и wpevo.ru, CVE-2026-13340 (SentinelOne), код github.com/10up/safe-svg; LSI — по SERP 16.09.2026; показы Вордстат не сверялись (MCP недоступен).
Частые вопросы
Можно ли загрузить SVG в WordPress без плагина?
Теоретически — через код в functions.php и хук upload_mimes. Для владельца бизнеса это риск: файл не очищается, а при появлении второго пользователя дыра остаётся. Практичный путь — плагин с sanitization (очисткой при загрузке), например Safe SVG.
Опасен ли SVG, если нет форм на сайте?
Риск не нулевой: «грязный» файл сработает у любого, кто откроет страницу с картинкой. Логотип в шапке видят все — проверяйте файл до загрузки, право грузить оставьте администратору.
Какой плагин для SVG выбрать в WordPress?
Для первого раза — Safe SVG: простая установка и очистка через проверенную библиотеку. Альтернатива — SVG Support не ниже 2.5.17 (из-за исправления .svgz) или WP SVG Images для лёгкого сайта. Не смешивайте несколько SVG-плагинов.
Почему WordPress пишет, что тип файла недопустим?
Ядро по умолчанию не принимает SVG в медиабиблиотеку: формат может содержать исполняемый код. После активации плагина с очисткой и настройки ролей тот же файл от дизайнера обычно загружается без этой ошибки.
Что делать, если плагин отклонил мой SVG?
Сначала откройте файл в блокноте и уберите script, onload и лишние ссылки. Попросите дизайнера экспорт «для web». Если плагин снова отказывает — используйте PNG или WebP высокого разрешения: отказ означает, что фильтр сработал в вашу пользу.
Нужен ли формат .svgz обычному бизнесу?
Нет. Для логотипа салона, студии или мастерской достаточно обычного .svg до 50 КБ. Сжатый .svgz чаще приносит проблемы с очисткой и был центром свежих уязвимостей в популярных плагинах.
Как проверить SVG перед загрузкой?
Откройте в блокноте, убедитесь в отсутствии script и onload, проверьте источник. Загрузите через плагин с очисткой — опасный файл не попадёт в медиатеку.
