Yazar:
    Oluşturma:2026-06-11Son güncelleme:2026-09-12

    Web Sitesini Tara

    scan komutu, herkese açık bir URL'yi getirir, toplam sayfa boyutunu ölçer ve sayfanın i18n ile SEO durumunu denetler. HTML özniteliklerini, kurallı (canonical) bağlantıları, hreflang etiketlerini, robots.txt, sitemap.xml dosyalarını, yerelleştirilmiş dahili bağlantıları ve JavaScript paketi dil ağırlığını kapsayan puanlı bir rapor (0–100) üretir.

    Ekstra bağımlılık gerekmez. puppeteer kurulu olduğunda tarama işlemi, daha hassas bir paket analizi için geç yüklenen (lazy-loaded) JavaScript parçalarını yakalayabilir; aksi takdirde HTML'de bildirilen doğrudan yüklenen betikleri incelemeye geri döner.

    Kullanım

    bash
    npx intlayer scan <url>
    

    Örnek

    bash
    npx intlayer scan https://example.com
    

    Örnek çıktı:

    plaintext
    🔍 Scanned https://example.com (basic mode)
    
    Score: 90/100
    Page size: 10.60 MB (HTML 42.31 KB)
    Locales: en, fr, es, de, …
    
    Checks:
      ✓ html lang attribute
      ✓ html dir attribute
      ✓ canonical link
      ✓ hreflang tags
      ✓ x-default hreflang
      ✓ localized internal links
      ⚠ all internal links localized
      ✓ current locale detected
      ✓ robots.txt present
      ✓ robots.txt keeps locale paths crawlable
      ✓ sitemap.xml present
      ✓ sitemap lists every locale
      ✓ sitemap has alternate links
      ✓ sitemap has x-default
    
    Bundle locale weight:
      Translations shipped: 120.50 KB
      Unused (other locales): 45.20 KB (37%)
    

    Seçenekler

    <url> (gerekli)

    Taranacak tam nitelikli URL (örneğin https://example.com).

    --no-deep

    Daha derin işleme tabanlı taramayı devre dışı bırakır.

    Varsayılan olarak komut, sayfayı başsız (headless) bir tarayıcıda işlemek, geç yüklenen JavaScript parçalarını yakalamak ve gerçek aktarım boyutunu ölçmek için puppeteer kullanmaya çalışır. Puppeteer kurulu değilse, komut otomatik olarak temel moda geri döner.

    Puppeteer kullanılabilir olduğunda bile temel modu zorlamak için --no-deep parametresini geçirin.

    Örnek: npx intlayer scan https://example.com --no-deep

    --json

    Biçimlendirilmiş bir rapor yerine tarama sonucunun tamamını bir JSON nesnesi olarak çıktı verir. Programatik tüketim veya CI hatları için kullanışlıdır.

    Örnek: npx intlayer scan https://example.com --json

    Standart yapılandırma seçenekleri

    • --base-dirintlayer.config.* dosyasını bulmak için kullanılan temel dizin.
    • -e, --env — Hedef ortam (örneğin development, production).
    • --env-file — Özel bir .env dosyasının yolu.
    • --no-cache — Yapılandırma önbelleğini devre dışı bırakır.
    • --ci — Komutu monorepo'nun her Intlayer projesinde çalıştırır (bir proje dizininden çalıştırıldığında yalnızca mevcut projede). Proje başına kimlik bilgileri, proje yolunu { "clientId", "clientSecret" } ile eşleyen bir JSON nesnesi olan INTLAYER_PROJECT_CREDENTIALS aracılığıyla eklenebilir.
    • --verbose — Ayrıntılı günlüğe kaydetmeyi etkinleştirir (CLI modunda varsayılan).
    • --prefix — Özel günlük ön eki.

    Neler kontrol edilir?

    KontrolAçıklamaPuan Ağırlığı
    html lang<html lang="…"> özniteliği mevcut9
    html dir<html dir="…"> özniteliği mevcut3
    canonical<link rel="canonical"> mevcut10
    hreflang<link rel="alternate" hreflang="…"> etiketleri mevcut9
    x-default hreflangBir x-default hreflang alternatifi mevcut7
    localized linksEn az bir dahili bağlantı bir dil segmenti içeriyor5
    all links localizedHer dahili bağlantı bir dil segmenti içeriyor5
    current localeSayfa dili algılanabiliyor3
    robots.txt present/robots.txt 200 yanıtı döndürüyor10
    robots.txt locale pathsrobots.txt dosyasında hiçbir dil yolu engellenmemiş10
    sitemap.xml present/sitemap.xml 200 yanıtı döndürüyor10
    sitemap locale coverageAlgılanan her dil site haritasında görünüyor10
    sitemap alternatesSite haritası hreflang alternatif bağlantılarını içeriyor5
    sitemap x-defaultSite haritası bir x-default hreflang içeriyor5
    unused bundle contentJS paketi aşırı kullanılmayan dil verisi taşımıyor9

    Nihai puan, geçen tüm kontrollerin ağırlıklı yüzdelik toplamıdır (0–100).

    Tarama işlevini programlı olarak kullanma

    scan işlevi, kendi betiklerinizden çağrılabilmesi için @intlayer/cli paketinden de dışa aktarılır:

    ts
    import { scan } from "@intlayer/cli";
    
    await scan("https://example.com", {
      deep: false,
      json: false,
    });
    

    Daha düşük seviyeli erişim için, @intlayer/engine/scan altındaki scanWebsite yapılandırılmış bir ScanResult nesnesi döndürür:

    ts
    import { scanWebsite } from "@intlayer/engine/scan";
    
    const result = await scanWebsite("https://example.com", { deep: false });
    console.log(result.score, result.totalPageSize, result.events);