Спросите свой вопрос и получите сводку документа, используя эту страницу и выбранного вами поставщика AI
История версий
- "Определение стратегии маршрутизации и i18n-стека (библиотеки, TMS); добавление проверок взаимности hreflang, og:locale и переключателя языков; поддержка карт сайта из robots.txt, индексов sitemap и sitemap в формате gzip"v9.5.1126.09.2026
- "Добавлен флаг `--ci`"v9.5.212.09.2026
- "Добавлена команда scan"v9.0.011.06.2026
Содержимое этой страницы было переведено с помощью ИИ.
Смотреть последнюю версию оригинального контента на английскомЕсли у вас есть идея по улучшению этой документации, не стесняйтесь внести свой вклад, подав запрос на вытягивание на GitHub.
Ссылка на документацию GitHubКопировать Markdown документа в буфер обмена
Scan Website
Команда scan запрашивает публичный URL, измеряет общий размер страницы и проверяет состояние i18n и SEO страницы. Она создает отчет с оценкой (0–100), охватывающий HTML-атрибуты, канонические ссылки, теги hreflang и обратные ссылки на них, robots.txt, карты сайта, локализованные внутренние ссылки и вес локалей в JavaScript-бандле.
Она также сообщает, как сайт кодирует локаль в URL (стратегия маршрутизации), а также какой фреймворк, библиотеку i18n, систему управления переводами (TMS) или прокси переводов использует. Те же проверки работают в онлайн i18n SEO-сканере и в расширении Intlayer для Chrome.
Никаких дополнительных зависимостей не требуется. Если установлен puppeteer, сканирование может фиксировать лениво загружаемые (lazy-loaded) JavaScript-чанки для более точного анализа сборки; в противном случае оно проверяет только скрипты, объявленные в HTML для немедленной загрузки.
Использование
Копировать код в буфер обмена
Пример
Копировать код в буфер обмена
Пример вывода:
Копировать код в буфер обмена
Параметры
<url> (обязательно)
Полный URL-адрес для сканирования (например, https://example.com).
--no-deep
Отключить более глубокое сканирование на основе рендеринга страницы.
По умолчанию команда пытается использовать puppeteer для рендеринга страницы в headless-браузере, захвата отложенно загружаемых JS-чанков и измерения реального объема передаваемых данных. Если puppeteer не установлен, команда автоматически переключается в базовый режим.
Передайте --no-deep, чтобы принудительно использовать базовый режим, даже если puppeteer доступен.
Пример: npx intlayer scan https://example.com --no-deep
--json
Вывод полного результата сканирования в виде JSON-объекта вместо форматированного отчета. Полезно для программного использования или в CI-пайплайнах.
Пример: npx intlayer scan https://example.com --json
Стандартные параметры конфигурации
--base-dir: Базовая директория для поиска файлаintlayer.config.*.-e, --env: Целевое окружение (например,development,production).--env-file: Путь к кастомному файлу.env.--no-cache: Отключить кэширование конфигурации.--ci: Выполняет команду в каждом проекте Intlayer монорепозитория (или только в текущем при запуске из директории проекта). Учетные данные для каждого проекта можно подставить черезINTLAYER_PROJECT_CREDENTIALS, JSON-объект, сопоставляющий путь проекта с{ "clientId", "clientSecret" }.--verbose: Включить подробное логирование (по умолчанию включено в режиме CLI).--prefix: Кастомный префикс для логов.
Стратегия маршрутизации
Шаблон локалей, общий для альтернатив hreflang страницы, показывает, как сайт маршрутизирует свои локали. Без альтернатив используется только сканируемый URL (низкий уровень уверенности).
Открыть таблицу в модальном окне для четкого просмотра всех данных
| Стратегия | Пример |
|---|---|
prefix-all | /en/about, /fr/about |
prefix-no-default | /about (локаль по умолчанию), /fr/about |
search-params | /about?lang=fr |
subdomain | fr.example.com |
domain | example.fr, example.de |
no-prefix | Один URL для всех локалей (cookie) |
Проверки ссылок, канонических URL, robots.txt и карты сайта анализируют каждый URL через эту стратегию. Например, ссылка без префикса корректна для локали по умолчанию на сайте с prefix-no-default, а ссылка без ?lang= приводит к выходу из локали на сайте с search-params.
Обнаруженный стек
Фреймворки, библиотеки интернационализации (Intlayer, i18next, react-i18next, next-i18next, next-intl, use-intl, react-intl, vue-i18n, @nuxtjs/i18n, Lingui, svelte-i18n, Paraglide, ngx-translate, Transloco, Polylang, WPML…), системы управления переводами (Crowdin, Phrase, Lokalise, locize, Transifex, Tolgee, Localazy, SimpleLocalize, Localizely, Smartling, Intlayer CMS) и прокси переводов (Weglot, Localize, GTranslate…) определяются по HTML, загруженным ресурсам и JavaScript-бандлам. В глубоком режиме также проверяются глобальные переменные window и cookie.
Что проверяется
Открыть таблицу в модальном окне для четкого просмотра всех данных
| Проверка | Описание | Вес в оценке |
|---|---|---|
html lang | <html lang> присутствует и содержит корректный тег BCP 47 | 9 |
html dir | dir="rtl" задан для языков с письмом справа налево (ltr используется по умолчанию) | 3 |
locale signals consistent | <html lang>, локаль URL и собственная запись hreflang согласуются между собой | 5 |
og:locale | og:locale задан и совпадает с <html lang> | 3 |
canonical | Каноническая ссылка существует и не указывает на версию для другой локали | 10 |
hreflang | Теги hreflang присутствуют с валидными кодами, абсолютными URL, без дубликатов и с ссылкой на себя | 9 |
x-default hreflang | Присутствует альтернативный hreflang x-default | 7 |
hreflang alternates link back | Альтернативные страницы отвечают кодом 200, не перенаправляют, ссылаются в ответ и объявляют язык | 8 |
localized links | Внутренние ссылки указывают на текущую локаль страницы | 8 |
all links keep the locale | Ни одна внутренняя ссылка не переключает и не сбрасывает локаль | 6 |
language switcher | Присутствуют доступные для сканирования ссылки <a href> на другие языковые версии страницы | 6 |
robots.txt present | /robots.txt возвращает ответ 200 | 10 |
robots.txt localized URLs | Ни сайт, ни его локализованные URL не заблокированы для Googlebot | 8 |
sitemap present | Карта сайта найдена (директивы Sitemap: в robots.txt, /sitemap.xml, /sitemap_index.xml) | 10 |
sitemap locale coverage | Каждая локаль указана, а записи с альтернативами содержат ссылку на самих себя | 9 |
sitemap alternates | Карта сайта содержит альтернативные ссылки hreflang | 8 |
sitemap x-default | Карта сайта содержит альтернативную ссылку x-default | 7 |
unused bundle content | Основной JS-бандл не содержит переводов для других локалей | 8 |
Предупреждение дает половину веса оценки. Итоговая оценка представляет собой средневзвешенную сумму всех выполненных проверок, выраженную в процентах (0–100). Непройденные проверки выводят первые обнаруженные проблемы; используйте --json для получения полной информации.
Использование функции сканирования в коде
Функция scan также экспортируется из пакета @intlayer/cli, поэтому её можно вызывать в ваших собственных скриптах:
Копировать код в буфер обмена
Для более низкоуровневого доступа функция scanWebsite из модуля @intlayer/engine/scan возвращает структурированный объект ScanResult:
Копировать код в буфер обмена
