Image SEO: alt-текст, форматы, сжатие и lazy load

Как файлы изображений, alt-текст, адаптивная разметка и производительность работают вместе, чтобы картинки оставались полезными и находились поиском.

Google Images обрабатывает миллиарды запросов каждый месяц. По данным Jumpshot, около 22% всех веб-поисков связаны с поиском картинок. Для интернет-магазинов, контентных сайтов и портфолио это заметный канал трафика, который большинство сайтов полностью игнорирует.

Оптимизация изображений влияет не только на видимость в Google Images, но и на основной поиск: на скорость загрузки страниц (LCP), Core Web Vitals, пользовательский опыт и косвенно — на позиции в основной выдаче.

Пайплайн image SEO: формат, srcset, lazy load, alt и Image Sitemap — пять шагов от тяжёлого JPG до быстрой картинки в выдаче.
Картинки без alt-текста для Google невидимы. Поисковик не может «прочитать» изображение — он смотрит на метаданные, окружающий текст и атрибут alt. Без них шанс появиться в Google Images близок к нулю.

Зачем оптимизировать изображения для SEO

Нормальная оптимизация картинок решает сразу несколько задач: делает сайт доступнее для людей с нарушениями зрения, ускоряет загрузку страниц, даёт Google понятный контекст и открывает дополнительный канал органического трафика через Google Images.

Пять шагов оптимизации изображений для поисковых систем.
22%

Доля поиска

Всех поисковых запросов связаны с поиском изображений

21%

Снижение LCP

Среднее улучшение при переходе с JPEG на WebP при том же визуальном качестве

~60%

Вес страницы

В среднем изображения занимают самую большую долю веса страницы

2×

Конверсия

Сайты с оптимизированными изображениями конвертируют лучше за счёт более быстрой загрузки

Изображения — самый тяжёлый тип ресурсов на большинстве страниц. Неоптимизированные картинки замедляют загрузку, ухудшают LCP (Largest Contentful Paint) и напрямую влияют на оценки Core Web Vitals. С 2021 года Google учитывает CWV как сигнал ранжирования.

Alt-текст: правила написания

Атрибут alt (alt="...") — единственный способ объяснить Google, что изображено. Его также показывают, если картинка не загрузилась, и озвучивают программы чтения с экрана для людей с нарушениями зрения.

Как писать правильно

ПлохоХорошо
image.jpgГрафик роста органического трафика за 2024–2025 годы
photo1Скриншот отчёта о покрытии в Google Search Console
SEO SEO SEO ключевые словаПошаговая схема настройки hreflang для многоязычных сайтов
logoЛоготип компании seohead.tech
(пустой alt у важной картинки)График позиций по брендовым запросам за 6 месяцев

Правила для alt: опишите то, что видно на картинке; при необходимости естественно включите целевой ключевой запрос; не начинайте с фраз вроде «изображение…», «фото…», «картинка…» — Google и так понимает, что это картинка. Оптимальная длина — 5–15 слов.

Декоративным картинкам (разделителям, фоновым текстурам, бессмысленным иконкам) нужен пустой атрибут alt: alt="". Так программы чтения с экрана пропускают картинку — это правильно с точки зрения доступности.
html
<!-- Informative image -->
<img
  src="/images/crawl-budget-chart.webp"
  alt="Crawl budget distribution chart by page type"
  width="800"
  height="450"
/>

<!-- Decorative image -->
<img
  src="/images/divider.svg"
  alt=""
  role="presentation"
/>

<!-- Image link: alt describes the link purpose -->
<a href="/tools">
  <img
    src="/images/seo-scripts-icon.webp"
    alt="SEO Scripts: tools for technical audits"
    width="64"
    height="64"
  />
</a>

Имена файлов и пути

Google анализирует имя файла картинки как дополнительный сигнал. Имя DSC_0047.jpg ничего не сообщает; canonical-url-diagram.webp указывает на тему и контекст.

Плохое имяХорошее имя
DSC_0047.jpgseo-audit-checklist.webp
image001.pnggoogle-search-console-coverage-report.webp
photo.jpeginternal-linking-architecture-diagram.webp
img_final_v3_FINAL.pngrobots-txt-structure.webp
В именах файлов используйте только строчные буквы, цифры и дефисы. Не ставьте пробелы (они кодируются как %20), подчёркивания и спецсимволы. Путь вида /images/blog/ структурированнее, чем /uploads/2024/05/.

Форматы: WebP, AVIF, JPEG, PNG

Выбор формата — один из ключевых факторов оптимизации. Современные форматы (WebP, AVIF) дают заметно меньший размер файла при том же визуальном качестве.

ФорматСжатиеПрозрачностьАнимация
WebPна 25–35% лучше JPEGДаДа
AVIFна 50% лучше JPEGДаДа
JPEGБазовый уровеньНетНет
PNGХуже JPEGДаНет
SVGВекторныйДаДа
GIFНизкоеОграниченнаяДа
Поддержка браузерами и рекомендации:
ФорматПоддержкаРекомендация
WebP97%+Основной формат для фото и скриншотов
AVIF90%+Лучшее качество, декодируется чуть медленнее
JPEG100%Запасной вариант для старых браузеров
PNG100%Только для иконок и скриншотов с большим количеством текста
SVG97%+Иконки, логотипы, диаграммы
GIF100%Замените на WebP или видео

Рекомендуемая стратегия: используйте WebP как основной формат с JPEG в качестве запасного через элемент <picture>. Переходите на AVIF, когда ваша аудитория в основном на Chrome 85+ и Safari 16+. Для всей векторной графики — SVG, без исключений.

html
<!-- Modern approach: AVIF → WebP → JPEG -->
<picture>
  <source srcset="/images/hero.avif" type="image/avif" />
  <source srcset="/images/hero.webp" type="image/webp" />
  <img
    src="/images/hero.jpg"
    alt="SEO audit of an online store: 340% traffic growth"
    width="1200"
    height="675"
    loading="eager"
    fetchpriority="high"
  />
</picture>

Сжатие без потери качества

Большинство изображений можно сжать на 30–70% без заметной потери качества. Ключевые инструменты: Squoosh (онлайн), ImageMagick (CLI), Sharp (Node.js), Pillow (Python).

Оптимальные настройки качества

ФорматКачество для вебаИнструмент
WebP75–85Sharp: sharp().webp({ quality: 80 })
AVIF60–75Sharp: sharp().avif({ quality: 65 })
JPEG75–85ImageMagick: -quality 80
PNGБез потерьpngquant: --quality=65-80
Пример реализации в коде:
javascript
// Next.js: automatic optimisation via next/image
import Image from 'next/image';

// next/image automatically:
// - converts to WebP/AVIF
// - generates srcset
// - adds lazy loading
// - prevents layout shift (requires width/height)
export function HeroImage() {
  return (
    <Image
      src="/images/hero.jpg"
      alt="Organic traffic growth after SEO audit"
      width={1200}
      height={675}
      priority // disables lazy load for the hero image
    />
  );
}
В Next.js используйте компонент <Image> вместо <img>. Он сам конвертирует картинку в WebP/AVIF, генерирует srcset и не даёт вёрстке сдвигаться. Для hero-изображений над сгибом всегда добавляйте priority — это снижает LCP.

Lazy load и loading='eager'

Lazy loading откладывает загрузку картинок за пределами экрана до момента, когда пользователь до них доскроллит. Так уменьшается начальный вес страницы и ускоряется Time to Interactive.

html
<!-- Below-fold images: lazy loading -->
<img
  src="/images/article-thumbnail.webp"
  alt="XML sitemap audit screenshot"
  width="400"
  height="225"
  loading="lazy"
/>

<!-- Hero and LCP images: eager + fetchpriority -->
<img
  src="/images/hero.webp"
  alt="Real-time SEO analytics"
  width="1200"
  height="675"
  loading="eager"
  fetchpriority="high"
/>
Сравнение атрибутов загрузки:
АтрибутЗначениеКогда использовать
loadinglazyВсе картинки ниже первого экрана
loadingeagerHero-картинка, логотип, элемент LCP
fetchpriorityhighГлавная картинка страницы (LCP)
fetchprioritylowДекоративные картинки внизу страницы
decodingasyncБольшинство картинок — не блокирует отрисовку
Никогда не добавляйте loading="lazy" к LCP-картинке — это критичная ошибка. Браузер отложит загрузку самого важного визуального элемента страницы, и LCP резко вырастет.

Размеры, srcset и art direction

Всегда задавайте атрибуты width и height. Так браузер резервирует место под картинку до её загрузки и не допускает Cumulative Layout Shift (CLS) — сдвига контента во время загрузки.

html
<!-- srcset: different sizes for different screens -->
<img
  src="/images/blog-cover.webp"
  srcset="
    /images/blog-cover-480.webp 480w,
    /images/blog-cover-800.webp 800w,
    /images/blog-cover-1200.webp 1200w
  "
  sizes="(max-width: 480px) 480px, (max-width: 800px) 800px, 1200px"
  alt="Internal linking architecture guide: site structure diagram"
  width="1200"
  height="675"
  loading="lazy"
/>

Атрибут srcset позволяет браузеру выбрать оптимальный размер картинки под конкретный экран и плотность пикселей. На мобильном устройстве с 2x DPI браузер загрузит версию 800px вместо 1200px — это экономит трафик и ускоряет страницу.

Структурированные данные

Разметка Schema.org помогает Google показывать картинки в расширенных результатах: карточках товаров, рецептах, статьях. Самые подходящие для картинок типы — ImageObject, Article, Product и Recipe.

json
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Image SEO: complete guide",
  "image": {
    "@type": "ImageObject",
    "url": "https://seohead.tech/images/blog/image-seo.webp",
    "width": 1200,
    "height": 675,
    "caption": "Image optimisation for search: formats, alt text, compression"
  },
  "datePublished": "2026-05-17",
  "author": {
    "@type": "Person",
    "name": "seohead"
  }
}

Image sitemap

Google рекомендует добавлять информацию об изображениях в XML-карту сайта — это помогает индексировать картинки, которые подгружаются через JavaScript, и даёт дополнительный контекст (название, подпись, лицензию).

xml
<?xml version="1.0" encoding="UTF-8"?>
<urlset
  xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
  xmlns:image="http://www.google.com/schemas/sitemap-image/1.1"
>
  <url>
    <loc>https://seohead.tech/blog/image-seo</loc>
    <image:image>
      <image:loc>https://seohead.tech/images/blog/image-seo.webp</image:loc>
      <image:title>Image SEO: alt text, formats, compression, and lazy load</image:title>
      <image:caption>Complete guide to image optimisation for search</image:caption>
    </image:image>
  </url>
</urlset>
Image sitemap особенно важен для картинок, которые загружаются через JavaScript (React, Vue, Next.js). Googlebot не всегда выполняет JS при сканировании, поэтому карта сайта — надёжный способ гарантировать индексацию картинок.

Частые вопросы

Влияет ли alt-текст напрямую на позиции в поиске?
Да, но косвенно. Alt помогает Google понять тему страницы и изображения. Аккуратный alt с целевым ключом усиливает релевантность страницы, но набивка ключей в атрибутах alt считается спамом.
Что лучше: WebP или AVIF?
AVIF сжимает эффективнее WebP (на 20–30% лучше), но поддерживается чуть хуже и медленнее декодируется на слабых устройствах. Оптимальная схема — AVIF → WebP → JPEG через <picture>. Для большинства проектов сейчас надёжный выбор — WebP.
Нужно ли, чтобы все картинки индексировались?
Нет. Декоративные картинки (фоны, разделители, бессмысленные иконки) индексировать не нужно. Оставьте пустой alt="" — это сигнал Google пропустить картинку при индексации. Сосредоточьтесь на содержательных изображениях: скриншотах, диаграммах, фото товаров.
Как проверить, индексирует ли Google мои картинки?
Откройте Google Search Console → «Индексирование» → «Страницы». Чтобы проверить конкретную картинку, введите в Google Картинках site:your-domain и поищите свои изображения. Также используйте инструмент проверки URL в GSC и убедитесь, что картинки доступны Googlebot (не закрыты в robots.txt).
Обязательны ли атрибуты width и height?
Да — чтобы предотвратить CLS (Cumulative Layout Shift). Без них браузер не знает размеров картинки до загрузки, и контент прыгает. CLS напрямую влияет на оценки Core Web Vitals и с 2021 года учитывается как сигнал ранжирования.

Check it with SpiderHead

Free and local: run the audit on your own machine.

Try it