


Этап пятый: «ненавязчивая» реклама. Клиентская оптимизация для произвольного сайта. Практическое приложение. Оптимизация структуры веб-страниц
Этап второй: базовые действия
Этап третий: шаманим с изображениями
Этап четвертый: счетчик времени загрузки
Этап пятый: «ненавязчивая» реклама
Заключение
Было решено существенно переработать логику загрузки страницы: вынести рекламные блоки в пост-загрузку, а загрузку самого JavaScript «отложить». Все этого было сделано в лучших традициях «ненавязчивого» JavaScript, которые описаны в седьмой главе книги «Разгони свой сайт». Google Analytics был вынесен на событие OnDOMReady (для точности измерения посещений), остальные — на window.onload.
В результате, на странице сразу загружалось только основное содержание. Сразу после него — Google Analytics и дополнительные библиотеки для галереи изображений (но только на тех страницах, где это было нужно: в частности, это не требовалось для главной страницы). Затем шла загрузка рекламных банеров, информера с курсом валют и погоды. В самом конце на страницу (в самый низ) вставлялся блок с остальными счетчиками. Загрузка почти всего (99% кода) JavaScript была переделана на «ненавязчивый» манер.
Единственная сложность возникла с блоком валют, который вызывался через внешний JavaScript-файл, который в свою очередь содержал document.write. Его пришлось вставлять через динамический iframe, который получал данные, а потом отправлял родительской странице. Поскольку информер этот загружается достаточно медленно, то получился значительный выигрыш во времени загрузки страницы после его вынесения в пост-загрузку.
После очередных замеров с помощью счетчика времени загрузки получилась следующая картина: среднее время загрузки — 7,3 секунды (ускорение более 100% от уже оптимизированного варианта), за 4 секунды сайт загрузился у 82% посетителей.

Рис. Скорость загрузки страниц на пятом этапе клиентской оптимизации для www.vaclavak.ru, источник: webo.in.