wasp, снова приятные слова, спасибо.
По форуму Никка: в свое время там уже проводилась большая оптимизация кода в плане увеличения скорости загрузки страниц все по ниже приведенным рекомендациям.
Возможно все не вспомню, но вот базовые вещи, которые не мешает сделать всем, а лучше сразу это включить в дистрибутив форума. Об эффективности тех или иных способов оптимизации как кода шаблонов, так и общего объема передаваемых данных можно спортить долго и нудно. Выскажу общие положения со своими наработками и точкой зрения.
Базовое:
1. Проанализировать и немного оптимизировать css. Код по возможности сократить (этот пункт дает совсем незначительный прирост производительности, почти никак не заметный), но без фанатизма (пока что, об этом ниже).
2. Оптимизировать шаблоны: вполне прилично может затормозить загрузку страницы неоптимизированная графика (размеры некоторых графических элементов шаблона могут иногда ужиматься в разы без потери какого либо заметного качества). Кажется, что там дает 1-2Кб? А много, если таких элементов десятки.
3. Оптимизировать html- код страницы. Убрать лишние заголовки в header-е: часть из того, что есть в изначальной инсталляции и тянется у многих с первых версий форума - давным давно устарели и никак не влияют и не работают. В некотором случае - даже мешают (это уже вопросы SEO, пока не о том). Сам код желательно, но не обязательно на все 100%, приблизить к валидному, т.е. соответствующему стандарту. До 100% доводить смысла не вижу (мы уже давно не в 90-х, браузеры пишут умные люди - это если кратко). Сам процесс исправления (и подгонки под валидный) кода имеет огромны плюс - даже в стандартных шаблонах хватает кривизны, как в плане синтаксиса, так и использования тех или иных тегов и атрибутов. Частично это решается просто.
Например, значительно влияет на загрузку такая, казалась бы мелочь - у загружаемых картинок шаблона не установлены прямо в коде их размеры (т.е. для тега img нет указания width и height). Да, без них страница загрузиться. Но в процессе ее будет "плющить и колбасить", ведь для того, что бы рендер отрисовал страницу, должны загрузиться все ее элементы. Вот он и париться, постоянно ее перестраивая, пока подгружается графика. Заодно, раз мы решили делать валидный код, не мешает помимо размеров для картинок указать атрибут alt. Рекомендуется даже вплоть до того, что оставить его пустым (alt="").
4. Очень сильно на скорость загрузки страницы влияет всякий посторонний мусор в виде многочисленных баннеров, которые загружаются со сторонних ресурсов. Ладно, если там всего лишь ссылка и картинка. А если там флеш или java (различные гугл ад-сенсы, виджеты многочисленных социалок или того хуже различная тизерная реклама от сомнительных конторок)? Вот тут наступает вообще полная ..опа )))
Благо, появился способ это победить - погуглите по запросу "
асинхронная загрузка java". Если кратко - многие адекватыне конторы уже дают код асинхронной загрузки, для многих других он уже написан энтузиастами. Кстати,
ответ на второй вопрос Никка - именно на это у Никка и ругается, т.е. сейчас приходится грузить объемный java-код еще до загрузки самой страницы, хотя для отрисовки страницы (и загрузки) он скорее всего не нужен.
5. Я считаю не таким уже маловажным включенное сжатие трафика на самом хосте. Есть возможность включить сжатие html-а средствами самого форума (не знаю, почему многие это не используют, при верно настроенном сервере проблем не возникало никогда). Но все же, если сжатие включено на сервере (Никк, я тебе уже писал об этом!), то сжатыми передадутся также стили css и java-скрипты. Т.к. все вышеперечисленное - фактически просто текст, сжатие и уменьшение передаваемого трафика доходит до 6-8 крат.
Сжимать можно любые типы файлов, если хостер позволяет, то управлять можно прямо из .htaccess
-----------------------
Теперь для фанатов:
1. Java и CSS ужать в одну строку, выкинуть лишние пробелы и символы. Сомнительное ускорение, ведь код станет почти нечитаемым. Можно делать, как по мне, только для тех файлов, в которых , вы уверены, ничего править больше не придется.
2. Часть графики (в основоном мелкие элементы оформления) сделать в виде
спрайтов, выводимых через css (проще и быстрее загрузить один большой файл, чем 100500 маленьких).
3. Для гурманов - побаловаться разным кешированием, заголовками и пр. Я пока мало этим занимался, польза сомнительная, если постоянно не отслеживать тенденции поведения как поисковых ботов, так и различных браузеров. Т.е. трудоемкость высокая, полученная производительность - не велика. Причина озвучена выше - браузеры и боты уж давно не те, они умные и часто им плевать на ваши ласт-модифиты и экспиренсы, по крайней мере заданные через meta-теги (это еще один ответ на
первый вопрос Никка)
-----------------------------------------
Все изложенное выше - это очень бегло, базово и кратко. Поле для деятельности - огромное. )))
зы. Над асинхронной загрузкой java я сейчас работаю. Пока перевожу на нее социалки, их виджеты, потом постараюсь посмотреть по стандартному коду форума. Но не обещаю, банально нет времени.