Новости 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 Гость просматривают эту тему.
  • 11 Ответов
  • 1320 Просмотров
*

Cristoff

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Разрабатываю плагин для articles тип "content".

Есть задача вытянуть актуальные языковые связи article с выбранными статьями/материалами.
Суть следующая
Код
 public function onContentAfterSave($context, $article, $isNew)
    {

        if ($context !== 'com_content.article')
            return true;
        if (empty($this->_db)) {
            $this->_db = JFactory::getDBO();
        }
        $associations = JLanguageAssociations::getAssociations('com_content', '#__content', 'com_content.item', $article->id);
}
Проблема в том что $associations имеет неактуальную информацию. Оно вринципе логично, судя по коду JModelAdmin Dispatcher срабатывает до сохранения ассоциаций.

Как можно обойти эту проблему без двойного сохранения?


*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Re: onContentAfterSave и JLanguageAssociations::getAssociations
« Ответ #1 : 16.09.2016, 09:54:48 »
А вам религия не позволяет два раза сохранять?)
*

Cristoff

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Re: onContentAfterSave и JLanguageAssociations::getAssociations
« Ответ #2 : 16.09.2016, 11:27:17 »
А вам религия не позволяет два раза сохранять?)
Типа того, но сохраняет пользователь. Заставлять его сохранять два раза - выглядит как костыль.
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Re: onContentAfterSave и JLanguageAssociations::getAssociations
« Ответ #3 : 16.09.2016, 11:38:45 »
Типа того, но сохраняет пользователь. Заставлять его сохранять два раза - выглядит как костыль.
ну тогда не совсем понятно что где и когда должен делать плагин ваш и на каком этапе должен получать языковые связи и для чего!
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: onContentAfterSave и JLanguageAssociations::getAssociations
« Ответ #4 : 16.09.2016, 11:55:08 »
как вариант можно переопределить системным плагином модель и в ней уже делать что душе угодно)
*

Cristoff

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Re: onContentAfterSave и JLanguageAssociations::getAssociations
« Ответ #5 : 16.09.2016, 11:56:11 »
ну тогда не совсем понятно что где и когда должен делать плагин ваш и на каком этапе должен получать языковые связи и для чего!

1. Есть статьи, которые создает юзер. Указывает раздел, язык и тд
2. Плагин цепляется на событие onContentAfterSave - то есть после сохранения статьи или создание новой.
3. Юзер использует встроенную возможность Joomla мультиязычность и создает еще статьи но с другим языком
4. В статье указывает связанные статьи и вот тут начинается проблема
5. Плагин в событии onContentAfterSave пытается получить эти связанные статьи, но их там нет потому что сохранение самих связей происходит после вызова события.

вот кусок кода /libraries/legacy/model/admin.php
Код
$dispatcher->trigger($this->event_after_save, array($context, $table, $isNew));
}
catch (Exception $e)
{
$this->setError($e->getMessage());

return false;
}

if (isset($table->$key))
{
$this->setState($this->getName(). '.id', $table->$key);
}

$this->setState($this->getName(). '.new', $isNew);

if ($this->associationsContext && JLanguageAssociations::isEnabled() && !empty($data['associations']))
{
$associations = $data['associations'];

// Unset any invalid associations
$associations = Joomla\Utilities\ArrayHelper::toInteger($associations);


тут происходит вызов триггера и только потом обработка связей.

То есть и получается: чтобы мне получить актуальную инфу по связям нужно юзера заставить два раза жмакнуть кнопку сохранить.
Либо сделать это за него, но как понять когда перестать сохранять, чтобы не зациклиться.
 
*

Cristoff

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Re: onContentAfterSave и JLanguageAssociations::getAssociations
« Ответ #6 : 16.09.2016, 11:56:32 »
как вариант можно переопределить системным плагином модель и в ней уже делать что душе угодно)

Можно поподробней.
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: onContentAfterSave и JLanguageAssociations::getAssociations
« Ответ #7 : 16.09.2016, 12:10:20 »
Можно поподробней.
будет подключаться модель из плагина
*

Cristoff

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Re: onContentAfterSave и JLanguageAssociations::getAssociations
« Ответ #8 : 16.09.2016, 12:22:28 »
будет подключаться модель из плагина
Спасибо. Интересный подход. Это распространенная практика в среде Joomla?
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Re: onContentAfterSave и JLanguageAssociations::getAssociations
« Ответ #9 : 16.09.2016, 12:25:47 »
Спасибо. Интересный подход. Это распространенная практика в среде Joomla?
Это больше костыль чем практика )
можно попробовать в плагине самому сохранить связи (скопировав код administrator/components/com_content/models/article.php) со строки 545 начинается..
но я не знаю что больше костыль это или то (

Но я так и не понял зачем вам получать эти связи в момент сохранения, чего вы пытаетесь с ними потом сделать?
« Последнее редактирование: 16.09.2016, 12:31:55 от Istaan »
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: onContentAfterSave и JLanguageAssociations::getAssociations
« Ответ #10 : 16.09.2016, 12:33:54 »
Это больше костыль чем практика )
ну костыль не костыль не знаю, иногда другого выхода просто нет
бывают ситуации что не только модель ну допустим макеты надо переопределять, допустим в таблицу надо добавить вывод столбца или еще чего-то
по другому это не сделать
*

Cristoff

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Re: onContentAfterSave и JLanguageAssociations::getAssociations
« Ответ #11 : 16.09.2016, 12:45:29 »
Это больше костыль чем практика )
можно попробовать в плагине самому сохранить связи (скопировав код administrator/components/com_content/models/article.php) со строки 545 начинается..
но я не знаю что больше костыль это или то (

Но я так и не понял зачем вам получать эти связи в момент сохранения, чего вы пытаетесь с ними потом сделать?

вся эта затея для автоматического создания меню по этим статьям. При включенном SEF режиме ссылки на новости выдают 404 если не сделать для него меню.
А меню так же имеет языковые связи.

чтобы сохранить эти связи мне их нужно получить, а в плагин они не попадают(
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться