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

pypsik

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Помогите, как можно выставить позицию правее правого меню, либо выставить позицию левее его. вообщем задача в том чтобы разместить Яндекс директ правее правого меню. http://www.test.v-studija.ru/  (на верхнее меню не обращайте внимания, с ним тоже косяк небольшой)))

 вот собственно код index.php

 <?php
 /**
 * @copyright Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
 * @license GNU/GPL, see LICENSE.php
 * Joomla! is free software. This version may have been modified pursuant
 * to the GNU General Public License, and as distributed it includes or
 * is derivative of works licensed under the GNU General Public License or
 * other free or open source software licenses.
 * See COPYRIGHT.php for copyright notices and details.
 */

 // no direct access
 defined( '_JEXEC' ) or die( 'Restricted access' );

 include_once (dirname(__FILE__).DS.'/ja_vars.php');

 ?>
 <h1>строчка</h1>
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>">

 <head>
 <jdoc:include type="head" />
 <?php JHTML::_('behavior.mootools'); ?>

 <link rel="stylesheet" href="<?php echo $tmpTools->baseurl(); ?>templates/system/css/system.css" type="text/css" />
 <link rel="stylesheet" href="<?php echo $tmpTools->baseurl(); ?>templates/system/css/general.css" type="text/css" />
 <link rel="stylesheet" href="<?php echo $tmpTools->templateurl(); ?>/css/template.css" type="text/css" />

 <script language="javascript" type="text/javascript" src="<?php echo $tmpTools->templateurl(); ?>/js/ja.script.js"></script>

 <?php if ($tmpTools->getParam('rightCollapsible')): ?>
 <script language="javascript" type="text/javascript">
 var rightCollapseDefault='<?php echo $tmpTools->getParam('rightCollapseDefault'); ?>';
 var excludeModules='<?php echo $tmpTools->getParam('excludeModules'); ?>';
 </script>
 <script language="javascript" type="text/javascript" src="<?php echo $tmpTools->templateurl(); ?>/js/ja.rightcol.js"></script>
 <?php endif; ?>

 <?php if($this->direction == 'rtl') : ?>
 <link rel="stylesheet" href="<?php echo $tmpTools->templateurl(); ?>/css/template_rtl.css" type="text/css" />
 <?php else : ?>
 <link rel="stylesheet" href="<?php echo $tmpTools->templateurl(); ?>/css/menu.css" type="text/css" />
 <?php endif; ?>

 <?php if ($this->countModules('hornav')): ?>
 <?php if ($tmpTools->getParam('horNavType') == 'css'): ?>
 <link rel="stylesheet" href="<?php echo $tmpTools->templateurl(); ?>/css/ja-sosdmenu.css" type="text/css" />
 <script language="javascript" type="text/javascript" src="<?php echo $tmpTools->templateurl(); ?>/js/ja.cssmenu.js"></script>
 <?php else: ?>
 <link rel="stylesheet" href="<?php echo $tmpTools->templateurl(); ?>/css/ja-sosdmenu.css" type="text/css" />
 <script language="javascript" type="text/javascript" src="<?php echo $tmpTools->templateurl(); ?>/js/ja.moomenu.js"></script>
 <?php endif; ?>
 <?php endif; ?>

 <?php if ($tmpTools->getParam('theme_header') && $tmpTools->getParam('theme_header')!='-1') : ?>
 <link rel="stylesheet" href="<?php echo $tmpTools->templateurl(); ?>/styles/header/<?php echo $tmpTools->getParam('theme_header'); ?>/style.css" type="text/css" />
 <?php endif; ?>
 <?php if ($tmpTools->getParam('theme_background') && $tmpTools->getParam('theme_background')!='-1') : ?>
 <link rel="stylesheet" href="<?php echo $tmpTools->templateurl(); ?>/styles/background/<?php echo $tmpTools->getParam('theme_background'); ?>/style.css" type="text/css" />
 <?php endif; ?>
 <?php if ($tmpTools->getParam('theme_elements') && $tmpTools->getParam('theme_elements')!='-1') : ?>
 <link rel="stylesheet" href="<?php echo $tmpTools->templateurl(); ?>/styles/elements/<?php echo $tmpTools->getParam('theme_elements'); ?>/style.css" type="text/css" />
 <?php endif; ?>

 <!--[if IE 7.0]>
 <style type="text/css">
 .clearfix {display: inline-block;}
 </style>
 <![endif]-->
 <?php if ($tmpTools->isIE6()): ?>
 <!--[if lte IE 6]>
 <script type="text/javascript">
 var siteurl = '<?php echo $tmpTools->baseurl();?>';

 window.addEvent ('load', makeTransBG);
 function makeTransBG() {
 fixIEPNG($E('.ja-headermask'), '', '', 1);
 fixIEPNG($E('h1.logo a'));
 fixIEPNG($$('img'));
 fixIEPNG ($$('#ja-mainnav ul.menu li ul'), '', 'scale', 0, 2);
 }
 </script>
 <style type="text/css">
 .ja-headermask, h1.logo a, #ja-cssmenu li ul { background-position: -1000px; }
 #ja-cssmenu li ul li, #ja-cssmenu li a { background:transparent url(<?php echo $tmpTools->templateurl(); ?>/images/blank.png) no-repeat right;}
 .clearfix {height: 1%;}
 </style>
 <![endif]-->
 <?php endif; ?>

 <style type="text/css">
 #ja-header,#ja-mainnav,#ja-container,#ja-botsl,#ja-footer {width: <?php echo $tmpWidth; ?>;margin: 0 auto;}
 #ja-wrapper {min-width: <?php echo $tmpWrapMin; ?>;}
 </style>
 </head>

 <body id="bd" class="fs<?php echo $tmpTools->getParam(JA_TOOL_FONT);?> <?php echo $tmpTools->browser();?>" >
 <a name="Top" id="Top"></a>
 <ul class="accessibility">
 <li><a href="#ja-content" title="<?php echo JText::_("Skip to content");?>"><?php echo JText::_("Skip to content");?></a></li>
 <li><a href="#ja-mainnav" title="<?php echo JText::_("Skip to main navigation");?>"><?php echo JText::_("Skip to main navigation");?></a></li>
 <li><a href="#ja-col1" title="<?php echo JText::_("Skip to 1st column");?>"><?php echo JText::_("Skip to 1st column");?></a></li>
 <li><a href="#ja-col2" title="<?php echo JText::_("Skip to 2nd column");?>"><?php echo JText::_("Skip to 2nd column");?></a></li>
 </ul>

 <div id="ja-wrapper">

 <!-- BEGIN: HEADER -->
 <div id="ja-headerwrap">
 <div id="ja-header" class="clearfix" style="background: url(<?php echo $tmpTools->templateurl(); ?>/images/header/<?php echo $tmpTools->getRandomImage(dirname(__FILE__).DS.'images/header'); ?>) no-repeat top <?php if($this->direction == 'rtl') echo 'left'; else echo 'right';?>;">

 <div class="ja-headermask">&nbsp;</div>

 <?php
 $siteName = $tmpTools->sitename();
 if ($tmpTools->getParam('logoType')=='image'): ?>
 <h1 class="logo">
 <a href="index.php" title="<?php echo $siteName; ?>"><span><?php echo $siteName; ?></span></a>
 </h1>
 <?php else:
 $logoText = (trim($tmpTools->getParam('logoText'))=='')? $config->sitename : $tmpTools->getParam('logoText');
 $sloganText = (trim($tmpTools->getParam('sloganText'))=='')? JText::_('SITE SLOGAN') : $tmpTools->getParam('sloganText'); ?>
 <h1 class="logo-text">
 <a href="index.php" title="<?php echo $siteName; ?>"><span><?php echo $logoText; ?></span></a>
 </h1>
 <p class="site-slogan"><?php echo $sloganText;?></p>
 <?php endif; ?>

 <?php $tmpTools->genToolMenu(JA_TOOL_FONT, 'png'); ?>

 <?php if($this->countModules('user4')) : ?>
 <div id="ja-search">


 </div>
 <?php endif; ?>

 </div>
 </div>
 <!-- END: HEADER -->

 <!-- BEGIN: MAIN NAVIGATION -->
 <?php if ($this->countModules('user3')): ?>
 <div id="ja-mainnavwrap">
 <div id="ja-mainnav" class="clearfix">
 <jdoc:include type="modules" name="user3" />
 </div>
 </div>
 <?php endif; ?>
 <!-- END: MAIN NAVIGATION -->



 <div id="ja-containerwrap<?php echo $divid; ?>">
 <div id="ja-containerwrap2">
 <div id="ja-container">
 <div id="ja-container2" class="clearfix">

 <div id="ja-mainbody<?php echo $divid; ?>" class="clearfix">

 <!-- BEGIN: CONTENT -->
 <div id="ja-contentwrap">
 <div id="ja-content">

 <jdoc:include type="message" />

 <?php if(!$tmpTools->isFrontPage()) : ?>
 <div id="ja-pathway">
 <jdoc:include type="module" name="breadcrumbs" />
 </div>
 <?php endif ; ?>

 <jdoc:include type="component" />

 <?php if($this->countModules('banner')) : ?>
 <div id="ja-banner">
 <jdoc:include type="modules" name="banner" />
 </div>
 <?php endif; ?>

 </div>
 </div>
 <!-- END: CONTENT -->

 <?php if ($this->countModules('left')): ?>
 <!-- BEGIN: LEFT COLUMN -->
 <div id="ja-col1">
 <jdoc:include type="modules" name="left" style="xhtml" />
 </div><br />
 <!-- END: LEFT COLUMN -->
 <?php endif; ?>

 </div>


 <!-- BEGIN: RIGHT COLUMN -->

 <?php if ($this->countModules('right')): ?>
 <div id="ja-col2">
 <jdoc:include type="modules" name="right" style="jarounded" />
 </div><br />
 <!-- END: RIGHT COLUMN -->
 <?php endif; ?>

 </div>
 </div>


 </div>
 </div>

 <jdoc:include type="modules" name="right2" style="jarounded" />
 <?php
 $spotlight = array ('user1','user2','top','user5');
 $botsl = $tmpTools->calSpotlight ($spotlight,99,22);
 if( $botsl ) :
 ?>
 <!-- BEGIN: BOTTOM SPOTLIGHT -->
 <div id="ja-botslwrap">
 <div id="ja-botsl" class="clearfix">

 <?php if( $this->countModules('user1') ): ?>
 <div class="ja-box<?php echo $botsl['user1']['class']; ?>" style="width: <?php echo $botsl['user1']['width']; ?>;">
 <jdoc:include type="modules" name="user1" style="xhtml" />
 </div>
 <?php endif; ?>

 <?php if( $this->countModules('user2') ): ?>
 <div class="ja-box<?php echo $botsl['user2']['class']; ?>" style="width: <?php echo $botsl['user2']['width']; ?>;">
 <jdoc:include type="modules" name="user2" style="xhtml" />
 </div>
 <?php endif; ?>

 <?php if( $this->countModules('top') ): ?>
 <div class="ja-box<?php echo $botsl['top']['class']; ?>" style="width: <?php echo $botsl['top']['width']; ?>;">
 <jdoc:include type="modules" name="top" style="xhtml" />
 </div>
 <?php endif; ?>

 <?php if( $this->countModules('user5') ): ?>
 <div class="ja-box<?php echo $botsl['user5']['class']; ?>" style="width: <?php echo $botsl['user5']['width']; ?>;">
 <jdoc:include type="modules" name="user5" style="xhtml" />
 </div>
 <?php endif; ?>

 </div>
 </div>
 <!-- END: BOTTOM SPOTLIGHT -->
 <?php endif; ?>

 <!-- BEGIN: FOOTER -->
 <div id="ja-footerwrap">
 <div id="ja-footer" class="clearfix">

 <div id="ja-footnav">
 <jdoc:include type="modules" name="user10" />
 </div>

 <div class="copyright">
 <jdoc:include type="modules" name="footer" />
 </div>

 <div class="ja-cert">
 <jdoc:include type="modules" name="syndicate" />
 <a href="http://jigsaw.w3.org/css-validator/check/referer" target="_blank" title="<?php echo JText::_("CSS Validity");?>" style="text-decoration: none;">
 <img src="<?php echo $tmpTools->templateurl(); ?>/images/but-css.gif" border="none" alt="<?php echo JText::_("CSS Validity");?>" />
 </a>
 <a href="http://validator.w3.org/check/referer" target="_blank" title="<?php echo JText::_("XHTML Validity");?>" style="text-decoration: none;">
 <img src="<?php echo $tmpTools->templateurl(); ?>/images/but-xhtml10.gif" border="none" alt="<?php echo JText::_("XHTML Validity");?>" />
 </a>
 </div>

 <br />
 </div>
 </div>
 <!-- END: FOOTER -->

 </div>

 <jdoc:include type="modules" name="debug" />

 </body>

 </html>
*

SinBad

  • Завсегдатай
  • 1879
  • 187 / 0
  • Мнне 40 лет, мне 40 лет, ума так и не нажил!
В http://www.test.v-studija.ru/templates/ja_purity/css/template.css ищем и исправляем на то, что снизу:

#ja-mainbody, #ja-mainbody-fl {
    float: left;
    width: 70%;
}

далее:

#ja-col2 {
    float: right;
    overflow: hidden;
    width: 30%;
}

далее:

div.module_black, div.module_green, div.module_blue, div.module_red, div.module {
    background: url("../images/b-br.gif") no-repeat scroll right bottom #FFFFFF;
    float: left;
    margin-bottom: 20px;
    width: 50%;
}

и сами уже добавляем в конце файла:

#Mod157 {
    float: left;
    width: 50%;
}

...Фет для них песни поёт. Фет не прикольный поэт - Фету никто не даёт.
*

pypsik

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
можно поподробнее про мод157, и еще вопросик а что писать в index.php как там объявлять модуль и куда его вставить.
*

pypsik

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
А, простите. после просмотра результата все стало ясно! Огромное вам спасибо!
*

SinBad

  • Завсегдатай
  • 1879
  • 187 / 0
  • Мнне 40 лет, мне 40 лет, ума так и не нажил!
можно поподробнее про мод157, и еще вопросик а что писать в index.php как там объявлять модуль и куда его вставить.
просто у вас есть модуль с именем Mod157 (создано Joomla автоматом), у которого свои стили, вот емцу еще и эти надо добавить.
в index.php ничего добавлять не нужно, только в стили CSS.
Это будет нормально выглядеть, пока справа будут только эти модули.
если еще предполагаются..тогда это все не подойдет..
ну надо будет чуть чуть испарвить кое что.
...Фет для них песни поёт. Фет не прикольный поэт - Фету никто не даёт.
*

pypsik

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Не сочтите за назойливость .не могли ли бы вы еще подсказать на счет верхнего меню. после исправлений оно стало простой строчкой, не могу найти решение. исправлял для того чтобы отцентровать меню по центру(в нормальном виде было 2е строчки, вторая стрка просто шла по левому краю,хотел сделать её в середине)
*

SinBad

  • Завсегдатай
  • 1879
  • 187 / 0
  • Мнне 40 лет, мне 40 лет, ума так и не нажил!
Не сочтите за назойливость .не могли ли бы вы еще подсказать на счет верхнего меню. после исправлений оно стало простой строчкой, не могу найти решение. исправлял для того чтобы отцентровать меню по центру(в нормальном виде было 2е строчки, вторая стрка просто шла по левому краю,хотел сделать её в середине)
Причин много может быть - особенно псле исправлений.
Как вариант может вы в менеджере модулей, в этом модуле меню - спарва в параметрах убрали тип "Список" на какой нибудь другой.
...Фет для них песни поёт. Фет не прикольный поэт - Фету никто не даёт.
*

pypsik

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
когда стоит стиль список он выдаёт вертикалоьное расположение меню.
*

pypsik

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
с изображением меню разобрался, осталось только сделать так чтобы вторая строчка у верхнего меню шла по центру а не по левому краю. не подскажите как это можно сделать?((
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Проблемы с шаблоном JV News II

Автор gorodok

Ответов: 0
Просмотров: 6327
Последний ответ 17.11.2013, 09:56:48
от gorodok
Как выставить размер позиции или размер модуля?

Автор sellen

Ответов: 11
Просмотров: 3705
Последний ответ 14.08.2012, 23:46:24
от sellen
Вывод модуля в левой нижней части сайта

Автор step09

Ответов: 7
Просмотров: 3392
Последний ответ 01.09.2011, 12:50:45
от step09
Суффикс класса модуля вертикального меню в шаблоне Artisteer 2

Автор arnoldovich

Ответов: 1
Просмотров: 10068
Последний ответ 09.06.2011, 13:36:50
от arnoldovich
Не показывает название модуля

Автор mxxx

Ответов: 3
Просмотров: 3161
Последний ответ 22.04.2011, 18:40:32
от DaVinchy