Оптимизировать изображения в WordPress можно почти без сторонних сервисов: движок сам режет каждую загруженную картинку на несколько размеров, с версии 5.8 принимает WebP, с 6.5 — AVIF, а ленивую загрузку подставляет ещё с 5.5. Беда в том, что по умолчанию всё это настроено под абстрактный сайт, а не под ваш блог: на диске копятся семь копий каждого снимка, колонка темы просит 800 точек, а в статью уходит файл в 4000, и PageSpeed ругается на «изображения в устаревшем формате». Ниже — что именно крутить в самом WordPress: медиатека и размеры, порог больших изображений, форматы WebP и AVIF, ленивая загрузка и какой плагин сжатия имеет смысл ставить автору на обычном тарифе Beget или Timeweb. Как готовить снимки до загрузки — отдельный разговор; здесь только средства движка.
Что WordPress делает с картинкой при загрузке
Каждый файл, который вы кладёте в медиатеку, WordPress превращает в набор копий. Штатных размеров четыре — миниатюра 150×150, средний 300, средне-большой 768 и большой 1024 точки по длинной стороне, — к ним с версии 5.3 добавились копии 1536 и 2048, а сверху свои размеры регистрирует тема: под обложку записи, под сетку рубрики, под виджет «похожие статьи». В итоге одна фотография с телефона даёт от семи до двенадцати файлов. В статье при этом используется один-два: движок собирает атрибут srcset и отдаёт браузеру ближайший подходящий размер, а остальные просто занимают место и попадают в резервные копии.
Первое, что стоит сделать, — открыть «Настройки → Медиафайлы» и посмотреть на четыре поля. Размер, которым вы не пользуетесь, отключается нулём в обоих полях. Обычно автору блога нужны миниатюра (для админки и списков), средне-большой 768 (это ширина колонки на планшете и большинства мобильных сеток) и большой, который стоит подогнать под ширину колонки темы. Размеры, которые добавила тема, в этих настройках не видны — их перечень покажет плагин Regenerate Thumbnails на своей странице; он же после любых изменений пересоберёт копии для старых записей и умеет удалять неиспользуемые.
- Миниатюра 150×150 — оставить: ею пользуется медиатека и многие темы в списках.
- Средний 300 — чаще всего ноль: между 150 и 768 темам он не нужен.
- Средне-большой 768 — оставить: это ширина большинства экранов телефонов в двукратном масштабе.
- Большой — поставить ширину колонки темы, обычно 720–900 точек.
- Копии 1536 и 2048 отключаются только кодом; трогать их стоит, если место на хостинге действительно кончается.
Порог 2560 и ширина колонки темы
С версии 5.3 WordPress не вставляет в статьи оригиналы крупнее 2560 точек: он делает уменьшенную копию с приставкой -scaled и подставляет её везде, где раньше был оригинал. Сам оригинал остаётся на диске нетронутым — со всеми своими 6–8 мегабайтами. Для автора это значит две вещи. Во-первых, загружать фотографии «как есть» с камеры бессмысленно: в статью всё равно попадёт копия. Во-вторых, порог 2560 великоват для блога, где колонка текста 800 точек: даже на экранах с двойной плотностью хватит 1600. Порог меняется одной строкой через плагин WPCode: фильтр big_image_size_threshold с новым значением, — а если код пугает, проще договориться с собой о правиле «не грузить шире 1600» и держать его.
Ширину колонки узнать просто: открыть любую статью, нажать F12, навести инструмент выбора на текст и прочитать ширину блока. Дальше правило одно: самая большая нужная копия — это удвоенная ширина колонки, чтобы на экранах с высокой плотностью картинка не мылилась. Всё, что шире, — трата места и трафика, если только снимки не открываются на весь экран в лайтбоксе.

WebP и AVIF: что умеет движок, а что делает плагин
WordPress принимает файлы WebP с версии 5.8 и AVIF с 6.5, то есть можно просто загружать их вместо JPEG. Но сам конвертировать при загрузке он не стал: автоматическую генерацию WebP планировали в 6.1 и откатили, и в 2026 году движок по-прежнему режет копии в том формате, в котором пришёл файл. Значит, для уже накопленной медиатеки нужен плагин. Выбирать стоит между двумя подходами. Первый — конвертация на вашем же сервере: Converter for Media (бывший WebP Converter) и EWWW Image Optimizer работают без квот и без внешних сервисов, что на обычном тарифе Beget или Timeweb обычно проходит, хотя большую медиатеку они обрабатывают по нескольку часов. Второй — облачные сервисы ShortPixel, Imagify, Smush и Optimole: жмут лучше и быстрее, но с бесплатной квотой в несколько сотен картинок в месяц и с оплатой, которая из России в 2026 году требует отдельных ухищрений.
Тонкость, о которой забывают: браузеру WebP должен отдать веб-сервер. Converter for Media умеет два режима — через правила в .htaccess, что работает на Apache, и через переписывание адресов в самом HTML, что нужно на nginx, а именно nginx стоит на большинстве российских виртуальных хостингов. Если после включения плагина PageSpeed всё ещё показывает JPEG, дело почти наверняка в этом переключателе. Проверить просто: открыть картинку из статьи в новой вкладке и посмотреть в инструментах разработчика тип ответа — должно быть image/webp.
Ленивая загрузка и первая картинка статьи
Ленивую загрузку WordPress ставит сам: с версии 5.5 каждая картинка в содержимом получает атрибут loading=»lazy», и браузер подгружает её, только когда читатель докрутил до нужного места. С версии 5.9 движок поумнел и не откладывает первую картинку на странице, а с 6.3 ещё и помечает её атрибутом fetchpriority=»high» — потому что именно она чаще всего оказывается самым крупным элементом экрана и определяет показатель LCP в PageSpeed. Отсюда две ошибки. Первая — включить ленивую загрузку ещё раз плагином Smush, Jetpack или кэша: две системы спорят, и обложка статьи появляется с задержкой. Вторая — тема, которая выводит обложку своим кодом и без этих атрибутов; тогда PageSpeed пишет «самый крупный элемент загружен с задержкой», и лечится это в настройках темы, а не в медиатеке.
- Открыть статью в PageSpeed Insights, вкладка «Мобильные».
- Найти в диагностике пункты про формат изображений, их размер и отложенную загрузку.
- Сверить, какой файл назван элементом LCP: если это обложка — она не должна быть ленивой.
- Отключить дублирующую ленивую загрузку во всех плагинах, кроме одного.
- Проверить снова через сутки, когда кэш обновится.
Плагин сжатия не исправит фотографию в 6000 точек, загруженную «как есть»: он сожмёт семь её копий и оставит вам семь лишних файлов.
Что делать с медиатекой, которая копилась три года
Сначала посмотреть, сколько места занимает папка uploads: панель хостинга показывает это по каталогам. Если блог из двух сотен статей весит 5–6 гигабайт, лишние копии и оригиналы составляют большую его часть. Порядок работ такой: изменить размеры и порог, прогнать Regenerate Thumbnails с удалением старых копий, затем конвертировать в WebP тем плагином, который выбрали, и в конце пройтись плагином Media Cleaner, который находит файлы, не привязанные ни к одной записи. Между шагами — резервная копия из панели хостинга, потому что удаление в медиатеке необратимо.
Заодно стоит пройтись по полю «Альтернативный текст» в медиатеке: WordPress хранит его для каждого файла, и это единственное, что Яндекс и Google читают о картинке помимо имени файла. А если снимки в вашем блоге не иллюстрация, а главное содержимое, то техника упирается в исходник: кадр, снятый с правильной экспозицией и ровным горизонтом, не требует ни тяжёлой обработки, ни лишних мегабайт. Этому учат в школе Фотофакультет имени Ю. А. Гальперина — там курс строится вокруг того, как получить нужный кадр в момент съёмки, а не вытягивать его потом.
Вопрос — ответ
Какие размеры изображений оставить в настройках WordPress?
Миниатюру 150×150 — для медиатеки, средне-большой 768 — для ширины колонки на планшетах и телефонах, а большой подогнать под ширину колонки темы. Средний 300 чаще всего можно отключить.
Почему не стоит загружать фотографии с камеры «как есть»?
С версии 5.3 WordPress не вставляет в статьи оригиналы крупнее 2560 точек, а делает уменьшенную копию с приставкой -scaled. Загрузка оригинала с камеры для статьи бессмысленна.
Как понизить порог больших изображений?
Порог меняется фильтром big_image_size_threshold через плагин WPCode. Если код пугает, проще договориться с собой о правиле «не грузить шире 1600» и держать его.
Какие форматы WebP и AVIF поддерживает WordPress?
WordPress принимает WebP с версии 5.8 и AVIF с 6.5, но сам конвертировать при загрузке не стал. Для уже накопленной медиатеки нужен плагин, например Converter for Media или EWWW Image Optimizer.
Почему ленивая загрузка может ломать обложку статьи?
С версии 5.5 картинки получают атрибут loading lazy, а первая картинка не откладывается. Если включить ленивую загрузку ещё раз плагином, две системы спорят, и обложка появляется с задержкой.
