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

saharin88

  • Захожу иногда
  • 291
  • 20 / 1
  • JoomWork
Баг!
« : 13.12.2013, 21:29:52 »
У меня есть главная категория с несколькими уровнями вложенных категорий http://screencast.com/t/TULRWUEtk3
Таким же образом я создал структуру меню, все пункты как список категорий.
Затем у меня возникла необходимость создать пункт меню как блог основной категории, и после этого во все ссылки добавляется алиас этого пункта (reviews)
получается что то вроде этого /reviews/28-santekhnik/ustanovka-i-zamena-santekhniki.html, а должно быть 28-santekhnik/ustanovka-i-zamena-santekhniki.html

посмотрел в шаблоне списка категорий, ссылка генерируется  
JRoute::_(ContentHelperRoute::getCategoryRoute($item->id))
index.php?option=com_content&view=category&id='.$id
вроде все правильно, не могу понять почему подставляет reviews  

получается главная страница у меня как список категорий основной категории
а отзывы просто пункт меню как блог основной категории

http://screencast.com/t/5F1f0Ytx - видос

извините за безграмотность )
« Последнее редактирование: 14.12.2013, 04:15:40 от saharin88 »
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: БАГ JRoute
« Ответ #1 : 13.12.2013, 21:53:57 »
вроде все правильно, не могу понять почему подставляет reviews 
видимо потому что в этом ContentHelperRoute::getCategoryRoute($item->id) методе подставляется Itemid (пункт меню) родительской категории.
*

saharin88

  • Захожу иногда
  • 291
  • 20 / 1
  • JoomWork
Re: БАГ JRoute
« Ответ #2 : 13.12.2013, 22:26:28 »
видимо потому что в этом ContentHelperRoute::getCategoryRoute($item->id) методе подставляется Itemid (пункт меню) родительской категории.

так у меня есть уже созданый пункт родительской категории, причем это главная
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: БАГ JRoute
« Ответ #3 : 13.12.2013, 22:39:31 »
ну а если просто задать
Код
JRoute::_('index.php?option=com_content&view=category&id='.$item->id)
*

saharin88

  • Захожу иногда
  • 291
  • 20 / 1
  • JoomWork
Re: БАГ JRoute
« Ответ #4 : 13.12.2013, 22:48:09 »
ну а если просто задать
Код
JRoute::_('index.php?option=com_content&view=category&id='.$item->id)

пробовал, ошибка
ссылка получается такого вида /component/content/category/22-nashi-uslugi/santekhnik.html

вот кусок в этом классе который подставляет пункт меню

$catids 
array_reverse($category->getPath());
$needles['category'] = $catids;
$needles['categories'] = $catids;

if (
$item self::_findItem($needles))
{
    
$link .= '&Itemid='.$item;
}


это наверное нужно ковырять self::_findItem, он ищет пункт который создан как блог категории, а мне нужно view=categories
« Последнее редактирование: 13.12.2013, 22:52:15 от saharin88 »
*

saharin88

  • Захожу иногда
  • 291
  • 20 / 1
  • JoomWork
Re: БАГ JRoute
« Ответ #5 : 14.12.2013, 03:15:20 »
в чем собственно баг:

мы создаем массив $needles с ключами category и categories значения у которых полученный массив getPath() нашей категории

$needles 
= array();
$catids array_reverse($category->getPath());
$needles['category'] = $catids;
$needles['categories'] = $catids;


потом мы вызываем функцию _findItem($needles), в которой передаем наш массив, и  которая сообсвенно возвращает нам Itemid

сама функция берет все пункты меню нашего компонента и сравнивает их с отправленным нами массивом


// Prepare the reverse lookup array.
if (self::$lookup === null)
{
  
self::$lookup = array();

  
$component
	
JComponentHelper::getComponent('com_content');
  
$items
	
	
$menus->getItems('component_id'$component->id);
  foreach (
$items as $item)
  {
	
  if (isset(
$item->query) && isset($item->query['view']))
	
  {
	
	
  
$view $item->query['view'];
	
	
  if (!isset(
self::$lookup[$view])) {
	
	
	
  
self::$lookup[$view] = array();
	
	
  }
	
	
  if (isset(
$item->query['id'])) {
	
	
	
  
self::$lookup[$view][$item->query['id']] = $item->id;
	
	
  }
	
  }
  }
}

if (
$needles)
{
  foreach (
$needles as $view => $ids)
  {
	
  if (isset(
self::$lookup[$view]))
	
  {
	
	
  foreach(
$ids as $id)
	
	
  {
	
	
	
  if (isset(
self::$lookup[$view][(int)$id])) {
	
	
	
	
  return 
self::$lookup[$view][(int)$id];
	
	
	
  }
	
	
  }
	
  }
  }
}

 

$item->query['view'] сравнивается с нашими ключами

то есть проблема в том, что если у нас есть два пункта меню для одной и той же категории, только один как "блог категории" (category), а второй как список "подкатегорий" (categories)
возвращается конечно же ид пункта меню view которого category, потому что он у нас идет первым в массиве, хотя например в моем случае нужно что возвращал ид пункта view у которого categories

думаю решение можно сделать отталкиваясь от того какой у нашего пункта view, если category, значить проверять сначала parent на такой же view (кто вник, тот поймет)

« Последнее редактирование: 14.12.2013, 14:09:29 от saharin88 »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться