PageSpeed Insights - правила эффективного использования кеша для статических объектов

Maksimus777

New Member
Регистрация
08.03.2021
Сообщения
2
Всем привет. Загоняю сайт в зеленую зону. Не могу решить проблему с кешем. Сайт сделан на Modx,
Может быть в админке modx нужно что нибудь сделать что бы решить проблему? Много искал решение так и не разобрался.. вот htaccess:

Apache-конфиг:
<ifModule mod_expires.c>

# Add correct content-type for fonts
AddType application/vnd.ms-fontobject .eot
AddType application/x-font-ttf .ttf
AddType application/x-font-opentype .otf
AddType application/x-font-woff .woff
AddType image/svg+xml .svg

# Compress compressible fonts
AddOutputFilterByType DEFLATE application/x-font-ttf application/x-font-opentype image/svg+xml

## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 1 month"
</IfModule>
## EXPIRES CACHING ##

FileETag MTime Size
<ifmodule mod_expires.c>
  <filesmatch "\.(jpg|gif|png|css|js)$">
       ExpiresActive on
       ExpiresDefault "access plus 1 year"
   </filesmatch>
</ifmodule>

<IfModule mod_rewrite.c>
  RewriteEngine On

  # Check if browser supports WebP images
  RewriteCond %{HTTP_ACCEPT} image/webp

  # Check if WebP replacement image exists
  RewriteCond %{DOCUMENT_ROOT}/$1.webp -f

  # Serve WebP image instead
  RewriteRule (.+)\.(jpe?g|png)$ $1.webp [T=image/webp,E=REQUEST_image]
</IfModule>

<IfModule mod_headers.c>
  # Vary: Accept for all the requests to jpeg and png
  Header append Vary Accept env=REQUEST_image
</IfModule>

<IfModule mod_mime.c>
  AddType image/webp .webp
</IfModule>
 

Вложения

Последнее редактирование модератором:

BaNru

Пацифизжу
Команда форума
Регистрация
13.11.2010
Сообщения
4 138
На скрине видно, что проблема в яндекс.метрике.
Её отключать или к себе на сайт загружать и периодически обновлять, но есть вероятность что она умрёт и узнаешь об это не сразу.
Можно ещё один очень рисковый вариант: использовать клоакинг - отключать эти скрипты для PageSpeed по IP и ЮзерАгенты.

Что касается локальных файлов:
Перед продолжением ОБЯЗАТЕЛЬНО сделать резервную копию файла
1) Деректива mod_expires.c используется дважды (самое превое не в всчёт, оно вообще непонятно (см.5 пункт)) и почти полностью дублируется. Надо оставить одну (одна из них может и не срабатывать вообще, надо проверять какая рабочая)
2) Может вообще не поддерживаться mod_expires.c. Проверить можно примерно следующим вариантом
Apache-конфиг:
<IfModule mod_rewrite.c>
Deny from all
</IfModule>
Доступ к сайту должен закрыться (после удаления этой строки он откроется)
3) Конфиг может быть вообще с ошибками. Проверить его можно попробовать (но это не 100% вариант проверки) добавив в конце файла
Apache-конфиг:
Deny from all
Сайт также должен закрыться (после удаления строки так же он откроется. Тогда с большой долей вероятности в htaccess нет ошибок, но это неточно.
4) Может сервер вообще не на apache, а на nginx? Тогда htaccess вообще не работает.
5) Что-то не вижу закрытия первого условия <ifModule mod_expires.c> . Похоже ошибка.
 
Последнее редактирование:

Maksimus777

New Member
Регистрация
08.03.2021
Сообщения
2
2. пункт проверил, сайт закрывается
пробовал оба варианта mod_expires.c , не работают.
Написал хостингу в поддержку, может быть помогут, напишу результат. Спасибо
 

Bagabas

Member
Регистрация
22.12.2017
Сообщения
17
Спасибо очень полезная инфа так раз тоже оптимизирую.
 
Верх Низ