Cyber SEO: скидка 50%
Настройки

Конфиденциальность важна для нас, поэтому вы можете отключить отдельные виды хранения данных, которые не нужны для базовой работы сайта. Блокировка некоторых категорий может повлиять на ваше впечатление от сайта. Подробнее (Политика использования cookie)

Принять все cookie

SEO на Astro: как вывести сайт на Astro в топ Google и попасть в цитаты ИИ

SEO на Astro по шагам: статический или серверный рендеринг, теги head, карта сайта, hreflang, изображения, JSON-LD и редиректы, сверено с документацией.

Опубликовано
25/10/2026
Обновлено
25/10/2026
Время чтения
8 мин
Карточка с кодом под заголовком 'Astro SEO': короткий фрагмент с тегом link canonical, плавающие метки зелёная Static и синяя @astrojs

Инструменты

На этой странице

Коротко

Astro входит в число самых дружелюбных к SEO веб-фреймворков: он заранее рендерит страницы в чистый HTML и не отправляет в браузер JavaScript, если вы сами об этом не попросите. Google и краулеры ИИ-ассистентов получают полный контент уже при первом запросе. Но SEO за вас Astro не сделает: заголовки, мета-описания, канонические адреса, hreflang, структурированные данные и редиректы добавляете вы сами, в основном в общем компоненте head и через официальную интеграцию карты сайта.

Хотите узнать больше? Спросите

Короткий тест

Подходит ли вам SEO и с чего начать?

Вопрос 1 из 425%
Ищут ли люди в Google то, что вы продаёте?

SEO на Astro означает превратить этот чистый HTML в страницы, которые ранжируются. Руководство Google по основам SEO для JavaScript объясняет, что сайты на JavaScript обрабатываются в три этапа (сканирование, рендеринг, индексирование), и утверждает, что серверный рендеринг или предварительный рендеринг по-прежнему отличная идея, ведь не все боты умеют выполнять JavaScript. Astro по умолчанию стартует именно с этой позиции. Это руководство разбирает всё остальное, настройку за настройкой, и каждое поведение мы сверили с официальной документацией Astro. К слову, сайт sorank.com, который вы сейчас читаете, работает на Astro.

Хорош ли Astro для SEO?

Да, с технической стороны. Astro рендерит компоненты в HTML во время сборки и убирает JavaScript, который фреймворки вроде React или Vue обычно отправляют в браузер. Так вы избегаете классических проблем из нашего руководства по SEO для JavaScript: пустых HTML-оболочек, контента, который появляется только после рендеринга, ссылок, не являющихся настоящими тегами-якорями. Нет и ловушек маршрутизации одностраничного приложения: каждый маршрут Astro это настоящий URL со своим HTML-файлом.

То, чего Astro не делает, не менее важно. Нет встроенного SEO-плагина, автоматического мета-описания, автоматического тега canonical и структурированных данных. Таблица разделяет то, что вы получаете бесплатно, и то, что придётся построить.

Элемент SEOЧто даёт AstroЧто добавляете вы
Сканируемый HTMLПредварительно отрендеренный HTML по умолчаниюНичего, если контент не рендерится только на клиенте
Заголовок и мета-описаниеhead, которым вы управляете в каждом шаблонеОбщий SEO-компонент, который заполняет каждая страница
Тег canonicalAstro.site и Astro.url для сборки абсолютных URLСам тег link с единым правилом завершающего слеша
XML-карта сайтаОфициальная интеграция @astrojs/sitemapУстановить, задать опцию site, отфильтровать закрытые страницы
hreflangМаршрутизация i18n и опция i18n в карте сайтаСсылки alternate в head каждой страницы
ИзображенияКомпоненты Image и Picture, оптимизирующие файлыОписательные alt-тексты, подходящие размеры
Структурированные данныеНичего специальногоСкрипты JSON-LD для каждого типа страниц
РедиректыОпция redirects в конфигурацииНастоящие 301 на стороне хостинга для статических сборок

Статический или серверный рендеринг: какой режим лучше для SEO?

Документация Astro о рендеринге по запросу однозначна: по умолчанию страницы, маршруты и эндпоинты API заранее рендерятся при сборке как статические страницы. Для SEO статический вывод это самый надёжный вариант по умолчанию: каждый URL представляет собой готовый HTML-файл, отдаваемый через CDN, быстрый и одинаковый для любого посетителя и любого бота.

Рендеринг по запросу (на сервере) требует адаптера для вашего хостинга (например, Node, Netlify, Vercel или Cloudflare). Затем вы исключаете отдельный маршрут из предварительного рендеринга через export const prerender = false или переводите весь проект на output: 'server' и возвращаете статические страницы по одной. Оба режима выдают полный HTML, так что Google видит одно и то же. Различия в другом:

  • Скорость: статический файл отдаётся мгновенно; страница, рендерящаяся на сервере, зависит от времени его ответа, а оно влияет на Largest Contentful Paint.
  • Актуальность: серверный рендеринг подходит для страниц, которые постоянно меняются (остатки, цены, результаты поиска), где пересборка сайта была бы слишком медленной.
  • Инструменты: некоторые интеграции, например карта сайта, не видят динамические серверные маршруты (см. ниже).

Практическое правило: маркетинговые страницы, статьи блога и документацию оставляйте статическими, а по запросу рендерьте только маршруты с живыми данными. Документация Astro советует то же самое: оставаться в статическом режиме по умолчанию, пока большинству страниц не понадобится рендеринг по запросу.

Как настроить мета-теги и канонические URL в Astro?

Создайте один SEO-компонент (его часто называют BaseHead или Seo) и подключите его в head каждого шаблона. Он принимает заголовок, описание, необязательное изображение и необязательный флаг noindex и выводит:

  1. тег title, уникальный для каждой страницы, с основным ключевым словом ближе к началу;
  2. мета-описание, написанное вручную для каждой страницы (это ваш сниппет в выдаче);
  3. тег canonical как абсолютный URL, собранный из Astro.url.pathname и значения site в конфигурации;
  4. теги Open Graph и соцсетей (заголовок, описание, изображение, URL) для превью ссылок;
  5. мета-тег robots, если страница должна остаться вне индекса.

Сначала задайте опцию site в astro.config.mjs: от неё зависят canonical, карта сайта и теги соцсетей. Затем выберите правило trailingSlash ('always' или 'never') и придерживайтесь его, чтобы /blog/post и /blog/post/ никогда не конкурировали как две версии одной страницы. Убирайте параметры запроса из canonical, чтобы метки отслеживания не порождали дубли.

Совет

Если ваши статьи хранятся в content collections, сделайте заголовок и описание обязательными полями в схеме коллекции. Тогда сборка упадёт, если автор забудет мета-описание, вместо того чтобы отправить в Google пустой сниппет.

Как сгенерировать карту сайта и robots.txt в Astro?

Используйте официальную интеграцию, описанную на странице @astrojs/sitemap. Команда npx astro add sitemap устанавливает её и добавляет в конфигурацию. Интеграция требует опцию site и при сборке записывает файл sitemap-index.xml, который ссылается на пронумерованные файлы (sitemap-0.xml и следующие на больших сайтах). Каждый файл по умолчанию вмещает до 45 000 записей, это значение задаёт опция entryLimit. Если формат для вас новый, наша статья глоссария о XML-карте сайта объясняет, что Google с ней делает.

Для SEO важны три настройки:

  • filter: функция, получающая URL каждой страницы; возвращайте false для страниц благодарности, внутреннего поиска, черновиков и всего с noindex, чтобы в карте оставались только индексируемые адреса.
  • i18n: сопоставляет языковые папки с кодами языков и добавляет к каждой записи альтернативы hreflang.
  • customPages: добавляет URL, которые интеграция не может найти сама.

Внимание

В документации сказано, что интеграция не может генерировать записи карты сайта для динамических маршрутов в режиме SSR. Если страницы товаров или статей рендерятся по запросу, их не будет в карте, пока вы не отрендерите их заранее или не добавите вручную.

Для robots.txt на большинстве сайтов достаточно статического файла в папке public. Если его содержимое различается на тестовом и боевом окружении, лучше генерировать его из эндпоинта (src/pages/robots.txt.ts). В обоих случаях добавьте строку Sitemap со ссылкой на sitemap-index.xml и перед запуском проверьте результат валидатором robots.txt. Тем же приёмом создаётся файл llms.txt; наше руководство о том, как установить файл llms.txt, описывает его содержимое.

Как работать с hreflang и многоязычными сайтами в Astro?

Встроенная маршрутизация i18n в Astro решает задачу URL. В конфигурации вы объявляете defaultLocale и список locales и выбираете, получает ли префикс язык по умолчанию (prefixDefaultLocale). Вспомогательные функции вроде getRelativeLocaleUrl строят локализованные ссылки, а Astro.currentLocale сообщает каждой странице её язык.

Руководство по маршрутизации не касается тегов hreflang в head, поэтому заложите их написание в SEO-компонент: для каждой страницы по одной ссылке alternate на языковую версию плюс x-default, всё в виде абсолютных URL, и каждая версия должна перечислять все остальные (обратные ссылки). Генерация из того же списка языков, что и маршрутизация, защищает от самой частой ошибки: альтернативы, указывающей на несуществующую страницу. Чтобы проверить логику на нескольких адресах, наш генератор hreflang выдаёт полный набор тегов для страницы. Затем включите опцию i18n в карте сайта как второй сигнал.

Как изображения и острова влияют на скорость и Core Web Vitals?

Скорость это область, где Astro выигрывает больше всего, и это видно по Core Web Vitals. Руководство Astro по изображениям описывает компонент Image из astro:assets: он оптимизирует локальные изображения, конвертирует их формат, добавляет ленивую загрузку и асинхронное декодирование и определяет размеры изображения, чтобы избежать Cumulative Layout Shift. Атрибут alt в нём обязателен, что закрепляет базовое правило SEO для изображений. Компонент Picture идёт дальше и отдаёт AVIF или WebP с запасным форматом.

Две привычки завершают картину. Храните изображения, которые нужно оптимизировать, в src (файлы из public отдаются как есть, без обработки). И не ставьте ленивую загрузку главному изображению вверху страницы: загружайте его сразу, чтобы оно не задерживало Largest Contentful Paint.

Архитектура островов держит JavaScript под контролем. Компонент остаётся статическим HTML, пока вы не добавите клиентскую директиву: client:load гидрирует его сразу, client:idle, когда браузер свободен, client:visible, только когда он попадает в зону видимости. Оставить client:load лишь для того, что должно реагировать мгновенно (меню, корзина), это самый простой способ защитить Interaction to Next Paint. Серверные острова (server:defer) подгружают персонализированный блок после закешированной страницы, не замедляя основной контент.

Важно знать

Остров откладывает только свою интерактивность, а не текст, если компонент сначала рендерится на сервере. Контент, который подгружается в браузере уже после загрузки, это другой случай: краулеры, не выполняющие JavaScript, в том числе многие краулеры ИИ, его не увидят.

Как добавить структурированные данные на сайт на Astro?

В Astro нет функции для schema, и это даёт вам полный контроль. Соберите JavaScript-объект для каждого типа страниц (Article, Product, Organization, BreadcrumbList, FAQPage) и выведите его в теге script с типом application/ld+json, используя директиву set:html и JSON.stringify, чтобы JSON не экранировался. Заполняйте его теми же данными frontmatter или коллекции, что и видимую страницу: тогда разметка всегда совпадает с тем, что видят пользователи, а этого требуют правила Google о разметке schema.

Чтобы набросать JSON для нового типа страниц, наш бесплатный генератор schema даст корректный стартовый блок, который вы превратите в шаблон. После каждого изменения шаблона проверяйте выборку собранных страниц в инструменте проверки расширенных результатов Google.

Как настроить редиректы при переезде на Astro?

Переезд с WordPress или Next.js самый рискованный момент для сайта на Astro. Сохраните каждый URL с трафиком или обратными ссылками, а остальные по одному свяжите с ближайшим аналогом постоянными редиректами, как описано в нашем руководстве по SEO-редиректам.

Конфигурация Astro принимает объект redirects, сопоставляющий старые пути с новыми. С адаптером они становятся настоящими HTTP-редиректами. При чисто статической сборке Astro вместо этого записывает HTML-страницу с meta refresh: Google по ней переходит, но считает её более слабым сигналом, чем серверный 301. Для статического сайта объявляйте редиректы в формате вашего хостинга (файл _redirects на Netlify или Cloudflare Pages, файл vercel.json на Vercel), чтобы краулеры получали настоящий 301.

Как Astro помогает SEO и GEO?

Чтобы вас цитировали ChatGPT, Perplexity или Gemini, сначала нужно быть читаемым. Многие краулеры ИИ забирают сырой HTML, не выполняя JavaScript, поэтому сайт, который отдаёт весь текст уже в первом ответе, как Astro по умолчанию, снимает барьер, который всё ещё есть у сайтов с клиентским рендерингом. Чёткие подзаголовки, абзацы, начинающиеся с ответа, структурированные данные и файл llms.txt затем делают каждую страницу удобнее для цитирования.

После запуска измеряйте, а не гадайте. Дашборд GEO и SEO в Sorank объединяет данные Search Console и визиты из ИИ-ассистентов, чтобы вы видели, удерживает ли новый сайт позиции.

Дашборд GEO и SEO в Sorank с кликами, показами, CTR и средней позицией из Google Search Console во времени
Эффективность в Search Console на дашборде Sorank: кривая, за которой стоит следить в первые недели после переезда сайта на Astro.

Техническое качество окупается, только когда есть контент для ранжирования. Генератор статей для блога от Sorank пишет и публикует статьи, оптимизированные для Google и ИИ-ассистентов, и подключается через webhook к сайту на собственном движке, например к проекту на Astro.

Astro по умолчанию даёт быстрый сканируемый HTML; позиции по-прежнему зависят от тегов head, карты сайта, hreflang, структурированных данных и редиректов, которые добавляете вы. Сначала настройте общий SEO-компонент и карту сайта, а перед запуском пройдитесь по таблице выше.

Часто задаваемые вопросы

Есть ли в Astro встроенный SEO-плагин?

Нет. В Astro нет официального универсального SEO-плагина: заголовок, мета-описание, canonical и теги соцсетей пишутся в общем компоненте head. Карту сайта обеспечивает официальная интеграция @astrojs/sitemap. Существуют пакеты сообщества, но небольшой собственный компонент легко поддерживать, и он полностью под вашим контролем.

Astro лучше Next.js для SEO?

Оба умеют выдавать полностью отрендеренный HTML, поэтому Google хорошо индексирует любой из них. Astro по умолчанию отправляет гораздо меньше JavaScript, что обычно делает контентные сайты быстрее и помогает Core Web Vitals. Next.js лучше подходит для сильно интерактивных приложений; для блогов, корпоративных сайтов и документации Astro проще с точки зрения SEO.

Может ли Google индексировать страницы Astro с серверным рендерингом?

Да. Страница, отрендеренная по запросу, тоже возвращает Googlebot полный HTML, точно так же, как предварительно отрендеренная. Следить нужно за временем ответа сервера, которое влияет на скорость загрузки, и за интеграцией карты сайта, которая не включает динамические маршруты в серверном режиме, пока вы не добавите их сами.

Бесплатный SEO- и GEO-аудит

Получите бесплатный контент-план на 30 дней

Мы бесплатно анализируем ваших конкурентов, ваш сайт и вашу видимость в ИИ и составляем персональный контент-план.

Наши бесплатные SEO-инструменты

Все наши бесплатные инструменты

Получите бесплатный аудит сайта

ОНИ ПОПРОБОВАЛИ SORANK ДО ВАС

Отзывы амбициозных основателей

Органический ростЭлектронная коммерция

От 0 до 10000 посетителей за 5 месяцев

Celio Fabianomonrobotlavevitre.fr
Органический ростПрограммное обеспечение

От 0 до 5000 клиентов за 8 месяцев

Thibault BMsorank.com
Органический ростДосуг и авиация

от 0 до 1104 кликов за 4 месяца

Dominiqueflight-sensations-idf.com
Органический ростГенерация лидов для установщиков

x98 кликов за 2 месяца

LeadBolt Agencyleadbolt.online
Органический ростМузыкальное ПО

Клики x55 за 5 месяцев

Valentin Cordiertiger-sounds.com