Рушій BlackFox: генератор статичних сайтів і каталогів
Це набір скриптів на Node.js і PHP, якими зібрано сайт, де ви зараз перебуваєте. Він бере на себе рутину контент-сайту: збирає сторінку зі шаблону, малює OG-картинку, оновлює sitemap і фід, генерує каталог по містах і постить у Telegram. Ніякої CMS, ніякої бази даних, ніякої адмінки.
Що це таке
Уявіть звичайний статичний сайт: папка з HTML, один CSS, кілька PHP-файлів. Красиво, швидко, безпечно, але додати статтю вручну це двадцять хвилин нудної роботи: скопіювати шаблон, прописати мета-теги, зібрати JSON-LD, зробити зміст із якорями, намалювати картинку для соцмереж, не забути про sitemap і фід, поставити картку на головну.
Рушій робить це за одну команду. Ви пишете текст статті у JSON, запускаєте node tools/new-article.mjs stattya.json і отримуєте готову сторінку з усією технічною обв'язкою плюс оновлені sitemap, Atom-фід, головну і OG-картинку.
Це не конструктор сайтів і не «фабрика контенту». Тексти пишете ви (або ваш автор). Рушій відповідає лише за те, щоб навколо цих текстів була правильна технічна оболонка і щоб її не треба було збирати руками щоразу.
Що вміє
- Публікація статті однією командою. HTML зі шаблону: canonical, OG і Twitter-теги, JSON-LD (Article, BreadcrumbList, FAQPage), блок «Зміст» з якорями, секція частих питань, маячок аналітики. Далі скрипт сам додає картку на головну і переганяє sitemap та фід.
- Валідатор перед деплоєм. Режим
--checkпроходить усі сторінки сайту і показує, де загубився canonical, беакон, OG-картинка чи опис. Один прогін перед заливкою і ви не викладете сторінку-каліку. - Генератор статичних сторінок. Головна, «про проект» і сторінка приватності збираються з одного JSON, тому кістяк сайту не треба писати руками. За замовчуванням скрипт не перезаписує вже створені файли: на головній накопичуються картки статей, і перегенерація змела б їх.
- Один файл налаштувань. Адреса сайту, назва, логотип, меню, рядки футера, підписи у статтях, заголовки каталогу і перелік перевірок валідатора лежать у
tools/content/site-config.json. Щоб перебрендувати сайт під себе, правите один файл, а не шукаєте рядки по всіх скриптах. - Генератор каталогу. З одного JSON виходить хаб плюс окремі сторінки по містах: картки записів, JSON-LD ItemList, статуси достовірності даних. Правите JSON, переганяєте розділ, усі сторінки узгоджені між собою.
- OG-картинки. 1200×630 у вашому фірмовому стилі: SVG рендериться у PNG через resvg, заголовок підставляється автоматично і сам переноситься по рядках. Жодного Photoshop.
- Sitemap і Atom-фід будуються з фактичних файлів на диску, а не з ручного списку, тому не розсинхронізуються.
- Лінк-чекер. Прогонює зовнішні посилання каталогу і позначає мертві, щоб розділ не гнив тихо.
- Автопостинг у Telegram. PHP-скрипт плюс рядок у cron. Черга це просто текстові файли: опублікований пост переїжджає в архів. Коли черга порожня, скрипт по колу ротує вічнозелені статті і шле вам лист-нагадування, що пора підсипати нових постів.
- Лічильник відвідувань без cookie. Унікальні рахуються через добовий хеш sha1(дата + IP + UA), дані лягають у денні JSON-файли, дивитись їх можна на приватній панелі за секретним ключем. Ні Google Analytics, ні банера про cookie.
Кому підходить, а кому точно ні
Скажемо прямо, щоб ви не витрачали гроші даремно.
| Це для вас, якщо | Це не для вас, якщо |
|---|---|
ви вмієте відкрити термінал, запустити node і прочитати README | ви хочете клікати мишкою в адмінці і бачити результат у візуальному редакторі |
| робите нішевий контент-сайт або каталог: клуби, майстерні, школи, сервіси по містах | вам потрібні коментарі, особисті кабінети, кошик, пошук з бекендом |
| втомились від оновлень CMS, плагінів і дірок у них | ви розраховуєте натиснути кнопку і отримати 500 згенерованих статей: такого тут немає і не буде |
| хочете, щоб сайт жив на найдешевшому shared-хостингу з PHP і cron | ви не готові редагувати JSON руками і заливати файли на хостинг самостійно |
| вам нормально тримати контент у JSON і правити шаблон у текстовому редакторі | вам потрібна цілодобова підтримка і гарантія, що хтось зробить сайт за вас |
Якщо у правій колонці ви впізнали себе більше ніж один раз, беріть WordPress. Серйозно, він для цього і зроблений.
Що входить у комплект
- Дев'ять скриптів з папки
tools/: публікація статті з валідатором, генератор статичних сторінок (головна, «про проект», приватність), генератор каталогу, OG-картинки, sitemap, Atom-фід, лінк-чекер і спільна бібліотека. - Єдиний файл налаштувань
tools/content/site-config.json: адреса сайту, назва, логотип, мова, пошта, Telegram, версія CSS, назви каталогів, меню, усі рядки футера, підписи у статтях, заголовки каталогу, список OG-карток, статичні сторінки для sitemap і перелік перевірок валідатора. Усі генератори читають саме його. - Файл міст
tools/content/cities.json: назва, слаг і форма для заголовка. Нове місто це один рядок JSON, у код лізти не треба. - Шаблони сторінок: головна, стаття, хаб каталогу, сторінка міста, статична сторінка. CSS з темною темою, який легко перефарбувати під свій бренд.
- PHP-частина: автопостинг у Telegram, лічильник відвідувань з беаконом і приватною панеллю, редиректор вихідних посилань з підрахунком кліків.
- Шість готових прикладів JSON: стаття, каталог, файл налаштувань, файл сторінок, файл міст і білий список редиректора. Заповнені демо-даними по всіх полях, а не «lorem ipsum», тому після
npm run setupсайт збирається з першого разу. - Готовий
.htaccess: канонічний 301 редирект, кешування (HTML без кешу, статика на рік), шість security-заголовків, закриті від вебу службові каталоги. - Документація: README українською і англійською (схема JSON статті, порядок публікації, рядок для cron),
DEPLOY.mdпро заливку на хостинг,HOSTING.mdпро вимоги до сервера і текст ліцензії.
Чого в архіві немає, щоб не було сюрпризів: статей і справжнього каталогу blackfoxvr.com на 53 записи. Це контент, він залишається сайту, який його зібрав. У комплекті демо-каталог на шість вигаданих записів, щоб генератор запускався одразу і було видно структуру даних.
Ліцензія проста: користуйтесь на своїх і клієнтських сайтах скільки завгодно, перепродавати сам рушій як товар не можна.
Живий доказ: цей сайт
Не треба вірити на слово, просто подивіться навколо. Blackfoxvr.com зібраний цим самим рушієм і працює на звичайному shared-хостингу.
| Статей, зібраних скриптом | 21 |
| Каталог VR-клубів | 53 записи, 17 сторінок по містах |
| Що віддає сервер на запит | готовий HTML-файл, без запитів до бази і без плагіна кешу |
Security-заголовки з .htaccess | шість: HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy |
| База даних | немає |
| Плагіни, які треба оновлювати | немає |
| Постинг у Telegram | автоматично, тричі на тиждень |
Відкрийте каталог клубів і будь-яку статтю, гляньте вихідний код сторінки. Все, що ви там побачите, зробили ці скрипти.
Чесні обмеження і ціна
- Це набір скриптів, а не програма з інсталятором. Немає майстра встановлення і немає вікна з кнопкою «Далі». Усе робиться командами в терміналі і правками JSON у текстовому редакторі.
- Потрібен Node.js 20.11 або новіший (скрипти використовують
import.meta.dirname) і одна командаnpm installдля пакета, який малює картинки. Інших залежностей немає. - Для OG-картинок потрібні два TTF-шрифти, жирний і звичайний. Скрипт спершу шукає їх у
tools/fonts/під іменамиbrand-bold.ttfіbrand-regular.ttf, потім у системних папках Windows, macOS і Linux. На macOS чи чистому Linux-сервері, де потрібних шрифтів немає, скрипт спиняється з поясненням, а не малює порожні картки: покладіть два файли вtools/fonts/і запустіть ще раз. - Потрібен Apache або LiteSpeed, бо редиректи, кеш і security-заголовки налаштовані в
.htaccess. На чистому nginx сторінки віддаватимуться, але ці правила доведеться перекласти у конфіг сервера руками. - Тексти каталогу локалізуються правкою скрипта. Меню, футер, підписи у статтях і заголовки розділів каталогу беруться з файла налаштувань, а от речення на сторінках каталогу (заголовки блоків, кнопки карток, звернення до власника закладу) досі всередині
build-clubs.mjs. Це близько десятка рядків: перекладаєте один раз і забуваєте. - Дизайн один: темна тема з помаранчевим акцентом. Кольори і шрифти міняються в CSS за п'ять хвилин, але візуального конструктора тем тут немає.
- Тексти й дані готуєте ви. Рушій не пише контент і не збирає базу каталогу за вас.
- Оновлення без гарантій. Ви отримуєте файли такими, які вони є сьогодні. Якщо ми зробимо щось помітно краще, покупці отримають лист з новим архівом. Дорожньої карти і графіка оновлень не обіцяємо, бо не хочемо обіцяти те, чого можемо не виконати. Після покупки код ваш: правте, ламайте, переписуйте під себе.
Ціна: $39 разово. Без підписки, без ключів активації, без обмеження на кількість ваших сайтів. Оплата поки що вручну: пишете листа, отримуєте реквізити, після зарахування оплати архів приходить на пошту. Автоматична каса відкриється у серпні 2026. Якщо після README залишились питання по запуску, пишіть на admin@blackfoxvr.com, відповідаємо по-людськи.
Разовий платіж. Ви отримуєте архів з усіма скриптами, шаблонами, єдиним файлом налаштувань, шістьма прикладами JSON і README двома мовами. Без підписки і без обмеження на кількість ваших сайтів. Одразу чесно: миттєвого завантаження поки немає. Ви пишете листа, отримуєте реквізити, після оплати архів приходить на пошту. Автоматична каса відкриється у серпні 2026.
Забрати рушій за $39