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

tmgad

  • Новичок
  • 7
  • 0 / 0
view-source:http://ekb-dekor.ru/standartnye-potolki.html

 ! Уважаемые форумчане, помогите начинающему юзуру настроить автоматическую генерацию h1 из названия страниц. Бьюсь уже 3 дня не получается! Менял данные в default.php но никаких изменений не происходит! Выручайте братцы! !
*

antony2606

  • Давно я тут
  • 634
  • 46 / 4
  • Работаем!
Генерация и так автоматическая) Вам надо поправить шаблон вывода материала
тут components/com_content/views/article/tmpl/default.php
или тут templates/ваш_шаблон/html/com_content/article/default.php
*

tmgad

  • Новичок
  • 7
  • 0 / 0


 com_content/views / article / tmpl

<?php
/**
 * @package      Joomla.Site
 * @subpackage   com_content
 * @copyright   Copyright (C) 2005 - 2014 Open Source Matters, Inc. All rights reserved.
 * @license      GNU General Public License version 2 or later; see LICENSE.txt
 */

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

JHtml::addIncludePath(JPATH_COMPONENT . '/helpers');

// Create shortcuts to some parameters.
$params      = $this->item->params;
$images = json_decode($this->item->images);
$urls = json_decode($this->item->urls);
$canEdit   = $this->item->params->get('access-edit');
$user      = JFactory::getUser();

?>
<div class="item-page<?php echo $this->pageclass_sfx?>">
<?php if ($this->params->get('show_page_heading')) : ?>
   <h1>
   <?php echo $this->escape($this->params->get('page_heading')); ?>
   </h1>
<?php endif; ?>
<?php
if (!empty($this->item->pagination) AND $this->item->pagination && !$this->item->paginationposition && $this->item->paginationrelative)
{
 echo $this->item->pagination;
}
 ?>

<?php if ($params->get('show_title')) : ?>
   <h1>
   <?php if ($params->get('link_titles') && !empty($this->item->readmore_link)) : ?>
      <a href="<?php echo $this->item->readmore_link; ?>">
      <?php echo $this->escape($this->item->title); ?></a>
   <?php else : ?>
      <?php echo $this->escape($this->item->title); ?>
   <?php endif; ?>
   </h1>
<?php endif; ?>

<?php if ($canEdit ||  $params->get('show_print_icon') || $params->get('show_email_icon')) : ?>
   <ul class="actions">
   <?php if (!$this->print) : ?>
      <?php if ($params->get('show_print_icon')) : ?>
         <li class="print-icon">
         <?php echo JHtml::_('icon.print_popup',  $this->item, $params); ?>
         </li>
      <?php endif; ?>

      <?php if ($params->get('show_email_icon')) : ?>
         <li class="email-icon">
         <?php echo JHtml::_('icon.email',  $this->item, $params); ?>
         </li>
      <?php endif; ?>

      <?php if ($canEdit) : ?>
         <li class="edit-icon">
         <?php echo JHtml::_('icon.edit', $this->item, $params); ?>
         </li>
      <?php endif; ?>

   <?php else : ?>
      <li>
      <?php echo JHtml::_('icon.print_screen',  $this->item, $params); ?>
      </li>
   <?php endif; ?>

   </ul>
<?php endif; ?>

<?php  if (!$params->get('show_intro')) :
   echo $this->item->event->afterDisplayTitle;
endif; ?>

<?php echo $this->item->event->beforeDisplayContent; ?>

<?php $useDefList = (($params->get('show_author')) or ($params->get('show_category')) or ($params->get('show_parent_category'))
   or ($params->get('show_create_date')) or ($params->get('show_modify_date')) or ($params->get('show_publish_date'))
   or ($params->get('show_hits'))); ?>

<?php if ($useDefList) : ?>
   <dl class="article-info">
   <dt class="article-info-term"><?php  echo JText::_('COM_CONTENT_ARTICLE_INFO'); ?></dt>
<?php endif; ?>
<?php if ($params->get('show_parent_category') && $this->item->parent_slug != '1:root') : ?>
   <dd class="parent-category-name">
   <?php   $title = $this->escape($this->item->parent_title);
   $url = '<a href="'.JRoute::_(ContentHelperRoute::getCategoryRoute($this->item->parent_slug)).'">'.$title.'</a>';?>
   <?php if ($params->get('link_parent_category') and $this->item->parent_slug) : ?>
      <?php echo JText::sprintf('COM_CONTENT_PARENT', $url); ?>
   <?php else : ?>
      <?php echo JText::sprintf('COM_CONTENT_PARENT', $title); ?>
   <?php endif; ?>
   </dd>
<?php endif; ?>
<?php if ($params->get('show_category')) : ?>
   <dd class="category-name">
   <?php    $title = $this->escape($this->item->category_title);
   $url = '<a href="'.JRoute::_(ContentHelperRoute::getCategoryRoute($this->item->catslug)).'">'.$title.'</a>';?>
   <?php if ($params->get('link_category') and $this->item->catslug) : ?>
      <?php echo JText::sprintf('COM_CONTENT_CATEGORY', $url); ?>
   <?php else : ?>
      <?php echo JText::sprintf('COM_CONTENT_CATEGORY', $title); ?>
   <?php endif; ?>
   </dd>
<?php endif; ?>
<?php if ($params->get('show_create_date')) : ?>
   <dd class="create">
   <?php echo JText::sprintf('COM_CONTENT_CREATED_DATE_ON', JHtml::_('date', $this->item->created, JText::_('DATE_FORMAT_LC2'))); ?>
   </dd>
<?php endif; ?>
<?php if ($params->get('show_modify_date')) : ?>
   <dd class="modified">
   <?php echo JText::sprintf('COM_CONTENT_LAST_UPDATED', JHtml::_('date', $this->item->modified, JText::_('DATE_FORMAT_LC2'))); ?>
   </dd>
<?php endif; ?>
<?php if ($params->get('show_publish_date')) : ?>
   <dd class="published">
   <?php echo JText::sprintf('COM_CONTENT_PUBLISHED_DATE_ON', JHtml::_('date', $this->item->publish_up, JText::_('DATE_FORMAT_LC2'))); ?>
   </dd>
<?php endif; ?>
<?php if ($params->get('show_author') && !empty($this->item->author )) : ?>
   <dd class="createdby">
   <?php $author = $this->item->created_by_alias ? $this->item->created_by_alias : $this->item->author; ?>
   <?php if (!empty($this->item->contactid) && $params->get('link_author') == true): ?>
   <?php
      $needle = 'index.php?option=com_contact&view=contact&id=' . $this->item->contactid;
      $menu = JFactory::getApplication()->getMenu();
      $item = $menu->getItems('link', $needle, true);
      $cntlink = !empty($item)? $needle . '&Itemid=' . $item->id : $needle;
   ?>
      <?php echo JText::sprintf('COM_CONTENT_WRITTEN_BY', JHtml::_('link', JRoute::_($cntlink), $author)); ?>
   <?php else: ?>
      <?php echo JText::sprintf('COM_CONTENT_WRITTEN_BY', $author); ?>
   <?php endif; ?>
   </dd>
<?php endif; ?>
<?php if ($params->get('show_hits')) : ?>
   <dd class="hits">
   <?php echo JText::sprintf('COM_CONTENT_ARTICLE_HITS', $this->item->hits); ?>
   </dd>
<?php endif; ?>
<?php if ($useDefList) : ?>
   </dl>
<?php endif; ?>

<?php if (isset ($this->item->toc)) : ?>
   <?php echo $this->item->toc; ?>
<?php endif; ?>

<?php if (isset($urls) AND ((!empty($urls->urls_position) AND ($urls->urls_position=='0')) OR  ($params->get('urls_position')=='0' AND empty($urls->urls_position) ))
      OR (empty($urls->urls_position) AND (!$params->get('urls_position')))): ?>
<?php echo $this->loadTemplate('links'); ?>
<?php endif; ?>

<?php if ($params->get('access-view')):?>
<?php  if (isset($images->image_fulltext) and !empty($images->image_fulltext)) : ?>
<?php $imgfloat = (empty($images->float_fulltext))? $params->get('float_fulltext') : $images->float_fulltext; ?>
<div class="img-fulltext-<?php echo htmlspecialchars($imgfloat); ?>">
<img
   <?php if ($images->image_fulltext_caption):
      echo 'class="caption"'.' title="' .htmlspecialchars($images->image_fulltext_caption).'"';
   endif; ?>
   src="<?php echo htmlspecialchars($images->image_fulltext); ?>" alt="<?php echo htmlspecialchars($images->image_fulltext_alt); ?>"/>
</div>
<?php endif; ?>
<?php
if (!empty($this->item->pagination) AND $this->item->pagination AND !$this->item->paginationposition AND !$this->item->paginationrelative):
   echo $this->item->pagination;
 endif;
?>
<?php echo $this->item->text; ?>
<?php
if (!empty($this->item->pagination) AND $this->item->pagination AND $this->item->paginationposition AND!$this->item->paginationrelative):
    echo $this->item->pagination;?>
<?php endif; ?>

<?php if (isset($urls) AND ((!empty($urls->urls_position)  AND ($urls->urls_position=='1')) OR ( $params->get('urls_position')=='1') )): ?>
<?php echo $this->loadTemplate('links'); ?>
<?php endif; ?>
   <?php //optional teaser intro text for guests ?>
<?php elseif ($params->get('show_noauth') == true and  $user->get('guest') ) : ?>
   <?php echo $this->item->introtext; ?>
   <?php //Optional link to let them register to see the whole article. ?>
   <?php if ($params->get('show_readmore') && $this->item->fulltext != null) :
      $link1 = JRoute::_('index.php?option=com_users&view=login');
      $link = new JURI($link1);?>
      <p class="readmore">
      <a href="<?php echo $link; ?>">
      <?php $attribs = json_decode($this->item->attribs);  ?>
      <?php
      if ($attribs->alternative_readmore == null) :
         echo JText::_('COM_CONTENT_REGISTER_TO_READ_MORE');
      elseif ($readmore = $this->item->alternative_readmore) :
         echo $readmore;
         if ($params->get('show_readmore_title', 0)!= 0) :
             echo JHtml::_('string.truncate', ($this->item->title), $params->get('readmore_limit'));
         endif;
      elseif ($params->get('show_readmore_title', 0) == 0) :
         echo JText::sprintf('COM_CONTENT_READ_MORE_TITLE');
      else :
         echo JText::_('COM_CONTENT_READ_MORE');
         echo JHtml::_('string.truncate', ($this->item->title), $params->get('readmore_limit'));
      endif; ?></a>
      </p>
   <?php endif; ?>
<?php endif; ?>
<?php
if (!empty($this->item->pagination) AND $this->item->pagination AND $this->item->paginationposition AND $this->item->paginationrelative):
    echo $this->item->pagination;?>
<?php endif; ?>

<?php echo $this->item->event->afterDisplayContent; ?>
</div>




А что именно тут изменить? Подскажите, пожалуйста!

*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Скорее всего, переопределено в шаблоне. Там и ройте. шаблон/html/com_content/article

И уберите эту простыню из кода под спойлер пожалуйста.
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

tmgad

  • Новичок
  • 7
  • 0 / 0
Скорее всего, переопределено в шаблоне. Там и ройте. шаблон/html/com_content/article

И уберите эту простыню из кода под спойлер пожалуйста.

Уважаемая, вся проблема в том, что я не волоку в этом, может вы мне поможете наладить работу сайта, я в долгу не останусь. Напишите, пожалуйста, мне на почту ekbdekor@gmail.com
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Необходимо расширение (модуль) для карточки товара: обзор 360

Автор Yarilo88

Ответов: 25
Просмотров: 3488
Последний ответ 27.03.2019, 14:51:48
от effrit
дубли страниц

Автор abonnent

Ответов: 3
Просмотров: 1520
Последний ответ 12.10.2017, 14:15:13
от SeBun
Для просмотра этой информации необходимо пройти авторизацию ошибка 403

Автор Sintez83

Ответов: 4
Просмотров: 7362
Последний ответ 22.03.2017, 12:59:22
от kruglik_a
Удаление дублей страниц и связанные с этим проблемы

Автор Deska

Ответов: 1
Просмотров: 2274
Последний ответ 14.03.2017, 19:57:10
от Deska
Иконка после названия материала (пункта меню)

Автор GuardianStation

Ответов: 2
Просмотров: 1059
Последний ответ 26.11.2016, 13:59:06
от GuardianStation