Иконки часто тащат за собой лишний CSS, шрифты и JS. В итоге страница грузится дольше, а ради пары пиктограмм вы платите весом всего проекта.
Самый лёгкий вариант — SVG-спрайт: один файл, много иконок, подключение через <use>. Для интерфейсов с повторяющимися элементами это почти всегда лучше, чем отдельные файлы и шрифтовые наборы. Ещё один плюс: SVG нормально масштабируется и не мылится на экранах с высокой плотностью пикселей.
Если иконка нужна только в одном месте, вставляйте inline SVG прямо в HTML-шаблон. Так вы убираете лишние запросы и проще управляете цветом через currentColor. Для кнопок, меню и статусов это особенно удобно. Когда нужен один символ без сложной графики, можно обойтись и обычным символом из системного шрифта — без дополнительных зависимостей.
Проверка простая: нет ли у вас целой библиотеки ради 5–10 иконок, не грузится ли набор на всех страницах, и не дублируются ли одни и те же SVG в нескольких местах. Если да — это первый кандидат на оптимизацию. Один аккуратный спрайт почти всегда выигрывает у тяжёлого пакета.
Итог: сначала считайте не “удобство подключения”, а вес и повторяемость. Чем меньше иконок в проекте, тем ближе вам inline SVG или спрайт.
WordPress Minimal
@wordpressminimal
Как подключать иконки без тяжёлых библиотек и не тормозить интерфейс
Этот пост опубликован в Telegram-канале WordPress Minimal. Подписаться можно по ссылке: @wordpressminimal.