Vercel Doctor

Оптимізація зображень

Правила, що виявляють патерни, які спричиняють зайві витрати на оптимізацію зображень.

Ці правила виявляють некоректні налаштування обробки зображень у Next.js, що збільшують використання Vercel Image Optimization або віддають неоптимізовані зображення.

vercel-image-global-unoptimized

Warning · vercel-doctor/vercel-image-global-unoptimized

Виявляє images.unoptimized: true у next.config.

Чому це важливо: Це глобально вимикає Vercel Image Optimization. Усі зображення віддаються як є, без зміни розміру, конвертації формату чи стиснення — що збільшує витрати на пропускну здатність та погіршує продуктивність.

Bad
// next.config.js
module.exports = {
  images: {
    unoptimized: true,
  },
};
Good
// next.config.js
module.exports = {
  images: {
    remotePatterns: [{ hostname: "cdn.example.com" }],
  },
};

nextjs-image-missing-sizes

Warning · vercel-doctor/nextjs-image-missing-sizes

Виявляє компоненти <Image> з fill, але без атрибута sizes.

Чому це важливо: Без sizes браузер завантажує найбільше доступне зображення незалежно від ширини viewport. Це витрачає пропускну здатність та збільшує використання Image Optimization.

Bad
<Image src="/hero.jpg" alt="Hero" fill />
Good
<Image src="/hero.jpg" alt="Hero" fill sizes="(max-width: 768px) 100vw, 50vw" />

vercel-image-remote-pattern-too-broad

Warning · vercel-doctor/vercel-image-remote-pattern-too-broad

Виявляє записи images.remotePatterns з надто широкими патернами pathname (/** або відсутніми).

Чому це важливо: Необмежені шляхи віддалених зображень дозволяють будь-якій URL на хості бути оптимізованою через ваш акаунт, що може спричинити несподіване використання оптимізації від користувацького контенту або сторонніх вбудовувань.

Bad
// next.config.js
module.exports = {
  images: {
    remotePatterns: [{ hostname: "cdn.example.com", pathname: "/**" }],
  },
};
Good
// next.config.js
module.exports = {
  images: {
    remotePatterns: [{ hostname: "cdn.example.com", pathname: "/avatars/**" }],
  },
};

vercel-image-svg-without-unoptimized

Warning · vercel-doctor/vercel-image-svg-without-unoptimized

Виявляє компоненти <Image> з SVG у src без пропа unoptimized.

Чому це важливо: SVG — це векторна графіка, яка не отримує переваг від конвеєра Image Optimization. Пропускання їх через нього витрачає квоту оптимізації без жодної користі.

Bad
<Image src="/logo.svg" alt="Logo" width={100} height={40} />
Good
<Image src="/logo.svg" alt="Logo" width={100} height={40} unoptimized />
Edit on GitHub

Last updated on

On this page