Методы экстремальной оптимизации |
|
Чем больше число внешних ресурсов, к которым браузер обращается при загрузке, тем больше время требуется для отображения страницы. Как правило, веб-страницы обращаются ко многим внешним CSS и файлам JavaScript. Все файлы стилей и скриптов можно объединить, чтобы уменьшить число внешних ресурсов этих типов до двух. Это, естественно, поможет серьезно сократить время загрузки страницы. Объединение JavaScript и CSS в одном файлеОднако есть способ объединения CSS с JavaScript и сведения количество загрузок к одной. Техника основана на том, как CSS и анализатор JavaScript ведут себя в IE и Firefox.
Рассмотрим на примере<!-- /* Когда анализатор CSS будет разбирать вышеупомянутый код, символы комментария HTML будут пропущены, и код станет эквивалентным следующему примеру: /* Анализатор CSS видит только CSS-код, а код скрипта закомментирован (/* ... */). Когда анализатор JavaScript станет разбирать код, символы комментария HTML будут интерпретированы в комментарии строки (//), и, следовательно, код станет таким: // /* Анализатор JavaScript видит только код скрипта, а все остальное закомментировано. Чтобы ссылаться на этот ресурс, можно использовать теги <script> и <link> на странице. Например: <link type="text/css" rel="stylesheet" href="/test.jscss" /> Заметим, что эти два тега ссылаются на один тот же ресурс и, следовательно, он загрузится всего один раз и будет интерпретирован и как стили, и как скрипты. Есть еще одна вещь, о которой стоит позаботиться - Content-Type ответа. Его необходимо выставлять в */*, чтобы дать подтверждение Firefox: содержание может быть обработано как что-либо подходящее (как стили или как скрипты). Указанное решение не работает в Safari (1-5% пользователей), однако, конкретно для этого браузера (определив его через User-Agent) уже можно вставить загрузку еще одного файла. Объединение HTML, CSS и JavaScript в одном файлеЧтобы избежать дополнительных запросов со стороны браузера, можно включить непосредственно стилей и(ли) скриптов в сам HTML-документ. Здесь стоит остановиться на следующем моменте: если размер CSS- (или JavaScript-) файла больше, чем 20% (и при этом больше 5 Кб в сжатом виде), лучше вынести его как отдельный компонент. Это позволит настроить его кэширование для постоянных пользователей вашего сайта. Рассматривать включение всех ресурсов в исходную HTML-страницу стоит только в том случае, если достаточно большой процент посетителей (больше 90%) пришли на нее в первый и (возможно) в последний раз. Тогда эта технология будет замечательно работать: кэширование ничего практически не даст, а дополнительные запросы к серверу замедлят загрузку страницы для новых, не знакомых со спецификой сайта посетителей (что может быть решающим фактором для их окончательного ухода). Во всех остальных случаях - когда можно выделить достаточно большие ресурсные файлы или когда достаточное количество пользователей приходят не в первый раз - такой подход неприменим. Как рабочий пример можно привести заглавные страницы Яндекса и Google - на них вызывается минимум внешних ресурсов, а стилевые правила включены в саму страницу. Внутри или снаружи?Давайте в качестве заключения рассмотрим следующий вопрос: стоит ли вообще подключать JavaScript- и CSS-файлы или можно включить весь их код непосредственно в код страницы? Использование подключаемых файлов на практике обычно дает более быстрые страницы, т.к. браузеры кэшируют файлы скриптов и CSS. JavaScript- и CSS-код, который находится в HTML, загружается каждый раз при загрузке самого HTML-документа. Это уменьшает количество необходимых HTTP-запросов, но увеличивает объем HTML. С другой стороны, если скрипты и таблицы стилей находятся в отдельных файлах, закэшированных браузером, размер HTML уменьшается, не увеличивая при этом количество HTTP- запросов (при повторных посещениях). В таком случае ключевым фактором является частота, с которой кэшируются внешние JavaScript- и CSS-файлы относительно количества запросов самого HTML-документа. И хотя этот фактор очень сложно посчитать, его можно приблизительно оценить различными способами. Если пользователи во время одного посещения загружают страницу несколько раз или загружают похожие страницы, которые используют один и тот же код, - это именно тот случай, когда мы можем получить все преимущества от вынесения кода в отдельные файлы. Многие сайты только наполовину удовлетворяют этим условиям. Для таких случаев, в целом, лучшим решением будет создание внешних файлов скриптов и таблиц стилей. Единственное исключение, которое можно здесь привести (когда прямое добавление кода дает большое преимущество) - это использование его на главных страницах, таких, как главная страница Яндекса ( http://www.yandex.ru/ ), Рамблера ( http://www.rambler.ru/ ) или Google ( http://www.google.ru/ ). Для страниц, которые загружаются всего несколько (обычно - один) раз за весь сеанс, выгодней включать скрипты и таблицы стилей прямо в HTML-документ, чтобы выиграть в скорости загрузки. Для таких главных страниц, которые открываются первыми в ряду других с этого же сайта, существует возможность уменьшить число HTTP-запросов еще и следующим образом. Мы можем включить JavaScript и CSS в код самой страницы, однако, после ее полной загрузки динамически подгружать внешние файлы стилей и скриптов для последующего использования (на стадии пост-загрузки). При этом следующие страницы будут использовать уже закэшированные файлы.
|
Что такое поисковая система ЯндексПрежде чем пускаться в алгоритмические дебри, давайте вспомним, а как вообще устроена поисковая система. Читать полностью |
Поисковая оптимизация. С чего все начинаетсяПоисковая оптимизация - это комплекс работ над сайтом и внешними факторами для достижения наилучших позиций в поисковых системах в соответствии с выбранными ключевыми словами. Поисковую оптимизацию можно разделить на внутреннюю и внешнюю. Внутренняя оптимизация сайта направлена на работу с самим сайтом. Читать полностью |
Использование приемов при оптимизации сайтаНекоторые оптимизаторы прибегают к использованию черных и серых методов продвижения, в поисках решения, которое позволило бы сайту занять место в заветной десятке лидеров результатов поиска. Черными называют запрещенные приемы оптимизации. Поисковая система при обнаружении одного из них наказывает сайт, исключая его из базы данных. Серые методы продвижения не считаются запрещенными, но грань... Читать полностью |
Алгоритм НаходкаТестирование новой версии алгоритма Яндекса началось 9 июля 2008 года. По заявлениям Яндекса, «основные изменения в программе связаны с новым подходом к машинному обучению и, как следствие, отличиями в способе учета факторов ранжирования в формуле». Читать полностью |
