mcpField
C
core-web-vitals-tuner

core-web-vitals-tuner

github.com/patricio0312rev開発63310 回インストール41 週間前に更新
リポジトリ

core-web-vitals-tuner について

Core Web Vitalsを改善したい開発者向けのスキルです。LCP、INP、CLSの優先的な対策と検証方法を扱います。

主な機能

  1. 01LCPの最適化手法
  2. 02INPのインタラクション改善
  3. 03CLSのレイアウト安定化
  4. 04Lighthouse CIによる検証
  5. 05本番環境での指標監視

活用シーン

  1. 01ページ読み込み性能の改善
  2. 02ユーザー操作の遅延軽減
  3. 03予期しないレイアウトシフトの防止

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/patricio0312rev/skills --skill core-web-vitals-tuner

インストール後、Claude Code で/core-web-vitals-tunerを入力して読み込まれたか確認します。

詳細

Core Web Vitals チューナー

LCP、INP、CLS を体系的に改善します。

LCP の最適化(<2.5s)

優先度の高い修正:

  1. 画像を最適化する(最も効果が大きい)

    
    <img src="hero.jpg" />
    
    
    <img
      src="hero.jpg"
      srcset="hero-400.webp 400w, hero-800.webp 800w, hero-1200.webp 1200w"
      sizes="(max-width: 600px) 400px, (max-width: 1200px) 800px, 1200px"
      loading="eager"
      fetchpriority="high"
    />
    
  2. LCP リソースをプリロードする

    <link rel="preload" as="image" href="/hero.webp" fetchpriority="high" />
    
  3. クリティカル CSS をインライン化する

    <style>
      /* Above-the-fold styles */
      .hero {
        display: flex;
        height: 100vh;
      }
    </style>
    
  4. CDN を使用する

    • 画像を CloudFront/Cloudflare から配信する
    • HTTP/2 または HTTP/3 を有効にする

INP の最適化(<200ms)

修正方法:

  1. 負荷の高いインタラクションをデバウンスする

    import { debounce } from "lodash";
    
    const handleSearch = debounce((query) => {
      fetchResults(query);
    }, 300);
    
  2. 負荷の高いタスクに Web Workers を使用する

    const worker = new Worker("processor.js");
    worker.postMessage(largeData);
    worker.onmessage = (e) => console.log(e.data);
    
  3. コード分割

    const HeavyComponent = lazy(() => import("./HeavyComponent"));
    

CLS の最適化(<0.1)

修正方法:

  1. 画像や広告用のスペースを確保する

    <img src="banner.jpg" width="1200" height="600" />
    
  2. CSS の aspect-ratio を使用する

    .video-container {
      aspect-ratio: 16 / 9;
    }
    
  3. 既存のコンテンツより上にコンテンツを挿入しない

    .notification {
      position: fixed;
      top: 0;
    }
    

検証

# Lighthouse CI
npm run lighthouse -- --url=https://example.com

# Web Vitals in production
import { getCLS, getFID, getLCP } from 'web-vitals';

getCLS(console.log);
getFID(console.log);
getLCP(console.log);

出力チェックリスト

  • LCP を最適化済み(<2.5s)
  • INP を最適化済み(<200ms)
  • CLS を最適化済み(<0.1)
  • モニタリングを設定済み
  • パフォーマンスのリグレッションテスト ENDFILE

コメント