
🔧 Как исправить ошибку «Извините, этот тип файла не разрешен по соображениям безопасности» в WordPress
Вы загружаете файл в медиатеку WordPress, а в ответ, красное предупреждение: «Извините, этот тип файла не разрешен по соображениям безопасности». Шрифт.woff для кастомного дизайна, SVG-иконка для логотипа,.epub-книга для пользователей, WordPress просто отказывается их принимать.
Проблема не в вашем файле. WordPress из коробки жёстко фильтрует типы загружаемых данных, это встроенный механизм безопасности, который защищает сайт от потенциально опасных файлов. Но он же блокирует и совершенно легитимные форматы, нужные вам для работы.
Ниже, три рабочих способа обойти ограничение: быстрый через код в wp-config.php, гибкий через плагин и специальный для SVG-графики. Без правки ядра, без риска для сайта.
💡 Быстрый обзор:
- Сбросьте ограничения WordPress через константу ALLOW_UNFILTERED_UPLOADS в wp-config.php.
- Установите плагин Add MIME Types для точечного добавления форматов через админку.
- Для SVG-графики используйте Safe SVG со встроенным санитайзером.
Почему WordPress блокирует загрузку файлов
WordPress поддерживает десятки форматов из коробки, но далеко не все. Система сверяет MIME-тип каждого загружаемого файла с жёстко заданным списком разрешённых. Если тип не найден, вы видите сообщение «Извините, этот тип файла не разрешен по соображениям безопасности».

По умолчанию WordPress разрешает загрузку следующих категорий:
Категория | Разрешённые расширения |
|---|---|
Изображения | .jpg,.jpeg,.png,.gif,.ico,.webp |
Видео | .mp4,.m4v,.mov,.wmv,.avi,.mpg,.ogv,.3gp,.3g2 |
Документы | .pdf,.doc,.docx,.ppt,.pptx,.pps,.ppsx,.odt,.xls,.xlsx,.psd |
Аудио | .mp3,.m4a,.ogg,.wav |
Всё, чего нет в таблице:.woff/.woff2 для шрифтов,.svg для векторной графики,.epub для электронных книг,.json,.xml,.csv, WordPress блокирует.
Типичный пример: вы подключаете кастомный шрифт к теме и пытаетесь загрузить .woff-файл через медиатеку. Результат:

Файл на сервере, расширение корректное, содержимое безопасное, но WordPress не знает MIME-тип font/woff и отказывает. Решений три.
Способ 1: Код в wp-config.php (быстрый, для любых форматов)
Самый короткий путь, добавить одну строку в конфигурационный файл WordPress. Константа ALLOW_UNFILTERED_UPLOADS отключает проверку MIME-типов, и вы можете загружать файлы любых форматов.
Перед началом сделайте бэкап сайта. Редактирование wp-config.php напрямую, операция с низким риском, но файл критичен для работы WordPress.
Подключитесь к серверу через FTP/SFTP (FileZilla, WinSCP или файловый менеджер хостинга). Файл wp-config.php лежит в корневой папке, там же, где директории wp-admin и wp-includes.

Откройте wp-config.php и добавьте следующую строку перед комментарием /* That's all, stop editing! Happy blogging. */:
1 define('ALLOW_UNFILTERED_UPLOADS', true);

Сохраните файл и загрузите обратно на сервер, если редактировали локально. Затем выйдите из админки WordPress и войдите заново, это обязательно, иначе изменённая конфигурация не применится.
После повторного входа попробуйте загрузить файл, ограничение снято.

Плюсы метода: моментально, не требует плагинов, работает для любого формата. Минус: открывает загрузку вообще всего, ALLOW_UNFILTERED_UPLOADS не различает безопасный .woff и потенциально опасный исполняемый файл. Если на сайте есть другие администраторы или авторы, этот способ лучше не использовать.
Способ 2: Плагин Add MIME Types (гибкий, через админку)
Если не хотите трогать wp-config.php или вам нужен точечный контроль, только .woff и .svg, но не .exe, используйте плагин Add MIME Types на WordPress.org.
Плагин активно поддерживается (версия 3.2.0, совместимость с PHP 8.5 и WordPress 7.0) и не меняет файлы ядра, только добавляет нужные MIME-типы через стандартный фильтр WordPress.
Установите и активируйте плагин, затем перейдите в Настройки → Add MIME Types. Вы увидите список уже разрешённых форматов, плагин показывает их красным цветом в конце перечня.

Чтобы добавить новый тип, впишите в поле расширение и соответствующий MIME-тип. Например:
1 woff = font/woff 2 woff2 = font/woff2 3 svg = image/svg+xml 4 epub = application/epub+zip
Нажмите Save Changes, формат добавлен. Проверьте: загрузите файл нужного типа в медиатеку. WordPress примет его без ошибки.
Плюсы: безопаснее константы ALLOW_UNFILTERED_UPLOADS (добавляете только то, что нужно), управление через админку, настройки сохраняются при обновлении ядра. Минус: на один шаг длиннее, чем правка кода.
Альтернатива для SVG: плагин Safe SVG
Если единственный «неразрешённый» формат на вашем сайте, SVG, есть специализированное решение. Safe SVG от команды 10up не просто разрешает загрузку векторной графики, он санирует каждый файл при Upload, вырезая потенциально вредоносный XML/JavaScript-код.

После установки плагин работает «из коробки»: никаких настроек, SVG-файлы сразу доступны для загрузки и корректно отображаются в медиатеке (включая превью, чего WordPress по умолчанию для SVG не делает).
Плагин активен на 1+ миллионе сайтов, совместим с WordPress 7.0 и регулярно обновляется. Если SVG, это всё, что вам нужно, Safe SVG закрывает задачу чище, чем универсальный MIME-плагин.
Короткое видео по теме, наглядно показывает все три способа исправления ошибки в админке WordPress:
⁉️🤔 Частые вопросы
Безопасно ли использовать ALLOW_UNFILTERED_UPLOADS на боевом сайте?
С оговорками. Константа полностью отключает проверку MIME-типов, любой пользователь с правом загрузки файлов сможет залить в медиатеку что угодно, включая исполняемые скрипты. На продакшене с несколькими авторами используйте второй способ (Add MIME Types) или хотя бы ограничьте круг лиц, имеющих доступ к медиатеке.
Почему WordPress не разрешает SVG по умолчанию?
SVG, это XML-документ, а не бинарное изображение. Внутри SVG-файла может находиться JavaScript, обработчики событий и теги
<foreignObject>, что открывает вектор для XSS-атак. Именно поэтому ядро WordPress блокирует SVG, а плагины вроде Safe SVG пропускают файлы через санитайзер, удаляют весь потенциально опасный код, оставляя только графику.
После добавления кода в wp-config.php ошибка осталась. Что делать?
Три вероятные причины. Первая: вы не вышли и не зашли заново в админку, конфигурация кешируется сессией, нужен новый логин. Вторая: файл загружен не в то место,
wp-config.phpдолжен лежать в корне сайта, не в/wp-content/и не в/wp-admin/. Третья: на сайте активен плагин безопасности (Wordfence, Solid Security), который перехватывает загрузки независимо от константы, проверьте их настройки.
Можно ли разрешить загрузку только одному пользователю?
Через
ALLOW_UNFILTERED_UPLOADS, нет, константа глобальна. Плагин Add MIME Types тоже применяется ко всем ролям с правомupload_files. Для избирательного доступа используйте фильтрupload_mimesвfunctions.phpс проверкойcurrent_user_can(), но это уже кастомная разработка.
Что делать, если плагин Add MIME Types не работает для моего формата?
Некоторые форматы требуют точного совпадения MIME-типа, который определяет PHP-функция
finfo_fileна вашем сервере, он может отличаться от «стандартного». В настройках плагина включите опцию «Enable to debug output for file types recognized by WordPress», загрузите файл и посмотрите, какой MIME-тип фактически определил сервер, затем пропишите именно его. После проверки отключите debug-режим.
Снимаем блокировку: какой способ выбрать
Трёхшаговая логика выбора:
Нужно загрузить один файл прямо сейчас? Правка
wp-config.php, 30 секунд, и ограничения нет. Не забудьте потом убрать строку или закомментировать, если сайт публичный.Регулярно загружаете конкретные форматы? Add MIME Types, безопаснее, нагляднее и не слетает при обновлении ядра WordPress.
Работаете только с SVG? Safe SVG, специализированный инструмент с санитайзером, который не просто «пускает», а очищает. Для всего остального, первый или второй способ.
Ошибка «Извините, этот тип файла не разрешен», не баг, а намеренное ограничение. Но WordPress оставил легальные способы его обойти. Выберите подходящий и возвращайтесь к работе. 🔗 Add MIME Types на WordPress.org | 🔗 Safe SVG на WordPress.org



