はじめに
svelte-vitals とは?
Section titled “svelte-vitals とは?”svelte-vitals は、ソースコードのみを使用して動作する SvelteKit SEO・パフォーマンスチェッカーです。実行中のサイト、ブラウザ、ビルドサーバーは不要です。レイアウトチェーンをたどりながら <svelte:head> ブロックを解析して各ルートの実効 <head> を解決し、ルートごとおよびサイト全体でスコアを算出します。
Node.js 22.13 以降が必要です。
インストール
Section titled “インストール”一度だけ実行する場合はインストール不要です:
npx svelte-vitals@latest開発依存として追加する場合:
npm install --save-dev svelte-vitals# またはpnpm add -D svelte-vitals任意の SvelteKit プロジェクトのルートで実行してください:
npx svelte-vitals@latest --verboseサブディレクトリを指定する場合:
npx svelte-vitals@latest ./apps/web --verbose出力例(--verbose を付けると、件数だけでなく、パスした各項目を個別に表示):
Svelte Vitals · static mode
Health: 79/100SEO Score: 79/100 (route avg 96 · capped at 79: critical present)
Critical (1)────────────────────────✗ SEO001 Missing <title> /none src/routes/none/+page.svelte
Passed (3)────────────────────────✓ SEO001 <title> /blog✓ SEO001 <title> ↯ dynamic /dynamic✓ SEO001 <title> /static
↯ = set dynamically (verified at runtime).↯ マーカーは値が動的に設定されていること(例:<title>{data.title}</title>)を意味します。動的なタイトルはパスします — 本当に欠けているか空のメタデータのみがフラグされます。--verbose を付けない場合、Passed セクションは件数のみ(Passed (3))に折りたたまれ、この脚注も表示されません — 画面上に説明対象の ↯ マーカーが無いためです。
| コード | 意味 |
|---|---|
0 |
失敗する検出結果なし |
1 |
クリティカルな検出結果が存在する(または --fail-on / --min-health の閾値に達した) |
2 |
実行エラー — SvelteKit プロジェクトでない、または内部エラー |
これらのコードは安定しており、CI ゲートとして使用できます。
次のステップ
Section titled “次のステップ”- どのパッケージを使えばいいか迷ったら、CLI・Vite プラグイン・MCPサーバーを比較した パッケージの選び方 を参照してください。
- すべてのフラグについては CLI リファレンス を参照してください。
vite buildと連携するには プラグインモード を使用してください。- AI エージェントが自動的に分析を実行できるようにするには MCP を使用してください —
npx svelte-vitals@latest installで Claude Code / Cursor / Codex に一発で組み込めます。