Lovable のウェブサイトを SEO と GEO に対応させましょう。React の SPA のレンダリングの問題を解決し、Google、ChatGPT、Perplexity、Claude がコンテンツをクロールして引用できるようにします。



Lovableで作成したWebサイトを、AI検索でも従来の検索でも見つけてもらえる状態にしたいとお考えですか? そこには現実的な課題があります。Lovableは、React 18、TypeScript、Vite、Tailwind CSS、shadcn/uiを使ってフルスタックのReactアプリケーションを生成し、バックエンドにはSupabaseを採用しています。この最新のスタックは優れたユーザー体験を生み出しますが、検索エンジンやAIクローラーに発見してもらう上では大きな障壁になります。このガイドでは、LovableサイトがSEOとGEO(生成AI最適化)で苦戦する理由をデータに基づいて詳しく解説し、その解決方法をお伝えします。
Lovableは、すべてのサイトをクライアントサイドレンダリング(CSR)を採用したReactのシングルページアプリケーション(SPA)として構築します。クローラーがサイトを訪れると、ほぼ空のHTMLの殻、つまり<div id="root"></div>だけを受け取り、実際のコンテンツを見るにはJavaScriptを実行しなければなりません。ここに問題があります。ほとんどのAIクローラーはJavaScriptをまったく実行しません。
VercelによるAIクローラーの調査によると、5億回を超えるGPTBotのフェッチを分析した結果、JavaScriptが実行された形跡はゼロでした。ClaudeBot(Anthropic)、PerplexityBotなどのAIクローラーも同様で、静的なHTMLを取得するだけで、JavaScriptは完全に素通りします。つまり、LovableサイトのコンテンツはChatGPT、Claude、Perplexityなどのシステムからはまったく見えません。
この問題の規模は非常に大きなものです。Cloudflareのデータによると、AIクローラーのリクエスト数は従来の検索クローラーの3.6倍に達しています。OpenAIのGPTBotだけでも、Vercelのネットワーク上で月間5億6,900万件のリクエストを生成しており、AnthropicのClaudeBotが3億7,000万件で続いています。サイトがこれらのボットに読み取られなければ、Web上で最も急速に成長している発見チャネルを逃していることになります。
JavaScriptを完全にレンダリングできる唯一の主要クローラーであるGoogleでさえ、JavaScriptを多用するページのインデックス登録には、静的なHTMLと比べて約9倍の時間がかかります。Googleは2段階のインデックス登録を行っており、まず生のHTMLをクロールし、その後レンダリングのためにページをキューに入れます。そのため、コンテンツが検索結果に表示されるまでに、数時間ではなく数日かかることもあります。Googleはダイナミックレンダリングを長期的な解決策としては公式に非推奨としており、JavaScriptのSEOは適切なSSRの導入によって根本から解決すべきだということを示しています。
Lovableサイトにとっては、Googleでのインデックス登録の遅れとAI検索での可視性ゼロという二重のペナルティになります。サーバーレンダリングのフレームワークを使う競合サイトが、より早くインデックスされてAIシステムに引用される一方で、ReactのSPAは暗闇に取り残されたままです。
Lovableの技術スタックは、公式ドキュメントに詳しくまとめられています。すべてのプロジェクトで次の構成が使われています。
フロントエンド:React 18とTypeScriptをViteでビルドし、Tailwind CSSとshadcn/ui(Radix UIコンポーネント)でスタイリングします。ナビゲーションにはReact Router v6、状態管理にはReact Context APIを使用します。
バックエンド:SupabaseがPostgreSQLデータベース、認証(メール、Google、GitHub)、ファイルストレージ、Edge Functions(JavaScript/TypeScript)を提供します。カスタムサーバーは生成されません。
デプロイ:コードはGitHubに同期され、所有権は完全にご自身にあります。Lovableのサブドメイン、Vercel、Netlify、または独自のサーバーにデプロイできます。
重大な問題は、Viteが最小限のHTMLの殻を配信し、すべてをクライアント側でReactにハイドレートさせる点です。サーバーサイドレンダリングは標準では搭載されていません。LovableもSEOとGEOに関するドキュメントでこの制約を認めており、インデックス登録には「数時間ではなく数日」かかる場合があること、SNSでのプレビューが初期状態では正しく表示されないことを説明しています。
Lovableサイトをクロールできる状態にするには、主に3つのアプローチがあり、それぞれ長所と短所が異なります。
1. VikeフレームワークでSSRを追加する:Vikeを使えば、コードの構成を変えずに、既存のLovableのReactアプリへサーバーサイドレンダリングを追加できます。React Routerをそのまま使いながら、SEOのメリットをフルに得られます。src/フォルダーには手を加えず、4つのラッパーファイル、レンダラー、Expressサーバーを追加するだけです。Vikeのワイルドカードルート機能により、ルーティングはすべてReact Routerに任せ、SSRはVikeが担当します。
2. 静的サイト生成(SSG):サーバーのエントリーポイント(src/entry-server.tsx)をReactのrenderToStringを使って作成し、ViteのSSRモードでクライアントとサーバーの両方のバンドルをビルドします。これにより、ビルド時にページが事前レンダリングされ、どのクローラーでもすぐに読み取れる静的HTMLファイルが生成されます。コンテンツが多く、URLが予測しやすいサイトに最適です。
3. Next.jsに移行する:本番環境で重要なアプリケーションの場合は、Vite+ReactからNext.jsに移行すると、SSR、SSG、ISR(Incremental Static Regeneration)が最初から使えるようになります。NextLovableのようなサービスは、LovableプロジェクトをSEOに完全対応したNext.js 15へ変換することを専門としています。
どのレンダリング手法を選ぶ場合でも、次の基本事項はすべてのLovableプロジェクトに当てはまります。
主要なルートがすべて、コンテンツを先頭に置いたHTMLを出力するようにします。メインナビゲーションがテキストベースで、クライアント側のコードだけで後から挿入されるのではなく、ソースにも存在することを確認します。完全なXMLサイトマップを用意してGoogle Search Consoleに送信し、レンダリングに必要なCSSとJSのクロールを許可するrobots.txtを維持してください。わかりやすい説明的なスラッグを使い、すべてのルートで正しいHTTPステータスコードを返します。
国際化にはhreflangを使い、canonicalタグで重複を防ぎます。メディアが多いLovableサイトでは、遅延読み込みを適切に行い、レイアウトのずれを避けるために幅と高さの属性を指定します。CSSとJSを軽量化し、重要なCSSをインラインで配信して、Core Web Vitalsを維持しましょう。
各ページを、テーマを絞ったエンティティのドキュメントとして扱います。検索意図を反映した1つのH1、構造化されたH2とH3、簡潔で読み取りやすい段落を使いましょう。答えを求める行動に対応する定義、比較、手順を書きます。エンティティ名、属性、関係性を自然に盛り込むことで、モデルがナレッジグラフの理解の中にあなたのブランドを組み込めるようになります。
コンテンツの種類に合わせて、包括的な構造化データを追加します。該当する場合は、Organization、WebSite、WebPage、Article、Product、Service、FAQPage、BreadcrumbList、Reviewを使います。信頼できるプロフィールへのsameAsリンクも含めてください。Lovableでは、React Helmetまたは同様のライブラリを使って、アプリの<head>セクションにJSON-LDを追加します。企画の段階では、SEOとGEOのエージェンシーガイドでテーマの着想を得てから、キーワードリサーチを行い、トピッククラスタージェネレーターでクラスタリングを拡大しましょう。
GEO(生成AI最適化)とは、AIが引用元として選ぶ情報源になるための取り組みです。ページは直接的な回答を意識して構成します。引用しやすい短い要約を置き、その後に展開できる詳細を続けます。日付、数字、出典を添えて、主張を明確に述べましょう。それぞれの主張は、信頼できる参考資料への外部引用と、基礎となる解説ページへの内部リンクで裏付け、トピカルオーソリティを強化します。
Search Engine Journalの調査から得られる重要な知見は、ChatGPTのクロール量が現在Googlebotの3.6倍になっているということです。Lovableサイトがサーバー側でレンダリングされていれば、この成長するトラフィックを獲得できる立場にあります。そうでなければ、最も急成長している発見チャネルから見えない存在のままです。プロンプトの網羅範囲を広げるには、YouTube SEO戦略を分析し、キーワードクエリファンアウトAIでクエリを試作してみてください。
機械が読み取れるコンテキストも用意します。主要なプロフィールへのsameAsを指定したOrganizationスキーマと、固定のAboutページです。資格を明記した著者プロフィールを公開して、E-E-A-Tを強化しましょう。主要な用語には用語集を活用してください(例:SEOとGEOの定義)。モデルは、一貫していて曖昧さのない用語を好みます。
AIシステムは、高速で安定した信頼できる情報源を好みます。LovableのViteベースのビルドは、開発時のパフォーマンスはすでに良好ですが、本番環境では最適化への配慮が必要です。アプリシェルのサイズを監査し、メインスレッドをブロックしないようにコードを積極的に分割してください。目標は、モバイルでLCPが2.5秒未満、CLSが0.1未満、INPが200ミリ秒未満です。
ルートをReact.lazy()とSuspenseでコード分割し、JavaScriptのペイロードを減らします。主要なフォントをプリロードし、サードパーティのタグをまとめましょう。モバイルファーストインデックスでは、Googleが理解するのはモバイル版のHTMLであることを忘れないでください。デスクトップ版とモバイル版の内容を揃えておきましょう。
AIが回答を提示する時代でも、リッチリザルトは質の高いトラフィックを生み、高品質なコンテキストでモデルを学習させます。該当する場合は、Product、HowTo、Event、JobPostingのマークアップを実装してください。記事には、author、datePublished、dateModifiedを含めます。Googleのリッチリザルトテストで検証し、表示されるコンテンツをマークアップと一致させましょう。
Open GraphとTwitter Cardのタグも追加します。これらはコンテンツが共有され、リンクされ、話題にされる方法を左右するもので、LLMが間接的に取り込むシグナルです。Lovableでは、index.htmlで設定するか、ページごとのメタデータをReact Helmetで動的に設定します。
LLMは、Webがすでに信頼しているブランドを優先します。関連性の高い媒体、専門分野のディレクトリ、専門家によるまとめ記事から質の高い被リンクを獲得し、AI言及トラッキングでAIによる引用を重点的に追跡しましょう。リンクなしの言及を見つけて、リンクに変えていきます。独自のデータを公開し、小規模な調査を実施し、可視化したものを共有して、掲載を獲得してください。成長はドメインオーソリティトラッカーで確認します。
「回答ファースト」のページを設計します。2〜3文の要旨、目立つ定義、そして詳しい解説の順です。ユーザーがAIに質問する形に合わせて、要点まとめ(TL;DR)のセクションとFAQコンテンツを用意しましょう。変化するテーマには、日付入りの更新履歴と変更履歴を追加して、情報の新しさを示します。規模を拡大するには、ブログ記事ジェネレーターで下書きを作成し、編集者が仕上げます。
ハブアンドスポーク型の構成で、トピックハブを作ります。各ハブはテーマを要約し、詳細なスポークページへリンクし、文脈に沿ったリンクを返します。これによりトピックの網羅性が強化され、モデルがサイト内部のオントロジーを把握しやすくなります。検索結果や競合の変化は、SEO競合スパイで追跡しましょう。
Lovableのスタックが標準のクライアントレンダリング構成であれば、具体的な行動計画は次のとおりです。
ステップ1:クローラーに何が見えているかを確認します。curl -s https://yoursite.com | head -50を使って、実際に配信されている生のHTMLを確認してください。空の<div id="root">が表示される場合、クローラーはコンテンツを読み取れません。
ステップ2:レンダリングの手法(Vike SSR、SSGのビルドスクリプト、Next.jsへの移行)を選びます。ほとんどのLovableプロジェクトでは、Vike SSRが最も移行の手間が少なくて済みます。
ステップ3:レンダリングの一致を検証します。Google Search ConsoleのURL検査で人間とボットの出力を比較し、curlでもテストして、コンテンツ、内部リンク、JSON-LDが同じように表示されることを確認します。
ステップ4:更新したサイトマップを送信し、インデックス登録を監視します。AI言及トラッキングでAIでの可視性を追跡し、GEOリーダーボードで自分の分野のベンチマークを取りましょう。
AIシステムは、Web全体から学習します。ターゲットとなる読者が集まるプラットフォームでコンテンツをネイティブに公開し、各チャネルで一貫したOpen Graphメタデータを使いましょう。配信する際は、Lovableの元のサイトへ戻るcanonicalリンクを付けて、責任ある形で行ってください。
開発者向けのドキュメント、公開の変更履歴、READMEも検討しましょう。これらはLLMの学習パイプラインに頻繁に取り込まれます。ブランドの語り口を明確で安定したものに保ち、モデルの混乱を減らします。まずは包括的なGEO/SEO監査ツールで、現状の基準値を把握してください。
成功は従来の順位だけにとどまりません。表示回数、クリック数、Core Web Vitalsを追跡し、さらにAI時代のKPIを加えましょう。AI Overviewsでの回答シェア、Perplexityでの引用、指名検索です。GEO SEOダッシュボードで追跡を一元化し、AI言及トラッキングでブランドの言及を監視し、GEOリーダーボードでベンチマークを取ります。
複数のCMSにまたがる展開や移行を進める場合は、BigCommerce、Shopify、Webflow、WordPress、Wix、Squarespace、WooCommerceといったスタック間で、内容が揃っていることを確認してください。構造化データ、canonicalのポリシー、内部リンクのパターンを、エコシステム全体で統一しましょう。
Lovableは強力なAIアプリビルダーであり、無料から月額$50までのプランがありますが、ReactのSPAというアーキテクチャのために、SEOとGEOには根本的なギャップが生じます。AIクローラーのリクエスト数がGooglebotの3.6倍に達し、そのどれもがJavaScriptを実行しない今、この問題を放置するコストは日ごとに膨らんでいます。レンダリングを修正し、構造化データを追加し、トピカルオーソリティを築き、AIによる引用を監視しましょう。そうすれば、Lovableサイトは検索順位を上げるだけでなく、AI検索で参照される存在になります。これこそが、LovableのWebサイトをSEOとGEOに対応させ、AIの回答に表示されるようにする方法です。
出典
Lovable は、クライアントサイドでレンダリングする React のシングルページアプリケーションを生成します。GPTBot、ClaudeBot、PerplexityBot などの AI のクローラーがサイトを訪れると、空の HTML の骨組みを受け取り、JavaScript を実行してコンテンツを見ることができません。Vercel が GPTBot による 5 億回以上の取得を分析したところ、JavaScript を実行した形跡はまったく見つかりませんでした。つまり Lovable のサイトのコンテンツは、ChatGPT、Claude、Perplexity などの AI システムから完全に見えていません。解決策は、Vike などのフレームワークでサーバーサイドレンダリング(SSR)を実装するか、静的サイト生成(SSG)を使うか、Next.js に移行することです。
主なやり方は 3 つです。1 つ目は、Vike フレームワークを使い、コードを組み直さずに SSR を加える方法で、既存の React Router の構成を 4 つのラッパーファイルと Express サーバーで包みます。2 つ目は、React の renderToString を使ったサーバーのエントリーポイントを作り、Vite の SSR モードでビルドして、静的サイト生成を実装する方法です。3 つ目は、SSR、SSG、ISR に標準で対応した Next.js 15 に移行する方法です。docs.lovable.dev/tips-tricks/seo-geo にある Lovable の公式ドキュメントでも、プラットフォーム内でできる基本的な SEO の改善が紹介されています。
SEO(Search Engine Optimization)は、Lovable のサイトが Google に見つけられ、クロールされ、順位付けされるようにします。GEO(Generative Engine Optimization)は、ChatGPT、Gemini、Perplexity などの AI システムにとって、コンテンツを理解でき、信頼でき、引用しやすいものにします。Lovable のサイトでは、どちらもまず JavaScript のレンダリングの問題を解決する必要があります。クローラーが HTML を読めるようになれば、SEO は構造化データ、メタタグ、被リンクに、GEO は答えを先に示すコンテンツ、出典付きの明示的な主張、エンティティのわかりやすさに重点を置きます。Cloudflare のデータによると AI のクローラーは従来の検索クローラーの 3.6 倍のリクエストを送っており、GEO は SEO と同じくらい重要になりつつあります。
先行導入企業のご紹介
