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

Ренат

  • Осваиваюсь на форуме
  • 11
  • 2 / 0
Написал модуль для своего сайта. Форма заказа. При этом, если присутствует куки с именем "r", то поле (у меня это поле для промо-кода) автоматически заполняется его значением. Сделал как проще для меня: c помощью PHP. Вот что было:
Код
<form method="post" class="form-inline">
  <?php echo "<input name='session_id' type='hidden' value=".session_id().">" ?>
    ... ... ...
    <div class="control-group"><label for="promo" title="Если кто-то Вам предоставил промо-код на скидку, введите его здесь">Промо-код</label>
    <input type="text" name="promo" id="orderpromo" autocomplete="off" title="Если кто-то Вам предоставил промо-код на скидку, введите его здесь" value="<?php echo @$_COOKIE['r'] ?>"></div>
    <div class="control-group"><div class="controls"><button type="submit" tabindex="0" name="Submit" class="btn btn-large">Отправить заказ</button></div></div>
</form>
Возникла проблема. Если на сайте включить, кеширование, то код работать не будет, так как тело модуля кешируется вместе с его значением.
Соответственно возникла необходимость все-таки использовать JavaScript. Не часто его использовал, поэтому тут совсем нет опыта.
В теле модуля прописал код для добавление соответствующего скрипта. Вот мои потуги:
Код
<?php
  JHtml::_('jquery.framework', false);
  $document = JFactory::getDocument();
  $document->addScript('modules/mod_orderform/js/jquery.cookie.js');
  $document->addScriptDeclaration(
    'window.event("domready", function()
      {
        document.getElementById("orderpromo").value = $.cookie("r");
      });'
  );
?>
Код не работает. Отладчик говорит, что функции window.event не существует. Что делаю так. Могу предположить, что все :) Не подскажите как правильно реализовать такую простую задачу (автоматическое заполнение поля из куки)? Пока пришлось вернуться к своему варианту на PHP с отключенным кешированием на Joomla
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Код: javascript
jQuery(document).ready(function($){
$('#orderpromo').val($.cookie('r'));
});
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Ренат

  • Осваиваюсь на форуме
  • 11
  • 2 / 0
Спасибо большое! Так заработало!
Код
<?php
  JHtml::_('jquery.framework', false);
  $document = JFactory::getDocument();
  $document->addScript('modules/mod_orderform/js/jquery.cookie.js');
  $document->addScriptDeclaration(
    'jQuery(document).ready(function($){
$("#orderpromo").val($.cookie("r"));
     });'
  );
?>
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Пипец, чтобы вывести одну строку подключить целый файл  :laugh:
Код: javascript
function getCookie(name) {
  var matches = document.cookie.match(new RegExp(
    "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\function getCookie(name) {
  var matches = document.cookie.match(new RegExp(
    "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
  ));
  return matches ? decodeURIComponent(matches[1]) : undefined;
}
document.getElementById('orderpromo').value = getCookie('r');
alert(getCookie('r');
') + "=([^;]*)"
  ));
  return matches ? decodeURIComponent(matches[1]) : undefined;
}
document.getElementById('orderpromo').value = getCookie('r');
alert(getCookie('r');
*

Ренат

  • Осваиваюсь на форуме
  • 11
  • 2 / 0
Спасибо!
Правда все равно пришлось использовать jQuery. Если использовать window.event("domready", function(){...}, то выдается сообщение об ошибке, что такой функции нет. Использовал конструкцию, предложенную выше (jQuery(document).ready(function($){...}). Получилось вот так
Код
<?php
  JHtml::_('jquery.framework');
  $document = JFactory::getDocument();
  $document->addScriptDeclaration(
    'function getCookie(name) {
      var matches = document.cookie.match(new RegExp(
        "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, "\\$1") + "=([^;]*)"
        ));
      return matches ? decodeURIComponent(matches[1]) : undefined;
    }
    jQuery(document).ready(function($)
 {
   document.getElementById("orderpromo").value = getCookie("r")
 }
);
    ');
?>
Можно еще как-то оптимизировать сей код?
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Код: javascript
window.onload = function(){
function getCookie(name) {
 var matches = document.cookie.match(new RegExp(
"(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\window.onload = function(){
function getCookie(name) {
 var matches = document.cookie.match(new RegExp(
"(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
 ));
 return matches ? decodeURIComponent(matches[1]) : undefined;
}
document.getElementById('orderpromo').value = getCookie('r');
alert(getCookie('r');
};
') + "=([^;]*)"
 ));
 return matches ? decodeURIComponent(matches[1]) : undefined;
}
document.getElementById('orderpromo').value = getCookie('r');
alert(getCookie('r');
};
*

Ренат

  • Осваиваюсь на форуме
  • 11
  • 2 / 0
Спасибо, Fedor и Robert! Не понимаю почему тут нет кнопочки, чтобы плюсануть вашу карму.
P.S. А нет, появилось  ;D
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Получить данные из поля " file", и передать в файл обработчик

Автор Glog

Ответов: 5
Просмотров: 2041
Последний ответ 01.08.2017, 13:55:40
от Glog
Проблема с сохранением записи в БД (не все поля сохраняются)

Автор GuDeVic

Ответов: 42
Просмотров: 3594
Последний ответ 07.12.2016, 14:19:59
от b2z
Объясните как работает MVC Override с помощью плагина Joomla!

Автор kens1n

Ответов: 8
Просмотров: 2303
Последний ответ 09.10.2016, 11:00:25
от robert
Передача поля формы во view в другую модель по кнопке контроллера

Автор tm2010

Ответов: 28
Просмотров: 2280
Последний ответ 18.02.2016, 17:27:06
от tm2010
Поиск по списку значений поля как в админке. j3.3

Автор Aeliot

Ответов: 0
Просмотров: 1003
Последний ответ 12.06.2014, 23:21:14
от Aeliot