01これは何?
Netlifyに自分が作ったサイトが何個か溜まってきた人向け。それらを 1ページの作品集 として並べて、いつでも誰かに見せられる状態にする手順書。
特徴
- 各カードに 本物のサイトのライブプレビュー が小さく映る(スクショじゃない・常に最新)
- クリックで実物に飛べる
- 新しい作品を作るたびに 追記すれば自動でポートフォリオが育つ
02前提(最初に1回だけ)
| 必要なもの | 補足 |
|---|---|
| Netlifyアカウント | 無料プランでOK |
| Claude(or他のAIエージェント)+ Netlify MCP接続 | コネクタから「Netlify」を有効化 |
| 既にNetlifyにデプロイした作品が複数あること | 1〜2個でも作れるけど、5個以上あると映える |
💡 Tips: Netlify MCPの繋ぎ方が分からなければ、Claudeに「Netlify MCP繋ぎたい」と聞けばコネクタ画面まで案内される。
03全体の流れ(5ステップ)
① 既存サイト一覧取得
→
② 中身確認
→
③ HTML作成
→
④ プロジェクト作成
→
⑤ デプロイ ✨
所要時間:約10分(5サイトぐらいなら)
04ステップ詳細
1
既存サイト一覧を取得
~ 1 min
Claudeに頼む:
「Netlifyにある自分のサイト一覧を出して」
裏ではこういうMCPコールが走る:
netlify-project-services-reader / get-projects
返ってくるもの:
name— サイト名urls.primarySiteUrl— 公開URLsite_id— UUID(後で使う)currentDeploy.state— 稼働中かどうか
⚠️ 注意: 自動命名のサイト(
cosmic-brioche-xxxx みたいなランダム名)も混ざる。中身を確認して載せるか判断。
2
各サイトの中身を確認
~ 2 min
各サイトのURLを WebFetch で並列取得して、タイトル・概要を抽出してもらう。
「このURL全部見て、各サイトのタイトルと
何のサイトか教えて」
(URL一覧を渡す)
これで各カードに書く「タイトル」「説明文」「カテゴリタグ」の素材が揃う。
3
ポートフォリオHTML作成
~ 3 min
構造のキモ:iframeライブプレビュー
<div class="preview">
<iframe
src="https://your-site.netlify.app/"
loading="lazy"
sandbox="allow-same-origin"
style="width:1440px;height:900px;
transform:scale(0.25);
transform-origin:0 0;
border:0;
pointer-events:none;">
</iframe>
</div>
ポイント:
width:1440pxで PC幅でレンダリング(モバイル幅だと崩れて見えるサイトもあるため)transform:scale(0.25)で 1/4サイズに縮小 → サムネ風にpointer-events:noneで iframe内をクリック不可に → カード全体のリンクが優先されるloading="lazy"で 画面に入ってからロード → 初期表示が軽い
4
Netlifyに新規プロジェクト作成
~ 1 min
Claudeに頼む:
「ポートフォリオサイトを `あなたの名前-portfolio` で
新規作成して」
裏で走る処理:
netlify-project-services-updater / create-new-project
params: { name: "your-name-portfolio" }
命名規則(ここ大事)
^[a-z0-9-]+$(小文字英数とハイフンのみ)- 既存と被らない名前
5
デプロイ
~ 3 min
Claudeに頼む:
「これをNetlifyに公開して」
裏で走る処理:
deploy-siteでデプロイ用のnpxコマンド取得- ターミナルで
npx -y @netlify/mcp@latest --site-id XXX実行 Deploy is ready!が出たら完成 ✨
公開URL:
https://your-name-portfolio.netlify.app/
これで永続URL発行・自分のアカウント配下に正規所属。
05ハマりどころ
| 症状 | 原因 | 対処 |
|---|---|---|
| iframeプレビューが真っ黒 | X-Frame-Options: DENY | そのカードだけスクショ画像に差し替える |
| iframeのモバイル表示が崩れる | PC幅レンダリング前提 | 気になればmediaQueryで調整 |
| プロジェクト名が取れない | 既存と被ってる | 末尾に -2 -v2 等付ける |
| デプロイが404 | ファイル名が違う | 必ず index.html に |
| 重い | iframe多数同時ロード | loading="lazy" 必須 |
06アップデート運用
新しい作品を作ったら:
- Claudeに「ポートフォリオに追加して」と言うだけ
- 既存HTMLに新カードを追記
- 同じプロジェクト名で再デプロイ(上書きされる)
「okemon-portfolio に新しい作品を追加して、
再デプロイして」
07デザインの裏側
「シンプルだけどプロっぽく見える」設計の要素:
- ダークモード(
#0a0a0b)+ ライムグリーン差し色(#a3e635) - JetBrains Mono でモノスペース・テック感
- Manrope で本文・モダンサンセリフ
- ホバーでカード浮上 + iframe微拡大
- LIVE バッジ + パルスアニメーション
- グラデーションテキスト で見出しに動き