К основному контенту

Оптимизация контента. Сжатие и объединение файлов css и js с помощью библиотеки Combres. Часть I.

Итак, сегодня поговорим об оптимизации пользовательского контента. 


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

  • Сжатие пользовательского контента. Согласитесь, передать по сети 10 Кб намного быстрее чем 50Кб. Сжатые файлы обрабатывает браузер на стороне пользователя. Самый распространенный способ для сжатия контента -  Gzip.  Gzip поддерживает большинство браузеров, но не все (сразу вспоминается наш любимый ie 6). Подключить сжатие можно разными способами. Напишу об этом отдельно.  
  • Объединение мелких файлов в один большой. Это относится как к файлам стилей, скриптов, так  и к картинкам. Браузер загружает файлы в несколько потоков, но если файлов много, то пока не загрузится первая часть и не освободятся новые потоки, следующие файлы загружены не будут. Плюс нужно учесть время на открытие и закрытие нового соединения и т.п. мелочи. Так вот для объединения css и js файлов написали библиотеку Combres, о которой я расскажу подробнее дальше. С картинками поступают следующим образом: маленькие картинки склеивают в большие и с помощью стилей css  отображают нужную часть картинки. Получаются так называемые  Css-спрайты
  • Удаление лишних пробелов. Каждый такой пробел - это избыточный объем данных, передаваемый на сторону клиента. Пример кода удаляющий пробелы тоже как-нибудь приведу.
  • Оптимизация картинок. Не секрет, что есть различные форматы картинок. Так вот, в зависимости от формата и настроек сжатия объем картинок можно сократить в несколько раз.
  • Если есть возможность отдавать картинки и файлы скриптов с другого домена, то это будет дополнительным плюсом при загрузке контента.
  • Здесь укажу такой общий пукт как оптимизация кода скриптов. Тяжеловесный код javascript будет тормозить открытие нашей страницы. Файлы стилей также нужно просмотреть на наличие лишних блоков, которые можно применить только к отдельным страницам и не загружать для всего сайта.
Дальше можно углубится в тему кеширования контента, но это уже тема отдельная.


Анализировать насколько ваш сайт хорош с точки зрения оптимизации контента можно с помощью Хрома. 


Откроем страницу Google и вызовем панель разработчика F12. В закладке Audit запустим процесс аудита.




Теперь посмотрим какие рекомендации есть для Гугла




Ага и Гуглу есть куда двигаться в оптимизации своей поисковой формы=)

Продолжение следует...



Комментарии

Популярные сообщения из этого блога

Пример взаимодействия с Odnoklassniki Rest API на C#.

Итак, как и обещал, продолжаю тему взаимодействия с различными API. В прошлый раз писал про  API ВКонтакте , сегодня напишу про API Одноклассников. Первое, что нам нужно сделать - это зарегистрироваться как разработчик на Одноклассниках. Сделать это можно по следующей ссылке  Форма регистрации разработчика приложений Получив права разработчика, необходимо зарегистрировать сайт как приложение. Подробно как это сделать можно прочитать  здесь После того как сайт будет зарегистрирован придет письмо, содержащее: Application ID: xxxxxx. Публичный ключ приложения: xxxxxxxxxxxxxxxxxxxxxxxxx. Секретный ключ приложения:  xxxxxxxxxxxxxxxxxxxxxxxxx. Ссылка на приложение: http://www.odnoklassniki.ru/games/xxxxx Используя эти данные можно начать работу с API. Для выполнения запросов к API пользователь должен авторизоваться в Одноклассниках. Добавляем на нашем сайте ссылку для авторизации пользователя: http://www.odnoklassniki.ru/oauth/authorize?client_id...

C# и API ВКонтакте. Обращение к адресу API-сервиса путем создания HTTP-запроса (POST)

В статье  C# POST. Отправляем запросы на адрес стороннего сервера  я рассказал про метод, с помощью которого можно работать с различным API, принимающими POST запрос и возвращающими ответ в виде json или xml. Сегодня я хочу написать, как я применял этот метод при работе с API  ВКонтакте. Для примера возьму задачу получения через API списка групп, в которых состоит пользователь. В первую очередь необходимо зарегистристрировать наш сайт как приложение ВКонтакте. Заходим по ссылке  http://vk.com/editapp?act=create&site=1  и подключаем наш сайт. Дальше задача  делится на две подзадачи, а именно: авторизация пользователя и обращение к API для получения списка групп. Для авторизации мы пользователю предлагаем перейти по следующей ссылке: http://api.vkontakte.ru/oauth/authorize? response_type=code&redirect_uri={0} &client_id={1} &scope={2} &display=page , redirect_uri - адрес страницы нашего сайта, куда будет возвращен пользоват...

Monotouch и Monodevelop. Программируем для iOS на C# на примере нашего проекта. Часть I.

Сегодня я начинаю серию публикаций, посвященных разработке нашего первого приложения под iOS на C#. Так как это проект новый для нас, то статьи будут появляться по мере нашего продвижения в этом вопросе. Предыстория . Руководство поставило задачу своими силами сделать приложение Интернет-магазина для iPhon-ов и iPad-ов. А в дальнейшем и под Android. Как разработчики на C# мы стали изучать варианты реализации. И остановились на  Monotouch . Monotouch - это надстройка к Monodevelop, которая позволяет писать приложения под iOS на C#. Код компилируется в нативный objective C и прекрасно работает под iOS. Причем Monotouch позволяет писать не только для iOS, но и для Android. Как раз то, что нужно. Вы спросите, что такое Monodevelop? Это среда разработки на C#, работающая под Mac OS. Так сказать аналог VisualStudio для Mac-ов. И все же почему Monotouch? Ответ прост - низкий порог вхождения. Зная C# можно сразу начинать работу над приложением не тратя время на и...