0 Пользователей и 1 Гость просматривают эту тему.
  • 457 Ответов
  • 35805 Просмотров
*

yunoshev

  • Завсегдатай
  • 1261
  • 179 / 1
Ув. форумчане!

Предлагаю вашему вниманию плагин lm_any (plg_system_lm_any) для любого контента (компонента) сайта (Last-Modified Any Content).

Я унифицировал разрозненные наработки по управлению выдачей заголовков страниц last-modified и if-modified-since для ускорения сканирования сайтов поисковыми ботами и, соответственно, улучшения ваших сайтов в плане SEO. Исходный материал по данной теме обсуждался в этом посте.

Плагин был мною переписан для удобства расширения его под другие компоненты. Некоторый исходный код мною был изменен. В папку /plugins вы можете положить свой производный класс для нужного вам компонента. В файле /plugins/com_example.plugin.php показан пример подключения под отдельную страницу вашего компонента и под страницу категорий компонента.

На данный момент плагин поддерживает:
  • com_adsmanager-- компонент доски объявлений AdsManager для Joomla (только в платной версии); главная /стартовая/ страница объявлений категории, страница объявления
  • com_cobalt -- конструктор контента (CCK) Cobalt CCK (только в платной версии; тестировался на версии Joomla 3.x, форум, блог; поддержка страниц статьи и категории (секции))
  • com_content -- статьи
  • com_djclassifieds -- компонент доски объявлений DJ-Classifieds (v.3.6.1) для Joomla (только в платной версии); главная /стартовая/ страница объявлений категории, страница объявления
  • com_easyblog -- компонент блога (v.3 - v.5) для Joomla (только в платной версии)
  • com_easydiscuss -- форум (только в платной версии; Joomla 2.5 & Joomla 3.x)
  • com_flexicontent -- конструктор контента (CCK) FlexiContent; поддержка  страниц материала и категорий
  • com_hikashop -- компонент электронной коммерции для Joomla (только в платной версии)
  • com_jcomments -- компонент комментариев для Joomla (только в платной версии); комментарии поддерживаются для следующих компонентов: Cobalt, Content, EasyBlog, FlexiContent, JDownloads, K2, MosetsTree, Virtuemart, yvCommodity
  • com_jshopping (Joom Shopping) -- магазин JShopping (пока только страница товара)
  • com_mediastore -- онлайн медиа-магазин, позволяет продавать скачиваемые / цифровые товары (только в платной версии; Joomla 3.x)
  • com_mosets -- бизнес-каталог Mosets Tree (категории и карточка объекта)
  • com_k2 -- конструктор контента (CCK) K2
  • com_komento -- компонент комментариев для Joomla (только в платной версии)
  • com_kunena -- форум Kunena (благодарим за старания форумчанина ast)
  • com_virtuemart -- магазин VirtueMart (есть исправления от 2014-03-05)
  • com_yvcommodity -- магазин yvCommodity
  • com_zoo -- конструктор контента (CCK) ZOO, JBZoo (доработан 2014-11-23)


Совместимость:
  • Joomla 2.5
  • Joomla 3.x  - платно 12.99$

Начиная с версии 1.1.1 улучшена работа в режиме кэша, а также добавлены новые опции по настройке заголовка ответа (Header Response) в режиме кэширования, а именно: Cache-Control & Expires, Vary, ETag.
Начиная с версии 1.3.9 добавлена поддержка исключений, где вы можете указать различные страницы, которые не должны обрабатываться плагином, такие как: пункты меню, свой список компонентов, свой список URL.

При разработке использовалась следующая литература:
Спойлер
[свернуть]

История версий:
Спойлер
[свернуть]

Скачать обновленную версию (платный и бесплатный вариант) плагина можно здесь
Проверить работу сайта после установки плагина можно здесь: http://last-modified.com/ru/
Проверить работу HTTPS-сайта после установки плагина можно здесь: https://redbot.org



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

Что касается установки платной версии плагина v.1.3.1+ для Joomla v.3.3+
Скачивать и устанавливать ТОЛЬКО ПЛАГИН!

Особенности установки платной версии плагина ДО v.1.3.1 для Joomla v.3.3+
Спойлер
[свернуть]

Принимаются предложения по улучшению и расширению, а также благодарности в карму или на кофе и шоколад. :)
Webmoney: R241481671015

За разработку материально отблагодарили
Спойлер
[свернуть]
« Последнее редактирование: 22.03.2018, 18:59:36 от yunoshev »
*

yunoshev

  • Завсегдатай
  • 1261
  • 179 / 1
Добавил поддержку com_k2.
Также добавлена поддержка сервера обновлений для плагина, т.е. о выходе новых версиях вы сможете узнать в менеджере обновлений админки сайта.
Исправлена одна важная функция -- рекомендую обновиться.
« Последнее редактирование: 01.08.2015, 16:43:14 от yunoshev »
*

master-smeta

  • Захожу иногда
  • 280
  • 9 / 0
У меня не работает. Отдает "сейчас".
Joomla! 3.2.1
Частный вебмастер topwebsite.ru
Разработка и поддержка сайтов
*

yunoshev

  • Завсегдатай
  • 1261
  • 179 / 1
@master-smeta
Покажите скриншот и напишите для какого компонента (версии) проверяли.
Я делал сам для компонентов: K2, yvCommodity. Для других компонентов я нашел решения здесь и почти не правил, лишь изменил для работы в связке с плагином.
*

master-smeta

  • Захожу иногда
  • 280
  • 9 / 0
@master-smeta
Покажите скриншот и напишите для какого компонента (версии) проверяли.
Я делал сам для компонентов: K2, yvCommodity. Для других компонентов я нашел решения здесь и почти не правил, лишь изменил для работы в связке с плагином.
Никаких сторонних компонентов не использую (пока), сайт только что установил на хост и просто настраиваю. Может я что-то не то делаю... Проверяю ласт-модифайт следующим образом:
1) ПКМ на странице -- Информация о странице -- Дата последнего изменения;
2) FireBug -- вкладка "сеть" -- "Заголовки ответа" для страницы.
Правильно?
Какие скриншоты предоставить?
Частный вебмастер topwebsite.ru
Разработка и поддержка сайтов
*

yunoshev

  • Завсегдатай
  • 1261
  • 179 / 1
@master-smeta
Результат проверки с сайта http://last-modified.com/ru/
Покажите так, как у меня скриншот на этой странице.
« Последнее редактирование: 18.01.2014, 17:53:00 от yunoshev »
*

master-smeta

  • Захожу иногда
  • 280
  • 9 / 0
вот скрин
Спойлер
[свернуть]
Частный вебмастер topwebsite.ru
Разработка и поддержка сайтов
*

yunoshev

  • Завсегдатай
  • 1261
  • 179 / 1
@master-smeta
ОК. Проверьте на странице с каким-нибудь материалом. Если у вас голый сайт, то может такой ответ и будет. Надо хоть что-то добавить.
*

master-smeta

  • Захожу иногда
  • 280
  • 9 / 0
Минуту, сейчас добавлю страничку
Частный вебмастер topwebsite.ru
Разработка и поддержка сайтов
*

master-smeta

  • Захожу иногда
  • 280
  • 9 / 0
Добавил страничку. Результат тот же
Спойлер
[свернуть]
Частный вебмастер topwebsite.ru
Разработка и поддержка сайтов
*

yunoshev

  • Завсегдатай
  • 1261
  • 179 / 1
@master-smeta
Отлично! А теперь сохраните ее, чтобы даты создания и модификации отличались:
Спойлер
[свернуть]
И проверьте снова.
*

master-smeta

  • Захожу иногда
  • 280
  • 9 / 0
Пересохранил, даты различаются:
Спойлер
[свернуть]
Результат тот же:
Спойлер
[свернуть]
Частный вебмастер topwebsite.ru
Разработка и поддержка сайтов
*

master-smeta

  • Захожу иногда
  • 280
  • 9 / 0
Кстати говоря, на Вашем скрине указана версия PHP 5.2, а Joomla 3.2.х работает только на 5.3+
Может у Вас другая версия Joomla и на ней действительно все нормально работает
Частный вебмастер topwebsite.ru
Разработка и поддержка сайтов
*

yunoshev

  • Завсегдатай
  • 1261
  • 179 / 1
@master-smeta
Спойлер
[свернуть]
*

master-smeta

  • Захожу иногда
  • 280
  • 9 / 0
Заработало! Но нужно сыграть на бубне следующую мелодию :)
Идем в папку /libraries/joomla/application и открываем файл web.php
комментируем 429ю строку, т.е. должно быть так: //$this->setHeader('Last-Modified', gmdate('D, d M Y H:i:s'). ' GMT', true);
После этого плагин начинает работать, а страница отдает "правильный" Last-Modified. Не смотря на это, страница отдает ответ 200 OK
Чтобы исправить код ответа, нужно в вышеуказанном файле, в строке 423 убрать восклицательный знак. т.е. должно получиться это: if ($this->response->cachable)
Лично у меня все заработало только так. Проверено на двух тестовых сайтах (на денвере) и одном реальном.
Итог: при первой загрузке страницы получаем ответ 200 ОК. При последующем - 304 Not Modified.

P.S. ВНИМАНИЕ! Правка вышеуказанных файлов приводит к включению кэширования, причем кэшируется и фронтенд и админка. Лично я с этим уже свыкся, заголовки важнее...
« Последнее редактирование: 17.03.2014, 07:03:54 от master-smeta »
Частный вебмастер topwebsite.ru
Разработка и поддержка сайтов
*

yunoshev

  • Завсегдатай
  • 1261
  • 179 / 1
Ясно. Прямо как в полторашке -- причина в ядре. Будем искать выход.
« Последнее редактирование: 18.01.2014, 22:57:20 от yunoshev »
*

x1

  • Захожу иногда
  • 475
  • 14 / 0
  • Linux — это Windows для бытовой техники
Добрый вечер. Привожу результат тестирования работы модуля на К2 версии K2 v2.5.7:


Хостинг:
Linux  2.6.32-458.18.1.lve1.2.39.el6.x86_64 #1 SMP Mon Sep 16 12:10:28 EEST 2013 x86_64
Версия базы данных    5.5.34-cll-lve
Кодировка базы данных    utf8_general_ci
Версия PHP    5.2.17
Веб-сервер    Apache
Интерфейс между веб-сервером и PHP    cgi-fcgi
Версия Joomla!    Joomla! 2.5.9 Stable [ Ember ] 4-February-2013 14:00 GMT
Версия Joomla! Platform    Joomla Platform 11.4.0 Stable [ Brian Kernighan ] 03-Jan-2012 00:00 GMT
Браузер пользователя    Mozilla/5.0 (Windows NT 5.1; rv:26.0) Gecko/20100101 Firefox/26.0

До установки:
Цитировать
Last-Modified найден!
304 Not Modified не найден!
Результат: провалено
Сайт http://ХХХ отдал время последней модификации, но не отреагировал на If-Modified-Since

После установки модуля:
Цитировать
Last-Modified найден!
304 Not Modified найден!
Результат: отлично
Сайт http://ХХХ корректно отдает код 304 Not Modified.

Скриншоты не привожу. Кажется все нормально?

Так вот...  тестирую страницу повторно - выдает - ничего не изменялось. Изменяю текст странички (перефразирую всего один абзац) - тут же выдает - есть изменения!
« Последнее редактирование: 18.01.2014, 23:28:35 от x1 »
*

master-smeta

  • Захожу иногда
  • 280
  • 9 / 0
А можно добавить поддержку Mosets tree?
Частный вебмастер topwebsite.ru
Разработка и поддержка сайтов
*

yunoshev

  • Завсегдатай
  • 1261
  • 179 / 1
@master-smeta
Можно, но для этого мне нужен сам Mosets Tree.
*

yunoshev

  • Завсегдатай
  • 1261
  • 179 / 1
@All
Большая просьба ко всем, у кого стоит Joomla! 3.2, установить последнюю версию плагина (или обновиться) -- кажется, я нашел решение для этой ветки Joomla без применения патчей и хака ядра.
*

yunoshev

  • Завсегдатай
  • 1261
  • 179 / 1
Неужто некому проверить? :)
*

voland

  • Легенда
  • 10557
  • 563 / 111
  • Эта строка съедает место на вашем мониторе
Неужто некому проверить? :)
Боюсь мало кто уже использует 3.2 на рабочих проектах.. новички разве что.
*

voland

  • Легенда
  • 10557
  • 563 / 111
  • Эта строка съедает место на вашем мониторе
ЗЫ. А с zoo \ 2.5 пока не работает?
*

yunoshev

  • Завсегдатай
  • 1261
  • 179 / 1
@voland
Может быть, может быть. :)
Сегодня планирую сделать MosetsTree, а завтра постараюсь с Zoo разобраться.
*

master-smeta

  • Захожу иногда
  • 280
  • 9 / 0
@All
Большая просьба ко всем, у кого стоит Joomla! 3.2, установить последнюю версию плагина (или обновиться) -- кажется, я нашел решение для этой ветки Joomla без применения патчей и хака ядра.
Я обновился. Все работает.
Частный вебмастер topwebsite.ru
Разработка и поддержка сайтов
*

yunoshev

  • Завсегдатай
  • 1261
  • 179 / 1
@master-smeta
Отлично, значит я не ошибся в своем решении. Спасибо!
*

demis

  • Захожу иногда
  • 65
  • 2 / 0
Привет.
Не работает на Joomla! 3.2.1, все материалы на сайте на CCK K2, кроме главной страницы.
Проверка: Last-Modified найден!, 304 Not Modified найден!, но даты то Неправильные отдаются )

Cache-Control   no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Date   Thu, 30 Jan 2014 18:28:26 GMT
Expires   Mon, 1 Jan 2001 00:00:00 GMT
Last-Modified   Thu, 30 Jan 2014 18:28:26 GMT
Pragma   no-cache
Server   nginx/0.7.67

Плагин ставил вот этой версии plg_system_lm_any v.1.0.3.zip, она последняя, правильно?
*

yunoshev

  • Завсегдатай
  • 1261
  • 179 / 1
@demis
Работа плагина в Joomla 3.2 еще проверяется, т.к. на одном хостинге мне выдает правильно, а на другом нет. Причину найти не могу.
*

demis

  • Захожу иногда
  • 65
  • 2 / 0
@demis
Работа плагина в Joomla 3.2 еще проверяется, т.к. на одном хостинге мне выдает правильно, а на другом нет. Причину найти не могу.
Может причина быть в использовании PHP как FastCGI или PHP как модуль Apache? Там вроде есть какая то разница в работе Last Modified (где то что то попадалось на эту тему) если я не ошибаюсь.
*

yunoshev

  • Завсегдатай
  • 1261
  • 179 / 1
@demis
Не знаю, не попадалась такая информация.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

JL NO DOUBLES - плагин борьбы с дублями

Автор zikkuratvk

Ответов: 279
Просмотров: 32397
Последний ответ 15.08.2019, 23:37:54
от zikkuratvk
last-modified и if-modified-since для Joomla 1.5/2.5

Автор Antosha

Ответов: 365
Просмотров: 64231
Последний ответ 18.02.2017, 06:48:11
от User82
плагин Advanced Google analytics код не в том месте

Автор DeniTornado

Ответов: 0
Просмотров: 498
Последний ответ 04.01.2017, 14:01:35
от DeniTornado
Перемещение контента на Joomla

Автор Impulse design

Ответов: 0
Просмотров: 353
Последний ответ 30.11.2016, 12:24:41
от Impulse design
Автоматическое заполнение мета данных в Joomla 3 - Плагин jautometa

Автор 1-F7

Ответов: 0
Просмотров: 830
Последний ответ 01.08.2016, 09:44:58
от 1-F7