Перейти к содержимому

Как оптимизировать css и js на сайте онлайн

  • автор:

Оптимизация CSS и javascript на сайте

Несомненным трендом конца того и началом этого года является ускорение работы сайта. Если раньше ускорение работы сайта рекомендовалось специалистами по usability, мол, медленно работающий сайт отпугивает пользователя, то сейчас об ускорении работы сайта начали говорить seo оптимизаторы. Есть мнение, что скорость работы сайта уже учитывается поисковыми системами с целью оценки качественности и авторитетности сайта. Возникает вопрос, как мы можем простыми средствами сократить время загрузки сайта?

Помимо ранее упомянутых спрайтов, еще одним решением будет оптимизация JS и CSS файлов. Первое, все JS и CSS файлы сайта могут быть обледенены в один большой JS и один большой CSS файл. Данная мера сократит количество обращений к серверу, что в свою очередь сократить время загрузки сайта. Второе, код данных файлов может быть сокращен за счет удаления пробелов и специальных символов, а так же оптимизации кода, что сократит размер файла, и так же поможет улучшить показатели скорости загрузки сайта.

Как и при любой оптимизации перед любыми изменениями необходимо измерить (замерить) первоначальные значения. Посмотреть количество запросов к серверу и количество загружаемого кода можно через онлайн сервисы, например pingdom.com или воспользоваться расширением для Chrome и Firefox под названием Yslow.

После проведения контрольных замеров можно начать объединять файлы, соединяя JS файлы в один JS файл, а CSS файлы в один CSS файл. При этом придется вносить изменения в коды разных сниппетов, которые самостоятельно подгружают файлы javascript и файлы стилей в шаблоны. Когда все файлы будут объединены необходимо проверить их работоспособность. Осуществить проверку JS файлов проще всего используя консоль в Chrome (F12 — Консоль), которая сразу сообщит о возникновении ошибок при обработке скриптов.

7 советов по оптимизации CSS для ускорения загрузки страниц

В современном вебе, время загрузки страницы сайта — одна из важнейших метрик. Даже миллисекунды могу оказывать огромное влияние на Вашу прибыль и медленная загрузка страницы может легко навредить Вашим показателям конверсии. Существует много инструментов и техник, которые Вы можете применить для ускорения Вашего вебсайта. В этой статье мы рассмотрим лучшие советы по оптимизации CSS, которые Вы можете использовать для повышения производительности интерфейса.

image

Примечание от переводившего
Большая просьба снисходительно отнестись к замеченным ошибкам и сообщить о них.
Спасибо.

1. Найдите узкие места производительности

Самое главное при всех видах оптимизации — начать с тщательного аудита. К счастью, существует много инструментов для диагностики CSS, которые могут помочь Вам найти имеющиеся узкие места в производительности. Первое и самое главное, Вы можете использовать «Инструменты разработчика» в Вашем браузере, чтобы проверить, насколько быстро загружаются данные. В большинстве браузеров открыть «Инструменты разработчика» можно, нажав клавишу F12.

Например, в «Инструментах разработчика» браузера Firefox Вы можете узнать размер и время загрузки всех CSS-файлов, загружаемых на Вашей странице, используя закладку «Network». Вы также можете проверить, насколько быстро Ваши CSS-файлы загружаются с использованием или без использования кэширования. Поскольку здесь показываются внешние CSS, такие как файлы шрифтов Google Fonts и CSS-файлы, загруженные из сторонних CDN-серверов, Вы можете найти много источников, о которых даже не знали ранее

image

Pingdom Tools и Lighthouse от Google — еще два бесплатных инструмента, которые разработчики часто используют для анализа скорости сайта и производительности интерфейса. Pingdom Tools, например, даёт Вам несколько полезных советов по оптимизации CSS, при запуске простого теста скорости вебсайта.

image

2. Минифицируйте и сжимайте CSS-файлы

Большинство вебсайтов используют несколько CSS файлов. Хотя в большинстве случаев использование модульных CSS-файлов считается лучшим решением, загрузка каждого отдельного файла может занимать некоторое время. Но именно по этой причине существуют инструменты для минификации и сжатия CSS. Если Вы используете их с умом, это может значительно сократить время загрузки страницы.

Существуют онлайн-сервисы, такие как CSS Minify, которые позволяют Вам минифицировать CSS-файл просто скопировав его в простую форму. Такой тип сервисов может хорошо работать с небольшими проектами. Тем не менее, их использование может стать обременительным и трудоемким в ситуациях с большими проектами, которые включают множество CSS-файлов. В таких ситуациях лучше отдать предпочтение автоматизированным решениям.

В наши дни, большинство инструментов сборки позволяют выполнять сжатие автоматически. Например, Webpack по умолчанию возвращает все файлы проекта как минифицированный пакет. PostCSS также имеет умные плагины, такие как CSS Nano, которые не только минифицируют Ваши файлы, но также производят над ними множество специальных оптимизаций.

image

3. Используйте Flexbox и CSS Grid

Если при написании CSS Вы всё еще полагаетесь исключительно на традиционную блочную модель и выравниваете элементы на странице, используя margin, padding и float, Вам следует рассмотреть переход на более современные методы, именуемые Flexbox и CSS Grid. Они позволят Вам реализовывать сложные макеты гораздо меньшим количеством кода.

Используя старые подходы, Вам придется использовать много трюков и ухищрений даже для таких простых вещей, как центрирование элементов по вертикали. Однако, это не относится к Flexbox и CSS Grid. Хотя освоение новых подходов может занять некоторое время, оно стоит того, поскольку размер Ваших CSS-файлов будет намного меньше. Это особенно актуально для Flexbox, который на данный момент имеет очень хорошую поддержку браузерами (98.3% глобально).

image

Хотя CSS Grid поддерживается браузерами не так хорошо (92.03% глобально), уже можно использовать этот подход, если Вы не должны обеспечивать поддержку старых браузеров или готовы реализовать фолбек.

image

4. Используйте тег вместо правила @import

Существует два основных метода загрузки CSS-файлов на веб-страницу:

  1. добавить в раздел HTML-страницы, используя тег
  2. импортировать из других таблиц стилей, используя CSS-объявление @import

Когда Вы добавляете более одного CSS-файла на HTML-страницу, всегда учитывайте специфичность в CSS. Начинайте с общей таблицы стилей, а затем указывайте более специфичные. Вам нужно следовать этому принципу, потому что таблицы стилей, добавленные позже, переопределяют правила предыдущих CSS-файлов. Пример, когда CSS-файлы добавляются в правильном порядке:

5. Используйте градиенты и SVG вместо изображений

Загрузка всех изображений на веб-странице может отнимать много времени. Для сокращения этого времени, разработчики используют множество методов оптимизации изображений, таких как загрузка изображений из внешнего CDN или использование инструментов сжатия изображений, таких как TinyJPG. Эти решения могут существенно помочь, однако в некоторых ситуациях использование ресурсоёмких JPG и PNG изображений можно заменить CSS-эффектами.

Например, Вы можете использовать градиенты вместо огромных фоновых изображений, которые могут немного замедлить работу браузера посетителя Вашей страницы. Можно использовать градиентные функции CSS для создания линейных, радиальных и повторяющихся градиентов. С помощью этих встроенных в CSS функций Вы можете задавать не только цвета, но также и угол градиента.

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

Для более сложных градиентов и текстур, Вы также можете использовать генераторы, такие как CSSmatic (на изображении ниже) и ColorZilla

image

Помимо градиентов, традиционные JPG и PNG изображения Вы также можете можете заменить масштабируемой векторной графикой (SVG). Она не только быстрее загружается, но также Вам требуется загрузить лишь одну версию изображения. Это обусловлено тем, что SVG-изображение может масштабироваться до любых размеров без потери качества в связи с его векторной природой. Кроме того, Вы также можете стилизовать SVG с помощью CSS, как обычный HTML-файл.

6. Избегайте правила !important

Хотя правило !important может быть настоящей находкой в определенных ситуациях, его следует использовать только в крайнем случае. Это правило создаёт исключение из каскада. То есть, когда Вы добавляете !important в CSS-объявление, оно переопределяет любые другие объявления, даже те, которые имеют большую специфичность. Вот как выглядит его синтаксис:

Если в CSS присутствует много правил !important, браузер пользователя должен будет проводить дополнительные проверки в коде, что может дополнительно замедлить страницу. Хорошим тоном считается никогда не использовать !important для всего сайта или при создании темы или плагина. Если есть возможность, используйте это правило только в ситуациях, когда хотите переопределить CSS из сторонней библиотеки.

7. Рефакторинг CSS

Хотя рефакторинг CSS редко бывает легкой задачей, зачастую это может значительно повысить производительность веб-сайта. Например, когда Ваши CSS-файлы слишком большие, или Вам досталась устаревшая кодовая база, или у Вас очень плохое время загрузки страницы, что серьезно вредит Вашей конверсии. Цель рефакторинга CSS — сделать Ваш код более изящным, легко поддерживаемым и быстрее загружаемым.

Рефакторинг CSS — это многоступенчатый процесс, в ходе которого Вам нужно проанализировать каждый аспект Вашего CSS кода. Вам нужно проверить следующие моменты:

  • присутствуют ли неиспользуемые или дублирующие CSS-правила или ресурсы
  • возможно ли использование более современных техник, таких как Flexbox и CSS Grid
  • не используется ли слишком много специфичности (посчитать это можно с помощью визуального калькулятора специфичности)
  • грамотно ли организована структура CSS-файлов (например, легче поддерживать меньшие файлы, чем большИе)
  • стоит ли начать использовать инструменты автоматической сборки
  • и многое другое.

Также не забудьте использовать систему контроля версий, такую как Git. В этом случае, если что-то пойдет не так, Вы сможете вернуться к предыдущей версии кода.

Подводя итоги

Существует множество советов по оптимизации CSS, которые можно использовать для повышения производительности Вашего веб-сайта. Большинство из них просты в реализации, но могут существенно повлиять на время загрузки Вашей страницы. Более быстрая загрузка страниц не только повышает удобство использования, но также помогает улучшить позиции в Google и другие поисковых системах.

Кроме лучших практик оптимизации CSS, Вы можете использовать и другие техники ускорения загрузки, такие как кэширование, Google AMP и HTTPS протокол. Если Вы хотите узнать о них больше, можете также ознакомиться с нашей статьей 10-step guide to improve website loading speed.

Как оптимизировать CSS и JS для более быстрых сайтов

Опыт пользователя является наиболее важным фактором, когда дело доходит до успеха вашего онлайн-предприятия.

Не имеет значения, ведете ли вы нишевый блог, сайт SaaS или интернет-магазин. Если вам каким-то образом удастся испортить опыт своей аудитории, не рассчитывайте превратить кого-либо из них в платных клиентов.

Хорошей новостью является то, что любой бренд может методично улучшить пользовательский опыт, сузив конкретные факторы на странице.

Например, скорость загрузки легко игнорируется большинством владельцев веб-сайтов.

Согласно данным о конверсии, увеличение скорости вашего интернет-сайта с восьми до двух секунд может привести к увеличению конверсии на 74% .

Это означает, что медленный сайт может стоить вам почти половину ваших потенциальных клиентов.

Просмотр полной картины с PageSpeed ​​Insights

Чтобы определить проблемы на вашем сайте, которые влияют на скорость загрузки, вы можете использовать Google PageSpeed ​​Insights . Это бесплатный инструмент, который автоматически сканирует как настольную, так и мобильную версии вашего сайта.

PageSpe Insights

В дополнение к обнаруженным проблемам, PageSpeed ​​Insights также покажет вам несколько действенных рекомендаций.

Владельцы сайтов, которые никогда не задумывались о скорости загрузки страниц, могут столкнуться со следующими проблемами:

PageSpe Insights

Это означает, что ваш код CSS и JavaScript замедляет работу вашего сайта. И хотя это может показаться работой для полноценных веб-разработчиков, их довольно легко оптимизировать с помощью инструментов.

Без лишних слов, вот шаги, которые вы должны предпринять, чтобы минимизировать ваши CSS и JavaScript активы.

Определить код для минимизации

Минимизация кода – это практика удаления символов, которые не выполняют никаких функций, кроме улучшения читабельности.

Например, встроенные комментарии могут помочь разработчикам понять, что делает конкретный раздел кода. Хотя это полезно для проверки или отладки, они также могут увеличивать размер кода.

Минификация удаляет эти лишние символы – поэтому уменьшает использование полосы пропускания и повышает скорость загрузки страницы.

Используя PageSpeed ​​Insights, вы можете легко определить, какой код требует минимизации. Просто нажмите «Показать, как исправить» и следуйте по пути в клиенте CMS (Система управления контентом) или FTP (Протокол передачи файлов).

Минификация кода

Например, если ваш сайт работает на WordPress, то весь ваш код должен быть объединен в разделе «Редактор». Это можно найти на вкладке «Внешний вид» основной панели управления.

Минификация кода

Оптимизация ваших кодов

Теперь, когда вы нашли нужный код, пришло время узнать, как их минимизировать.

Возможно, самый простой способ минимизировать ваш код – использовать автоматизированные инструменты. Когда речь заходит о CSS и JavaScript, одними из лучших инструментов для работы являются CSS Minifier и JSCompress .

Использование CSS Minifier

CSS Minifier – это бесплатный и простой инструмент, который автоматически сжимает ресурсы CSS. Все, что вам нужно сделать, это вставить код в поле ввода, установить уровень сжатия и нажать «Minify».

CSS Minifier

В зависимости от размера вашего кода минимизация вашего кода может занять от нескольких секунд до минуты. Ваш новый код может быть скопирован обратно в клиентский интерфейс CMS или FTP.

Важно: в качестве меры предосторожности не забудьте создать резервные копии, прежде чем вносить какие-либо изменения в код вашего сайта. Создание автономных или облачных копий – простой способ сделать это.

CSS Minifier

Чтобы проверить, сработала ли ваша минификация, выполните другой анализ PageSpeed ​​Insights. Файл CSS, который вы недавно сжали, больше не должен отображаться в разделе «Минимизировать CSS».

CSS Minifier

Использование асинхронной загрузки в JavaScript

По сравнению с CSS, JavaScript немного сложнее правильно минимизировать. Прежде чем запускать свой код через JSCompress, сначала рассмотрите возможность асинхронной загрузки кода.

Также называется «отложенной загрузкой», но в контексте JavaScript асинхронная загрузка работает путем динамической загрузки функций.

Чтобы использовать асинхронную загрузку, просто добавьте тег «async» при вызове файла .js . Это можно сделать в исходном коде HTML вашего сайта.

Вот пример того, как это сделать:

script src=”yourscript.js” async> script> 

Вы можете обратиться к этому сообщению за дополнительной информацией о том, как это работает и как его использовать. Если вы абсолютно новичок в HTML, читайте это руководство для начинающих, пока не освоитесь с основами.

Объединение файлов JavaScript

Еще один момент, который стоит упомянуть, когда речь заходит об оптимизации JavaScript, – это объединение файлов на одной странице. Это уменьшит количество HTTP-запросов, которые делает браузер, что неизменно ускорит время загрузки.

Например, вместо вызова нескольких файлов .js в вашем исходном коде:

script src=”http://www.yoursite.com/menu.js”> script> script src=”http://www.yoursite.com/tools.js”> script> script src=”http://www.yoursite.com/footer.js”> script> 

Вы можете объединить их в один файл JavaScript с помощью вашего редактора и вызвать их все сразу:

script src=”http://www.yoursite.com/all.js”> script> 

Чтобы еще больше сократить время обработки ваших сценариев, попробуйте не использовать теги «http» и «type». Например, вместо использования:

script src=" http: //www.yoursite.com/all.js" type="text/javascript" > script>

Вы можете просто использовать:

script src="//www.yoursite.com/all.js"> script>

Использование JSCompress

Наконец, использование JSCompress столь же просто, как использование CSS Minifier. Просто вставьте свой код в поле ввода и нажмите кнопку «Сжать JavaScript».

JSCompress

Затем перейдите на вкладку «Вывод» для просмотра сжатого JavaScript:

JSCompress

Удаление избыточного кода

Еще одна проблема с производительностью вашего сайта – это наличие избыточного или дублированного кода. Обычно они вызваны удаленными элементами страницы, в результате чего код остается неиспользованным.

Отличный способ найти избыточный код – использовать встроенные инструменты разработчика в Google Chrome. Это можно включить, открыв главное меню, выбрав «Дополнительные инструменты», а затем нажав «Инструменты разработчика».

Удаление избыточного кода

Убедитесь, что вы находитесь на странице, которую вы хотите оптимизировать, когда вы делаете это.

После активации инструментов разработчика найдите «Покрытие» в подразделе «Дополнительные инструменты» в меню настроек.

Удаление избыточного кода

Откроется вкладка «Покрытие» под консолью разработчика. Оттуда нажмите кнопку «Охват прибора», чтобы начать тестирование.

Удаление избыточного кода

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

Удаление избыточного кода

Если вы впервые проверяете наличие избыточного кода, вы увидите в списке сочетание ресурсов CSS и JavaScript. Внимательно осмотрите их, чтобы выяснить, не используются ли какие-либо из них.

Удаление избыточного кода

Удаление всех лишних ресурсов кода по одному может быть утомительным. Но если вы хотите предложить безупречный пользовательский опыт, то это необходимо.

Кроме того, помните, что неиспользуемый код может накапливаться со временем, поэтому запланируйте другое время для повторного посещения и очистки вашего хранилища.

Вывод

Для тех, кто не является разработчиком, оптимизация кода CSS и JavaScript вашего сайта может показаться слишком технической на первый взгляд. Но с правильными инструментами и веб-хостингом вам не нужно быть опытным веб-разработчиком, чтобы это произошло.

Сжатие JS кода

Этот инструмент позволяет минимизировать ваш JS-код. Минимизированный JS-код имеет меньший вес и поэтому загружается быстрее для пользователей. Минимизация кода рекомендуется для ускорения работы сайта.

Могут быть полезны

Подсчет слов онлайн

Подсчитайте количество слов и букв в тексте

Lorem Ipsum генератор

Создайте свой собственный рыба текст в пару кликов

Удаление дубликатов строк

Удалить повторяющиеся строки из текста.

Удалить разрывы строк

Позволяет удалять разрывы строк из текста онлайн

Извлечение E-Mail из текста

Онлайн инструмент для извлечения адресов электронной почты из текста

Извлечение URL из текста

Онлайн инструмент для извлечения ссылок из текста

Генератор мета-тегов

Генератор МЕТА заголовков для вашего сайта

Удаление HTML Тегов

Избавьтесь от HTML кода в своем тексте

Сжатие HTML кода

Сократите свой HTML-код для уменьшения размера

Сжатие CSS кода

Сократите свой CSS-код для уменьшения размера

Форматирование HTML-кода

Онлайн сервис для форматирования HTML кода

Форматирование CSS-кода

Онлайн сервис для форматирования CSS-кода

Форматирование JS-кода

Онлайн сервис для форматирования JS-кода

Обфускатор Javascript

Защитите свой код JavaScript, запутав его

Генератор .htaccess

Онлайн генератор правил редиректов для файла .htaccess

Просмотр HTML кода

Онлайн сервис для просмотра HTML кода любой страницы

Поиск и замена в тексте

Поиск в тексте слов и замена своими

Case конвертер

Меняйте стиль регистра текста в один клик

Текст в Slug

Преобразование текста в Slug онлайн

Contact

Missing something?

Feel free to request missing tools or give some feedback using our contact form.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *