К содержимому
WordPress и техника

Как оптимизировать изображения в WordPress

Как оптимизировать изображения в WordPress

Оптимизировать изображения в 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, навести инструмент выбора на текст и прочитать ширину блока. Дальше правило одно: самая большая нужная копия — это удвоенная ширина колонки, чтобы на экранах с высокой плотностью картинка не мылилась. Всё, что шире, — трата места и трафика, если только снимки не открываются на весь экран в лайтбоксе.

Инфографика: шесть шагов, чтобы оптимизировать изображения в WordPress — измерить колонку темы, отключить лишние размеры, понизить порог, включить WebP, пересобрать копии и проверить в PageSpeed
Инфографика: шесть шагов, чтобы оптимизировать изображения в WordPress — измерить колонку темы, отключить лишние размеры, понизить порог, включить WebP, пересобрать копии и проверить в PageSpeed

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 пишет «самый крупный элемент загружен с задержкой», и лечится это в настройках темы, а не в медиатеке.

  1. Открыть статью в PageSpeed Insights, вкладка «Мобильные».
  2. Найти в диагностике пункты про формат изображений, их размер и отложенную загрузку.
  3. Сверить, какой файл назван элементом LCP: если это обложка — она не должна быть ленивой.
  4. Отключить дублирующую ленивую загрузку во всех плагинах, кроме одного.
  5. Проверить снова через сутки, когда кэш обновится.

Плагин сжатия не исправит фотографию в 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, а первая картинка не откладывается. Если включить ленивую загрузку ещё раз плагином, две системы спорят, и обложка появляется с задержкой.

Читайте также