Skip to content

お問い合わせフォームをTallyからSSGformに移行しました

3 min. read
戻る

目次

これまではTallyを使っていた

本サイトのお問い合わせフォームには,これまで Tally を使っていました。

この選定のタイミングでもGoogle Formsなどと迷ったのですが,中でもTallyはフォームサービスとして以下のようなポイントでカスタマイズ性に優れていて,重宝していました。

無料で使えるフォームとしては自由度が高く,しばらくはこれで十分満足していました。

Tallyを用いた旧フォーム
Tallyを用いた旧フォーム

SSGformへ移行した理由

転機になったのは,サイトにライト/ダークモードを実装したことです(制作の経緯はプロフィール・ブログサイトを作成・アップデートしましたにまとめています)。

Tallyはiframeによる埋め込み型のため,フォーム内の配色がサイトのテーマ切り替えに追従してくれません。ライトとダークを行き来すると,フォームだけが浮いて見えてしまい残念な状態でした。

そこで,フォームのHTML/CSSを自分で書けるサービスを探して行き着いたのが SSGform です。

SSGformは「送信先」だけを提供し,フォームのマークアップは自前で用意する方式です。そのため,サイトのデザイン(配色・角丸・フォント)にそのまま合わせられるので,ライト/ダークどちらでも破綻しません。

SSGformを用いた新フォーム。ライト・ダークモードに両対応。
SSGformを用いた新フォーム。ライト・ダークモードに両対応。

実装

やることはシンプルで,SSGformの送信先URLをformactionに指定し,各項目を設定していくだけです。メールアドレスは,name="email"にしてtype="email"にしておくと,ブラウザ側で形式チェックをした上で,送信内容のコピー(自動応答)を記入者に送ってくれます。

<form action="https://ssgform.com/s/xxxxxxxxxxxx" method="post">
  <!-- お名前 -->
  <label for="name">お名前</label>
  <input id="name" name="お名前" type="text" required />

  <!-- ご連絡先メールアドレス(type="email" で形式を検証) -->
  <label for="email">ご連絡先メールアドレス</label>
  <input id="email" name="email" type="email" required />

  <!-- お問合せ内容 -->
  <label for="message">お問合せ内容</label>
  <textarea id="message" name="お問合せ内容" required></textarea>

  <!-- Cloudflare Turnstile を表示するコンテナ -->
  <div id="turnstile-container" data-sitekey="xxxxxxxxxxxxxxxxxxxx"></div>

  <button type="submit">送信する</button>
</form>

メール通知やセキュリティも充実

デザインの自由度だけでなく,フォームサービスとして必要な機能も一通り揃っています。無料プランと有料プランで使える機能に差はなく,フォーム送信数のみに差をつける親切設計です。(無料プランでも100件/月で十分)

おわりに

実際のフォームはお問い合わせページから確認・送信できます。ご意見・ご感想などありましたら,お気軽にどうぞ。


この記事を共有する:

関連記事


Previous Post
プロフィール・ブログサイトを作成・アップデートしました
Next Post
自作ツールをまとめるToolsページを作りました