Astro
Кратко о движке
| Семейство | astro |
|---|---|
| Назначение | ssg |
| Лицензия | MIT |
| Цена | бесплатно |
| Сайт | https://astro.build |
| Статус | проверен |
| PHP | ? · PHP 8.5: ? |
| БД | ? · без сервера БД: да Node.js нужен только для сборки; на сервер выкладывается готовая папка dist/, её отдаёт nginx (2026-10-17, источник) |
Поиск по сайту
В самом Astro поиска нет. В теме Starlight он встроен (Pagefind).
| Где работает | встроенного поиска нет |
|---|---|
| Проверено | 2026-10-17 |
Темы
| Тема | Цена | Готовность для мультиязычного проекта | Мнение автора |
|---|---|---|---|
| Starlight — описание темы ↗ | бесплатно | вики 64 % проверено 15 из 31 сайт 70 % проверено 16 из 34 | не выберу Из заметок: «разочарован в Astro Starlight в первую очередь в архитектуре мультиязычности». Вторая попытка 2026-10-16 (перенос вики с Hugo) — тоже отказ, сайт делается на Hugo + Hextra. (2026-10-16) |
Результаты по требованиям
| Требование | Starlight |
|---|---|
| Мультиязычность | |
Материал можно начать на неосновном языке ml-author-any-lang | да |
Рубрики, теги и меню независимы по языкам ml-taxonomy-per-lang | ? |
Переключатель языков показывает только существующие переводы ml-switcher-existing | нет |
hreflang только на существующие переводы ml-hreflang-existing проверить ↗ | нет |
Нет автостраниц с контентом основного языка ml-no-fallback-pages проверить ↗ | нет |
Основной язык в корне, остальные с префиксом ml-default-root | да |
У каждого перевода свой slug ml-translated-slugs | нет |
Перевод может иметь тот же slug, что и оригинал ml-same-slug | ? |
Атрибут lang в нужном формате ml-html-lang | да |
Тема поддерживает выбранный плагин мультиязычности theme-i18n-compat | ? |
Переводы интерфейса для en, uk, ru, pt-BR ml-ui-strings | да |
Контент доступен для автоматического перевода ИИ ml-ai-translatable | ? |
| Статьи, навигация и поиск | |
Управление боковым меню sidebar-control | ? |
Оглавление статьи toc-control | ? |
Перелинковка как в DokuWiki internal-links | ? |
Таксономии (теги, рубрики, свои классификаторы) taxonomies | ? |
Поиск по сайту site-search | да |
Гибкость поиска search-replaceable | ? |
Подсветка кода code-highlight | да |
Пошаговые инструкции content-steps | да |
Свой код в шаблоны без правки темы (Inject Partials) theme-inject-partials | ? |
Генерация страниц из данных (pSEO) data-pages | ? |
Визуальная админка admin-ui | ? |
| SEO | |
title, description и OG на уровне записи seo-meta проверить ↗ | ? |
sitemap с языковыми версиями seo-sitemap | да |
Корректный canonical seo-canonical проверить ↗ | да |
Микроразметка schema.org seo-schema | нет |
Полный контроль URL seo-url-control | ? |
Адреса латиницей, даже если текст на кириллице seo-url-translit | ? |
Скорость (Core Web Vitals) seo-cwv | ? |
| Хранение и окружение | |
Работает без сервера БД no-db | да |
Работает в окружении Nginx + PHP-FPM 8.5 runtime-php | да |
| Стоимость | |
Стоимость (движок + тема + платные плагины) cost-total | ? |
| Работа с ИИ | |
Насколько хорошо ИИ работает с фреймворком ai-fluency | ? |
Заметки
Кроме Starlight достойных тем не найдено.
Проверено дважды. В сентябре 2026 — по заметкам: «разочарован в Astro Starlight в первую очередь в архитектуре
мультиязычности». 2026-10-16 вики dieg.net целиком перенесли с Hugo на Astro 7 + Starlight 0.42 и от проекта
снова отказались — подробности в тесте 2026-10-16--astro--starlight-dnet.
Что важно знать про Astro 7: Markdown по умолчанию обрабатывает Sätteri, привычные remark- и rehype-плагины с ним не работают. Переадресации в статической сборке — только meta refresh, настоящий 301 делается в nginx.
История проверок
2026-10-16 — Astro + Starlight: перенос вики dieg.net с Hugo · отклонён · в рабочем проекте
astro 7.4.0; starlight 0.42.6;
| Требование | Результат | От чего зависит | Примечание |
|---|---|---|---|
Материал можно начать на неосновном языке ml-author-any-lang | да | тема | статья только на ru собирается без заглушки en |
Переключатель языков показывает только существующие переводы ml-switcher-existing | нет | тема | на статье только на ru меню языков ведёт на /guides/lemp/, /uk/…, /pt/… — таких страниц нет (404) |
hreflang только на существующие переводы ml-hreflang-existing | нет | тема | hreflang в head на все 4 языка и x-default, даже без перевода — ссылки на 404. В sitemap при этом alternate верные |
Нет автостраниц с контентом основного языка ml-no-fallback-pages | нет | тема | по коду Starlight (utils/routing): для страницы основного языка без перевода создаётся страница с английским текстом и плашкой; в этой сборке не проявилось — все en-страницы переведены |
Основной язык в корне, остальные с префиксом ml-default-root | да | тема | locale root = en без префикса, uk/ru/pt — /uk/ /ru/ /pt/ |
У каждого перевода свой slug ml-translated-slugs | нет | тема | свой slug меняет ID записи и рвёт связь переводов (меню языков, hreflang) — проверено в проекте |
Атрибут lang в нужном формате ml-html-lang | да | тема | html lang = ru, uk, pt-BR |
Переводы интерфейса для en, uk, ru, pt-BR ml-ui-strings | да | тема | переводы интерфейса есть для uk, ru и pt (бразильский: «Pular para o conteúdo») |
Работает без сервера БД no-db | да | движок | статическая сборка, контент в Markdown |
Работает в окружении Nginx + PHP-FPM 8.5 runtime-php | да | движок | nginx отдаёт dist/; php-fpm 8.5 только для своего excuse.php |
sitemap с языковыми версиями seo-sitemap | да | плагин | @astrojs/sitemap: alternate только на существующие переводы |
Корректный canonical seo-canonical | да | тема | canonical на саму страницу |
Микроразметка schema.org seo-schema | нет | тема | JSON-LD и хлебных крошек нет |
Поиск по сайту site-search | да | тема | Pagefind строится при сборке, отдельный индекс на язык (en, uk, ru, pt-br), ищет на языке страницы; формы слов для ru и pt понимает, для uk — нет |
Подсветка кода code-highlight | да | тема | Expressive Code: заголовок блока, кнопка копирования |
Пошаговые инструкции content-steps | да | тема | компонент Steps (только в .mdx); есть Tabs, Aside, Card, FileTree |
Вики dieg.net перенесена с Hugo (hugo-book) на Astro 7 + Starlight 0.42: адреса сохранены (trailingSlash: 'always'),
вставка скриптов в статьи — свой плагин Sätteri, генератор отмазок — компонент + excuse.php через php-fpm,
изменённые адреса — 301 в nginx (redirects Astro в статике дают meta refresh). Проект удалён, сайт делается на
Hugo + Hextra.
Что выяснилось:
- В Astro 7 Markdown обрабатывает Sätteri: remark- и rehype-плагины не работают, нужны плагины Sätteri.
- Тема Nova заменяет 15 компонентов Starlight и сломала светлую тему и заголовки блоков кода — отказались; цвета Gruvbox подключены только CSS.
- Кэш контента (
.astro/data-store.json) не сбрасывается при изменении плагина; файл безtitleроняет сборку. - Статья lemp весит 185 КБ.
Хостинг для Astro
Astro собирает сайт в обычные HTML-файлы, поэтому ему не нужны ни PHP, ни база данных. Подойдёт любой хостинг для статики: бесплатные сервисы вроде Cloudflare Pages и GitHub Pages, обычный виртуальный хостинг или недорогой VPS с Nginx. Главное при выборе — скорость отдачи файлов, бесплатный HTTPS и удобная выкладка новых версий сайта. Сравнить предложения по этим параметрам можно в каталогах TOP-10 Hosting:
- Виртуальный хостинг — самый недорогой вариант: сервер настраивает и обслуживает провайдер, подходит для небольших сайтов.
- VPS — свой виртуальный сервер: любая версия PHP, Nginx и доступ по SSH под вашим управлением.
- Выделенные серверы — целый физический сервер для проектов с высокой нагрузкой.
Как установить Astro самостоятельно и правильно обновлять
Нужны Node.js и npm. Проект создаётся мастеромnpm create astro@latest, с темой Starlight —
npm create astro@latest -- --template starlight имя-проекта.Подробности — в официальной документации: https://docs.astro.build/.
Проверено: 2026-10-17