Кеширование страниц интернет магазина

12
MAPTEH
На сайте с 02.02.2016
Offline
2
1761

Для ускорения загрузки страниц, нужно закешировать страницы. Но на сайте есть много динамического контента, который нельзя кешировать. Есть какое то решение, что бы закешировать только определенные страницы, файлы и скрипты?

FV
На сайте с 11.09.2015
Offline
3
#1

Сайт на чем работает?

Для страниц Cache-Control:

https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9

Для файлов или отдельных блоков - всё зависит используемого шаблонизатора.

crazy2010
На сайте с 28.08.2010
Offline
64
#2

Конечно можно. Обычно на стороне веб-сервера кешируются JS, CSS и т.д.

Лучший VPS (https://m.do.co/c/37507a542023) Продаю u m n o . r u дорого
MAPTEH
На сайте с 02.02.2016
Offline
2
#3
feanorr-V:
Сайт на чем работает?

Да какой то самописный движок на PHP

FV
На сайте с 11.09.2015
Offline
3
#4

MAPTEH, файлы - в htaccess по расширению кэшировать, а конкретные страницы - с помощью Cache-Control (выше дал ссылку).

Для умных шаблонизаторов есть возможность отдельные куски кода в кэш записывать, но не зная архитектуру сайта ничего посоветовать не могу.

MAPTEH
На сайте с 02.02.2016
Offline
2
#5
feanorr-V:
MAPTEH, файлы - в htaccess по расширению кэшировать, а конкретные страницы - с помощью Cache-Control (выше дал ссылку)

Мне просто небольшая подсказочка нужна. Я записал в htaccess

<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>
но это, тупо, все кешируется, теперь если записать еще
<FilesMatch "image001\.png$">

ExpiresActive On
ExpiresDefault "now"
Header append Cache-Control must-revalidate
</FilesMatch>

<LocationMatch ^/news/.*>
ExpiresDefault "now"
</LocationMatch>
То эти файлы не будут кэшироваться?

Каков алгоритм? Кэшировать все, а вот это ... не кешировать?

worldfoto
На сайте с 20.04.2012
Offline
213
#6

как вариант переехать на сервер с кешированием

⭐ ->Лучший VPN https://u.to/i1L5IA | ⭐ - > Лучшая партнерка только с ней и зарабатываю! https://is.gd/OrRjrw
FV
На сайте с 11.09.2015
Offline
3
#7
MAPTEH:
То эти файлы не будут кэшироваться?
Каков алгоритм? Кэшировать все, а вот это ... не кешировать?

Да. Если директива идет позже, то она сделает исключение из предыдущей того же типа. Единственное что в вышеприведенном коде смущает - это использование разных директив для кэша. Правильнее будет установить "Header append Cache-Control", а потом исключить то что нужно.

Проверить то можно сразу на реальном сервере, ставь да смотри.

worldfoto:
переехать на сервер с кешированием

Любой веб-сервер подразумевает наличие кэширования данных. Куда переехать? Дело исключительно в настройке.

bruder
На сайте с 03.02.2015
Offline
199
#8

Для опенкарта поставить Нитро и не париться. Для другого движка гуглить подобное.

MAPTEH
На сайте с 02.02.2016
Offline
2
#9

Пока закешировал только изображения

<ifModule mod_headers.c>

<filesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
</ifModule>

Скрипты пока не трогал, скорость загрузки главной страницы с 50 процев поднялась до 78 (оранжевая зона), надо еще с кешированием скриптов пошаманить. Тут у меня засада со скриптами заказов, капчей и админкой их то нельзя кешировать

C
На сайте с 04.02.2005
Offline
291
#10
bruder:
Для опенкарта поставить Нитро и не париться. Для другого движка гуглить подобное.

Бред

Нитро кеширует всю страницу, но не динамический контент (например, последние, лидеры продаж)

И делает огромное количество страниц в своем кеше, и бросает все в одну папку, т.е. когда у тебя 100500 товаров.. то там такая каша...

это навскидку...

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий