Новости Joomla

Компонент Joomla 6: Генератор LLMs.txt.

Компонент Joomla 6: Генератор LLMs.txt.

Компонент Joomla 6: Генератор LLMs.txt.

Ещё один генератор ИИ-файлов llms.txt и llms-full.txt.

Основные особенности/возможности компонента:

  • Генерация по стандарту: Автоматическое создание файла-визитки llms.txt и расширенной версии llms-full.txt с аннотированным списком материалов.
  • Интеллектуальная работа с контентом: Компонент использует мета-описания (Meta Description) из статей и пунктов меню, превращая SEO-настройки сайта в качественный контекст для нейросетей.
  • Просмотреть результат генерации файлов можно сразу в рабочей области компонента. После внесения корректив (через Настройки компонента. При отладке лучше открыть три вкладки в браузере: Настройка — Геренация/Превью — Список Материалов/Категории/Меню.) — проводим перегенерацию, смотрим результат до полной «победы».
  • Автоматизация и безопасность: Синхронизация с sitemap.xml, группировка по категориям и автоматическое создание резервных копий (.bak) при каждой генерации.
  • Гибкое управление: Возможность исключения определенных категорий и/или статей и/или пунктов меню, а также простая настройка через стандартную админпанель Joomla.
  • Подробное руководство/справка: Пошаговая инструкция для пользователя в Настройках компонента для редакторов с базовым знанием администрирования Joomla.

👉 Важно учесть.
1️⃣ Компонент Генератор LLMs.txt изначально составляет базовый список ссылок на основе sitemap.xml и сверяется с ним на предмет: запрета индексации url в robots.txt, тегов noinex/nofollow. Это экономит время на проверку «закрыть от индексации», поскольку компонент генерации Sitemap.xml уже реализовал эту задачу. Посему, формирование ссылок для ИИ имеет комплексный подход, составление грамотного/валидного/релевантного sitemap.xml никто не отменял.

2️⃣ Тексты-описания ссылок формируются из Meta Description com_content (только компонент Материалы) и выбранных пользователем Меню сайта. Важно, чтобы Meta Description были уникальными и релевантными, соответствовали базовому seo. Составленные «на отшибись» Description для ИИ — «не катит» (впрочем, для поисковых систем они тоже «не канали»).

Разработчик - участник нашего сообщества Александр Кузнецов (@newvksan).

Страница расширения

@joomlafeed

#joomla #ии #ai

👩‍💻 WT LLMs для Joomla: llms.txt, llms.json для AI-агентов.

👩‍💻 WT LLMs для Joomla: llms.txt, llms.json для AI-агентов.

Это Joomla-компонент для публикации AI-ready карты сайта и автоматической генерации файлов llms.txt, llms-full.txt и llms.json по концепции llmstxt.org.  Также о концепции llms.txt говорит Google в своей справке Lighthouse. Решение помогает LLM-моделям, AI-агентам, GEO/AI SEO-процессам и внутренним автоматизациям получать структурированные данные о сайте без ручной сборки JSON и Markdown.

С помощью WT LLMs можно:
- создать структурированное описание сайта для AI-агентов;
- управлять профилем сайта, картой интентов и каноническими страницами для этих интентов из админки Joomla;
- генерировать llms.txt и llms.json;
- использовать REST API для автоматического заполнения данных;
- отдавать публичную schema-инструкцию для AI-агентов;

В комплект компонента входит плагин markdown-версии страниц Joomla. Системный плагин Joomla, который добавляет альтернативное Markdown-представление страниц сайта. Он позволяет отдавать содержимое страницы в более чистом текстовом формате, удобном для AI-агентов, LLM, поисковых систем и технических интеграций.
Плагин добавляет в ссылки на AI-файлы.

Пакет подходит для сайтов на Joomla 5+, которым важно сделать контент понятнее для LLM, AI-поиска, ассистентов и будущих систем машинного чтения.

Видео:
- ВК Видео
- RuTube
- YouTube

Ссылки:
Страница расширения
GitHub

@joomlafeed

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

theflame

  • Осваиваюсь на форуме
  • 37
  • 1 / 0
Есть модуль контактной формы. Хочу в него добавить обратный отсчёт времени. Для этого хочу использовать дату завершения публикации в самом модуле. Т. е. эта дата будет одновременно и концом публикации модуля и крайним значением счётчика.

Вариант print $params->get('publish_down') ничего не даёт.
Я так понимаю, что по такой схеме можно дёрнуть только параметры, которые задаются в самом модуле.

Помогите, пожалуйста.
Спасибо.
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Создай новый системный плагин с функцией
Код: php
function onPrepareModuleList(&$modules)
{
$app = JFactory::getApplication();
if($app->isAdmin()){ return; }

$app = JFactory::getApplication();
$Itemid = $app->input->getInt('Itemid', 0);
$groups = implode(',', JFactory::getUser()->getAuthorisedViewLevels());
$lang = JFactory::getLanguage()->getTag();
$clientId = (int) $app->getClientId();

$cacheId = $groups . $clientId . $Itemid;

$db = JFactory::getDbo();

$query = $db->getQuery(true)
->select('m.id, m.title, m.module, m.position, m.content, m.showtitle, m.params, m.publish_down, mm.menuid')
->from('#__modules AS m')
->join('LEFT', '#__modules_menu AS mm ON mm.moduleid = m.id')
->where('m.published = 1')
->join('LEFT', '#__extensions AS e ON e.element = m.module AND e.client_id = m.client_id')
->where('e.enabled = 1');

$date = JFactory::getDate();
$now = $date->toSql();
$nullDate = $db->getNullDate();
$query->where('(m.publish_up = ' . $db->quote($nullDate). ' OR m.publish_up <= ' . $db->quote($now). ')')
->where('(m.publish_down = ' . $db->quote($nullDate). ' OR m.publish_down >= ' . $db->quote($now). ')')
->where('m.access IN (' . $groups . ')')
->where('m.client_id = ' . $clientId)
->where('(mm.menuid = ' . $Itemid . ' OR mm.menuid <= 0)');

if ($app->isClient('site') && $app->getLanguageFilter())
{
$query->where('m.language IN (' . $db->quote($lang). ',' . $db->quote('*'). ')');
$cacheId .= $lang . '*';
}

$query->order('m.position, m.ordering');
$db->setQuery($query);

try
{
$cache = JFactory::getCache('com_modules', 'callback');
$modules = $cache->get(array($db, 'loadObjectList'), array(), md5($cacheId), false);

}
catch (RuntimeException $e)
{
JLog::add(JText::sprintf('JLIB_APPLICATION_ERROR_MODULE_LOAD', $e->getMessage()), JLog::WARNING, 'jerror');
return array();
}
}
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

theflame

  • Осваиваюсь на форуме
  • 37
  • 1 / 0
Создай новый системный плагин с функцией

Блин, спасибо за ответ, но я тупо не понимаю, что мне нужно сделать. Как сделать этот плагин и как потом всё равно в модулё дёрнуть нужную переменную? И неужели только так можно достичь эту цель? Нет другого способа прямо из модуля дёрнуть нужную переменную через ООП? Должны же быть классы и доступ к ним через модуль. Или в джумле не так?
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Блин, спасибо за ответ, но я тупо не понимаю, что мне нужно сделать. Как сделать этот плагин и как потом всё равно в модулё дёрнуть нужную переменную? И неужели только так можно достичь эту цель? Нет другого способа прямо из модуля дёрнуть нужную переменную через ООП? Должны же быть классы и доступ к ним через модуль. Или в джумле не так?

Это конечно же можно изменить прямо в файлах Joomla, но придется править после каждого обновления...
так что надо создать системный плагин (он будет вложением)

Что бы использовать publish_down в модуле надо написать
Код: php
<?php echo $module->publish_down; ?>
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

theflame

  • Осваиваюсь на форуме
  • 37
  • 1 / 0
Это конечно же можно изменить прямо в файлах Joomla, но придется править после каждого обновления...
так что надо создать системный плагин (он будет вложением)

Что бы использовать publish_down в модуле надо написать
Код: php
<?php echo $module->publish_down; ?>


Я правильно понимаю, что $module->publish_down без вашего плагина не сработает? Просто, я до этого интуитивно и сейчас пробовал, результата не было. В каких ещё случаях этот плагин полезен? Я просто параноидально отношусь ко всему, что не относится к ядру, не сделано мной или не понято мной. Не добавит ли этот плагин уязвимость моему сайту?

По поводу обновлений модуля, с одной стороны, понимаю вас. Но я учел это. Взял в xml-файле плагина вырезал ссылку и часть по поводу обновления. Там достаточно простой модуль. Вряд ли мне нужно будет сильно что-то обновлять. Потом с дополнительным плагином тоже не факт, что после обновления ядра сам плагин не нужно будет обновлять.

Поэтому всё-таки хотелось бы найти решение простого вывода той информации в нужном мне месте модуля. Я даже готов перекопать тот модуль под себя. Он по лицензии GPL2 и вообще в 1 файл, всё просто. По сути в конце выйдет полностью мой модуль, который я уже и так во многом поменял. Кстати, может проблема в том, что у этого модуля нет ни файла helper.php, ни файла шаблона /html/default/php.


П.С. У меня джумла 3.8.0 и РНР7. Пока всё работало, включая jcomments и JoomShopping с рядом его дополнений. Может будут какие-то мысли ещё, чтоб это заработало?
« Последнее редактирование: 05.10.2017, 15:52:02 от theflame »
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Я правильно понимаю, что $module->publish_down без вашего плагина не сработает?

Совершенно верно!

В каких ещё случаях этот плагин полезен?
У меня на сайте используются несколько шаблонов, и мне приходится использовать эту функцию, т. к. в SQL запрос добавляю условие на вывод позиций которые относятся именно в выбранному шаблону...


Не добавит ли этот плагин уязвимость моему сайту?
Пример функции можно посмотреть в файле helper.php (JPATH_LIBRARIES/cms/module) метод getModuleList().

Я имею ввиду не про обновление модуля или плагина, а про саму систему Joomla, пример функции находится в файлах Joomla, и при обновлении они будут заменены стандартными, и все правки пойдут коту под хвост....

Все что находится в переменной $module указывается в SQL запросе
Код: php
<?php $query->select('m.id, m.title, m.module, m.position, m.content, m.showtitle, m.params, mm.menuid')?>
я просто добавил в эту строку m.publish_down из-за этого можно вывести
Код: php
<?php echo $module->publish_down; ?>

П.С. У меня джумла 3.8.0 и РНР7. Пока всё работало, включая jcomments и JoomShopping с рядом его дополнений. Может будут какие-то мысли ещё, чтоб это заработало?
Если включен плагин то выводятся ошибки???? Какие? Можно скин...
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

theflame

  • Осваиваюсь на форуме
  • 37
  • 1 / 0
echo $module->publish_down;

В общем, СПАСИБО.
Поборол в себе все страхи), всё сделал, как было написано. Всё работает и без каких-либо ошибок.

Спасибо.

П.С. Я правильно понимаю, если мне нужно будет ещё какую-то переменную модуля получить таким образом, то мне нужно будет в этом вашем плагине в этой строке <?php $query->select('m.id, m.title, m.module, m.position, m.content, m.showtitle, m.params, mm.menuid')?> добавить ещё, например, m.publish_up, чтобы вывести переменную $module->publish_up ? И всё, и больше ничего не надо, правильно? Круто )
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
В общем, СПАСИБО.
Поборол в себе все страхи), всё сделал, как было написано. Всё работает и без каких-либо ошибок.

Спасибо.

П.С. Я правильно понимаю, если мне нужно будет ещё какую-то переменную модуля получить таким образом, то мне нужно будет в этом вашем плагине в этой строке <?php $query->select('m.id, m.title, m.module, m.position, m.content, m.showtitle, m.params, mm.menuid')?> добавить ещё, например, m.publish_up, чтобы вывести переменную $module->publish_up ? И всё, и больше ничего не надо, правильно? Круто )

Да
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как правильно записать дату создания записи в БД?

Автор ImPuLsE

Ответов: 13
Просмотров: 3720
Последний ответ 11.09.2019, 22:58:57
от sev07
вывести данные из модуля с формой Subform form field type

Автор Glog

Ответов: 19
Просмотров: 2826
Последний ответ 22.06.2017, 13:32:07
от Glog
Зависимость модуля от компонента и страницы

Автор Тренд

Ответов: 34
Просмотров: 3962
Последний ответ 16.06.2017, 19:48:39
от dmitry_stas
Вывести вместо id название

Автор web3.0

Ответов: 7
Просмотров: 1368
Последний ответ 25.04.2017, 14:28:52
от web3.0
Ошибка при создании модуля

Автор White_Tiger

Ответов: 7
Просмотров: 2288
Последний ответ 01.02.2016, 14:33:46
от robert