Решился наконец поставить кеширование на сайте Jоomla 2.5.Ранее никогда им не пользовался, поэтому возникли вопросы по его работе и использованию. В инструкциях ответов не нашел, если кто пользуется - подскажите пожалуйста. Сайт новостной, обновляется часто, для таких рекомендуют выставить время кеширования 5 минут. Есть плагин Cache Cleaner 3.3.1 , он чистит кеш при сохранении материала. Замечено, что при включенном кешировании просмотры материала сильно занижены. Не понятно, с чем это связано. Большой минус - нельзя узнать, какие материалы смотрят больше, какие меньше и на какие материалы ориентироваться при размещении в первую очередь. Топ новостей тоже не актуален при кешировании. Есть ли возможность оставить нормальный счетчик просмотра материала при кешировании? Может быть будет работать встроенный счетчик просмотров от Коменто? Трех и четырех значные просмотры в статистике очень раздуют глаз не только администратора, но и посетителя. Жалко терять эту возможность. И еще вопрос. Вот я публикую материал, сохраняю. Кеш чистится автоматически благодаря плагину, на сайте материал мне виден. Тут же отправляю вконтакт - но увидят ли его посетители? Есть чувство, что перейдя по ссылке с анонса они наткнутся на 404 страницу или какую-то еще. Может ли быть такое? Мне нужно, чтобы разместив материал, тут же отправить его в соцсеть и чтобы люди читали его сразу. Практическим путем это проверить не могу, машина только одна. И главный вопрос - будет ли пользователям легче от этого кеширования? Если я правильно понимаю - сайт закешируется в браузере пользователя, чтобы потом легче загружался. Но если я буду с админки по 20 раз в день чистить кеш - значит ли это, что после каждой чистки сайт будет заново кешироваться в браузере пользователя? Или я не так понимаю?
Ну и каша в голове... Время кэширования выставляется в зависимости от времени между обновлениями информации на сайте. Можно хоть сутки ставить, если при сохранении новости всё равно очищается кэш. Естественно, т.к. в кэше сохраняется вся статья вместе с количеством просмотров. В этом и смысл кэширования - снизить нагрузку на базу данных, не обращаться к ней при каждом обновлении страницы, а сделать это один раз, чтобы затем брать лишь сохраненную копию. Можешь открыть папку cache/com_content и посмотреть php-файлы, хранящиеся там. Увидишь в них и количество просмотров. Встроенный счетчик просмотров Joomla - хреновый показатель, т.к. срабатывает при каждом обновлении страницы и легко накручивается. Разве что только глаза радует. Лучше использовать системы веб-аналитики, сторонние счетчики. Это можно сделать лишь с помощью модуля, увеличивающего кол-ко просмотров (где-то видел платный модуль), либо с помощью хака. Хак Можно в index.php Joomla добавить после $app->route(); код Код (PHP): if (isset($_GET['view']) && strtolower($_GET['view']) == 'article') { $articleId = (int) $_GET['id']; $db = JFactory::getDBO(); $db->setQuery( 'UPDATE #__content' . ' SET hits = hits + 1' . ' WHERE id = '.(int) $articleId ); $db->query(); } Откуда отправляешь? Если с сайта, то увидят. Зато есть разные браузеры. В первую очередь от кэширования должно стать легче серверу. У пользователей лишь быстрее должны открываться страницы (быстрее будет получен ответ сервера). И сайт не кэшируется в браузере, только его часть - картинки, .css- и .js-файлы, но это уже совсем другая история.
В том и дело, что время разное. Я могу за час опубликовать 5 статей, и может быть так, что за полдня будет только одна статья. Как вы считаете, какое время уместенее выставить? Специально не накручиваю, интересует более-менее правдоподобная статистика А так- установлен ЛайфИнтернет и Метрика. Буду довольствоваться ими, они наиболее точны. Попробую, как переварю эту информацию. Хак позволяет завышать просмотры статьи или он будет отображать действительно - сколько раз загружали страницу? Именно. Плагином соцкнопок. Ну, если пользователь сразу увидит материал - это плюс в пользу кеширования. Не подумал сразу. Действительно, поэкспериментирую. Именно этого и добиваюсь. ТП хостинга ненавязчиво предложила выделенный сервер, т к за моего сайта сайты других постояльцев плохо работают, нагрузка большая. Сервер взял, но все равно, хочется, чтобы сайт работал как часы и загружался побыстрее. И вопрос еще - стандартный модуль статистики как ниже - будет работать корректно (хоть и относительно) или показания собьются? ПС. В БД если открыть таблицу контента и нужный материал - там легко меняются показатели хитов) Но такими методами только себя обманешь.
Действительно - сколько загружали. Только одна особенность - хиты будут записываться, но на сайте увеличение будет отображено лишь после обновления кэша, т.е. хиты могут увеличиваться скачкообразно. У него в настройках надо отключать кэширование.
Вот это наверное выход. А без хака просмотры скачкообразно выставляться не будут? Обязательно для этого делать хак? Если при обновлении кеша пусть и скачкообразно появляются хиты - то это хорошо. Сделаем.
Нет. Нет. Есть модуль. По хаку - при отключенном кэшировании хиты будут увеличиваться на 2, поэтому по идее надо делать проверку - включено ли кэширование.
Все понятно, спасибо. Попробую вставить код в index.php и включить кеширование ПС. попробовал - вставка кода действительно работает! Просмотры отображаются под заголовком, но, как мне показалось, вкладка страницы стала грузиться медленнее. Саму страницу видно нормально, а на вкладке крутится долго В общем, думаю это не смертельно Потестирую день на малопосещаемом сайте, потом себе так же сделаю на рабочем! ППС. Мучает любопытство - если в коде вместо +1 написать +5 - просмотры в 5 раз увеличатся? Я просто в кодах мало что понимаю. ПППС. Проверил, действительно +5 просмотров --- добавлено: Apr 17, 2014, первое сообщение размещено: Apr 16, 2014 --- Включил кеширование на сайте, по он стал грузиться еще дольше - не только главная, но и разделы сайта Хак делал. Непонятно себя ведет ротатор новостей, при заходе в раздел он не отображается. Выставил в модуле ротатора "не кешировать" - стал работать нормально. Например вот при отключенном кешировании измерил скорость загрузки старницы (один из разделов сайта): А это при включенном прогрессивном кешировании: Почему так выходит? Для эксперимента включил еще "Стандартное кеширование", вот результат: