静的サイトの問い合わせフォーム GitHub Pages・Cloudflare Pages

公開

目次(5つの節)
  1. 01静的サイトでフォームの送信を受けるには、受け取る先が要る
  2. 02フォームを作って静的サイトに貼る手順
  3. 03置き場所ごとの注意
  4. 04置いたあとにできること
  5. 05気をつけたいこと・向かない場面

GitHub Pages や Cloudflare Pages、レンタルサーバーに HTML のファイルを置くだけの「静的サイト」で、お問い合わせフォームや申込フォームをどう置くか迷っている方に向けた記事です。「html お問い合わせフォーム メール送信」「github pages 問い合わせ フォーム」のように調べると、PHP のプログラムを書いてサーバーに置く方法が多く出てきますが、静的サイトの置き場所では PHP を動かせないことがあります。

この記事では、PHP もサーバーのメールの設定もなしで、LEXORA Forms で作ったフォームを静的サイトに貼る手順を、置き場所ごとの注意と一緒に説明します。サイトに CSP(Content-Security-Policy)を設定している場合に足す設定も、手元で試した結果をもとに書きました。

静的サイトでフォームの送信を受けるには、受け取る先が要る

HTML の<form>は入力欄と送信のボタンを表示するだけで、送られた内容を受け取ってメールにしたり保存したりするのは、送信先のサーバーで動くプログラムです。GitHub Pages は、公式のドキュメントで「HTML、CSS、JavaScript ファイルを」リポジトリから取得して発行する静的サイトのホスティングサービスと説明されています。こうした置き場所には、送信を受け取るプログラムを自分で置けません。

LEXORA Forms のフォームを貼ると、送信を受け取る・保存する・メールで知らせるところまでを LEXORA Forms が受け持ちます。サイトの側に置くのは、表示のための短いコードだけです。

フォームを作って静的サイトに貼る手順

  1. 1

    フォームを作り、通知を設定して公開する

    メールアドレスか Google アカウントで登録し、お問い合わせフォームなどのテンプレートから作ります。上部のバーの「通知設定」で、回答が届いたときのメールと自動返信メールをオンにし、「公開する」を押します(新しいフォームは非公開で作られます)。
  2. 2

    「共有」の画面で埋め込みのコードをコピーする

    「ホームページに埋め込む」に2つのコードがあります。自分で HTML を書いているなら「高さを自動で合わせる(おすすめ)」を、スクリプトを置けないときは「iframe のみ(スクリプトを貼れない場合)」を使います。
  3. 3

    お問い合わせのページの HTML に貼る

    フォームを出したい場所に、コピーしたコードをそのまま貼ります。サイトを作る道具(静的サイトジェネレーター)を使っている場合は、ページのもとになるファイルに貼ります。
  4. 4

    公開し直して、1件送ってみる

    置き場所に上げ直したら、公開中のページを開き、フォームが表示されることと、送ったあとにお知らせと自動返信のメールが届くことを確かめます。スマホの幅でも、フォームの下が切れていないかを見ておきます。

「高さを自動で合わせる」のコードは、フォームを表示する枠(iframe)と、枠の高さをフォームの長さに合わせるスクリプトでできています。設問を進めて長さが変わっても、枠の中に二重のスクロールが出ません。「iframe のみ」のコードは高さが固定なので、フォームの下が切れるときは height の値を大きくします。

置き場所ごとの注意

静的サイトの置き場所と、フォームを貼るときの注意(2026年10月23日時点)
置き場所貼るときの注意
レンタルサーバーなどに HTML を置いている自分で書いた HTML なら、どちらのコードもそのまま使えます。サーバーで CSP のヘッダーを付けている場合は、下の「CSP を設定しているとき」を見てください
GitHub PagesHTML のファイルにコードを貼れば表示されます。公式のドキュメントでは、使い方の制限(オンラインのビジネスや商取引の促進を主な目的とするサイトの無料のホスティングとして使うことは意図していない、パスワードやクレジットカード番号などの機密情報のやりとりに使うべきではない)が案内されているので、サイトの用途が合っているかを確かめておきます
Cloudflare PagesHTML のファイルにコードを貼れば表示されます。_headers というファイルでレスポンスのヘッダーを足せるので、ここで CSP を設定しているときは、下の設定が要ります。なお、Cloudflare の公式のドキュメントでは、新しいプロジェクトは Workers で始めることが勧められています(Workers の静的なファイルの配信でも、同じ形の _headers を使えます)

CSP を設定しているとき

サイトの安全のために、CSP(Content-Security-Policy)のヘッダーで「読み込んでよい先」を決めている場合は、LEXORA Forms の住所を許可に足します。足さないと、フォームの枠が空のまま表示されません。手元の検証用のページで試した結果は次のとおりです。

CSP の設定とフォームの表示(2026年10月23日に当社で確認)
CSP の設定結果
default-src 'self' だけフォームが表示されない
frame-src に https://forms.lexora.jp を足すフォームは表示されるが、枠の高さは固定のまま
frame-src と script-src の両方に https://forms.lexora.jp を足すフォームが表示され、高さも自動で合う

「iframe のみ」のコードを使うなら、frame-src に足すだけで済みます。コードの中の style の指定(枠線を消す)は、style-src でインラインのスタイルを止めていると効かず、枠に線が出ることがあります。その場合は、サイトの CSS で枠線を消してください。

置いたあとにできること

気をつけたいこと・向かない場面

  • サイトとまったく同じ見た目にはなりません。フォームは枠(iframe)の中に表示されます。ボタンの色や角の丸みはデザインで合わせられますが、書体や細かな飾りまでそろえたいときは向きません
  • 無料プランでは、埋め込んだフォームにも LEXORA の表示が入ります。消せるのは Light プランからです(LEXORA の表示)
  • 回答は LEXORA Forms のサーバーに保存されます。送られた内容を自分の管理する場所だけに置きたい場合は合いません
  • お知らせのメールは、LEXORA Forms に登録したメールアドレスに届きます。宛先を複数にはできないので、チームで受けるときは転送するか、Google スプレッドシートへの追記を使います
  • 無料プランには上限があります。フォームは5個まで、回答はアカウント全体で月100件までです。ファイルを添付してもらう設問は Light プランです。詳しくは料金プランをご覧ください

相談の受付なら無料相談の申込フォームからも始められます。

GitHub Pages・Cloudflare の内容は2026年10月23日時点の当社調べです(GitHub Docs「GitHub Pages について」「GitHub Pages の制限事項」、Cloudflare Docs「Cloudflare Pages」「Headers(Pages)」「Headers(Workers の Static Assets)」による)。

この記事で使えるテンプレート

中身を見て、そのまま自分のフォームとして作れます(無料)。

この記事に出てきた機能

無料で、今すぐ試せます

クレジットカードは要りません。登録は1分です。