Це питання гадаю, цікаво всім. Щоразу з одним підтекстом: мабуть, треба знову щось переробляти. Ні. Більшість магазинів на Joomla з VirtueMart або на OpenCart вже готові до AI видачі. Просто ніхто не перевіряв.

Погана інша новина. Ті кілька нюансів, яких не вистачає, часом блокують видимість повністю, і власник про це не знає.

Ця стаття це конкретний перелік: що перевірити, в якому порядку, і чому саме на legacy платформах є нюанси, яких немає на Shopify. Київ Стенд наш власний магазин на Joomla 5.x з VirtueMart 4.x і PHP 8.3, слугує живим прикладом. Усі наші дії ми перевіряємо на ньому перед тим, як пропонувати їх для клієнтських проєктів. Той самий підхід застосовуємо й до OpenCart магазинів: не мігруємо, а модернізуємо до сучасних стандартів .

AI пошук: це не одна система

Більшість власників магазинів, уявляють «AI пошук» як одну платформу з однією кнопкою. Насправді це чотири принципово різні речі, і кожна вимагає окремої уваги.

Google AI Overviews. Це блоки з узагальненими відповідями, які Google показує над звичайною органічною видачею. Для потрапляння в них Google офіційно не вимагає жодних технічних заходів понад стандартну індексацію. Ваш сайт вже в Google, а отже вже є кандидатом. Питання тільки в тому, чи вважає Google ваш контент достатньо авторитетним і технічно доступним. Є важливий нюанс: Google AI Overviews активується значно рідше для транзакційних e-commerce запитів типу "купити що-небудь" і значно частіше для інформаційних та порівняльних. За даними BrightEdge за лютий 2026 року, AI Overviews активується в середньому на 48 відсотках відстежуваних запитів у США, в e-commerce цей показник нижчий.

ChatGPT Search. Повноцінна пошукова система OpenAI. Тут три різні агенти:

  • навчальний краулер OpenAI (GPTBot),
  • пошуковий краулер ChatGPT Search (OAI-SearchBot),
  • агент реального часу (ChatGPT-User). Кожен з них вимагає окремий запис у robots.txt. Блокування одного не впливає на інший. Докладніше в розділі про robots.txt.

Perplexity. Це самостійна пошукова система. Два агенти:

  • фоновий індексатор PerplexityBot,
  • агент Perplexity-User, який сканує сторінки в реальному часі під конкретний запит. Perplexity цитує від трьох до чотирьох джерел на запит і відрізняється стабільним ядром авторитетності: якщо джерело потрапило в ротацію, воно там надовго.

Gemini. Тут все складно. Google-Extended це спеціальний агент (краулер) Google, який керує лише тим, чи може Google використовувати ваш контент для навчання моделей. Блокування Google-Extended не впливає ні на позиції в Google, ні на появу в AI Overviews, ні на AI Mode. Це прямо задокументовано в Google Crawlers documentation. Gemini підтягує інформацію з основного індексу Google Search.

Ми бачили магазини, де власник старанно заблокував «всі AI боти» через Cloudflare і заодно вирізав себе з ChatGPT Search та Perplexity, залишившись тільки в Google. Різниця між системами тут принципова.

Ми склали цю таблицю після того, як наш клієнт розповів про ту саму ситуацію: блокував «всіх AI», а потім дивувався, чому Perplexity мовчить.

ChatGPT Search і Perplexity вимагають найбільше уваги: окремі краулери, чіткі технічні вимоги. Google AI Overviews і Gemini вирішуються через загальне SEO і сигнали досвіду, експертизи, авторитетності, довіри (EEAT).

Технічна передумова: чи пускаєте ви краулерів на сайт

Перш ніж думати про Schema.org і авторитетність, перевірте, чи взагалі AI боти можуть потрапити на ваш сайт.

На старих legacy платформах стандартний robots.txt часто містить рядки, які блокують папки з CSS та JavaScript. AI краулери не завантажують стилі окремим запитом. Вони читають сторінку як HTML. Якщо CSS заблоковано, сторінка виглядає для робота порожньою або нечитабельною.

Відкрийте robots.txt вашого сайту (адреса: https://вашдомен.ua/robots.txt) і звірте його з дефолтним robots.txt.dist вашої версії Joomla в офіційному репозиторії joomla/joomla-cms на GitHub. Особливо перевіряйте дві директиви:

  • Disallow: /media/ — цієї директиви ніколи не було в дефолтному robots.txt.dist Joomla, ні у версіях 3.x, ні у 4.x, ні у 5.x. Якщо ви знайшли її у своєму файлі, це означає, що колишній адмін додав її вручну, спираючись на поради з блогів приблизно 2013 року. У папці /media/ лежать CSS, JavaScript і шрифти ядра Joomla та розширень. Блокування цієї папки заважає Googlebot і AI краулерам зрендерити сторінку і напряму шкодить ранжуванню. Google офіційно попереджав про це починаючи з жовтня 2014 року, і позиція не змінилась досі.
  • Disallow: /templates/ — була в дефолті Joomla 3.x, але прибрана в Joomla 4.0 саме тому, що там лежать CSS і JS шаблонів. Якщо ваш магазин на Joomla 3.10 і директива присутня, поруч мають стояти Allow: /templates/*.css$ і Allow: /templates/*.js$ (саме так це зроблено в апстримі Joomla 3.x з 2014 року). Якщо ваш магазин на Joomla 4.x або 5.x, директиви Disallow: /templates/ бути не повинно.

Директива Disallow: /components/ присутня в дефолті всіх версій Joomla і не шкодить рендерингу: у цій папці лежать PHP entry points, а не статичні файли.

Це типовий сценарій, який ми регулярно бачимо в аудитах магазинів на Joomla 3.10: рядок Disallow: /media/, доданий колишнім адміном за порадами з блогів десятирічної давнини. Після видалення цього рядка і повторного обходу через Google Indexing API цитованість у ChatGPT Search зазвичай відновлюється протягом кількох тижнів після наступного crawl-циклу.

Ось приклад блоку конфігурації AI краулерів, який варто додати у robots.txt до блоку User-agent: *. OpenAI пише про 3 різних боти в своїй developer-документації, плюс до них додаються Perplexity, Anthropic Claude, окремий токен Google для генеративних сервісів і категоричне виключення для Bytespider:

# Поисковый краулер ChatGPT Search - Allow обязателен для видимости
User-agent: OAI-SearchBot
Allow: /
Disallow: /administrator/

# Загрузка по запросу пользователя в ChatGPT и Custom GPTs
User-agent: ChatGPT-User
Allow: /
Disallow: /administrator/

# Обучающий краулер OpenAI - блокировка не влияет на ChatGPT Search
User-agent: GPTBot
Disallow: /

# Perplexity - Allow для видимости в Perplexity Answers
User-agent: PerplexityBot
Allow: /
Disallow: /administrator/

# Anthropic Claude
User-agent: ClaudeBot
Allow: /
Disallow: /administrator/

# Google-Extended - управляет попаданием в Gemini и AI Overviews
User-agent: Google-Extended
Allow: /

# ByteDance/TikTok - агрессивный краулер, безопаснее заблокировать
User-agent: Bytespider
Disallow: /

GPTBot, OAI-SearchBot і ChatGPT-User від компанії OpenAI, але це три різні сутності з різним призначенням. Навчальний краулер (GPTBot) збирає дані для тренування моделей. Пошуковий краулер (OAI-SearchBot) робить індекс для ChatGPT Search. Агент реального часу (ChatGPT-User) завантажує сторінку тоді, коли користувач ChatGPT щось запитує. OpenAI в своїй документації для розробників пише: «Sites that are opted out of OAI-SearchBot will not be shown in ChatGPT search answers». Тобто блокування пошукового краулера прибирає ваш магазин з видачі ChatGPT Search повністю.

Google-Extended окремий бот, який Google запровадив у 2023 році. Він контролює використання вашого контенту в Gemini і в блоках AI Overviews. Стандартний Googlebot відповідає за класичний пошуковий індекс. Якщо ви хочете залишити магазин у Google пошуку, але виключити з навчання Gemini, це два різні рядки з різними правилами. ClaudeBot від Anthropic поводиться аналогічно: окремий бот для окремого використання. Bytespider від ByteDance помічений у надто агресивному краулінгу і, як правило, не приносить видимості в жодній популярній системі у Європі та Україні, тому цей бот безпечніше заблокувати повністю.

Живий приклад як має бути. Власний магазин https://kyivstend.com.ua/, який ми модернізуємо 11+ років на стеку Joomla + VirtueMart, використовує саме такий набір правил. Відкрийте https://kyivstend.com.ua/robots.txt у браузері і побачите всі описані вище блоки на практиці, разом зі стандартними Joomla директивами для службових папок і парними Allow для CSS і JavaScript.

Окремо про Cloudflare. Якщо ваш сайт стоїть за ним, перевірте налаштування розділу Security → Bots. Історично там був перемикач «Block AI bots». За документацією Cloudflare цей перемикач виключав search-краулерів зі списку блокування, тобто OAI-SearchBot він автоматично не блокує. Реальний ризик для видимості створюють старі правила Super Bot Fight Mode, Bot Fight Mode і кастомні WAF правила: вони не розрізняють категорії AI ботів і можуть по помилці відсікати OAI-SearchBot та PerplexityBot. З вересня 2026 року Cloudflare замінює старий перемикач трьома окремими категоріями Search, Agent і Training, де search-краулери за замовчуванням залишаються дозволеними.

Практична рекомендація: перевірити в логах Cloudflare Radar, які саме AI боти реально доходять до вашого сайту. Якщо OAI-SearchBot або PerplexityBot відсутні в списку, значить один з WAF-фільтрів їх відсікає. Явно дозволити ці два боти можна через Cloudflare Custom Rules за офіційними діапазонами IP адрес OpenAI. OpenAI публікує три окремих JSON з IP адресами для трьох ботів:

  • https://openai.com/searchbot.json — діапазони пошукового краулера ChatGPT Search;
  • https://openai.com/chatgpt-user.json — діапазони агента реального часу;
  • https://openai.com/gptbot.json — діапазони навчального краулера (якщо ви його блокуєте через robots.txt, у Cloudflare Allow він не потрібен).

Діапазони оновлюються, тому налаштуйте автоматичне оновлення правила раз на добу.

Schema.org для магазину: базова вимога, а не «просунутий SEO»

GEO оптимізація (оптимізація під генеративні пошукові системи) не вигадала нових правил. Підтверджуються правила, які SEO спільнота рекомендувала роками: структурована розмітка Schema.org тепер впливає не лише на Rich Snippets у Google, а й на те, чи зможе AI краулер правильно зрозуміти ваш товар.

AI краулери не люблять здогадуватись.

Якщо ціна товару відсутня у структурованих даних, краулер або запише нульову ціну, або проігнорує картку. Це справжня біда для магазинів, де товарний шаблон роками не чіпали. Ми бачили магазини з тисячами SKU, де кожен другий товар у ChatGPT виглядав як «ціна не вказана». Причина: стара Microdata розмітка некоректно генерувала поле offers.

Що має бути на сторінці товару:

{
  "@context": "https://schema.org/",
  "@type": "Product",
  "name": "Назва товару",
  "image": "https://вашдомен.ua/images/product.jpg",
  "description": "Опис товару",
  "sku": "ART-001",
  "brand": {
    "@type": "Brand",
    "name": "Назва бренду"
  },
  "offers": {
    "@type": "Offer",
    "url": "https://вашдомен.ua/product/url",
    "priceCurrency": "UAH",
    "price": "1250.00",
    "availability": "https://schema.org/InStock",
    "validFrom": "2026-07-01T00:00:00+03:00"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.7",
    "reviewCount": "23"
  }
}

Базовий VirtueMart 4.x генерує стару Microdata розмітку, вбудовану прямо в HTML шаблони. Вона дає синтаксичні помилки і взагалі гірше читається AI екстракторами, ніж JSON-LD, який Google у 2026 називає найкращим форматом структурованих даних для його пошуку. На Joomla Extensions Directory доступно кілька безкоштовних і платних розширень, які підключаються до VirtueMart, перехоплюють змінні товару (ціна, залишки, зображення, відгуки) і генерують чистий JSON-LD. Оптимальний вибір залежить від вашого шаблону і набору вже встановлених розширень. Ми підбираємо конкретне рішення під кожен магазин; загальний критерій цього розширення має генерувати JSON-LD без Microdata дублів і мати оновлення хоча б раз на рік.

Для OpenCart версій 2.x і 3.x картина інша. З коробки Schema.org немає взагалі. Шаблонні файли catalog/view/theme/*/template/product/product.tpl (для версії 2.x) або .twig (для версії 3.x) розмітки не містять. Це наслідок архітектури: OpenCart залишає це модулям. Варіанти два: підібрати SEO розширення з OpenCart marketplace, яке генерує JSON-LD у шаблоні заголовка, або прописати розмітку напряму в шаблоні. Перед встановленням розширення перевірте, чи не вписує воно розмітку через JavaScript: якщо так, AI краулер її не побачить.

Ще три типи розмітки, про які часто забувають:

  • Organization: назва магазину, адреса, контакти, рік заснування (foundingDate). Без неї AI система не розуміє, що це за сайт.
  • BreadcrumbList: для навігаційних ланцюжків (категорія, підкатегорія, товар). Простий тип, але саме він може дублюватися модулем і шаблоном, що точно не сподобається ботам, які читають одне й те саме двічі.
  • AggregateRating: відгуки клієнтів, якщо вони є. Недостатньо просто вивести зірочки на сторінці, це окремий тип розмітки.

Для перевірки: Rich Results Test від Google за адресою https://search.google.com/test/rich-results. Введіть URL будь-якої сторінки товару. Помилки в блоці Product пріоритет №1.

Нові рекомендації Schema.org за 2024 та 2026 рік: якщо у вас є товари зі знижками, Google рекомендує додавати властивості validFrom і validThrough з точним часом і часовим поясом у форматі ISO 8601, наприклад 2026-08-31T23:59:59+03:00. Для товарів з варіаціями (розмір, колір) Google рекомендує використовувати клас ProductGroup із властивостями variesBy і hasVariant, щоб пошуковик міг згрупувати варіанти під один батьківський товар. Обидві рекомендації є в Merchant Listing Structured Data guide на Google Search Central.

Версія PHP і JavaScript рендеринг: прихований блокер

Є технічні проблеми у старих інтернет-магазинах, які власники зазвичай не пов'язують з AI пошуком.

PHP 7.x у 2026 році. Joomla 3.x офіційно досягла кінця підтримки у серпні 2023 року за офіційним оголошенням команди Joomla. OpenCart 2.x офіційно не підтримується з 2018 року. PHP 8.0 досяг кінця підтримки у листопаді 2023 року за офіційним PHP.net Supported Versions. Якщо ваш сервер досі на PHP 7.4 або 8.0, сайт уразливий до відомих CVE вразливостей. Зламаний сайт зі спам кодом Google виключає з індексу через звіт Security Issues у Search Console. Перехід з PHP 7.x на PHP 8.2 або 8.3 суттєво прискорює відклик сервера. Для краулерів, агента Perplexity та агента ChatGPT, це впливає на індексацію.

Joomla 4.x і 5.x нативно оптимізовані під PHP 8.2 та 8.3. VirtueMart 4.x і 5.x супроводжується під сучасні Joomla і PHP версії. OpenCart 3.0.3.9 і вище офіційно підтримує PHP 8.0, але не всі шаблони і модулі оновлені під нього.

JavaScript рендеринг цін. Модулі динамічного перерахунку валюти і AJAX фільтрації завантажують актуальні ціни в браузер після первинного завантаження сторінки. AI краулери читають HTML, який отримують від сервера. Якщо ціни відсутні в первинному HTML коді, краулер запише нульову ціну або проігнорує товар. Ціни мають рендеритись на стороні сервера.

Відкрийте сторінку товару з вимкненим JavaScript у браузері (DevTools, Settings, Disable JavaScript). Якщо ціна зникла, проблема знайдена.

Ми бачили, як у магазинів із ідеальною Schema.org розміткою. Але розмітка генерувалась динамічно, тому в первинному HTML ціни не було. Rich Results Test показував все зелено, а ChatGPT бачив порожній товар.

Авторитетність: чому AI обирає одні джерела, а не інші

EEAT (досвід, експертиза, авторитетність, довіра) для інтернет-магазину це конкретний набір сигналів, які LLM системи зчитують під час оцінки джерела.

BrightEdge фіксує: перетин між тим, що цитує Google AI Overviews, і класичним топом 10 Google. Лише кожен сьомий сайт із першої десятки потрапляє в AI Overviews. За дослідженням Ahrefs, показник ще недавно був 76 відсотків, а тепер близько 38 відсотків. Обидві цифри означають одне: авторитетність для AI вимірюється не позицією, а чимось іншим.

Для магазину це «інше» зводиться до конкретних речей.

Сторінка «Про нас» має містити не маркетинговий текст, а факти: рік заснування, фізичне місцезнаходження, реальне ім'я. Schema.org це Organization із властивостями foundingDate, address, contactPoint.

Відгуки клієнтів зі Schema.org. Якщо відгуки є, але не розмічені як Review або AggregateRating, AI краулер їх не бачить.

Сторінки «Контакти», «Оплата і доставка», «Повернення», їхня наявність і текстовий зміст із реальними бізнес процесами є сигналом довіри. Google Search Quality Rater Guidelines перераховують наявність цих сторінок. Часто в магазинів із п'ятнадцятирічною історією сторінка «Повернення» містить текст «згідно з чинним законодавством».

Перевірка: що там у вас

Не займатися всім одразу.

1. Rich Results Test

Відкрийте https://search.google.com/test/rich-results, введіть URL сторінки товару. Помилки в блоці Product пріоритет №1. Попередження допустимі.

2. Перевірка robots.txt

Відкрийте https://вашдомен.ua/robots.txt. Для Joomla: чи немає доданого вручну рядка Disallow: /media/ (він ніколи не був у дефолті, шкодить рендерингу). Для Joomla 4.x і 5.x чи не залишився старий рядок Disallow: /templates/ з часів 3.x (у сучасних версіях його бути не повинно). Для OpenCart: чи не заблоковано /catalog/view/theme/ і /image/.

Перевірте: чи є рядок User-agent: OAI-SearchBot з директивою Allow: /. Якщо краулер ChatGPT Search взагалі не згаданий, а є заборона для всіх ботів, тоді ChatGPT Search вас не бачить.

3. Перевірка nosnippet у GSC

Перевірка URL-адреси в GSC. Введіть URL адресу важливої сторінки товару. Розділ Перегляд проіндексованої сторінки HTML. Там буде повний HTML-код, який отримав Google. Шукайте рядок або .

DevTools у браузері. Відкрийте сторінку товару, F12, вкладка Network, перезавантажте,клацніть на перший HTML запит, Response Headers. Шукайте рядок X Robots Tag: nosnippet або щось подібне.

View Source (Ctrl+U). Шукайте <meta name="robots" у head. Перевірте, що там вказано: index, follow це є норма. nosnippet, max-snippet:0 або noindex це проблема. Якщо важливі сторінки мають nosnippet, вони невидимі в Google AI Overviews.

У червні 2026 Google запустив спеціалізовані звіти Search Generative AI у GSC. Вони показують кліки і покази безпосередньо в Google AI Overviews блоках.

Крок 4. Ручна перевірка в ChatGPT і Gemini

Відкрийте ChatGPT (версія з Search) і введіть запит, пов'язаний з вашим товаром або нішею: «купити [назва товару] Україна» або «[назва категорії] характеристики порівняння». Те саме зробіть у Gemini (https://gemini.google.com) і Perplexity (https://perplexity.ai).

Якщо вас немає, це не означає, що щось зламалося прямо зараз. Але перевірка robots.txt і Rich Results Test покаже,що робити далі.

Типові помилки власників интернет-магазинів

З магазинами на застарілих PHP платформах ми зустрічаємо три основні помилки.

Помилка 1: robots.txt блокує всіх, крім Googlebot

Найпоширеніший сценарій. Розробник колись «захистив» сайт від небажаних ботів: Disallow: / для User-agent: * і окремо дозволив тільки Googlebot. Результат: ні пошуковий краулер ChatGPT Search, ні краулер Perplexity не можуть зайти.

Перевірте: robots.txt:

User-agent: *
Disallow: /

Якщо є, і нижче немає Allow: / для краулера ChatGPT Search і краулера Perplexity, виправляйте першочергово.

Помилка 2: Schema.org тільки на головній сторінці

Розширення встановили, розмітку налаштували і вважають що все гаразд. Але краулери шукають товари на сторінках товарів, а не на головній. Перевірте Rich Results Test на різних сторінках товарів. На OpenCart частіше буває навпаки: JSON-LD є на товарах, але немає Organization в заголовку. Що Потрібно робити, якщо у вас не так.

Помилка 3: noindex на сторінках пагінації і відгуків

Стандартно ставити noindex на /category/?page=2це блокувало цілі масиви контенту, зокрема відгуки. Для AI систем відгуки є важливим сигналом авторитетності. Перегляньте, які сторінки закриті від індексації, і оцініть, чи це дійсно потрібно.

Пріоритет дій: що робити першим

Три кроки за зростанням складності. Актуальні для будь-якого legacy стеку.

Крок 1: виправити robots.txt

Відкрийте файл через FTP або файловий менеджер хостингу. Для Joomla з VirtueMart приберіть додані вручну рядки Disallow: /media/ (шкодить рендерингу CSS та JS ядра) і Disallow: /templates/ (у версіях 4.x та 5.x його не повинно бути; у 3.x, якщо він є, поруч мають стояти Allow: /templates/*.css$ і Allow: /templates/*.js$). Рядок Disallow: /components/ залишайте, він у дефолті всіх версій і не шкодить. Для OpenCart перевірте, що не заблоковано /catalog/view/theme/ і /image/. Додайте окремий блок з явними правилами для семи AI ботів за прикладом з розділу «Технічна передумова» вище. Живий референс, з якого можна скопіювати структуру блоку, доступний за адресою https://kyivstend.com.ua/robots.txt. Збережіть і перевірте результат через https://вашдомен.ua/robots.txt.

Це єдина зміна, яка не потребує ні розширень, ні знань PHP, ні перебудови шаблону. При цьому вона усуває найпоширеніший технічний блокер.

Крок 2: встановити JSON LD Schema.org на сторінки товарів

Для Joomla 4.x та 5.x з VirtueMart: підібрати розширення на Joomla Extensions Directory за критеріями «підтримка актуальної гілки Joomla», «генерує JSON-LD без Microdata дублів» і «оновлення хоча б раз на рік». Для OpenCart версій 2.x і 3.x: альтернативно можна прописати JSON-LD напряму в шаблоні product.tpl (версія 2.x) або product.twig (версія 3.x), використовуючи змінні $product.

Налаштуйте Product schema: прив'яжіть поля ціни, наявності, зображень і відгуків. Перевірте Rich Results Test на сторінках товарів.

Крок 3: версія PHP і сигнали EEAT

Перевірте поточну версію PHP через phpinfo або панель хостингу. Якщо нижче версії 8.1, заплануйте оновлення на 8.3. Для Joomla 4.x та 5.x з VirtueMart 4.x це стандартна процедура, але потребує тестування на staging середовищі. Для OpenCart 2.x перехід на PHP 8.x без попереднього оновлення ядра до версії 3.x або 4.x гарантовано зламає щонайменше половину модулів. Спочатку ядро, потім PHP.

Доповніть сторінку «Про нас» реальними даними і перевірте наявність Organization schema.

Специфіка CMS

Загальні принципи однакові, але в деталях кожна CMS має свою больову точку.

Joomla з VirtueMart (версії 3.x, 4.x, 5.x)

robots.txt із коробки блокує /administrator/ і /tmp/, і це правильно. Але VirtueMart іноді додає до Disallow рядок ?option=com_virtuemart, що відрізає весь каталог для краулерів. Перевірте, чи немає у вас такого рядка.

Компонентний рендеринг Joomla означає, що AI краулери бачать чистий HTML. Але JSON-LD у шаблоні треба прописувати вручну або через розширення. З коробки VirtueMart 4.x видає Microdata, і з нею ChatGPT Search регулярно промахується по ціні.

OpenCart версії 2.x і 3.x

Головна проблема: URL дублікати від фільтрів. OpenCart генерує параметри типу ?sort=p.price&order=DESC&limit=25, і якщо SEO URLs увімкнено некоректно, кожна комбінація фільтра отримує окрему URL без canonical. Краулери або ігнорують такі сторінки, або індексують одні й ті самі товари кілька разів під різними URL.

Модуль SEO Pro є стандартним рішенням, але ми бачили встановлення, де canonical тягне на головну замість поточної сторінки. Перевіряти <link rel="canonical"> у коді сторінки вручну обов'язково.

PHP 7.x на більшості живих OpenCart 2.x це не тільки безпека, але й швидкість. Агент Perplexity обриває запит при TTFB до 2 секунд, і такий магазин просто не потрапляє в ротацію джерел.

Київ Стенд : реальний Joomla + VirtueMart інтернет-магазин у 2026 році

Київ Стенд , наш власний інтернет-магазин на Joomla 5.x з VirtueMart 4.x і PHP 8.3, актуальний стек станом на 2026 рік. Модернізується безперервно з 2015 року та постійно підтримується в актуальному стані: інтернет-магазин оновлюється; коли з'являється нова стабільна PHP переходимо на неї.

Той факт, що legacy магазин, який запускався ще на Joomla 2.5 і VirtueMart 2.0, сьогодні працює на Joomla 5 без втрати індексованих URL, і є основним доказом того, що модернізація на цьому стеку є робочим шляхом, а не теорією.

Близько 2890 URL стабільно присутні в Google Search Console протягом 10 років. Під час Google Core Updates, коли конкуренти на застарілих CMS фіксують провали в покритті, Київ Стенд утримує рівень. Відповідь на питання «чи може Joomla з VirtueMart у 2026 нормально індексуватись» однозначна: так, може, при правильній технічній підтримці.

Чек-лист AI готовності для legacy магазину

robots.txt:

  • Для Joomla: відсутній доданий вручну рядок Disallow: /media/ (шкодить рендерингу CSS та JS)
  • Для Joomla 4.x і 5.x: відсутній рядок Disallow: /templates/ (актуально тільки для 3.x, і то з парним Allow: /templates/*.css$ і *.js$)
  • Для OpenCart: не заблоковано /catalog/view/theme/ і /image/
  • Пошуковий краулер ChatGPT Search (OAI-SearchBot) має явний Allow: /
  • Агент реального часу (ChatGPT-User) має явний Allow: /
  • Навчальний краулер OpenAI (GPTBot) заблокований Disallow: /, якщо хочете захистити контент від навчання моделей (не впливає на видимість у ChatGPT Search)
  • Краулер Perplexity (PerplexityBot) має явний Allow: /
  • Краулер Anthropic (ClaudeBot) має явний Allow: /
  • Токен Google для генеративних сервісів (Google-Extended) має явне рішення: Allow: / для видимості в Gemini і AI Overviews, або Disallow: / для виключення з навчання
  • Краулер ByteDance (Bytespider) заблокований Disallow: / як агресивний і безкорисний для видимості
  • Живий приклад для звірки: https://kyivstend.com.ua/robots.txt
  • У Cloudflare перевірено логи Radar: пошуковий краулер ChatGPT Search і краулер Perplexity реально доходять до сайту, старі правила Bot Fight Mode і кастомні WAF не блокують їх

Schema.org:

  • Product schema є на сторінках товарів (не тільки на головній)
  • Обов'язкові поля: name, image, offers.price, offers.priceCurrency, offers.availability
  • Organization schema на сторінці «Про нас» або в заголовку сайту
  • BreadcrumbList на сторінках товарів і категорій
  • Rich Results Test не показує помилок

Технічні блокери:

  • PHP версії 8.1 або вище (рекомендовано 8.2 або 8.3)
  • Ціни рендеряться в первинному HTML, перевірено з вимкненим JS у DevTools
  • Платформа на підтримуваній версії (Joomla 4.x або 5.x, OpenCart 3.x і вище)
  • nosnippet відсутній на важливих сторінках товарів і категорій

Сигнали EEAT:

  • Сторінка «Про нас» містить рік заснування, контакти, реальні дані
  • Є сторінки «Оплата і доставка», «Повернення» з конкретним текстом
  • Відгуки клієнтів розмічені як AggregateRating або Review

Практична перевірка:

  • Rich Results Test пройдено для 5 і більше сторінок товарів
  • Ручна перевірка в ChatGPT Search і Perplexity за нішевими запитами

Якщо ці пункти закриті, ваш магазин вже набагато попереду більшості CMS.

Надішліть нам скрин звіту «Ефективність» у GSC за останні 3 місяці. Скажемо за 15 хвилин, чи є там патерни Core Update і що саме впало.

FAQ

Чи потрібно оптимізувати сайт для AI пошуку, чи достатньо звичайного SEO?

Залежить від системи. Для Google AI Overviews стандартна індексація достатня. Для ChatGPT Search і Perplexity потрібно перевірити robots.txt і Schema.org. Насправді єдина проблема у robots.txt.

Що таке GEO оптимізація і навіщо мені про це знати?

Два речення. GEO оптимізація це оптимізація сайту для видимості в генеративних пошукових системах: ChatGPT Search, Gemini, Perplexity, Google AI Overviews. Від класичного SEO відрізняється акцентом: не позиції в SERP, а цитованість у відповідях AI систем. Для legacy магазину GEO зводиться до трьох речей: доступність для AI краулерів, наявність структурованої розмітки, сигнали EEAT.

Що таке llms.txt і чи потрібно його додавати?

Ні. Google офіційно ігнорує його: в травневому 2026 року AI optimization guide від Google Search прямо сказано, що llms.txt не потрібен ні для AI Overviews, ні для AI Mode. На практиці AI краулери майже не звертаються до цього файлу: за станом на червень 2026 року лише 5.61 відсотка сайтів топ 10 000 мають валідний llms.txt, і навіть у них частка запитів AI ботів саме до цього файлу залишається мізерною. Для legacy магазину додавати llms.txt зараз немає сенсу.

Чи впливає версія PHP на те, чи бачать мій сайт AI краулери?

Так, і подвійно. PHP 7.x означає незакриті CVE вразливості, ризик зламу, і тоді Google та пошуковий краулер ChatGPT Search виключають сайт з індексу. PHP 8.x означає швидший сервер, а краулери реального часу рідше обриватимуть сесію через timeout. Одне тягне за собою інше.

Чи варто переходити на нову платформу заради AI видачі?

Ні, якщо ваш магазин на Joomla 4.x або 5.x з VirtueMart 4.x і PHP 8.x, або на актуальному OpenCart 3.x з PHP 8.x. Всі технічні вимоги AI систем закриваються на поточному стеку без міграції. Якщо ви досі на Joomla 3.x або OpenCart 2.x, плануйте оновлення. Але це оновлення всередині тієї самої платформи, а не зміна стеку, і URL структура при правильному підході залишається цілою.