Перейти к содержимому


Пользователь месяца
ShowPrint ShowPrint 1-й за Сентябрь
Очков активности: 283 2 темы, 21 сообщение, 7 баллов репутации
Сайт: ShowPrint.ru
ТОП самых активных за этот месяц
  • Фотография Medvedoc
    #1

    Medvedoc
    Очков активности: 510 9 тем, 58 сообщений, 4 балла репутации

  • Фотография ShowPrint
    #2

    ShowPrint (ShowPrint.ru)
    Очков активности: 312 Вне конкурса за определение пользователя месяца

  • Фотография Ixman
    #3

    Ixman (o5cat.ru)
    Очков активности: 216 0 тем, 24 сообщения, 6 баллов репутации

  • Фотография BLIK
    #4

    BLIK
    Очков активности: 210 Вне конкурса за определение пользователя месяца

  • Фотография Игорь Ку
    #5

    Игорь Ку (dudesday.ru)
    Очков активности: 126 4 темы, 9 сообщений, 4 балла репутации

  • Фотография WGN
    #6

    WGN (worldgamenews.com)
    Очков активности: 88.5 Вне конкурса за определение пользователя месяца

  • Фотография Алексей111
    #7

    Алексей111 (xvideo24.ru)
    Очков активности: 66 8 тем, 20 сообщений, 1 балл репутации

  • Фотография yuran
    #8

    yuran (yurbol.ru)
    Очков активности: 37.5 1 тема, 22 сообщения, 1 балл репутации

  • Фотография Zevss
    #9

    Zevss (domles43.ru)
    Очков активности: 22.5 2 темы, 9 сообщений, 1 балл репутации

  • Фотография falka
    #10

    falka (mygoodjob.ru)
    Очков активности: 16.5 3 темы, 2 сообщения, 1 балл репутации

  • Показать весь ТОП 10

Kwork.ru - услуги фрилансеров от 500 руб.

Поддержите форум! =)
Апдейты
  • Яндекс тИЦ: 26.09.2018
  • Яндекс выдача: 20.10.2018
Топ 5 участников по репутации


Как сделать кэширование на WP

#1 Thrash

Thrash
  • Пользователь PRO
  • 645 сообщений
  • Репутация: 55
0

Отправлено 10 November 2017 - 13:15

Всем привет!

Что-то не могу добиться кэширование на сайте на WP.

 

Картина в PageSpeed Tools:

Screenshot_1.png

 

И так со всеми картинками.

 

Что я сделал в .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>
	#отключить кэширование
	<FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$">
		Header unset Cache-Control
	</FilesMatch>
</IfModule>
<ifModule mod_expires.c>
	ExpiresActive On
	#по умолчанию кеш в 5 секунд
	ExpiresDefault "access plus 5 seconds"
	#кэшировать флэш и изображения на месяц
	ExpiresByType image/x-icon "access plus 2592000 seconds"
	ExpiresByType image/jpeg "access plus 2592000 seconds"
	ExpiresByType image/png "access plus 2592000 seconds"
	ExpiresByType image/gif "access plus 2592000 seconds"
	ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
	#кэшировать css, javascript и текстовые файлы на одну неделю
	ExpiresByType text/css "access plus 604800 seconds"
	ExpiresByType text/javascript "access plus 604800 seconds"
	ExpiresByType application/javascript "access plus 604800 seconds"
	ExpiresByType application/x-javascript "access plus 604800 seconds"
	#кэшировать html и htm файлы на один день
	ExpiresByType text/html "access plus 43200 seconds"
	#кэшировать xml файлы на десять минут
	ExpiresByType application/xhtml+xml "access plus 600 seconds"
</ifModule>

После всего этого картина в PageSpeed Tools никак не меняется. Такое чувство, что настройки не подхватываются из файла. Хотя у меня настроена склейка www и без www и всё работает.

 

Задачу с кэшированием не хочу решать плагинами, а именно серверными методами.

Подскажите, пожалуйста, может я чего-то не замечаю или не правильно что-то прописал.

 

Спасибо!


 

 

  • 0
Изображение


#2 ShowPrint

ShowPrint
  • Пользователь PRO
  • 3051 сообщений
  • Репутация: 835

Отправлено 10 November 2017 - 13:32

@Thrash, htaccess обычно "жестко" кешируется браузером и Ctrl+F5 его не обновляет. Обычно надо принудительно чистить кеш браузера - чистили?


  • 0
MasterWEBS: третий дом - моё хобби и увлечение... Второй дом: работа - не меньше 12 часов в день...
Первый дом - под охраной: "Осторожно - злая жена!" (дрессировалась долго и надёжно) /*ссылку не просите - не дам!*/


#3 Ixman

Ixman
  • Пользователь PRO
  • 2910 сообщений
  • Репутация: 748

Отправлено 10 November 2017 - 14:16

@Thrash, сервер какой apache или nginx, или связка?


  • 0


#4 Thrash

Thrash
    Topic Starter
  • Пользователь PRO
  • 645 сообщений
  • Репутация: 55

Отправлено 10 November 2017 - 14:19

@Ixman, сервер свой со своим айпи. Windows+apache. 


  • 0
Изображение


#5 Ixman

Ixman
  • Пользователь PRO
  • 2910 сообщений
  • Репутация: 748

Отправлено 10 November 2017 - 14:21

Ну если апач, то htaccess должен работать по любому


  • 0


#6 Thrash

Thrash
    Topic Starter
  • Пользователь PRO
  • 645 сообщений
  • Репутация: 55

Отправлено 10 November 2017 - 14:22

@ShowPrint, почистил и зашел с другого браузера. Результат то же. Такое чувство, что на уровне сервера что-то, что не даёт кэшировать на уровне сайта. 


  • 0
Изображение


#7 ShowPrint

ShowPrint
  • Пользователь PRO
  • 3051 сообщений
  • Репутация: 835

Отправлено 10 November 2017 - 14:45

@Thrash, попробуй добавить public в директиве Cache-control:

<ifModule mod_headers.c>
	#кэшировать html и htm файлы на один день
	<FilesMatch "\.(html|htm)$">
		Header set Cache-Control "max-age=43200, public, must-revalidate"
	</FilesMatch>
	#кэшировать css, javascript и текстовые файлы на одну неделю
	<FilesMatch "\.(js|css|txt)$">
		Header set Cache-Control "max-age=604800, public, must-revalidate"
	</FilesMatch>
	#кэшировать флэш и изображения на месяц
	<FilesMatch "\.(flv|swf|ico|gif|jpg|jpeg|png)$">
		Header set Cache-Control "max-age=2592000, public"
	</FilesMatch>
	#отключить кэширование
	<FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$">
		Header unset Cache-Control
	</FilesMatch>
</IfModule>

 

 

Директива заголовка Cache-Control объявляет "public" - это означает, что файл может кэшироваться публично

Может в этом моменте "собака порылась", по крайней мере у меня стоит и помню что в своё время была аналогичная проблема. Как точно решилась не помню, может быть и посредством добавления "public"  :huh:

 

PS. Для html, css, js я у себя добавил еще "must-revalidate", типа проверки наличия изменений.


  • 0
MasterWEBS: третий дом - моё хобби и увлечение... Второй дом: работа - не меньше 12 часов в день...
Первый дом - под охраной: "Осторожно - злая жена!" (дрессировалась долго и надёжно) /*ссылку не просите - не дам!*/


#8 BLIK

BLIK
  • Супермодератор
  • 4116 сообщений
  • Репутация: 930

Отправлено 10 November 2017 - 15:08

Так а в апаче, стоят эти модули

 

a2enmod headers
 
и 
 
a2enmod expires
 
 
Если нет установить
a2enmod headers
/etc/init.d/apache2 restart
a2enmod expires
/etc/init.d/apache2 restart

  • 2

Качественный хостинг   Тут может быть ваша ссылка?



#9 Thrash

Thrash
    Topic Starter
  • Пользователь PRO
  • 645 сообщений
  • Репутация: 55

Отправлено 11 November 2017 - 11:14

@BLIK, спасибо! Помогло!!! 


  • 0
Изображение


robot

robot
  • Пользователь PRO
  • 2652 сообщений
  • Репутация: 85


Похожие темы

  Название темы Автор Статистика Последнее сообщение

Оформление форума – IPBSkins.ru