Stellen Sie Ihre Frage und erhalten Sie einen Resümee des Dokuments, indem Sie diese Seite und den AI-Anbieter Ihrer Wahl referenzieren
Versionshistorie
- "Routing-Strategie und i18n-Stack (Bibliotheken, TMS) erkennen; Überprüfungen für hreflang-Gegenseitigkeit, og:locale und Sprachumschalter hinzufügen; robots.txt-Sitemaps, Sitemap-Indizes und gzip-komprimierten Sitemaps folgen"v9.5.1126.9.2026
- "Flag `--ci` hinzugefügt"v9.5.212.9.2026
- "Befehl scan hinzugefügt"v9.0.011.6.2026
Der Inhalt dieser Seite wurde mit einer KI übersetzt.
Den englischen Originaltext ansehenWenn Sie eine Idee haben, um diese Dokumentation zu verbessern, zögern Sie bitte nicht, durch das Einreichen eines Pull-Requests auf GitHub beizutragen.
GitHub-Link zur DokumentationMarkdown des Dokuments in die Zwischenablage kopieren
Website scannen
Der Befehl scan ruft eine öffentliche URL ab, misst die Gesamtseitengröße und überprüft die i18n- und SEO-Gesundheit der Seite. Er erstellt einen bewerteten Bericht (0–100), der HTML-Attribute, kanonische Links, hreflang-Tags und deren Rückverweise, robots.txt, Sitemaps, lokalisierte interne Links und das Gewicht der Lokalisierungsdaten im JavaScript-Bundle abdeckt.
Er berichtet außerdem darüber, wie die Website die Locale in ihren URLs kodiert (Routing-Strategie) und welches Framework, welche i18n-Bibliothek, welches Translation-Management-System (TMS) oder welcher Übersetzungsproxy verwendet wird. Dieselben Überprüfungen treiben den Online-i18n-SEO-Scanner und die Intlayer Chrome-Erweiterung an.
Es sind keine zusätzlichen Abhängigkeiten erforderlich. Wenn puppeteer installiert ist, kann der Scan träge geladene (lazy-loaded) JavaScript-Chunks erfassen, um eine präzisere Bundle-Analyse durchzuführen. Andernfalls fällt er auf die Überprüfung der im HTML deklarierten, direkt geladenen Skripte zurück.
Verwendung
Kopieren Sie den Code in die Zwischenablage
Beispiel
Kopieren Sie den Code in die Zwischenablage
Beispielausgabe:
Kopieren Sie den Code in die Zwischenablage
Optionen
<url> (erforderlich)
Die vollständige URL, die gescannt werden soll (z. B. https://example.com).
--no-deep
Deaktiviert den tieferen, auf Rendering basierenden Scan.
Standardmäßig versucht der Befehl, puppeteer zu verwenden, um die Seite in einem kopflosen (headless) Browser zu rendern, träge geladene JavaScript-Chunks zu erfassen und die tatsächliche Übertragungsgröße zu messen. Wenn puppeteer nicht installiert ist, fällt der Befehl automatisch in den Basismodus zurück.
Übergeben Sie --no-deep, um den Basismodus zu erzwingen, selbst wenn puppeteer verfügbar ist.
Beispiel: npx intlayer scan https://example.com --no-deep
--json
Gibt das vollständige Scan-Ergebnis als JSON-Objekt anstelle eines formatierten Berichts aus. Nützlich für die programmatische Verwendung oder CI-Pipelines.
Beispiel: npx intlayer scan https://example.com --json
Standard-Konfigurationsoptionen
--base-dir: Basisverzeichnis zur Lokalisierung der Dateiintlayer.config.*.-e, --env: Zielumgebung (z. B.development,production).--env-file: Pfad zu einer benutzerdefinierten.env-Datei.--no-cache: Konfigurationscache deaktivieren.--ci: Führt den Befehl in jedem Intlayer-Projekt des Monorepos aus (oder nur im aktuellen, wenn er aus einem Projektverzeichnis gestartet wird). Projektspezifische Zugangsdaten können überINTLAYER_PROJECT_CREDENTIALSeingefügt werden, ein JSON-Objekt, das jedem Projektpfad{ "clientId", "clientSecret" }zuordnet.--verbose: Ausführliche Protokollierung aktivieren (Standardwert im CLI-Modus).--prefix: Benutzerdefiniertes Protokollpräfix.
Routing-Strategie
Das Locale-Muster, das sich die hreflang-Alternativen der Seite teilen, zeigt, wie die Website ihre Locales routet. Ohne Alternativen wird nur die gescannte URL verwendet (geringe Konfidenz).
Tabelle in einem Modal öffnen, um alle Daten übersichtlich anzuzeigen
| Strategie | Beispiel |
|---|---|
prefix-all | /en/about, /fr/about |
prefix-no-default | /about (Standard-Locale), /fr/about |
search-params | /about?lang=fr |
subdomain | fr.example.com |
domain | example.fr, example.de |
no-prefix | Eine URL für jede Locale (Cookie) |
Überprüfungen von Links, kanonischen URLs, robots.txt und Sitemaps lesen jede URL über diese Strategie. Beispielsweise ist ein Link ohne Präfix auf der Standard-Locale einer prefix-no-default-Website korrekt, während ein Link ohne ?lang= auf einer search-params-Website die Locale verlässt.
Erkannter Stack
Frameworks, i18n-Bibliotheken (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…), Translation-Management-Systeme (Crowdin, Phrase, Lokalise, locize, Transifex, Tolgee, Localazy, SimpleLocalize, Localizely, Smartling, Intlayer CMS) und Übersetzungsproxys (Weglot, Localize, GTranslate…) werden aus dem HTML, den geladenen Ressourcen und den JavaScript-Bundles identifiziert. Der Tiefenmodus liest auch globale window-Variablen und Cookies aus.
Was überprüft wird
Tabelle in einem Modal öffnen, um alle Daten übersichtlich anzuzeigen
| Überprüfung | Beschreibung | Gewichtung der Bewertung |
|---|---|---|
html lang | <html lang> ist vorhanden und ein gültiger BCP 47-Tag | 9 |
html dir | dir="rtl" ist für von rechts nach links geschriebene Sprachen gesetzt (ltr ist der Standardwert) | 3 |
locale signals consistent | <html lang>, die URL-Locale und der eigene hreflang-Eintrag stimmen überein | 5 |
og:locale | og:locale ist gesetzt und stimmt mit <html lang> überein | 3 |
canonical | Ein kanonischer Link existiert und verweist nicht auf eine andere Sprachversion | 10 |
hreflang | hreflang-Tags existieren, mit gültigen Codes, absoluten URLs, ohne Duplikate und mit einer Selbstreferenz | 9 |
x-default hreflang | Ein x-default hreflang-Alternativlink ist vorhanden | 7 |
hreflang alternates link back | Alternativen antworten mit 200, werden nicht weitergeleitet, verlinken zurück und deklarieren die Sprache | 8 |
localized links | Interne Links verweisen auf die Locale der Seite | 8 |
all links keep the locale | Kein interner Link wechselt oder verliert die Locale | 6 |
language switcher | Crawlbare <a href>-Links zu den anderen Sprachversionen existieren | 6 |
robots.txt present | /robots.txt gibt eine 200-Antwort zurück | 10 |
robots.txt localized URLs | Weder die Website noch ihre lokalisierten URLs sind für den Googlebot blockiert | 8 |
sitemap present | Eine Sitemap wird gefunden (robots.txt Sitemap:-Direktiven, /sitemap.xml, /sitemap_index.xml) | 10 |
sitemap locale coverage | Jede Locale ist aufgeführt, und Einträge mit Alternativen führen sich selbst auf | 9 |
sitemap alternates | Die Sitemap enthält hreflang-Alternativlinks | 8 |
sitemap x-default | Die Sitemap enthält einen x-default hreflang | 7 |
unused bundle content | Das Haupt-JS-Bundle liefert keine Übersetzungen anderer Locales aus | 8 |
Eine Warnung erhält die Hälfte der Gewichtung. Die endgültige Bewertung ist die gewichtete Summe der ausgeführten Überprüfungen, ausgedrückt als Prozentsatz (0–100). Fehlgeschlagene Überprüfungen geben die ersten gefundenen Probleme aus; verwenden Sie --json für alle Details.
Verwendung der Scan-Funktion im Code (programmatisch)
Die Funktion scan wird auch aus @intlayer/cli exportiert, sodass sie in Ihren eigenen Skripten aufgerufen werden kann:
Kopieren Sie den Code in die Zwischenablage
Für den Zugriff auf niedrigerer Ebene gibt scanWebsite aus @intlayer/engine/scan ein strukturiertes ScanResult-Objekt zurück:
Kopieren Sie den Code in die Zwischenablage
