Вы заливаете PDF каталога или тяжёлое фото в медиатеку, а WordPress отвечает: размер файла превышает максимальный или просто «Ошибка HTTP». Непонятно, виноваты тема, плагин или вы что-то сломали советом из поиска. На практике лимит почти всегда задаёт PHP на хостинге, а не «настройка WordPress». Ниже спокойная диагностика: сначала цифра в админке, потом один способ для вашего тарифа. За 15–20 минут вы поднимете лимит через панель или файл `.user.ini` и загрузите нужный файл без паники.
WordPress не придумывает свой потолок в мегабайтах: он смотрит на настройки PHP и берёт меньшее из двух значений — upload_max_filesize (сколько может весить один файл) и post_max_size (сколько может весить весь запрос формы с файлом). По умолчанию в PHP часто стоят 2M и 8M. Строка внизу «Медиафайлы → Добавить новый» показывает итог. Поднимать нужно оба параметра, при этом post_max_size должен быть с запасом больше upload, иначе загрузка обрывается без понятного текста.
Марина на shared-хостинге видела внизу загрузчика «2 МБ», а каталог весил 12 МБ. Она вставила в wp-config.php блок с @ini_set(‘upload_max_filesize’,’64M’) из статьи — цифра не сдвинулась, снова «Ошибка HTTP». Оказалось, такие лимиты на многих тарифах меняются только в панели хостинга или в `.user.ini`, а не из кода сайта. Честно говоря, это хорошая новость: править тему не обязательно.
- Узнайте, почему WordPress отказывается принять PDF или тяжёлую картинку
- Проверьте лимит в админке и в «Здоровье сайта»
- Поднимите лимит через панель хостинга — без правки темы
- Создайте или отредактируйте `.user.ini`, если панель не даёт нужных полей
- Разберитесь, когда трогать wp-config и фильтры — а когда нет
- Обойдите потолок тарифа: сжатие, FTP и внешние ссылки
- Пройдите контроль после правок: тест, кэш и откат
- Частые вопросы
- Можно ли увеличить лимит без доступа к серверу и SSH?
- Чем upload_max_filesize отличается от post_max_size?
- Опасно ли ставить лимит 512M «на всякий случай»?
- Почему хостинг не даёт менять php.ini?
- Плагин Increase Maximum Upload File Size поможет?
- Что делать, если после правок «Ошибка HTTP» на большом файле?
Узнайте, почему WordPress отказывается принять PDF или тяжёлую картинку

Боль звучит одинаково: «я уже всё настроил, почему снова 2 МБ?». WordPress лишь читает сервер и показывает вам результат функцией wp_max_upload_size(): фактический потолок — это минимум из upload_max_filesize и post_max_size в байтах. Официальная справка по оптимизации PHP прямо говорит: лимит загрузки идёт с хостинга.
Типичная ошибка — искать ползунок «мегабайты» в настройках темы или ставить плагин «увеличить лимит». Плагин не обойдёт жёсткий запрет на стороне PHP. Если внизу экрана загрузки написано 2 МБ, это почти наверняка дефолт PHP 2M, а не «поломка WordPress».
Запишите размер файла и текст ошибки, затем сверьте медиазагрузчик и отчёт сервера в админке.
Проверьте лимит в админке и в «Здоровье сайта»

Откройте «Медиафайлы → Добавить новый» и прочитайте строку «Максимальный размер загружаемого файла». Затем «Инструменты → Здоровье сайта → Информация» → «Сервер»: там upload_max_filesize, post_max_size и таймауты.
Многие гайды ставят 64M и 64M одинаково, а PHP при равных лимитах может обрезать POST с файлом и полями формы — отсюда «Ошибка HTTP» без объяснения. Site Health как раз предупреждает, если post_max_size меньше upload. Для файла 15 МБ ориентир: upload 32M, post 40M или 64M с запасом.
| Настройка PHP | Что ограничивает простыми словами | Что сделать новичку |
|---|---|---|
| upload_max_filesize | Вес одного загружаемого файла | Поставить чуть больше вашего файла (с запасом) |
| post_max_size | Весь POST-запрос: файл + поля формы | Держать больше upload, не равнять «в ноль» |
| max_input_time | Сколько секунд PHP ждёт догрузку | Поднять при медленном канале и больших файлах |
Поднимите лимит через панель хостинга — без правки темы

Если страшно лезть в код, начните в панели хостинга: пункты вроде «PHP», «MultiPHP INI Editor», «Настройки PHP». Измените upload_max_filesize и post_max_size и сохраните. В реальном проекте салону хватило пяти минут в панели вместо сниппета в wp-config. Скрин «до/после» пригодится в поддержке.
Лестница способов:
Панель хостинга (PHP Options) → файл `.user.ini` в корне WordPress → `.htaccess` только если хостер разрешает mod_php → тикет в поддержку с цифрами из Здоровья сайта. wp-config с @ini_set — в конце списка и часто бесполезен для лимита файла.
Создайте или отредактируйте `.user.ini`, если панель не даёт нужных полей
upload_max_filesize и post_max_size — настройки типа INI_PERDIR: их задают в php.ini, `.user.ini` или иногда .htaccess, но не через ini_set в wp-config.
В корне WordPress создайте `.user.ini` с вашими значениями, например:
upload_max_filesize = 32M
post_max_size = 64M
memory_limit = 256M
max_execution_time = 300
max_input_time = 300
На shared кэш PHP может тянуть 5–10 минут. Типичная ошибка — положить файл не в корень этой установки WordPress. Для Apache с mod_php иногда помогают строки php_value в .htaccess, но на PHP-FPM хостер может запретить такой приём — уточняйте в справке тарифа.
Разберитесь, когда трогать wp-config и фильтры — а когда нет
@ini_set в wp-config из гистов часто не двигает цифру внизу загрузчика: upload_max_filesize относится к настройкам, которые PHP не переписывает на лету из скрипта. Фильтр upload_size_limit в WordPress может только уменьшить лимит, не расширить серверный потолок.
Плагины «увеличить upload» имеют смысл, когда PHP уже разрешает нужный размер, а мешает другое узкое место. На Multisite проверьте сетевой потолок fileupload_maxk (по умолчанию около 1500 KB): крутить только php.ini тогда бессмысленно.
Обойдите потолок тарифа: сжатие, FTP и внешние ссылки
Иногда честнее не раздувать PHP на shared до сотен мегабайт: нагрузка и риски для соседних сайтов на сервере растут. Если тариф держит 10–20 МБ, а нужен архив на 800 МБ, загрузите его через файловый менеджер или FTP/SFTP в wp-content/uploads и вставьте ссылку в статью или кнопку.
До правки сервера попробуйте уменьшить вес картинок: WebP или SVG для логотипа, если файл легче PNG. На VPS с Nginx при PHP 128M и повторной ошибке проверьте client_max_body_size — это лимит веб-сервера, не WordPress.
Пройдите контроль после правок: тест, кэш и откат
Вы поймёте, что всё сработало, по чеклисту из success criteria: в «Медиафайлы → Добавить новый» максимальный размер не меньше вашего файла; тестовый файл загружается без ошибки; в «Здоровье сайта → Сервер» upload_max_filesize и post_max_size обновились, и post не меньше upload.
- Шаг 1: обновите страницу медиазагрузчика и перечитайте строку про максимальный размер.
- Шаг 2: загрузите тестовый файл чуть меньше нового лимита (не сразу самый тяжёлый архив).
- Шаг 3: откройте «Здоровье сайта» и убедитесь, что предупреждение о несовпадении post и upload исчезло.
- Шаг 4: если цифра не изменилась через 10 минут — перезапустите PHP в панели или напишите в поддержку с скрином вкладки «Сервер».
- Шаг 5: при сбое после `.htaccess` или `.user.ini` откатите файл из бэкапа или переименуйте `.user.ini`.
- Шаг 6: на Multisite, если PHP уже большой, а загрузка режется около 1,5 МБ, откройте настройки сети и лимит fileupload_maxk.
Когда медиатека разрастается, раз в квартал полезно смотреть оптимизацию базы WordPress — это не меняет строку про мегабайты, но ускоряет админку при частых загрузках.
Если ошибка остаётся — отправьте в поддержку хостинга текст ошибки и цифры из Site Health. Через форму на сайте можно уточнить путь к редактору PHP на вашем тарифе. Настройка сайтов под ключ — в услугах, похожие гайды — в /stati/.
Материал проверен: Андрей Дикий (создаёт сайты и продвигает их статьями, SEO/GEO).
Достоверность данных: справочник PHP (ini.core.php, ini.list.php, file-upload pitfalls), developer.wordpress.org (wp_max_upload_size, PHP optimization, Site Health file uploads), обсуждения docker-library/wordpress #879, Hostinger и Techbear (2026-10-09); частотность запросов — по Яндекс Вордстат на 2026-10-09 (MCP недоступен, точные показы не получены).
Частые вопросы
Можно ли увеличить лимит без доступа к серверу и SSH?
Да, на типичном shared-хостинге хватает браузера: панель управления с настройками PHP или файловый менеджер для `.user.ini` в корне сайта. SSH не обязателен. Если панель не даёт менять директивы — только тикет в поддержку с цифрами из «Здоровье сайта».
Чем upload_max_filesize отличается от post_max_size?
Первый ограничивает вес одного файла, второй — весь запрос формы целиком. WordPress для медиатеки смотрит на оба и берёт меньшее. post_max_size должен быть с запасом больше upload_max_filesize, иначе загрузка может оборваться без ясного сообщения.
Опасно ли ставить лимит 512M «на всякий случай»?
На shared-хостинге завышение увеличивает нагрузку при атаках и случайных гигантских загрузках. Ставьте запас под реальные файлы каталога и презентаций, а не максимум из форума. Очень большие архивы лучше грузить через FTP, а не раздувать PHP.
Почему хостинг не даёт менять php.ini?
На shared вам выделяют общий пул серверов: глобальный php.ini трогать нельзя, но часто разрешены `.user.ini` или форма в панели. Это нормально. Попросите поддержку поднять лимит или укажите нужные значения из отчёта Site Health.
Плагин Increase Maximum Upload File Size поможет?
Только если PHP уже разрешает больший размер, а мешает узкое место в WordPress. Если внизу загрузчика по-прежнему 2 МБ, сначала панель или `.user.ini`, иначе плагин не обойдёт сервер.
Что делать, если после правок «Ошибка HTTP» на большом файле?
Проверьте post_max_size с запасом, поднимите max_input_time, смените браузер или канал. На VPS — лимит Nginx. Если файл больше тарифа — FTP. wp-config с @ini_set обычно не нужен: хватит панели или `.user.ini`.
