Перейти до змісту

Кейс · Продукти

plants.place: енциклопедія, де модель не має права на факти

Енциклопедія кімнатних рослин українською та англійською і дошка оголошень про рослини — усе це я сам створив на Cloudflare. Найцікавіше тут не код, а правила, завдяки яким сторінки, написані ШІ, не вигадують фактів.

plants.place
Роль
Усе: продукт, SEO, контентна система, код через Claude Code
Запуск
серпень 2026 · 211 комітів за перші 9 днів
Стек
Один Cloudflare Worker, без фреймворку · D1 · R2 · Turnstile
Зараз
133 види · 54 оголошення · українська + англійська
Сторінка виду на plants.place: картка монстери з фотографіями, ботанічним описом і таблицею догляду
Картка монстери. Рядок про походження — південь Мексики та Центральна Америка — взято з ботанічних баз даних, а не від моделі. У першій чернетці стояло «тропічні ліси Амазонії», бо саме це написано в українській Вікіпедії.

Прогалина

Усе почалося вдома. Моя партнерка вирощує кімнатні рослини й не могла знайти якісної ботанічної інформації українською — навіть за латинською назвою. Я перевірив. Шукаєш латинську назву рослини українською — отримуєш магазини й Вікіпедію. Ніхто не зібрав в одному місці структуровану ботанічну інформацію українською: походження, розмір, токсичність для домашніх тварин, догляд — усе з надійних джерел.

Перш ніж написати бодай рядок коду, ми дослідили попит. Три вивантаження з Ahrefs для України дали 375 863 ключові слова. Після очищення 20,9% пошукового обсягу виявилися сміттям, а решту ми об’єднали у 345 тем — по одній на рослину, а не на кожну фразу.

Частина сміття була прикметою часу. «Гербера» і «герань 2» — це також назви військових дронів: 2 906 сміттєвих ключових слів і близько 79 000 пошуків на місяць припадали на пов’язані з війною запити. Найбільшою категорією сміття були їжа й сировина — лаванда, авокадо та розмарин без жодного зв’язку з рослинами.

З рештою попиту все було зрозуміло: близько 78% пошуків — це просто назва рослини. «Купити» й «ціна» дають близько 8%, запитання про догляд — близько 7%. Люди спочатку хочуть дізнатися про рослину.

Що українці шукають про кімнатні рослини

Лише назва рослини 78%, купити й ціна 8%, догляд 7%, усе інше 7%.

Частка пошукового попиту після очищення. Джерело: 375 863 ключі, три вивантаження Ahrefs по Україні

Правило: модель не має права вигадувати факти

Латинська назва, автор, родина, розмір, природний ареал, токсичність — нічого із цього модель не генерує. Ці факти надходять із Глобального інформаційного фонду біорізноманіття, Вікіпедії та бази «Рослини світу онлайн» і потрапляють у промпт як дані. Модель пише лише зв’язний текст навколо них. Немає факту — поле залишається порожнім.

Це не педантичність. У першій же генерації монстера опинилася в «тропічних лісах Амазонії», бо так написано в українській Вікіпедії. Цей вид походить із Центральної Америки. Без цього правила помилка джерела потрапила б до енциклопедії як факт — під нашим ім’ям. Тепер блок перевірених фактів має пріоритет над усім, зокрема над Вікіпедією.

Пошуковий попит→ Список видів→ Факти з баз даних→ Модель пише лише текст→ Код перевіряє й повертає зауваження→ Модель комп’ютерного зору перевіряє фото→ Публікація · переклад
Як ми створюємо контент. Вигадувати не дають два етапи: факти беруться лише з баз даних, а код перевіряє кожну відповідь і повертає претензії.

Просити чемно не працює. Працює список зауважень.

Можна скільки завгодно писати в промпті «щонайменше два блоки після кожного заголовка». Модель усе одно поставить там один абзац. Працює інше: перевірити відповідь кодом, зібрати конкретний список зауважень і надіслати його моделі наступним повідомленням — разом із її попередньою відповіддю. Не більше трьох спроб.

Перевірки навмисно нудні: достатньо тексту після кожного заголовка, щонайменше чотири розділи, обмеження довжини вступу й метатегів, хоча б один список, жодних зірочок розмітки, жодних фраз на кшталт «за перевіреними даними», які для читача звучать як виправдання, адже він не бачить нашої таблиці з даними.

На перших 50 картках результат можна було виміряти: у середньому 29 блоків і 554 слова на картку, 73 таблиці, 205 списків і жодного зауваження під час останнього запуску.

ПоказникДешевша модельПотужніша модель
Слів, та сама картка (монстера)277493
Таблиці0 у 20 картках73 у 50 картках
Спроби пройти перевірки1–3з першої спроби
Вартість одного виду$0,007$0,065

Потужніша модель коштує приблизно на $3 більше для 50 карток. Дешевша заощаджує копійки, але знижує якість, за яку потім доводиться платити під час редагування.

На 27% стокових фото була не та рослина

Фото надходять зі стокових бібліотек через їхні API, а під кожним зображенням вказано автора й ліцензію. Пошук за латинською назвою часто нічого не знаходить, а пошук за народною назвою знаходить не те. Коли ми перевірили опублікований каталог, на 122 із 447 фото — 27% — була не та рослина. На сторінці одного виду взагалі був супермаркет.

Стокові фото в живому каталозі, перевірені по одному

447 фото: на 325 правильна рослина, на 122 — ні.

Джерело: перевірка живого каталогу plants.place

Тому остання лінія захисту — не пошуковий запит, а перевірка зображення: перш ніж зберегти фото, його переглядає модель комп’ютерного зору, і будь-який сумнів означає «ні».

Називайте так, як шукають люди

Ботанічно бездоганна картка може не отримати жодного показу, якщо назвати її не тим словом. Українською «герань» шукають 32 990 разів на місяць, а «пеларгонія» — 2 980 разів. Тепер картка має назву «Пеларгонія (герань)»: правильно й легко знайти. Це також сторінка з найбільшою кількістю показів на сайті. А «грошове дерево» українською виявилося назвою чотирьох різних рослин, тоді як англійською так називають лише одну з них. Тому картки рослин, які люди плутають, тепер посилаються одна на одну.

Ринок, якого не було в пошуку

План для розділу оголошень спирався на «110 000 показів за запитами зі словом „купити“». Детальніша перевірка показала, що попит між приватними особами в пошуку мізерний — близько 3 200 показів. Решта шукає магазин. Рослини продають і купують із рук у групах у Фейсбуці й Телеграмі, куди люди заходять напряму.

Тому сторінки ринку закриті від індексації, а оголошення з’являються безпосередньо в картках видів. Був і спокусливий короткий шлях — наповнити ринок оголошеннями, зібраними з інших майданчиків. Ми цього не зробили: дубльований контент, персональні дані, порушення правил платформ і відвідувач, який пише «продавцю», а той ніколи не відповідає.

Англійська версія

Куди розвиватися далі, ми вирішили не інтуїтивно, а за допомогою проби: один запит до API на кожну країну, усього 32 країни. Англомовні ринки разом показали близько 1,07 мільйона пробних пошуків — приблизно вчетверо більше, ніж наступна мова, французька, із 272 000. Енциклопедія масштабується за мовами, ринок — за країнами.

У пробному перекладі двох карток перемогла найдешевша модель. Сліпий тест на десяти картках, де суддею була окрема модель, вибрав іншу — з рахунком 8:2. Висновки варто робити лише на достатній вибірці.

Механіка проста. Англійська версія тепер розміщена в корені, українська — у /ua/. На кожній сторінці виду вказано обидві версії та x-default, а кожна мова має власну карту сайту з тими самими посиланнями. Якщо сторінку не перекладено, для цієї мови вона повертає 404 і не потрапляє до hreflang та карти сайту. Тому Гугл ніколи не знаходить посилання без зворотного посилання. 201 стара адреса перенаправляється на нову одним редиректом 301. Важлива пастка: папка має назву /ua/, але код мови — uk, адже «ua» позначає країну.

Чи це програматичне SEO?

Так: 133 сторінки видів з одного шаблону й одного процесу. Від масового штампування їх відрізняють чотири обмеження. Факти надходять лише з ботанічних баз даних. Код перевіряє кожну відповідь і повертає список зауважень. Я налаштував промпти на картках, які прочитав сам, перш ніж процес запрацював автоматично. І кожне фото проходить перевірку до публікації — бо 27% із них були неправильними.

Результати

Search Console · останні 90 днів, до 29 вересня 2026 року Поки що це весь час існування сайту в пошуку: 5 526 показів і 31 клік. Щонайменше один показ отримали 99 сторінок, із них 88 — картки видів. У вересні було 3 864 покази — понад удвічі більше за серпневі 1 662. Найбільше показів має сторінка «Пеларгонія (герань)» — 1 234. Цифри невеликі, але зростають.

plants.place у пошуку Google: покази на місяць

Серпень — 1 662 покази і 9 кліків; вересень — 3 864 покази і 22 кліки.

Домен зареєстровано 31 липня; вересень — дані до 29-го. Джерело: Google Search Console, фінальні дані

Два ранні сигнали: за тиждень після запуску в індексі Гугла було 78 сторінок, а перші покази в пошуку з’явилися на третій день існування домену.

Що я зробив би інакше

  • З першого дня зібрав би дизайн-систему як робочу сторінку. Пізніший аудит знайшов 47 розмірів шрифту замість запланованих 6, а заголовки сторінок були реалізовані дев’ятьма різними способами.
  • Перевірив би історію домену до запуску. Статистика сканування в Search Console показала, що Гугл запитував адреси Вордпресу — хоча в нас ніколи не було такого сайту.
  • Раніше провів би аудит логіки. Фільтр «тіньовитривалі» повертає 68 зі 103 видів, зокрема рослини, яким потрібне яскраве світло. Потрібне окреме поле тіньовитривалості, а не пошук за словом. І це виправлення досі в списку завдань.