А что за формат у картинки? Можете пример скинуть приблизительный как выглядит тайл?
Посмотрел ваш сайт, не сказал бы что медленно, но и не быстро. Обычный бюджетный хостинг не претендующий на скорость работы.
Wildcard Subdomain + роутинг. Возможно ещё самописный плагин. Я делал блог, где категория размещалась на сабдомене, т.е. auto.site.ru, hitech.site.ru.
Data written 289 GB, у меня уже 8ТБ набежало, и состояние отличное.
PHP 7 версии быстрее чем 5 где-то на 50% минимум.
Вы, видимо, такой-же перфекционист как и я. Но проблема в том, что в Google PageSpeed особого смысла нету. От 70 баллов достаточно. Сделайте просто быстрое время ответа сервера, и картинки пожмите TinyPNG/TinyJPG, чтобы при том же качестве весили меньше. Этого будет достаточно. Если вы хотите больше - нужно менять верстку, или ставить nginx_pagespeed
opCache конечно может отнимать баллы, только в том случае, если он не работает, зачастую на хостинге его отключают, даже не смотря на то, что юзер ставит галочку "ВКЛ". И вообще, нужно мерять его работу не баллами PageSpeed, а TTFB (Time To First Byte) - оно должно уменьшаться.
Да, я там в ответ добавил.
А можно переставить PHP на 7 версию?
Возможно хостинг хрень, гляньте у меня в подписи хостинг, там есть тест на 7 дней бесплатный. Попробуйте туда поставить (там есть PHP7 + opCache)
Тут не в кешировании дело, а в медленной базе или диске. Бекенд не кешируется, а тут он грузится долго вы говорите. Так что кеш тут точно не причем, и вряд ли как-то поможет.
Попробуйте открыть в хроме админку, нажать F12, перейти во вкладку Network, нажать F5, и заскринить первую строчку вкладку Timing.
Конечно можно, в файле list-thumbs.html в теме дизайна вашего, я так понял это Default. Нужно найти это:
{foreach $products as $p}
И чуть ниже найти место:
</form> <link itemprop="availability" href="http://schema.org/InStock" />
Вставить туда строку, чтобы получилось так
</form> <div class="in-stock"><strong>[`In stock`]</strong></div> <link itemprop="availability" href="http://schema.org/InStock" />
Получим это:
P.S. Это просто текст "В наличии"/"Нет в наличии". Если вам необходимо именно "Осталось несколько штук", то замените жирную строку на
{function name=in_stock n=0 low=5 critical=2} {if $n > $low or $n === null} <strong class="stock-high"><i class="icon16 stock-green"></i>[`In stock`]</strong> {elseif $n > $critical} <strong class="stock-low"><i class="icon16 stock-yellow"></i>{* _w("Only %d left in stock", "Only %d left in stock", $n) *}{_w("Only a few items left")}</strong> {elseif $n > 0} <strong class="stock-critical"><i class="icon16 stock-red"></i>{_w("Only %d left in stock", "Only %d left in stock", $n)}</strong> {else} <strong class="stock-none"><i class="icon16 stock-transparent"></i>{if $wa->shop->settings('ignore_stock_count')}[`Pre-order only`]{else}[`Out of stock`]{/if}</strong> {/if} {/function} {in_stock n=$p.count}
Получите это:
Есть плагин, называется Cache Enabler - WordPress Cache. Просто берет вывод, и пишет в .html файл, после чего если файл есть - отдает его. Быстрый и без кучи опций и рекламы, просто воткнул пару чекбоксов, и поехали. Это вариант если нет времени мучится и нужно вот прям срочно. Если есть время: nginx_fastcgi_cache - идеальный вариант. Можно ещё nginx + redis, саму страницу html ложить в Redis, а nginx без обращения к диску будет дергать прям из оперативной памяти. Но это уже для Highload. ---------- Добавлено 03.12.2016 в 09:53 ----------
Имхо, перебор. Противно смотреть, и это у меня не ретина даже. Что будет на ретине - страшно представить. Я бы на вашем месте не парился бы на счет картинок, интернет быстрый у всех. Можете воткнуть unveil или lazyLoad - jQuery плагины, которые грузят картинки по мере прокрутки. Мне помогло ускорить загрузку с 3 секунд до ~1.
Ну смотря какой роутер. Если цель той коробки выше - раздавать сайты, то я ещё пойму. Если там общагу обслуживать, тоже пойму. Но если просто в квартире интернет поровну делить, то это какой-то сомнительный выбор.