Новости 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 Ответов
  • 9269 Просмотров
*

audi39

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Кто-нибудь пытался интегрировать jcomments в DJClassifieds? а то уже Маркетплэйс 2.1 купил, но проблемы с дизайном...
Не разбираюсь в написании плагинов, хоть и инструкция есть на сайте поддержки jcomments.
« Последнее редактирование: 20.05.2011, 11:02:31 от smart »
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Интеграция JComments в DJClassifieds
« Ответ #1 : 19.05.2011, 21:50:08 »
Да несложно сделать. 5 минут от силы (с написанием плагина).

components/com_djclassifieds/views/showitem/tmpl/default.php

ближе к концу (до яваскрипта) вместо <?php } ?> делаем так

Код
	<?php }

$comments = $mainframe->getCfg('absolute_path'). '/components/com_jcomments/jcomments.php';
if (file_exists($comments)) {
require_once($comments);
echo JComments::showComments($id = $i->id, 'com_djclassifieds', $i -> name);
}



?>

В папку components/com_jcomments/plugins/ распаковываем приложенный плагин.

Тестируем, о результатах сообщаем )))

[вложение удалено Администратором]
« Последнее редактирование: 20.05.2011, 11:02:39 от smart »
*

audi39

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Re: Интеграция JComments в DJClassifieds( Решено)
« Ответ #2 : 21.05.2011, 10:37:45 »
Огромное спасибо! :D :D :D
*

Алексей

  • Новичок
  • 4
  • 0 / 0
Re: Интеграция JComments в DJClassifieds
« Ответ #3 : 26.05.2011, 20:41:13 »
SDKiller-мастер, не первый раз уже помогает по этому компоненту. БОЛЬШОЕ СПАСИБО!
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Интеграция JComments в DJClassifieds
« Ответ #4 : 22.10.2013, 13:08:05 »
Сегодня сделал интеграцию в DJ-Classifieds для Joomla 3:

1. Открываем файл /administrator/components/com_djclassifieds/config.xml
2. Находим строчку:
Код: xml
<option value="2">COM_DJCLASSIFIEDS_CONFIG_DISQUS_COMMENTS</option>
добавляем после нее:
Код: xml
<option value="3">JComments</option>
3. Открываем файл /components/com_djclassifieds/views/item/tmpl/default_comments.php
4. Заменяем содержимое файла на:
Код: php
defined ('_JEXEC') or die('Restricted access');
$par = JComponentHelper::getParams( 'com_djclassifieds' );
$app = JFactory::getApplication();
$item = $this->item;
?>
<?php if ($this->params->get('comments', 0) == '3') { ?>
   <?php
$comments = JPATH_SITE.'/components/com_jcomments/jcomments.php';
if (file_exists($comments)) {
require_once($comments);
echo JComments::show($this->item->id,'com_djclassifieds', $this->item->name);
}
?>
<?php } else { ?>
<?php if((int)$par->get('comments','0') == 1 || ($par->get('comments','0') == 2 && $par->get('disqus_shortname',''))){
$uri = JFactory::getURI();
$lang = JFactory::getLanguage();
$languge_tag = str_replace('-', '_', $lang->getTag());
if($par->get('comments','0') == 1){?>
<div class="djcf_comments fb_comments_box">
<h2><?php echo JText::_('COM_DJCLASSIFIEDS_COMMENTS'); ?></h2>
<div id="fb-root"></div>
<script>(function(d, s, id) {
 var js, fjs = d.getElementsByTagName(s)[0];
 if (d.getElementById(id)) return;
 js = d.createElement(s); js.id = id;
 js.src = "//connect.facebook.net/<?php echo $languge_tag; ?>/all.js#xfbml=1";
 fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<div class="fb-comments" data-href="<?php echo $uri->toString(); ?>" data-num-posts="<?php echo $par->get('fb_comments_posts','10');?>" data-width="<?php echo $par->get('fb_comments_width','550px');?>"></div>
</div>
<?php }else{
$devlist = array('localhost', '127.0.0.1');
    $disqus_shortname = $par->get('disqus_shortname','');
    $disqus_url = $uri->toString();
    $disqus_identifier = $disqus_shortname.'-djcf-'.$this->item->id;
    $disqus_developer = (in_array($_SERVER['HTTP_HOST'], $devlist))? 1 : 0;
    ?>
    <div class="djcf_comments disqus_comments_box">
<h2><?php echo JText::_('COM_DJCLASSIFIEDS_COMMENTS'); ?></h2>
    <div id="disqus_thread"></div>
   <script type="text/javascript">
       var disqus_shortname = '<?php echo $disqus_shortname; ?>';
       var disqus_url = '<?php echo $disqus_url; ?>';
       var disqus_identifier = '<?php echo $disqus_identifier; ?>';
var disqus_developer = <?php echo $disqus_developer; ?>;

       /* * * DON'T EDIT BELOW THIS LINE * * */
       (function() {
           var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
           dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
           (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
       })();
   </script>
   <noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
   <a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
</div>
<?php }
}
}
5. Сохраняем изменения
6. Создаем файл (или заменеям существующий) /components/com_jcomments/plugins/com_djclassifieds.plugin.php:
Код: php
<?php
/**
 * JComments plugin for DJ Classifieds objects support
 *
 * @version 2.3
 * @package JComments
 * @author Sergey M. Litvinov (smart@joomlatune.ru)
 * @copyright (C) 2011-2013 by Sergey M. Litvinov (http://www.joomlatune.ru)
 * @license GNU/GPL: http://www.gnu.org/copyleft/gpl.html
 */

defined('_JEXEC') or die;

class jc_com_djclassifieds extends JCommentsPlugin
{
function getObjectInfo($id, $language = null)
{
$info = new JCommentsObjectInfo();

$routerHelper = JPATH_ROOT.'/administrator/components/com_djclassifieds/lib/djseo.php';
if (is_file($routerHelper)) {
require_once($routerHelper);

$db = JFactory::getDBO();

$query = $db->getQuery(true);
$query->select('a.id, a.alias, a.name, a.user_id');
$query->from('#__djcf_items AS a');
$query->select('c.id AS category_id, c.alias AS category_alias');
$query->join('LEFT', '#__djcf_categories AS c ON c.id = a.cat_id');
$query->where('a.id = ' . (int) $id);

$db->setQuery($query);
$row = $db->loadObject();

if (!empty($row)) {
$slug = $row->alias ? ($row->id . ':' . $row->alias) : $row->id;
$catslug = $row->category_alias ? ($row->category_id . ':' . $row->category_alias) : $row->category_id;

$info->title = $row->name;
$info->category_id = $article->category_id;
$info->userid = $row->user_id;
$info->link = JRoute::_(DJClassifiedsSEO::getItemRoute($slug, $catslug));
}
}

return $info;
}
}
7. Идем в настройки DJ-Classifieds' и выбираем JComments в качестве  системы комментариев для DJ-Classifieds.
*

omvitamin

  • Осваиваюсь на форуме
  • 33
  • 0 / 1
Re: Интеграция JComments в DJClassifieds
« Ответ #5 : 12.02.2015, 23:03:23 »
Прошу прощения, что поднимаю древнюю тему, но тем не менее, мне кажется кому-то тоже интересно.
Никто не пробовал пихнуть аватары от DJ-classifieds плагину JComments Avatars?
Этот плагин знает всё в подряд, включая JomSocial, CB и т.д., но не знает DJ-classifieds.

Ну или более логичное решение, брать аватар для DJ-Classifieds от CommunityBuilder.

Если дело не пустяковое, готов предложить вознаграждение за последний вариант: Общие аватары из CB для DJ-Classifieds, для JComments уже есть.
« Последнее редактирование: 12.02.2015, 23:08:15 от omvitamin »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Jcomments на странице категории?

Автор romagromov

Ответов: 5
Просмотров: 6585
Последний ответ 12.12.2022, 17:01:38
от sivers
Интеграция с Community Builder

Автор Opposite

Ответов: 77
Просмотров: 74976
Последний ответ 20.09.2022, 11:22:26
от Vlad1
Отображение аватаров из JomSocial в JComments

Автор smart

Ответов: 33
Просмотров: 23135
Последний ответ 20.07.2020, 21:31:50
от darkknight
jComments + AlptaUserPoints Добавить текст в Подробности

Автор Nabla

Ответов: 3
Просмотров: 9538
Последний ответ 22.06.2020, 14:14:08
от Nabla
Интеграция JComments с SP Page Builder

Автор Proaqua

Ответов: 5
Просмотров: 8114
Последний ответ 14.06.2020, 11:53:38
от xpank