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

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
Добрый день.

Решаю проблему с дублями. Для этого по совету размещаю в index.php шаблона следующий код:
Код
...
<head>
<?php if(preg_match('#\?|^/orders|^/search|/notify$|^/cart|^/manufacturer|^/user|^/2-uncategorised|^/component/|askquestion|vasha-korzina#', $_SERVER['REQUEST_URI'])){ ?>
<meta name="robots" content="noindex, nofollow" />
<?php } ?>
<jdoc:include type="head" />
...
Т.е., например, если текущая ссылка страницы вида сайт/component/..., то в секции head страницы должна появиться строка <meta name="robots" content="noindex, nofollow" />
На практике этого не происходит.

Кто-нибудь знает, почему?

На всякий случай привожу начало index.php
Спойлер
[свернуть]
*

rudakoff

  • Осваиваюсь на форуме
  • 19
  • 1 / 0
Re: Почему <head> остаётся тем же?
« Ответ #1 : 20.12.2013, 13:21:30 »
Поправьте регулярку:
Код
<?php 
if(preg_match('#/(orders|search|notify|cart|manufacturer|user|2\-uncategorised|component|askquestion|vasha-korzina)#', $_SERVER['REQUEST_URI'])){ ?>
На счет notify не совсем понял, Вам нужно, чтобы она строго в конце ссылки шла или просто в ссылке встречалась, начиная с символа "/" ?
*

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
Re: Почему <head> остаётся тем же?
« Ответ #2 : 20.12.2013, 13:30:57 »
Поправьте регулярку:
Код
<?php 
if(preg_match('#/(orders|search|notify|cart|manufacturer|user|2\-uncategorised|component|askquestion|vasha-korzina)#', $_SERVER['REQUEST_URI'])){ ?>
На счет notify не совсем понял, Вам нужно, чтобы она строго в конце ссылки шла или просто в ссылке встречалась, начиная с символа "/" ?
строго в конце. сейчас попробую. благодарю
*

rudakoff

  • Осваиваюсь на форуме
  • 19
  • 1 / 0
Re: Почему <head> остаётся тем же?
« Ответ #3 : 20.12.2013, 13:36:31 »
..тогда в самой регулярке:
Код
.. |notify$| 
а для 2\-uncategorised обратный слеш можно убрать. Это я перестраховался.
*

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
Re: Почему <head> остаётся тем же?
« Ответ #4 : 20.12.2013, 14:06:28 »
..тогда в самой регулярке:
Код
.. |notify$| 
а для 2\-uncategorised обратный слеш можно убрать. Это я перестраховался.
и ваше выражение не сработало. что за напасть?.. :)
*

rudakoff

  • Осваиваюсь на форуме
  • 19
  • 1 / 0
Re: Почему <head> остаётся тем же?
« Ответ #5 : 20.12.2013, 14:08:16 »
Покажите значение $_SERVER['REQUEST_URI'] или адрес ссылки дайте.
*

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
Re: Почему <head> остаётся тем же??
« Ответ #6 : 20.12.2013, 14:27:01 »
Покажите значение $_SERVER['REQUEST_URI'] или адрес ссылки дайте.
вот пример "/component/virtuemart/tekhnika/model-vertolet-mi-38-2-detail?Itemid=0" И вроде согласно проверке выражение работает
« Последнее редактирование: 20.12.2013, 14:32:11 от borro »
*

rudakoff

  • Осваиваюсь на форуме
  • 19
  • 1 / 0
Re: Почему <head> остаётся тем же?
« Ответ #7 : 20.12.2013, 14:33:44 »
Попробуйте выполнить так:
Код
if(preg_match("/\/(orders|search|notify|cart|manufacturer|user|2-uncategorised|component|askquestion|vasha-korzina)/si", $_SERVER['REQUEST_URI']))
Если у Вас на сервере стоит utf-8, то в конце первого стринга указывайте /sui

А что view-source страницы в этом месте содержит?
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Почему <head> остаётся тем же??
« Ответ #8 : 20.12.2013, 14:54:43 »
Какой то не ахти подход. Зачем проверять адресную строку регуляркой да еще все значения.
По ходу лучше проверять в массиве $_REQUEST есть ли нужная строка при совпадении выводить
Код: php-brief
$this->addCustomTag('<meta name="robots" content="noindex, nofollow" />');
break;
*

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
Re: Почему <head> остаётся тем же??
« Ответ #9 : 20.12.2013, 15:02:55 »
вы будете смеяться наверно :) если написать в <meta name="robots" content="noindex, nofollow" /> robots c большой R, то строка появляется с любым регвыражением :) Это такой строгий синтаксис? Или какой нибудь скрипт метрики/аналитики ищет и удаляет если robots с маленькой "r"? :)
« Последнее редактирование: 20.12.2013, 15:06:35 от borro »
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Почему <head> остаётся тем же??
« Ответ #10 : 21.12.2013, 04:13:00 »
Код: php-brief
<?php
$dataArr = array(
                    'orders',
                    'com_search',
                    'notify',
                    'cart',
                    'com_users'
                );
foreach ($dataArr as $value){
    if(in_array($value, $_REQUEST)){
        $this->addCustomTag('<meta name="robots" content="noindex, nofollow" />');
        break;
    }
}
//var_dump($_REQUEST);
?>
код можно вставить в конец шаблона
И переделанный ваш вариант
Код: php-brief
<?php
$dataArr = array(
                    'orders',
                    'search',
                    'notify',
                    'cart',
                    'aa/bb',
                    'Featured'
                );
$url = $_SERVER['REQUEST_URI'];
foreach ($dataArr as $value){
    if(strripos($url, $value)!== false){
        $this->addCustomTag('<meta name="robots" content="noindex, nofollow" />');
        break;
    }
}
?>
*

Arkantos

  • Захожу иногда
  • 216
  • 17 / 0
  • Всё о создании сайтов: http://site-on.net
Re: Почему <head> остаётся тем же?
« Ответ #11 : 21.12.2013, 11:07:45 »
Код: php-brief
<?php
$dataArr = array(
                    'orders',
                    'com_search',
                    'notify',
                    'cart',
                    'com_users'
                );
foreach ($dataArr as $value){
    if(in_array($value, $_REQUEST)){
        $this->addCustomTag('<meta name="robots" content="noindex, nofollow" />');
        break;
    }
}
//var_dump($_REQUEST);
?>
код можно вставить в конец шаблона
И переделанный ваш вариант
Код: php-brief
<?php
$dataArr = array(
                    'orders',
                    'search',
                    'notify',
                    'cart',
                    'aa/bb',
                    'Featured'
                );
$url = $_SERVER['REQUEST_URI'];
foreach ($dataArr as $value){
    if(strripos($url, $value)!== false){
        $this->addCustomTag('<meta name="robots" content="noindex, nofollow" />');
        break;
    }
}
?>

И как здесь обозначено, что notify должно быть строго в конце URL, а cart строго в начале?
*

Arkantos

  • Захожу иногда
  • 216
  • 17 / 0
  • Всё о создании сайтов: http://site-on.net
Re: Почему <head> остаётся тем же?
« Ответ #12 : 21.12.2013, 11:10:28 »
вы будете смеяться наверно :) если написать в <meta name="robots" content="noindex, nofollow" /> robots c большой R, то строка появляется с любым регвыражением :) Это такой строгий синтаксис? Или какой нибудь скрипт метрики/аналитики ищет и удаляет если robots с маленькой "r"? :)

Вообще-то больше похоже, что у вас был, например, серверный кеш :) С моей регуляркой всё ок ;)

P.S. На правах рекламы:
Как создать свой собственный шаблон для Joomla 2.5 и Joomla 3

Автоматический импорт, экспорт и обновление товаров из прайс-листа в VirtueMart 2

Скрипты быстрой покупки для Joomla 2.5 + VirtueMart 2
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Почему <head> остаётся тем же?
« Ответ #13 : 21.12.2013, 14:14:51 »
И как здесь обозначено, что notify должно быть строго в конце URL, а cart строго в начале?

Используйте 1 вариант смотрите, что такое notify или cart
или вставьте регулярку в цикл с проверкой value, где value - регулярное выражение
*

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
Re: Почему <head> остаётся тем же?
« Ответ #14 : 26.12.2013, 12:09:28 »
Опять вернулся к вставке noindex на страницы после его временного удаления. И опять двадцать пять - если пишу Robots с большой буквы R - изменения сразу же отображаются на сайте. Если пишу robots - как будто ничего не писал :) Кибернетика
*

pberit

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Re: Почему <head> остаётся тем же?
« Ответ #15 : 27.06.2014, 01:16:16 »
У меня не работают все варианты... Вернее в cart появляется мета тег, а в ссылках типа /orderDesc/results,1-4?tmpl=component нету...
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Почему <head> остаётся тем же??
« Ответ #16 : 27.06.2014, 01:51:07 »
Почти мини роутер получился  :laugh:
Код: php-brief
$result = false;
$router = array(
    "aaaa",
    "bbbb",
    "cccc",
    "(\/hi\/?)"
);
$uri = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
foreach ($router as $route) {
    if ($uri === $route || preg_match('#^' . $route . '$#', $uri, $params)) {
        $result = true;
        break;
    }
}
if($result): ?>
<meta name="robots" content="noindex, nofollow" />
<?php endif;?>
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Re: Почему <head> остаётся тем же?
« Ответ #17 : 24.10.2016, 07:21:04 »
Подскажите почему этот код
Код: php
<?php
$dataArr = array(
'askquestion',
'service',
'results',
'search',
'product_name',
'dirDesc',
'mf_name',
'by,ordering',
'vkhod-na-sajt'
                );
foreach ($dataArr as $value){
    if(in_array($value, $_REQUEST)){
        $this->addCustomTag('<meta name="robots" content="noindex, nofollow" />');
        break;
    }
}

?>
Срабатывает на всех страницах а не на указанных
Тут он должен быть _https://lik-astana.kz/poligrafiya/by,ordering.html и он есть.
Тут его не должно быть https://lik-astana.kz/poligrafiya.html а он есть.
Подскажите в чем проблема. Использую Joomla 3.6.3 и VirtueMart 3.0.18
« Последнее редактирование: 26.01.2017, 07:58:59 от Stasweb »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Где редактировать вывод HEAD

Автор st_jimmy96

Ответов: 0
Просмотров: 5732
Последний ответ 04.11.2016, 09:17:33
от st_jimmy96
Почему выгружается только одна строка из базы данных??

Автор borro

Ответов: 0
Просмотров: 5735
Последний ответ 03.10.2013, 07:10:43
от borro
Удаление скриптов/стилей из <jdoc:include type="head" />

Автор NightGuard

Ответов: 2
Просмотров: 5093
Последний ответ 29.05.2012, 01:59:32
от recomp