Communitygithub.com

ランディング greenfield — Lighthouse + SEO 足場

本番向けランディングをゼロから:Next.js App Router、content.ts 単一コピー源、Impeccable にデザイン委譲、Gemini 画像、Metadata/OG/JSON-LD/sitemap/robots、favicon、Lighthouse 級検証で空きスロットなし。

ランディング greenfield — Lighthouse + SEO 足場 とは?

Landing Pages 手順1(scaffold):My-Claude-Workflows landing-page。技術層(perf/SEO/アイコン/画像)を担当し、デザインは Impeccable。

対応✓Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/2003gdb/My-Claude-Workflows/tree/HEAD/skills/landing-page

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

スクラッチから本番用ランディングページを構築します。このスキルは技術レイヤー(パフォーマンス、SEO、アイコン、画像、検証)を担当します。デザインはImpeccableが担当します。 ビジュアルを再発明せず、任せてください。

最初に:不足しているものだけを尋ねる

推測しないでください。以下のいずれかがリクエストから不明確な場合は、質問してください(2~4個ずつ、ユーザーの言語でバッチ処理)。

  • ブランド: 名前、事業内容、一行のバリュープロポジション、ロゴファイル(または生成しますか?)。
  • オーディエンス+目標: 誰が訪問するか、単一の主要なコンバージョン(WhatsApp / フォーム / 電話 / サインアップ / 購入)。
  • セクション/コンテンツ: どのようなブロックが存在し、その実際のコピー(サービス、概要、プロセス、お問い合わせ…)。事実、価格、統計、お客様の声を決して作り出さないでください。不明なものは // PLACEHOLDER — editar とマークします。
  • 外観: インスピレーション/参考画像、パレットまたはブランドカラー、言語/ロケール、ターゲットドメイン(SEO SITE_URL 用)。
  • 画像: Geminiキーが .env に GEMINI-IMAGES-API として設定されていることを確認します(画像の手順を参照)。

ワークフロー

  1. スキャフォールド — Next.js App Router + TS + Tailwind。最初にプロジェクト自身のフレームワークドキュメントを読んでください(例:node_modules/next/dist/docs/)。APIはトレーニングデータと異なる場合があります。ファイルは350行未満に抑えてください。 コンテンツの唯一の情報源: すべての編集可能な値(見出し、段落、リスト項目、ブランド名、リンク、電話/WhatsApp、価格、SEO文字列)は、単一の型付きファイル(lib/content.ts または site.config.ts)に格納されます。コンポーネントはそこからインポートし、ハードコードされたコピーを含んではなりません。環境ごとの値(SITE_URL、連絡先番号)は .env から取得され、その1つのファイルを介して再エクスポートされます。目標:非開発者が1つのファイルを編集するだけで全てのコンテンツを変更できるようにすること。

  2. デザイン → Impeccable。 これは画質のために必須です。新しいプロジェクトでは /impeccable init を実行し(PRODUCT.md/DESIGN.mdを設定、ブランドレジスター+パレットを選択)、その後ブロックごとに /impeccable craft <section> を実行します。Impeccableのアンチスロップルール(すべてのセクションにアイブロウを付けない、01/02/03のスキャフォールディングをしない、同一のカードグリッドをしない、コントラスト ≥4.5:1、意図的な動き)が基準です。目標:クリーンでミニマル、視覚的に印象的 — AIスロップではありません。

  3. 画像 — すべてのビジュアルスロットを埋めます。public/images/manifest.json を作成し、scripts/generate-images.mjs を実行し、後処理し、確認します。1つの共有 style = 統一感のあるセット。.env を決して読んだり出力したりしないでください — node --env-file=.env のみ使用してください。→ references/images.md

  4. パフォーマンス — next/image(AVIF、sizes、LCPのみ priority)、next/font、ソースを縮小、opacity:0 のリビールの背後に実際のコンテンツをゲートしない(プリレンダリング時に空白で表示される)、動きの軽減フォールバック。→ references/performance.md

  5. SEO + ファビコン — Metadata API(canonical、OG 1200×630、twitter)、viewport、robots.ts、sitemap.ts、JSON-LD、<html lang>、および scripts/make-icons.mjs を使用してロゴからアイコン/OGを生成。→ references/seo.md

  6. 検証 — npm run build がクリーンに完了し、実際にレンダリングされるヘッドレススクリーンショット(大きな --virtual-time-budget、小さなPNG = 空白 = リビールトラップ)+利用可能であればLighthouse 95+。画像を配線する前に生成された画像を読んでください。

スクリプト

  • scripts/generate-images.mjs — マニフェストからGemini画像生成。node --env-file=.env <script> public/images/manifest.json [names…] [--dry]。GEMINI-IMAGES-API を読み取りますが、決してログに出力しません。
  • scripts/make-icons.mjs — ロゴから favicon.ico + icon.png + apple-icon.png + og.jpg を生成(sharp が必要)。node <script> --logo public/logo.png [--mark …] [--out-app src/app] [--bg "#fafaf8"] [--title "…"] [--crop "L,T,W,H"]。

厳格なルール

  • .env やAPIキーを決して読んだりエコーしたりしないでください。
  • すべての編集可能なコンテンツは1つのファイルに。コンポーネントにハードコードされたコピーはありません。
  • デザイン品質はImpeccableを通じて確保します。デフォルトの見た目の出力を出さないでください。
  • 事実/統計/お客様の声を捏造しないでください — プレースホルダーとして明確にマークします。
  • 実際のコンテンツをJSトリガーのリビールの背後にゲートしないでください(空白ページトラップ)。

関連スキル