Еще один тупой вопрос тем, кто видимо продвинулся куда то дальше и глубже или думает, что продвинулся)
Вот такие нашел рекомендации на популярных в сети блогах, авторы что-то рекомендуют, пишут что
непонятно как, но добились ускорения работы своих творений.
Размеры кода предлагаются в разных местах асолютно своеобразные))
Больше всего понравилась рекомендация от одного блогера: «Попрбуй вставить только первый кусок кода, некоторым и его
за глаза хватает")
http://webmastermaksim.ru/instrumenty-vebmastera/uskoryaem-sajt-s-pomoshhyu-page-speed-putem-ispolzovaniya-kesha-brauzera-leverage-browser-caching-cherez-nastrojku-fajla-htaccess.html (http://webmastermaksim.ru/instrumenty-vebmastera/uskoryaem-sajt-s-pomoshhyu-page-speed-putem-ispolzovaniya-kesha-brauzera-leverage-browser-caching-cherez-nastrojku-fajla-htaccess.html)
http://ktonanovenkogo.ru/vokrug-da-okolo/programs/skorost-zagruzki-sajta-prodvizhenie-kak-uskorit-sajt-page-speed.html (http://ktonanovenkogo.ru/vokrug-da-okolo/programs/skorost-zagruzki-sajta-prodvizhenie-kak-uskorit-sajt-page-speed.html)
Однако первая рекомендация которую выдает всем знакомый Page Speed — Используйте кэш браузера
Попробовал пару вариантов на сайтах с Joomla, не катит)
Вопросы такие:
— стоит ли вообще заморачиваться с .htaccess
— будет ли бонус от поисковика за такие настройки ( параметров 1000)
— возможен ли универсальный кусок кода для всех CMS
— как пересекаются: включение кеширования в админке Joomla и попытка прописать инстукции в .htaccess
— плагины для Joomla вообще не интересуют я понял, что это такое, не применяю в принципе ничего лишнего)
Нормальное желание улучшить, довести до идеала и тп
Посоветуйте, кто рубит и понял о чем выше...
Добавлено: 10-10-2011, 18:27:33
// Директива SetOutputFilter DEFLATE добавляет модуль mod_deflate, который сжимает файлы, к выходным фильтрам, а блок FilesMatch ограничивает действие этого фильтра только файлами js и css.
<FilesMatch "\.(js|css)$">
SetOutputFilter DEFLATE
</FilesMatch>
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault A600
ExpiresByType image/x-icon A2592000
ExpiresByType application/x-javascript A604800
ExpiresByType text/css A604800
ExpiresByType text/javascript A604800
ExpiresByType image/gif A2592000
ExpiresByType image/png A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType text/html A60
</IfModule>
Попробовал добавить такие строчки в .htaccess
Ответ Page Speed:
http://46.182.28.219/ads/query.php (не указан срок истечения действия)
http://odnaknopka.ru/images/button.gif (не указан срок истечения действия)
http://odnaknopka.ru/images/panel.png (не указан срок истечения действия)
http://odnaknopka.ru/ok2.js (не указан срок истечения действия)
http://site.ru/components/com_gantry/css/gantry.css (не указан срок истечения действия)
http://site.ru/components/com_gantry/css/grid-12.css (не указан срок истечения действия)
http://site.ru/components/com_gantry/css/joomla.css (не указан срок истечения действия)
Не работает...
Вместо text/javascript надо писать application/javascript а так-то да, кэш браузера можно включить в htaccess
# Включаем кэш в браузерах посетителей
<ifModule mod_headers.c>
# Все html и htm файлы будут храниться в кэше браузера один день
<FilesMatch "\.(html|htm)$">
Header set Cache-Control "max-age=43200"
</FilesMatch>
# Все css, javascript и текстовые файлы будут храниться в кэше браузера одну неделю
<FilesMatch "\.(js|css|txt)$">
У меня работает приведённый ниже код
Header set Cache-Control "max-age=604800"
</FilesMatch>
# Все флэш файлы и изображения будут храниться в кэше браузера один месяц
<FilesMatch "\.(flv|swf|ico|gif|jpg|jpeg|png)$">
Header set Cache-Control "max-age=2592000"
</FilesMatch>
# Отключаем кеширование php и других служебных файлов
<FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$">
Header unset Cache-Control
</FilesMatch>
</IfModule>
У меня работает вот этот код:
# кеширование в браузере на стороне пользователя
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access 7 days"
ExpiresByType application/javascript "access plus 1 year"
ExpiresByType text/javascript "access plus 1 year"
ExpiresByType text/css "access plus 1 year"
ExpiresByType text/html "access plus 7 day"
ExpiresByType text/x-javascript "access 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/x-icon "access 1 year"
ExpiresByType application/x-shockwave-flash "access 1 year"
</IfModule>
# Cache-Control
<ifModule mod_headers.c>
# 30 дней
<filesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
# 30 дней
<filesMatch "\.(css|js)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
# 2 дня
<filesMatch "\.(xml|txt)$">
Header set Cache-Control "max-age=604800, public, must-revalidate"
</filesMatch>
# 1 день
<filesMatch "\.(html|htm|php)$">
Header set Cache-Control "max-age=604800, private, must-revalidate"
</filesMatch>
И все отлично)
Вот мой кусок начальный с .htaccess не знаю на сколько настройки влияют на продвижение ???, хотя однозначно влияют ибо настройки незначительно уменьшают скорость загрузки, а это (+). Так как чем быстрее грузится сайт, тем выше для вашего сайта ранжирование среди конкурентов в вашей нише.
Настройки подробно прокомментированы и понятны у меня при таких настройках скорость загрузки сайта увеличилась приблизительно 9 - 10%.
AddEncoding gzip .gz
### 1. Обработка js-файлов
<FilesMatch "\.js.gz$">
ForceType text/javascript
Header set Content-Encoding: gzip
</FilesMatch>
<FilesMatch "\.js$">
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} !".*Safari.*"
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule (.*)\.js$ $1\.js.gz [L]
ForceType text/javascript
</FilesMatch>
### 2. Обработка css-файлов
<FilesMatch "\.css.gz$">
ForceType text/css
Header set Content-Encoding: gzip
</FilesMatch>
<FilesMatch "\.css$">
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} !".*Safari.*"
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule (.*)\.css$ $1\.css.gz [L]
ForceType text/css
</FilesMatch>
# кеширование в браузере на стороне пользователя
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access 7 days"
ExpiresByType application/javascript "access plus 1 year"
ExpiresByType text/javascript "access plus 1 year"
ExpiresByType text/css "access plus 1 year"
ExpiresByType text/html "access plus 7 day"
ExpiresByType text/x-javascript "access 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/x-icon "access 1 year"
ExpiresByType application/x-shockwave-flash "access 1 year"
</IfModule>
# Cache-Control
<ifModule mod_headers.c>
# 30 дней
<filesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
# 30 дней
<filesMatch "\.(css|js)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
# 2 дня
<filesMatch "\.(xml|txt)$">
Header set Cache-Control "max-age=172800, public, must-revalidate"
</filesMatch>
# 1 день
<filesMatch "\.(html|htm|php)$">
Header set Cache-Control "max-age=172800, private, must-revalidate"
</filesMatch>
</ifModule>
Добавлю вопрос:
Один из советов гугла - переносить скрипты в футер. Нашел в просторах инета лишь одну статью как это сделать, - и то не очень точную(не смог сделать по ней)
Так собственно сам вопрос: подскажите как перенести скрипты в футер(joomla 2.5) или ткните носом в ссылку где четко описан РАБОЧИЙ способ.
Благодарен заранее.
Я делаю топoрно:
1) выписываю все скрипты, которые подгружаются на страницу и в index.php удаляю их загрузку в модуле "head" через unset(<путь к скрипту>)
2) добавляю новый модуль перед </body> и вставляю туда список скриптов (обязательно в тоже порядке, как они загружались на странице)
3) переношу в этот модуль все <script></script> из тела страницы
если какие-то компоненты перестали правильно работать, то приходится разбираться в коде из .js - обычно в течение пары часов получается подправить, но без знания Java тут не обойтись
по поводу плюшек за ускорение сайта, ускорил сайты по максимуму, на нескольких проектах никак не отразилось на посещаемости...
Добавлено: 04-03-2016, 01:03:39
получается что как ранее говорили быстрые сайты поисковики любят, теперь уже миф...
troll22, вовсе не миф.
Просто скорость только один из факторов, когда всё остальное хорошо.
Ну логически подумать: одна страница грузится 10 секунд, другая - 2, какую из них поисковик предпочтет выдать при прочих равных
А у кого есть рабочий .htaccess для вордпресса, а то гугль меня тоже не любит. Там Тотал кэш свои директивы прописал
Без разницы вордпресс или джумла, это общие настройки для вебсервера. В зависимости какие модули установлены в апаче и как настроены, это будет работать или нет.
Для ускорения со стороны сервера я добавил у себя:
#Gzip сжатие с помощью модуля mod_deflate - начало
<ifModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/xml application/xml application/xhtml+xml text/css text/javascript application/javascript application/x-javascript
</ifModule>
##Gzip сжатие с помощью модуля mod_deflate - конец
Базовый блок типа <IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access plus 1 year" </IfModule> работает везде, адаптируй под сервер (Apache/Nginx).
Пересечение с Joomla админкой: Если включишь кэшь в Fantastic bar'е или Global Config, это добавит свои headers, а .htaccess можно использовать для особых правил, без конфликтов, главное не дублируй директивы.