[{"data":1,"prerenderedAt":198},["ShallowReactive",2],{"tag-articles-cloudflare pages":3},[4,10,15,20,25,30,34,39,43,48,53,58,62,66,70,75,80,85,90,95,99,104,109,113,118,123,127,131,136,141,146,150,155,160,164,169,174,179,184,189,193],{"title":5,"description":6,"path":7,"publishedAt":8,"updatedAt":9},"Cloudflare PagesでリロードするとNuxtページが404になる問題の調査と解決","Cloudflare Pagesにデプロイした動的ルートのNuxtページで、初回アクセスは成功するがF5リロードすると404エラーが発生する問題の原因調査プロセスと、_routes.jsonの除外ルール修正による解決策","/cloudflare-pages-reload-404-fix","2025-11-27T00:00:00.000Z",null,{"title":11,"description":12,"path":13,"publishedAt":14,"updatedAt":9},"CI OOM 調査メモ（Nuxt / Cloudflare Pages）","GitHub Actions で発生する Node.js heap OOM の試行と結果、次の方針","/ci-oom-investigation","2025-12-24T00:00:00.000Z",{"title":16,"description":17,"path":18,"publishedAt":19,"updatedAt":19},"ブログ記事のマークダウンコピー機能を実装","PC表示で共有ボタンとマークダウンコピーボタンを追加。frontmatterを除外した本文のみをコピーできる機能","/markdown-copy-feature","2025-12-31T00:00:00.000Z",{"title":21,"description":22,"path":23,"publishedAt":24,"updatedAt":24},"Google Search Console「リダイレクト」「インデックス未登録」の原因：canonical/サイトマップの末尾スラッシュ不一致","GSCで報告される「ページにリダイレクトがあります」31件と「検出 - インデックス未登録」209件の有力な原因を調査。Cloudflare Pagesの末尾スラッシュ仕様とcanonical設定の不一致を解説。","/gsc-trailing-slash-mismatch","2026-01-06T00:00:00.000Z",{"title":26,"description":27,"path":28,"publishedAt":29,"updatedAt":9},"2026年2月8日の開発日記 - 複数業種LPを1日でSSG化・デプロイまで完了","複数デザインテンプレートの各業種適用、SSR→SSG移行、SEO全ページ実装、Resendお問い合わせフォーム、UI/UX最終調整を1日で完了した開発記録","/diary-2026-02-08","2026-02-08T00:00:00.000Z",{"title":31,"description":32,"path":33,"publishedAt":29,"updatedAt":9},"Nuxt3マルチテナントLPをSSRからSSGに移行 - 複数業種×Cloudflare Pagesデプロイ","業種別LPサイトのSSR→SSG移行。環境変数によるテナント切替、PowerShellバッチデプロイスクリプト、Cloudflare Pages Static設定を解説","/tax-lp-ssr-to-ssg-2026-02-08",{"title":35,"description":36,"path":37,"publishedAt":38,"updatedAt":9},"LP多業種展開 - 新業種追加・composable化・フォーム改善","LPプロジェクトに新業種3つを追加し、composable/util化リファクタリング、フォーム改善（ハニーポット・自動返信）を実施した記録","/multi-industry-lp-expansion-2026-02-09","2026-02-09T00:00:00.000Z",{"title":40,"description":41,"path":42,"publishedAt":38,"updatedAt":9},"SSG環境でのSEO基盤整備 - robots.txt/sitemap.xml静的生成とCloudflare Pages対応","Nuxt3 SSG環境でrobots.txtとsitemap.xmlを静的ファイルとして生成し、Cloudflare Pagesの制約に対応した記録","/ssg-seo-infrastructure-2026-02-09",{"title":44,"description":45,"path":46,"publishedAt":47,"updatedAt":9},"Nuxt 3 SSGで特定ページをプリレンダリングから除外する方法 - 本番環境からの選択的ページ除外","Nuxt 3のcloudflare-pages-staticプリセットで、書籍内容を含むページを本番環境から除外し、開発環境でのみ閲覧可能にする実装手順。prerender.ignoreとimport.meta.devを使った方法を解説。","/nuxt3-ssg-prerender-exclude-pages-2026-02-12","2026-02-12T00:00:00.000Z",{"title":49,"description":50,"path":51,"publishedAt":52,"updatedAt":9},"書籍OCRバッチクリーンアップとtokyo-onkeiデプロイ修正 - 2026年2月20日","yomitokuで75ページのPDFを113秒でOCR変換し、複数冊のDBクリーンアップを並列バッチ処理。tokyo-onkeiのCSS崩れ・リダイレクト問題も解消した開発ログ。","/book-ocr-and-misc-2026-02-20","2026-02-20T00:00:00.000Z",{"title":54,"description":55,"path":56,"publishedAt":57,"updatedAt":9},"2026年3月4日の開発日記 - 鍵屋サイトを一日で作り替えてPageSpeed94点まで磨いた","Nuxt 2で放置されていた地域密着サービス業サイトをバニラHTMLに作り替え、Cloudflare Pagesへ移行。LP改善、SVGアニメーション制作、PageSpeed最適化まで一気通貫で仕上げた一日の記録","/2026-03-04-diary","2026-03-04T00:00:00.000Z",{"title":59,"description":60,"path":61,"publishedAt":57,"updatedAt":9},"LP改善・画像最適化・SVGアニメーション制作の一日","地域密着サービス業のLPを競合分析から再構築。DSC画像14枚の圧縮、新セクション追加、SVGトラックアニメーション制作、作業風景動画の切り出しまでを一気に進めた記録","/lp-improvement-svg-animation-2026-03-04",{"title":63,"description":64,"path":65,"publishedAt":57,"updatedAt":9},"PageSpeedモバイル94点達成までの最適化ログとSEO改善の記録","地域密着サービス業サイトのPageSpeedモバイルスコアを94点まで引き上げた最適化プロセスと、OG画像・構造化データ・robots.txt等のSEO改善、GA4イベント計測の実装記録","/pagespeed-seo-optimization-2026-03-04",{"title":67,"description":68,"path":69,"publishedAt":57,"updatedAt":9},"Nuxt 2サイトをバニラHTML静的サイトに作り替えてCloudflare Pagesへ移行した","Nuxt 2で動いていた地域密着サービス業サイトをバニラHTML/CSS/JSの静的サイトにリビルドし、Netlify→Cloudflare Pagesへ移行。ビルド設定の罠やカスタムドメイン切り替えまでの記録","/static-site-rebuild-cloudflare-2026-03-04",{"title":71,"description":72,"path":73,"publishedAt":74,"updatedAt":9},"Nuxt SSGビルドエラーを3つ潰して本番デプロイを復旧した","Cloudflare Pagesで2月22日以降の記事が消えていた原因を追い、importパスの階層不足・Date型のsplit問題・未コミットコンテンツの3つを修正して本番復旧した記録","/nuxt-ssg-build-fix-2026-03-05","2026-03-05T00:00:00.000Z",{"title":76,"description":77,"path":78,"publishedAt":79,"updatedAt":9},"PRレビューからCORSデバッグまで - 本番デプロイで音声が消えた一日","2つのPRレビュー・修正から始まり、本番デプロイで音声404、Web Audio APIのCORSエラー、crossorigin追加で完全破壊、Codexレビューを経て3段階CORS検証で解決するまでの試行錯誤ログ","/pr-review-cors-debugging","2026-03-17T00:00:00.000Z",{"title":81,"description":82,"path":83,"publishedAt":84,"updatedAt":9},"Cloudflare AccessとSSGの相性問題から別プロジェクト分離に至るまで","Cloudflare Accessで/private以下を保護しようとしたが、SSGのプリレンダリングでバイパスされる問題が発覚。ミドルウェア対策を経て、最終的にprivate.eurekapu.comとして別プロジェクトに分離した判断過程の記録","/cloudflare-access-private-site","2026-04-08T00:00:00.000Z",{"title":86,"description":87,"path":88,"publishedAt":89,"updatedAt":9},"Search Console 404を329件発見し、リダイレクトルールで75%を潰した","3月末のリダイレクト修正から2週間後にSearch Consoleを確認。404が329件残っていたのでCSV全件分析し、generate-redirects.mjsを改修。Cloudflare Pagesの2,000ルール制限と格闘しながら248件をカバーした記録。","/search-console-404-redirect-fix","2026-04-14T00:00:00.000Z",{"title":91,"description":92,"path":93,"publishedAt":94,"updatedAt":9},"2026年5月10日の開発日記 - Cloudflare Pages SSG OOM根本対応と書籍の蔵書DB化","Cloudflare Pages SSG の OOM をExcel教材データ分離で根本対応、Codex Windows サンドボックスの設定変更、yomitokuでの書籍OCR、奥付抽出計画とCodex再帰レビュー、財務諸表読み方教材の図解インベントリ計画。","/2026-05-10-diary","2026-05-10T00:00:00.000Z",{"title":96,"description":97,"path":98,"publishedAt":94,"updatedAt":9},"Cloudflare Pages SSG の OOM を Excel 教材データ分離で根本対応した話 — Codex 再帰レビューと SSR fetch 404 の突破","Cloudflare Pages の SSG ビルドが Node ヒープ 2GB を突き抜けて exit 134 で落ち続けた問題を、Excel 教材データの TS import → JSON fetch 分離で根本対応した。top.vue manifest は 490KB から 18KB に痩せ、10コース 616KB が public/ 配信に逃げた。Codex 再帰レビュー3回、Windows サンドボックス問題の根本対応、SSR fetch 404 のハマりまでを記録する。","/excel-data-separation-cloudflare-ssg-oom",{"title":100,"description":101,"path":102,"publishedAt":103,"updatedAt":9},"Eurekapuのデプロイが9.3分に伸びた話：R2リダイレクト移行と、Codexに3回ダメ出しされた計画書","Eurekapu-NUXT4のデプロイ時間が9.3分まで伸び、dist/総量248MB・5195ファイルまで肥大化していた。R2画像移行→dynamic importの順で計画を立てたら、Codexレビューに『順序が逆』『dynamic importは Worker バンドルから消えない』『$fetch('/content/...')はSSRで404』と3点まとめて致命傷を指摘され、計画を全面改訂。最終的に _redirects 方式でR2にリダイレクトする形に落として、wrangler pages deployだけで完結する流れに揃えた。最後、ビルド中にファイルを編集してapp-styles.B3Vj9TBQのハッシュ不整合に引っかかった反省も書いておく。","/deploy-optimization-r2-redirects","2026-05-13T00:00:00.000Z",{"title":105,"description":106,"path":107,"publishedAt":108,"updatedAt":9},"blog-verifyを_payload.json廃止に対応してHTML走査ベースに切り替えた","Nuxt Content 3.11で _payload.json から collection 結果が消えた。検証スクリプトを dist/blog/index.html の直接走査に作り直し、デバッグ残骸の blog-index-sample.html も削除して2コミットに分けてコミットした記録。","/blog-verify-html-walker","2026-05-20T00:00:00.000Z",{"title":110,"description":111,"path":112,"publishedAt":108,"updatedAt":9},"Astroガントで8/28最終便が見切れる問題を表示用endDate+1日バッファで直した","family-trips（Astro + Cloudflare Pages）の旅行詳細ページで、ガント右端の18:35便が枠外に飛び出していた。コンテンツのendDateは触らず、描画用にganttEndDate = endDate + 1日のダミー終点を渡して右側にのれんを足した。","/family-trips-gantt-buffer",{"title":114,"description":115,"path":116,"publishedAt":117,"updatedAt":9},"Cloudflare Pages にカスタムドメインを設定する手順（2026年版・Apex / サブドメイン両対応）","Cloudflare Pages に独自ドメインを紐づける具体的な手順を、Apex ドメイン（example.com）とサブドメイン（log.example.com）両方のパターンで整理。Cloudflare 配下 / 他レジストラ配下別の DNS 設定差、SSL 証明書の自動発行タイミング、よくあるエラーの対処までまとめる。","/cloudflare-pages-custom-domain-setup","2026-06-09T00:00:00.000Z",{"title":119,"description":120,"path":121,"publishedAt":122,"updatedAt":9},"Cloudflare Pages の 1MB Worker bundle 制限に当たって構成図A〜Dを書きながら設計判断を整理した","Nuxt 4 アプリの SSR Worker bundle が gzip 後 3.18 MiB まで膨らんで Cloudflare Pages の制限を超過した。プラン A/B/C/D を構成図に起こして比較し、最終的に HTML を public/ に直配置する Plan D へ収束させ、Phase 1 を本番デプロイするまでの設計判断と試行錯誤の記録。","/cloudflare-pages-workers-bundle-architecture","2026-06-16T00:00:00.000Z",{"title":124,"description":125,"path":126,"publishedAt":122,"updatedAt":9},"2026年6月16日の開発日記 - Cloudflare の1MB壁とNuxtビルド20分の壁、両方に頭をぶつけた日","Cloudflare Pages の Worker bundle 1MB制限と Nuxt の20分ビルドにそれぞれ別プロジェクトで衝突した日。Aプランで撤退してドキュメントに残し、本棚は10冊単位で取り込み続け、scatter は FCF 軸を生やして完了させた。","/2026-06-16-diary",{"title":128,"description":129,"path":130,"publishedAt":122,"updatedAt":9},"Nuxt Content v3 でビルド時間20分の壁に並列化で挑んだが意味なかった話","Cloudflare Pages へのデプロイで Nuxt Content v3 のビルド時間が20分に膨らんだ。タグページ削除で13分台まで落とせたが、そこからさらに concurrency: 8 で並列化を試したら逆に遅くなった。Nitro の prerender が worker_threads 未対応で並列化が効かないと判明するまでの試行錯誤を記録する。","/nuxt-build-time-parallel-investigation",{"title":132,"description":133,"path":134,"publishedAt":135,"updatedAt":9},"Nuxt4移行プロジェクトでコンテンツのHTML化ルールを策定した話 - インタラクティブはVue、純粋テキストはHTML","Eurekapu Nuxt4移行のPlan E Phase F-1で2件のVueをHTML化してPRをマージした。並行して「インタラクティブ教材はVue、純粋な解説テキストはHTML」というコンテンツ配置ルールをCLAUDE.mdに固定した記録。","/eurekapu-nuxt4-content-html-rules","2026-06-18T00:00:00.000Z",{"title":137,"description":138,"path":139,"publishedAt":140,"updatedAt":9},"family-trips の未コミット変更を粒度で切り分けてプッシュ、セキュリティレビューも通した","Astro + Cloudflare Pages で動かしている家族旅行アーカイブの未コミット変更を、機能・カテゴリ別に7コミットへ分割してプッシュ。続けて全変更ファイルにセキュリティレビューをかけた1時間の記録。","/family-trips-commit-security-review-2026-06-22","2026-06-22T00:00:00.000Z",{"title":142,"description":143,"path":144,"publishedAt":145,"updatedAt":9},"2026年6月27日の開発日記 - Micron 三本立て・ハイパースケーラー CapEx 6本柱・公認会計士の SNS 営業フック","Micron 関連 3 本（900%論考翻訳・BofA $1,550 レポート・グローバル Fab マップ）と、ハイパースケーラー CapEx を緩めない 6 本柱、AI 過剰投資の非対称な保険論、ゲーム=IP 発見装置論、CapEx ページの三本並列化改修、公認会計士の SNS 営業フック設計、妻ブログの GitHub 連携移行までを一日に詰め込んだ記録。","/2026-06-27-diary","2026-06-27T00:00:00.000Z",{"title":147,"description":148,"path":149,"publishedAt":145,"updatedAt":9},"妻ブログを Cloudflare Pages Direct から GitHub 連携に切り替えるための手順メモ","妻のブログが Cloudflare Pages の Direct Upload で動いていたのを GitHub 連携プロジェクトに作り直して master プッシュで自動デプロイする運用に切り替えるための手順を整理し、カレンダーのメモ欄に残した記録。実際の切り替え作業は別日にまとめて行う。","/wife-blog-cloudflare-to-github-migration",{"title":151,"description":152,"path":153,"publishedAt":154,"updatedAt":9},"Cloudflare Pages はもう Workers の中に住んでいる ― Static Assets 統合後の地図","「Pages 推奨」だったのに、いつのまにか「Workers の Static Assets が推奨」に変わっていた。Pages が廃止されるのか、Workers と何が違うのか、自分の2プロジェクトはどうなるのかを Before / After の図で整理した。","/cloudflare-pages-to-workers-static-assets","2026-06-29T00:00:00.000Z",{"title":156,"description":157,"path":158,"publishedAt":159,"updatedAt":159},"pnpm generate が exit 134 で落ちた日——ヒープOOMと検証スクリプト偽陽性の二段落ち","SSGビルドが同じ朝に2回、別々の理由で落ちた記録。1回目はV8ヒープ4GB上限到達のOOM（exit 134）、2回目はビルド時検証スクリプトの除外リスト更新漏れによる偽陽性。それぞれの切り分け手順と修正、再発防止策をログ付きで残す。","/generate-oom-and-verify-false-positive","2026-07-04T00:00:00.000Z",{"title":161,"description":162,"path":163,"publishedAt":159,"updatedAt":9},"Search Console効果測定で未登録5,030件の主因を特定し、デプロイエラーまで片付けた日","Search Consoleをドメイン全体で横断確認し、インデックス未登録5,030件の主因候補がタグページの末尾スラッシュ不統一だと突き止めた。pushで要求されたマージの解消、GitHub Actionsワークフローの削除、デプロイOOMエラーの記事化と再実行成功までの記録。","/search-console-audit-and-deploy",{"title":165,"description":166,"path":167,"publishedAt":168,"updatedAt":9},"デザインシステム基礎講座にHTML/CSS実例を追加した記録","自作のデザインシステム基礎講座にページ構成・レイアウト・ビジュアルスタイル26種のHTML/CSS実例を追加した一日の記録。Workflow並列生成と表示確認のループ、バンドルサイズ確認、学習ゲート運用までを振り返る。","/design-system-basics-live-examples","2026-07-08T00:00:00.000Z",{"title":170,"description":171,"path":172,"publishedAt":173,"updatedAt":9},"英語の図解Artifactを日本語化して単独Vueページで公開するまで - AI導入5ステップの移植記録","claude.aiで共有されていた英語の図解「Steps of AI Adoption」をChrome経由で読み取って日本語訳し、横4カラム/縦1列を切り替えられる単独Vueページとして本番公開するまでの記録。","/ai-adoption-steps-page","2026-07-17T00:00:00.000Z",{"title":175,"description":176,"path":177,"publishedAt":178,"updatedAt":9},"WordPress移行サイトのカテゴリとナビゲーションを作り直した一日","旧WordPressサイトから移行した記事のカテゴリ分類が粗く一覧性を失っていた問題を作り直し、レイアウトの破綻・ヘッダーナビ・書籍紹介の置き場所まで一日で立て直した記録。","/wordpress-migration-category-redesign","2026-07-24T00:00:00.000Z",{"title":180,"description":181,"path":182,"publishedAt":183,"updatedAt":9},"本番切替の前に移行先サイトを仕上げた日 — 画像の謎、フォームの文字化け、トップページの作り直し","DNS切替の前に移行先サイトを全ページレビュー。コンセプトページの画像が出ない原因、お問い合わせメールが2通目から文字化けした理由、トップページを深掘りしたくなる作りに変えるまでの記録。","/wordpress-site-final-polish","2026-07-26T00:00:00.000Z",{"title":185,"description":186,"path":187,"publishedAt":188,"updatedAt":9},"Herokuを止められるか、nuxt generate を4回回して確かめた — 旧Nuxt 2アプリ静的化の実測","Herokuで動かしている旧Nuxt 2の学習アプリを静的化できるか、コードを読ませて4回ビルドを回した記録。関門はOpenSSLではなくメモリだった。失敗6ルートの正体、参照402箇所の全件照合、Cloudflare Pagesの制限確認まで。","/app-static-build-heroku-retirement","2026-07-27T00:00:00.000Z",{"title":190,"description":191,"path":192,"publishedAt":188,"updatedAt":9},"移行サイトのSEO・AI-SEO改善を1日で回した — 画像altを480件、記事の要点を203本、OG画像を署名付きに","WordPressからNuxtへ移した個人サイトのSEO/AI-SEO改善を朝から夜まで進めた記録。動的OG画像の本番投入、apex転送先の変更、サブエージェント並列でのメタ改訂、画像altをAIに図を読ませて埋めるまで。","/wordpress-nuxt-ai-seo-phase-c",{"title":194,"description":195,"path":196,"publishedAt":197,"updatedAt":9},"Herokuを止める前に導線を移す — app.eurekapu.com 静的化の本番切替とUdemyリンク62本の移設","旧Nuxt 2アプリをHerokuからCloudflare Pagesへ切り替えた1日の記録。DNSを触る前にUdemy講座のリンク62本を別ドメインへ移し、切替後はCodex 2並列でUI全面テスト。794/794が200なのに本文が空のページが2件見つかった。","/app-cutover-udemy-links-finish","2026-07-28T00:00:00.000Z",1785654920980]