Щоб безпечно дозволити завантаження файлів на вашому WordPress-сайті, необхідно чітко визначити MIME-типи потрібних форматів, очищати SVG-файли перед завантаженням, обмежувати дозвіл на завантаження лише довіреним ролям користувачів та запобігати виконанню шкідливих файлів на сервері. Формат WEBP в сучасних версіях WordPress зазвичай підтримується без додаткових налаштувань, натомість SVG за замовчуванням заблокований через можливість містити код. Тож безпечне завантаження — це не просто «включити дозвіл», а комплекс заходів для зниження ризиків скриптів, фальшивих розширень і несанкціонованого доступу.
SVG та WEBP – це цінні формати для продуктивності та дизайну. WEBP у порівнянні з JPEG і PNG зазвичай має менший розмір, що забезпечує швидше завантаження сторінок, кращі показники Core Web Vitals і менше споживання трафіку. SVG ідеально підходить для логотипів, іконок та векторної графіки з чіткою деталізацією. Однак через XML-структуру SVG-файли можуть містити JavaScript, зовнішні посилання чи шкідливий код. Тому відключати захисні шари при завантаженні SVG — це серйозна загроза цілісності сайту та безпеці відвідувачів.
У цьому матеріалі ви знайдете детальний опис, як безпечно дозволити завантаження SVG і WEBP на WordPress, які налаштування треба зробити, різницю між плагіном і кодом, необхідні серверні заходи безпеки та чек-лист для роботи на живому сайті. Якщо ваш ресурс активно використовує зображення, важливо мати надійну інфраструктуру — у цьому допоможуть WordPress хостинг.
Чому WordPress блокує деякі типи файлів?
Медіатека WordPress з міркувань безпеки не приймає всі формати файлів. За замовчуванням підтримуються популярні та відносно безпечні формати JPG, PNG, GIF, PDF, DOCX. Проте SVG, попри «нешкідливе» розширення, може містити виконувані скрипти чи шкідливий контент, тому зазвичай заблокований. Повідомлення «Ви не маєте дозволу на завантаження цього типу файлів» — саме через це.
Безпека завантаження складається з трьох рівнів. Перший — перевірка MIME-типу WordPress. Другий — чи має користувач дозвіл на завантаження конкретного файлу. Третій — обробка файлу на сервері. Додати кілька рядків у functions.php не вирішить усіх завдань, а ігнорування санітизації SVG відкриє нові вразливості.
Що таке MIME-тип і чому він важливий?
MIME-тип повідомляє браузеру та додаткам, який тип даних містить файл. Наприклад, для WEBP це image/webp, для SVG — image/svg+xml. WordPress перевіряє розширення та MIME-інформацію завантаженого файлу, щоб переконатися, що тип дозволений. Зловмисники можуть маскувати шкідливі файли під інші розширення, тому покладатися лише на розширення недостатньо.
Переваги та ризики форматів SVG і WEBP
Обидва формати корисні для прискорення сайту, але мають різний рівень ризику. WEBP здебільшого пов’язаний з оптимізацією зображень. SVG поєднує і графіку, і код, тому потребує ретельнішого підходу. У таблиці нижче узагальнено основні переваги, ризики та рекомендації:
| Формат | Основні переваги | Головні ризики | Рекомендовані заходи безпеки |
|---|---|---|---|
| WEBP | Менший розмір файлу і швидке завантаження у порівнянні з JPEG/PNG | Проблеми підтримки на старих серверах або неправильне налаштування MIME | Підтримка актуальних версій WordPress і PHP, використання плагінів для оптимізації зображень |
| SVG | Необмежене масштабування, чіткість логотипів та іконок | XSS-атаки, зовнішні запити, шкідливий XML-контент | Санітизація SVG, обмеження ролей, заборона виконання файлів у папці завантажень |
| PNG | Підтримка прозорості, широка сумісність | Великий розмір файлу | При необхідності конвертувати у WEBP |
| JPEG | Поширений формат для фотографій | Втрати якості через стиснення, великий розмір | Налаштування якості та використання lazy load |
Найкраща практика: для великих зображень та фото — WEBP, для логотипів і іконок — санітизований SVG. Не дозволяйте всім користувачам завантажувати SVG, обмежте це лише надійними ролями. Це особливо важливо для багатокористувацьких сайтів, інтернет-магазинів та платформ з реєстрацією.
Що перевірити перед початком
Перед внесенням змін у завантаження файлів на живому сайті потрібно підготуватися, щоб швидко відновити роботу у разі помилок. Особливо це стосується втручання у файли теми. Рекомендовані кроки:
- Переконайтеся, що ядро WordPress оновлене. В старих версіях можуть бути відмінності у валідації файлів.
- Використовуйте актуальну версію PHP, оскільки з 2026 року застарілі версії несуть загрози безпеці.
- Створіть повну резервну копію сайту: базу даних, папку wp-content, теми та плагіни.
- Працюйте через дочірню тему, щоб не втратити зміни при оновленні.
- Визначте, хто з користувачів матиме право завантажувати SVG — мінімізуйте цю кількість.
- Якщо у вас увімкнені плагіни безпеки або WAF, переконайтеся, що вони не блокують завантаження потрібних файлів.
Для стабільності та безперебійної роботи важливий надійний хостинг з обмеженнями ресурсів, ізоляцією, регулярними бекапами і антивірусною перевіркою. Розгляньте рішення від Hostragons веб-хостинг.
Метод 1: Дозвіл на завантаження SVG і WEBP через плагін
Для користувачів без глибоких технічних знань найкраще почати з перевіреного плагіна. Важливо не просто додати MIME-тип, а вибрати плагін із очищенням SVG, обмеженням ролей і контролем файлів. Плагін, який просто «дозволяє SVG», — недостатній.
На що звернути увагу при виборі плагіна?
- Останнє оновлення має бути не пізніше 1-2 років, щоб уникнути застарілих рішень.
- Серед користувачів має бути достатньо встановлень і позитивних відгуків.
- Повинна бути чітка підтримка санітизації SVG.
- Можливість обмеження завантаження лише для адміністратора або певних ролей.
- Плагін має бути сумісним з актуальною версією WordPress.
- Не повинен зайвого навантажувати сайт зайвими функціями.
WEBP зазвичай підтримується «з коробки» в нових WordPress, тому проблеми з його завантаженням часто пов’язані з сервером, MIME-налаштуваннями або старими бібліотеками PHP/GD/Imagick. Тому спочатку перевірте системні вимоги.
Як безпечно налаштувати плагін
Рекомендується спершу протестувати на стенді: встановити плагін, активувати лише SVG і WEBP, увімкнути санітизацію SVG, обмежити завантаження адміністратору і завантажити кілька тестових файлів — чистий SVG та файл із вбудованим скриптом. Якщо плагін відфільтровує шкідливий код — ви на правильному шляху.
Перед запуском на живому сайті очистіть кеш і перевірте, що медіатека коректно відображає завантажені файли. Якщо використовуєте CDN, упевніться, що нові формати віддаються з правильним MIME-типом. Для управління безпекою трафіку радимо ознайомитися з матеріалами сертифікат SSL і Використання CDN.
Метод 2: Додавання MIME-типів через код
Розробникам зручніше контролювати MIME-типи за допомогою коду. Проте найпоширеніша помилка — дозволити SVG без санітизації. Такий спосіб краще підходить для форматів з низьким ризиком, як WEBP; для SVG потрібні додаткові заходи безпеки.
Як відкрити дозвіл через functions.php
За допомогою фільтра upload_mimes можна додати нові MIME-типи. Наприклад, для WEBP: ‘webp’ => ‘image/webp’, для SVG: ‘svg’ => ‘image/svg+xml’. Краще робити це через дочірню тему або окремий плагін, а не в основному functions.php, щоб не втратити зміни після оновлень.
Обмеження: додавання MIME-типу не гарантує безпеку файлу, а зміни в functions.php можуть зникнути при оновленні теми. Тому для професійних проєктів рекомендується створити власний невеликий плагін для цього.
Чому потрібне обмеження завантаження за ролями?
Дозвіл на завантаження SVG для всіх користувачів — ризикована практика, особливо для блогів з багатьма авторами, інтернет-магазинів і платформ із системою входу. Надання права лише адміністраторам або перевіреним редакторам значно знижує ймовірність атак. Наприклад, у новинному порталі з 20 авторами, які можуть завантажувати SVG, компрометація одного акаунту може поставити під загрозу весь сайт.
Для обмеження за ролями перевіряйте можливості користувача і застосовуйте фільтри завантаження лише для відповідних ролей. Якщо потрібно, створюйте спеціальну роль і призначайте її навченим користувачам. Використання двофакторної аутентифікації додатково посилює безпеку.
Безпека SVG: не відкривайте дозвіл без санітизації
Хоч SVG і виглядає як звичайне зображення, це XML-файл, який може містити скрипти, обробники подій, зовнішні посилання або шкідливі перенаправлення. Якщо браузер виконає такий код, це призведе до XSS-атак — запуску шкідливого коду у браузері користувача, що може викрасти куки, захопити сесію або підмінити форми.
Щоб убезпечити SVG, їх потрібно очищати ще на етапі експорту з графічних редакторів, видаляти зайві метадані, а також використовувати автоматичну санітизацію на стороні WordPress. Санітизація полягає у видаленні скриптів, foreignObject, потенційно небезпечних атрибутів і зовнішніх посилань. Ручна перевірка неефективна — потрібні автоматизовані правила.
Контрольний список безпечного SVG
- Завантажуйте SVG лише з надійних джерел.
- Оптимізуйте і очищайте файли перед завантаженням.
- Використовуйте плагіни або бібліотеки з підтримкою санітизації SVG.
- Не дозволяйте завантаження SVG усім користувачам.
- Перевіряйте, щоб SVG не робили зовнішніх запитів.
- Регулярно видаляйте застарілі та непотрібні SVG у медіатеці.
- Увімкніть моніторинг змін файлів у плагіні безпеки.
Для корпоративних сайтів SVG зазвичай використовують для логотипів, іконок соцмереж, платіжних систем та елементів інтерфейсу. Оскільки ці файли рідко змінюються, безпечніше завантажити затверджений набір і обмежити подальше завантаження SVG.
WEBP: налаштування завантаження та оптимізації

WEBP — це формат, орієнтований на швидкість і економію ресурсів. Проте без правильного серверного налаштування файли WEBP можуть не відображатися або надсилатися з некоректним MIME-типом. WordPress 5.8 і новіші версії підтримують WEBP, але також потрібна підтримка WEBP у бібліотеках GD або Imagick.
Головне завдання — не просто дозволити завантаження, а впровадити стратегію оптимізації. Не тримайте великі зображення ширше за 1920 пікселів, налаштовуйте якість в межах 75-85%, використовуйте lazy loading. WEBP суттєво прискорює завантаження візуально насичених сторінок, що особливо важливо для мобільних користувачів і підвищує конверсію.
Корисні поради щодо WEBP
- Зберігайте оригінали у форматах PNG або JPEG для резерву.
- Для дуже дрібних іконок іноді вигідніше використовувати SVG.
- Для фото-орієнтованих сторінок WEBP може зменшити загальний розмір на 25-50%.
- Перевіряйте, що CDN коректно віддає WEBP-файли.
- Хоча сучасні браузери підтримують WEBP, для старих потрібна стратегія запасного формату.
Для швидкодії сайту важливо не лише оптимізувати зображення, а й мати потужний хостинг з достатнім CPU, швидким диском і технологіями на кшталт LiteSpeed. Продовжуйте знайомство з темою через LiteSpeed Хостинг та Посібник з прискорення WordPress.
Заходи безпеки на сервері
Важливо не лише налаштувати WordPress, а й захистити сервер. Папка wp-content/uploads призначена для медіафайлів, тому запуск PHP-скриптів у ній повинен бути заборонений. Це унеможливить виконання шкідливих файлів, які випадково або навмисно завантажить зловмисник.
Для Apache застосовуйте правила, які блокують запуск PHP в uploads. В Nginx — забороняйте PHP в локейшні uploads. Якщо ви на спільному хостингу, частина цих налаштувань залежить від провайдера. Надійна серверна конфігурація — ключова складова безпеки завантажень.
Додаткові серверні рекомендації
- Встановіть правильні права доступу: 755 для папок, 644 для файлів.
- Забезпечте, щоб wp-config.php та важливі системні файли були недоступні для запису.
- Активуйте ModSecurity або інший WAF для блокування атак.
- Регулярно перевіряйте логи на підозрілі спроби завантаження.
- Налаштуйте автоматичне резервне копіювання щоденно або щотижня.
- Використовуйте SSL для шифрування трафіку панелі керування та завантажень.
Для агентств і бізнесів зручно керувати доменом, SSL і хостингом в одному інтерфейсі. Плануючи новий проект, зверніть увагу на Перевірка домену і сертифікат SSL.
Оптимальний сценарій впровадження: покрокова інструкція
Нижче наведено рекомендований порядок дій для безпечного і ефективного дозволу завантаження SVG і WEBP на більшості WordPress-сайтів:
- 1. Зробіть повний бекап і, якщо можливо, створіть staging-середовище.
- 2. Оновіть WordPress, тему, плагіни та PHP до останніх версій.
- 3. Якщо виникають проблеми з WEBP, перевірте підтримку сервером і MIME-типи.
- 4. Для SVG використовуйте плагін із санітизацією або власне рішення.
- 5. Обмежте завантаження SVG лише для адміністратора або довіреної ролі.
- 6. Забороніть виконання файлів у wp-content/uploads.
- 7. Перевірте очищення SVG за допомогою тестових файлів.
- 8. Проведіть тестування CDN, кешування і браузерів.
- 9. Після переходу на живий сайт моніторьте логи мінімум 24-48 годин.
Дотримуючись цих кроків, ви отримаєте контрольовану, надійну систему управління медіа, а не просто «дозвіл на завантаження».
Типові помилки при дозволі SVG і WEBP
Більшість проблем виникає через неправильний баланс між безпекою та зручністю. Найпоширеніші помилки:
- Дозволяти завантаження SVG без санітизації.
- Надавати доступ до завантаження всім ролям.
- Використовувати застарілі або неперевірені плагіни для MIME.
- Редагувати файли теми без резервних копій на живому сайті.
- Не блокувати запуск виконуваних файлів у папці uploads.
- Пробувати вирішити проблеми WEBP лише плагінами без перевірки сервера.
- Не відслідковувати логи безпеки після внесення змін.
Вплив на SEO та користувацький досвід
Правильне використання SVG і WEBP позитивно впливає на SEO. WEBP зменшує розмір сторінок, покращуючи Largest Contentful Paint — ключовий показник у Core Web Vitals. SVG забезпечує чіткість іконок і логотипів, підвищуючи візуальну якість інтерфейсу. Проте недбале ставлення до безпеки може швидко звести нанівець ці переваги: сайт із шкідливим кодом отримує санкції від пошуковиків, втрачає довіру користувачів і органічний трафік.
Оптимальний результат досягається, коли безпека і продуктивність поєднані: оптимізуйте зображення, закривайте непотрібні формати, дозволяйте лише потрібні і регулярно підтримуйте сайт. Для цього радимо ознайомитися з матеріалами Посібник з безпеки WordPress і Обслуговування веб-сайту.
Висновок
Дозволяючи безпечне завантаження файлів на WordPress, ваша мета — використовувати переваги сучасних форматів WEBP і SVG без зайвих ризиків. WEBP можна безпечно застосовувати на більшості сайтів, а SVG вимагає обов’язкового очищення, обмеження за ролями та серверних налаштувань. Замість швидких рішень у вигляді лише додавання MIME-типу, слід впроваджувати комплексний процес із резервним копіюванням, тестуванням, авторизацією і моніторингом.
Якщо ви плануєте швидкий, безпечний та сучасний WordPress-сайт, звертайте увагу на рішення WordPress хостинг, де можна без тиску продажів підібрати ідеальний хостинг, домен і SSL.
Поширені запитання
Чому WordPress за замовчуванням не дозволяє завантажувати SVG?
SVG — це XML-файли, які можуть містити JavaScript, зовнішні посилання чи шкідливий код. Щоб знизити ризик XSS-атак, WordPress блокує їх завантаження за замовчуванням.
Якщо не вдається завантажити WEBP, проблема в WordPress чи на сервері?
WordPress 5.8+ підтримує WEBP, але якщо PHP, GD чи Imagick на сервері не підтримують цей формат, з’являться помилки. Спершу перевірте версію WordPress, потім серверні налаштування.
Чи безпечно відкривати дозвіл на SVG через functions.php?
Ні, це лише дозволить завантажувати SVG, але не очистить їх. Для безпеки потрібні санітизація, обмеження за ролями та серверні заходи.
Кому краще надавати дозвіл на завантаження SVG?
Найкраще — лише адміністраторам або довіреним редакторам. Надання доступу всім користувачам створює серйозні загрози безпеці.
Чи покращує використання WEBP SEO?
Так, завдяки меншому розміру файлів WEBP прискорює завантаження сторінок, що позитивно впливає на Core Web Vitals і, відповідно, на SEO.