Google cdn


Обновление по комментариям:

Краткая версия: это не имеет большого значения, но это может зависеть от того, что они принимают. Все они имеют разные вещи: Google не подде&#.


е в противном случае можно было бы использовать через ScriptResource.axd и упростить интеграцию (например, ScriptManager С ASP.Net 4.0 ).

Важное примечание. Если вы создаете приложение для интрасети, держитесь подальше от подхода CDN.


#x41D;е важно, кто его размещает, если вы не находитесь на очень перегруженном сервере внутри, ни один CDN не даст вам больше производительности, чем локальная сеть Ethernet 100 МБ / 1 ГБ. Если вы используете CDN для строго внутреннего приложения, у вас болит производительность .

#x41F;равильно настройте заголовки истечения кеша и игнорируйте CDN в сценарии только для интрасети.

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


#x41A;роме того, поскольку первоначальная публикация этого ответа, окружающий его контекст сильно изменился, Microsoft CDN добился больших успехов.

В проекте, который я сейчас использую, используются оба CDN, которые лучше всего подходят для нашего решения.


#x412; этом есть несколько факторов. Пользователи с более старым браузером все еще, вероятно, делают 2 одновременных запроса на домен, как рекомендовано спецификацией HTTP . Это не проблема для тех, кто работает что-то прилично новое, котор.

33;о фактора мы также выбиваем это ограничение, по крайней мере, до javascript.

CDN от Google, который мы используем для:

  • jquery.min.js
  • Jquery-ui.min.js .

CDN от Microsoft, который мы используем для:

  • MicrosoftAjax.js
  • MicrosoftAjaxWebForms.js (до 4.0 мы не полностью удаляем все UpdatePanels)
  • jQuery.Validate.min.js

Наш сервер:

  • Combined.js? V = 2.2.0.6190 (Major.Minor.Iteration.Changeset)

Поскольку часть нашего процесса сборки объединяет и минимизирует все пользовательские javascript, мы делаем это с помощью настраиваемого диспетчера сценариев, который включает версии или отладочные (не уменьшенные) версии этих скриптов в зависимости от сборки.


#x41F;оскольку Google не поддерживает пакет проверки jQuery, это может быть стороной вниз. MVC включает / использует это в своем выпуске 2.0, поэтому вы можете полностью полагаться на CDN от Microsoft для всех ваших нужд, и все это автоматически с помощью ScriptManager .


Единственный другой аргумент, который должен быть сделан, – это время DNS, это связано с ценой скорости загрузки страницы. В среднем: просто потому, что он используется больше (он был дольше) ajax.googleapis.com скорее всего будет возвращен DNS раньше, чем ajax.microsoft.com


, просто потому, что локальный DNS-сервер с большей вероятностью получит запрос на него ( Это первый пользователь в штрафной площади). Это очень незначительная вещь, и ее следует учитывать только в том случае, если производительность чрезвычайно важна, вплоть до миллисекунды.
(Да: я понимаю, что этот момент противоречит моему использованию обоих CDN, но в нашем случае время DNS намного омрачено временем ожидания на javascript / blocking, которое происходит)

Наконец, если вы не посмотрели на него, один из лучших инструментов там Firebug и некоторые плагины для него: скорость страницы и YSlow . Если вы используете CDN, но ваши страницы запрашивают изображения каждый раз из-за отсутствия кеш-заголовков, вам не хватает низко висящих фруктов. Панель «Панель Firebug» может быстро дать вам краткое разбиение времени загрузки страницы, а страница Speed ​​/ YSlow может предложить несколько полезных советов.

ru.javascriptes.com

Многие шаблоны, плагины и компоненты сайта используют для своей работы библиотеку скриптов jQuery. По умолчанию в WordPress скрипты загружаются из папки wp-includes. Первоначальный размер библиотеки jQuery составляет порядка 300KB, после минимизации его можно уменьшить до 90KB. Дополнительно количество передаваемых данных можно снизить за счет использования сжатия GZIP.

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

Ситуация кардинально меняется если посетители запросят миллион страниц с пустым кэшем браузера, в этом случае используя CDN вы экономите до 76GB трафика. А при использовании популярного Google CDN, есть большая вероятность, что необходимая библиотека jQuery уже лежит внутри кэша браузера. В добавок, если сравнить скорости загрузки с CDN и обычного хостинга, то разница во времени может отличаться в несколько раз в пользу CDN.

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

Вместо того чтобы использовать платные CDN-сервисы, мы можем свободно загружать jQuery с серверов крупных компаний. Для jQuery есть несколько популярных общедоступных CDN:

  • jQuery CDN
  • Google CDN
  • Microsoft CDN
  • CDNJS CDN
  • Яндекс CDN

Подробней о использовании указанных CDN-сервисов вы можете прочитать на официальном сайте jQuery. Что касается меня, для своих нужд я предпочитаю использовать Google CDN — наиболее популярный среди всех бесплатных CDN-сервисов, 89% от загрузок которого приходится на библиотеку jQuery. Поэтому, далее речь пойдет о использовании именного этого сервиса.

Особенности использования Google CDN

При использовании Google CDN, вы можете прямо указать версию (1.11.1) загружаемой библиотеки или с помощью модификации фрагмента ссылки, указать необходимые параметры для загрузки jQuery.

Пример подключения jQuery с использованием точной версии библиотеки:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

Для загрузки последней актуальной версии jQuery используем код:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>

Следует отметить, что время жизни файла в кэше браузера, напрямую зависит от ссылки, которую мы будем использовать для подключения библиотеки. При использовании ссылки содержащей точную версию библиотеки, время хранение файла в кэше будет ограничено сроком равным одному году max-age=31536000. Если вы используете ссылку для последней актуальной версии jQuery, файл будет храниться в кэше в течении часа max-age=3600.

Используем Google CDN для загрузки jQuery в WordPress

Для загрузки jQuery с Google CDN на сайте использующем WordPress, для начала необходимо выяснить необходимую версию библиотеки. Для этого достаточно заглянуть в содержимое HTML-документа вашего сайта. Для правильного подключения jQuery в WordPress необходимо добавить код функции ниже в содержимое файла functions.php вашей темы:

function wpdocs_dequeue_script() {  wp_deregister_script('jquery');  wp_register_script('jquery', ("//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"), false, '1.11.1');  wp_enqueue_script('jquery'); } add_action( 'wp_print_scripts', 'wpdocs_dequeue_script', 100 );

Данная функция удалит из очереди на подключение библиотеку из каталога wp-includes и заменяет ее на jQuery с сайта Google CDN.

codebeer.ru

В некоторых случаях регистрация библиотеки jQuery и привязка ее копии к WordPress оказываются неприемлимыми для разработчика. Решением возникшей проблемы выступает загрузка jQuery из Google CDN (Code Distribution Network). CDN позволяет сохранить пропускную способность канала, вследствие чего сайт получает возможность производить параллельную обработку данных во время загрузки дополнительных скриптов. Вдобавок ко всему, разработчик всегда может получить из CDN самую последнюю версию jQuery. Среди других преимуществ Google CDN стоит отметить быструю загрузку библиотеки jQuery и возможность ее кэширования, т.е. если пользователь ранее заходил на сайт, который использует аналогичный способ загрузки jQuery, ему не придется вновь подгружать данную библиотеку, т.к. она будет храниться в кэше.

Регистрация и подключение библиотеки jQuery через CDN Google

Для того чтобы подключить jQuery через CDN Google, необходимо убедиться в том, что библиотека изначально не зарегистрирована в теме, после чего можно проводить регистрацию jQuery в CDN. Делается это довольно просто посредством функции wp_enqueue_script. Если какой-либо плагин или сценарий требует для своего выполнения jQuery и не конфликтует с версией библиотеки, загруженной из Google, то эта версия jQuery будет использована в процессе выполнения скрипта. Если же скрипт зависит от какой-либо конкретной версии библиотеки jQuery (скажем, 1.3.2 или 1.2.6), а в CDN загружена версия 1.4.2, то в таком случае для скрипта будет загружена необходимая версия. Поскольку каждый скрипт, загруженный через Script API, остается в режиме noConflict, нормальным считается обладать двумя версиями jQuery, используемыми по мере необходимости.

... wp_deregister_script( 'jquery' ); wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/ jquery/1.4/jquery.min.js'); ...

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

Функционирование системы управления версиями

В примере, приведенном выше, я ввел фрагмент «…jquery/1.4/jquery…» для определения необходимой мне версии библиотеки jQuery. Поскольку последней стабильной версией jQuery на момент написания статьи являлась 1.4.2, то она была бы автоматически загружена к моей теме. Если бы разработчики выпустили версию 1.4.3, то она стала бы вызываться по расположенной в примере ссылке, поскольку я определил версию с точностью до двух первых цифр. Аналогично, если бы я ввел строку «…jquery/1.3/jquery…», то система управления версиями произвела бы загрузку последней существующей версии jQuery вида 1.3.x, а именно 1.3.2. Если же указать «…jquery/1/…», то система загрузит последнюю существующую на данный момент версию библиотеки вида 1.x.

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

oddstyle.ru

Как подключать jQuery в WordPress

Самый распространенный способ подключения jQuery (и в WordPress тоже) – в файл header.php, между тегами <hеаd> и </hеаd>. Обычно это такая строка:

   <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>  

в которой может меняться только номер версии.

Такое подключение будет работать, но почему-то многие гуру программирования предупреждают, что код подключения jQuery лучше всего размещать в подвале, то есть – в файле footer.php. Отложенная загрузка jQuery визуально ускоряет загрузку страницы.

И еще — в WordPress скрипты подключаются при помощи специального программного метода: это такие функции, как wp_register_script(), wp_enqueue_script(), wp_deregister_script(), и т.д. Это делается для того, чтобы между некоторыми плагинами, которых в хранилище WordPress уже более 30 000 штук, не возникало конфликтов при подключении одного скрипта в разных местах страницы. Допустим, jQuery подключается и в самом плагине, и на странице WordPress – это неизменно вызовет программный сбой.

Поэтому следует добиваться такого подключения скриптов, при котором их можно объединить программным способом в один файл, чтобы браузер получал их уже оптимизированными и в сжатом виде. Также CDN метод помогает избежать сбоя при неизменных обновлениях библиотек – не нужно будет каждый раз вносить вручную изменения версии jQuery, AngularJS или SWFObject.

jQuery

Правильное подключение jQuery

Правильно подключить библиотеку jQuery — это значит, использовать функцию wp_enqueue_script(). Ниже вы видите код подключения. Такой способ подключения не нарушает стандарты программирования и исключает возможность конфликтов при подключении одного и того же скрипта в плагинах, так как скрипт будет подключаться только один раз:

  <?php  function my_scripts_method(){  	wp_enqueue_script( 'jquery' );  }  add_action( 'wp_enqueue_scripts', 'my_scripts_method' );  ?>  

Вставляется этот фрагмент кода в файл шаблона functions.php. После вставки этого кода в <hеаd> и </hеаd> отделе заголовка страницы появится такая строчка:

  <script type='text/javascript' src='http://wptest.ru/wp-includes/js/jquery/jquery.js?ver=1.11.0'></script>  

Использование CDN при подключении jQuery в WordPress

Теперь о применении CDN при подключении jQuery в WordPress. Код, приведенный выше, показывает способ подключения jQuery из файлов WordPress, но проще, быстрее и безопаснее подключать jQuery с CDN Google. Такой способ обладает следующими преимуществами:

1. Подключаемый файл будет сжатым виде, и весить будет меньше.
2. Если пользователь уже был на сайте, на котором jQuery подключался таким же образом, то в кэше его браузера уже остался этот скрипт. То есть — скрипт вообще не будет загружаться при посещении сайта с использованием CDN при подключении jQuery в WordPress. На сегодняшний день около 20% сайтов уже используют такое подключение с использованием CDN Google для jQuery.
3. Файл загружается отдельным потоком.

Для подключения jQuery с CDN Google, нужно отметить уже зарегистрированный в WordPress путь к файлу jQuery и зарегистрировать свой скрипт. Сделать это можно добавлением в файл functions.php вашего шаблона темы такого фрагмента php кода:

  function my_scripts_method() {  	wp_deregister_script( 'jquery' ); // отменяем зарегистрированный jQuery  	wp_register_script( 'jquery', '//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js');  	wp_enqueue_script( 'jquery' );  }  add_action( 'wp_enqueue_scripts', 'my_scripts_method' );  

Динамический jQuery

Осталось только одно непредвиденное обстоятельство – версия jQuery, которая указана в коде подключения, не может изменяться при обновлениях. Все эти версии будут постепенно обновляться в CDN Google, но не в вашем WordPress. Решается, однако, эта проблема довольно просто — необходимо взять текущую версию jQuery в WordPress и вставить ее в ссылку на CDN Google вот таким образом:

  function my_scripts_method() {  	// получаем версию jQuery  	wp_enqueue_script( 'jquery' );  	$wp_jquery_ver = $GLOBALS['wp_scripts']->registered['jquery']->ver; // для версий WP меньше 3.6 'jquery' меняем на 'jquery-core'  	$jquery_ver = $wp_jquery_ver == '' ? '1.11.0' : $wp_jquery_ver;  	wp_deregister_script( 'jquery' );  	wp_register_script( 'jquery', '//ajax.googleapis.com/ajax/libs/jquery/'. $jquery_ver .'/jquery.min.js', false, null, true );  	wp_enqueue_script( 'jquery' );  }  add_action( 'wp_enqueue_scripts', 'my_scripts_method', 99 );  

Теперь версия jQuery будет определяться динамически, и вам уже не нужно будет ломать голову, почему скрипт вдруг перестал работать после обновления. Скрипт подключается в файле footer.php (значения false, null, true). Ну и повторюсь еще раз — все скрипты рекомендуется также подключать в файле footer.php документа, то есть – в подвале шаблона. До встречи!

seobid.net

Подключение последней версии jQuery. Пример:

  <head>   <!-- ... -->   <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>   <!-- ... -->  </head>  

Подключение необходимой Вам версии, например 2.1.1:

  <head>   <!-- ... -->   <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>   <!-- ... -->  </head>  

Еще один вариант подключения необходимой Вам версии, например 2.1.1

  <head>   <!-- ... -->   <script type="text/javascript" src="http://www.google.com/jsapi"></script>   <script type="text/javascript">   // подключаем нужную версию jquery   google.load("jquery", "2.1.1");   google.setOnLoadCallback(function() {   alert('версия jQuery: ' + jQuery.fn.jquery);   });   </script>   <!-- ... -->  </head>  

Самый надежный вариант. Подключение с Google, если Google недоступен — подключаем со своего сайта:

  <!DOCTYPE html>  <html>   <head>   <!-- ... -->   <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>   <script type="text/javascript">   if (typeof jQuery == 'undefined') {    document.write(unescape("%3Cscript src='/path/to/jquery.min.js' type='text/javascript'%3E%3C/script%3E"));   }   </script>   <!-- ... -->   </head>   <body>   <!-- ... -->   <script>   var msg;   if (window.jQuery) {   msg = 'версия jQuery: ' + jQuery.fn.jquery;   } else {   msg = 'jQuery не установлен';   }   alert(msg);   </script>   <!-- ... -->   </body>  </html>  

Список всех версий jQuery можно посмотреть по адресу: http://code.jquery.com/jquery/

Плюсы подключения через Google:

  • Сайт будет грузиться быстрее, т.к. это хранилище используют многие проекты. А это значит что у многих пользователей плагин уже находится в кэше, что позволяет jQuery загружаться моментально. Если jQuery нет в кэше, тогда большая вероятность, что он будет взят из ближайших кэшей прокси.
  • Если его нет в кэше прокси, то jQuery будет доставлен быстрее пользователю, т.к. Google имеет большую сеть серверов и пользователь получит библиотеку из ближайшего.
  • Пользователь получает ответ от Google быстрее чем от рядового сервера т.к. Google обладает более мощными ресурсами.
  • На серверах Google настроено gzip сжатие, которое дополнительно сжимает размер библиотеки.

Минусы:

  • Зависимость от третей стороны. Если упадут сервера Google (что мало вероятно), то пользователь не получит библиотеку.
  • Если Google забанил IP пользователя, то библиотека не будет загружена.
  • Нет возможности получить урезанную версию плагина.

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

кодер.укр

UPDATE 7/3/2014: As of now, jquery-latest.js is no longer being updated. From the jQuery blog:

We know that http://code.jquery.com/jquery-latest.js is abused because of the CDN statistics showing it’s the most popular file. That wouldn’t be the case if it was only being used by developers to make a local copy.

We have decided to stop updating this file, as well as the minified copy, keeping both files at version 1.11.1 forever.

The Google CDN team has joined us in this effort to prevent inadvertent web breakage and no longer updates the file at http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js. That file will stay locked at version 1.11.1 as well.

The following, now moot, answer is preserved here for historical reasons.


Don’t do this. Seriously, don’t.

Linking to major versions of jQuery does work, but it’s a bad idea — whole new features get added and deprecated with each decimal update. If you update jQuery automatically without testing your code COMPLETELY, you risk an unexpected surprise if the API for some critical method has changed.

Here’s what you should be doing: write your code using the latest version of jQuery. Test it, debug it, publish it when it’s ready for production.

Then, when a new version of jQuery rolls out, ask yourself: Do I need this new version in my code? For instance, is there some critical browser compatibility that didn’t exist before, or will it speed up my code in most browsers?

If the answer is «no», don’t bother updating your code to the latest jQuery version. Doing so might even add NEW errors to your code which didn’t exist before. No responsible developer would automatically include new code from another site without testing it thoroughly.

There’s simply no good reason to ALWAYS be using the latest version of jQuery. The old versions are still available on the CDNs, and if they work for your purposes, then why bother replacing them?


A secondary, but possibly more important, issue is caching. Many people link to jQuery on a CDN because many other sites do, and your users have a good chance of having that version already cached.

The problem is, caching only works if you provide a full version number. If you provide a partial version number, far-future caching doesn’t happen — because if it did, some users would get different minor versions of jQuery from the same URL. (Say that the link to 1.7 points to 1.7.1 one day and 1.7.2 the next day. How will the browser make sure it’s getting the latest version today? Answer: no caching.)

In fact here’s a breakdown of several options and their expiration settings…

http://code.jquery.com/jquery-latest.min.js (no cache)

http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js (1 hour)

http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js (1 hour)

http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js (1 year)

So, by linking to jQuery this way, you’re actually eliminating one of the major reasons to use a CDN in the first place.


http://code.jquery.com/jquery-latest.min.js may not always give you the version you expect, either. As of this writing, it links to the latest version of jQuery 1.x, even though jQuery 2.x has been released as well. This is because jQuery 1.x is compatible with older browsers including IE 6/7/8, and jQuery 2.x is not. If you want the latest version of jQuery 2.x, then (for now) you need to specify that explicitly.

The two versions have the same API, so there is no perceptual difference for compatible browsers. However, jQuery 1.x is a larger download than 2.x.

stackoverflow.com

Сначала посмотрите на это:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>

С помощью этого кода вы можете загрузить библиотеку jQuery напрямую из сети доставки контента (CDN) Google.

Обратите внимание, вы можете прямо указать какую версию (/1.4.4/) библиотеки следует загрузить. Но это далеко не все, что можно сделать. Путем простого изменения этой части ссылки можно творить маленькие приятности:

/1.4.4/ – загрузит точно указанную версию библиотеки, которая никогда не изменится.

/1.4/ – прямо сейчас загрузит версию 1.4.4, но если завтра выйдет версия 1.4.5, то эта ссылка будет указывать на нее. Если затем появится 1.5, то будет указывать на последний релиз в ветке 1.4.х.

/1/ – прямо сейчас загрузит версию 1.4.4. Если завтра появится 1.5, то будет указывать на нее. После выхода версии 2.0 будет указывать на последний релиз в jQuery 1.х.

Маленькое напоминание о том, ради чего все это вообще делается

Уменьшаем задержки – файл грузится с ближайшего географически сервера.

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

Улучшаем кеширование – есть большая вероятность, что в браузерном кеше посетителя файл уже лежит и это скорейший способ загрузить его.

Сохраняем траффик – сжатая версия 1.4.4 «весит» 82 килобайта. Если ваши посетители запросят миллион страниц с пустым кешем браузера, вы сэкономите 74 гигабайта трафика.

Кеширование

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

/1.4.4/ – public, max-age=31536000 (один год)

/1.4/ – public, must-revalidate, proxy-revalidate, max-age=3600 (один час с перепроверкой)

/1/ – public, must-revalidate, proxy-revalidate, max-age=3600 (один час с перепроверкой)

Очевидно, кешировать на один час совершенно бесполезно. С другой стороны, пи выходе версии 1.4.5 тот, кто закешировал 1.4.4 на год, получал бы несвежую версию, а это тоже не очень хорошо.

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

Что выбрать

/1.4.4/ – никогда не изменится, никогда не разрушит функционал, лучше всех кешируется, интуитивно понятно

/1.4/ – может привести к нарушению работы кода при обновлениях, плохо кешируется.

/1/ – весьма вероятно, приведет к нарушению работы при обновлении, плохо кешируется.

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

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

Не jQuery единым

Приведенные выше соображения справедливы для всех библиотек в Google CDN. Автор проверил их в отношении MooTools и все работает аналогичным образом.

Другие CDN

JQuery можно забирать из сети Microsoft или с jquery.com. Они не дают большой свободы при выборе версий, но, стоит отметить, Майкрософт позволяет кешировать файл на год:

<script src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.4.min.js"></script>

jQuery.com не указывает как кешировать его файл:

<script src="http://code.jquery.com/jquery-1.4.4.min.js"></script>

Update 1.

Поддерживайте отечественного производителя с обширным списком библиотек: api.yandex.ru/jslibs

Update 2.

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

Кеширование даже на год часто не имеет смысла, т.к. размер браузерного кеша у многих пользователей мал. У меня в Файрфоксе и Опере по умолчанию стояло 50 и 40 мегабайт соответственно. При таких размерах и нынешних скоростях доступа он будет обновляться очень часто ввиду вытеснения старых элементов новыми. Я увеличиваю размеры кешей до 500 мегабайт, хотя некоторые авторы предпочитают думать, что это сильно снижает быстродействие браузеров.

Update 3. Передаваемый трафик

Опыты с ФайрБагом показали, что минимальный траффик дает загрузка jQuery из CDN Yandex.st, а Микрософт еще зачем-то подсовывает плюшку:

Yandex.st Google CDN Microsoft CDN
24605 bytes, gzip 27100 bytes, gzip 34187 bytes, gzip + 1090 bytes cookie

Update 4. Скорость отклика
Замеры производились в Краснодаре (Билайн) вручную посредством Yslow путем 10-кратного рефреша. В других городах результаты могут разительно отличаться. В скобках время первого отклика с чистым кешем.

Yandex.st Google CDN Microsoft CDN
~53 мс (305-320 мс) ~110 мс (324-333 мс) ~400 мс (720-990 мс)

habr.com

Что можно сделать, чтобы устранить проблему?

Первое — использовать PageSpeed Insights. Это может и не дать существенного прироста производительности. Результат в значительной степени зависит от целого ряда условий. В первую очередь, есть ли на сайте другие блокирующие кроме JQuery. Например, CSS или другие файлы JavaScript.

Если на сайте есть хотя бы один такой ресурс, то их количество уже не имеет особого значения. Потому что они будут загружаться браузером параллельно (в отличие от JQuery Google CDN). Если только для загрузки одного из них не требуется значительно больше времени, чем для других.

Но нужно постараться устранить блокираторы. И многим это удается, пока они не упрутся в JQuery. Рассмотрим некоторые способы решения этой проблемы:

1. Удалить или не использовать функционал, зависящий от JQuery

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

Существует плагин Rocket Lazy Load, для работы которого не требуется JQuery. После того как вы успешно удалите JQuery зависимый функционал, проблемы при отложенной загрузке, асинхронном вызове или объединении JQuery должны исчезнуть.

2. Объединить все, включая встроенные скрипты JavaScript

Это можно сделать с помощью плагина Autoptimize. Это не всегда работает, но вы все равно должны попробовать.

3. Загрузить Jquery с Google, а не локально

Если JQuery загружается с Google, то он (технически) все равно остается ресурсом, блокирующим загрузку. Но он таковым не является. Почему? Потому что миллионы сайтов используют JQuery Google.

Это означает, что с огромной долей вероятности пользователь вашего сайта уже посещал сайт с JQuery, и он сохранен в кэше его браузера. То есть JQuery не будет загружаться еще раз. Получается, что JQuery не блокирует отображение страницы (в отличие от локального варианта использования).

Как загрузить копию JQuery от Google

Шаг 1: Определите, какая версия Jquery используется на вашем сайте

  • Просмотрите исходный код вашей страницы;
  • Найдите JQuery. Он будет выглядеть примерно так: http://yourdomain.com/wp-includes/js/jquery/jquery.js?ver=1.11.3;
  • Три цифры в конце, в данном примере 1.11.3, обозначают версию JQuery;
  • Если вы не видите номер версии подключаемого JQuery Google, откройте файл;
  • В верхней части файла (в начале кода) вы увидите что-то вроде JQuery v1.11.3;
  • В этом примере 1.11.3 — это версия JQuery.

Шаг 2: Исключите из очереди загрузки локальную копию JQuery и добавьте копию Google

Вставьте в файл functions.php темы следующий код или используйте плагин, наподобие Code Snippets:

Важно:

Везде, где вы видите в приведенном выше коде «x.x.x«, замените эти символы номером версии подключаемого JQuery Google.

Шаг 3: Танцуйте от радости

www.internet-technologies.ru


You May Also Like

About the Author: admind

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

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.