Blog

ブログ

「神フォーム」は、ほめすぎ?WordPressプラグイン「Ninja Forms」の特徴と注意点

ウェビングスタジオのお問い合わせフォームでは、フォーム作成プラグイン「Ninja Forms」を使用しています。

Ninja Forms – Your Drag & Drop WordPress Form Builder

Ninja Forms Contact Form – The Drag and Drop Form Builder for WordPress – WordPress プラグイン | WordPress.org 日本語

WordPress関連のブログで高い評価を得ているフォームですが、「神すぎた」と讃えている人がいて気になります。ノーコード好きなのでしょうが、ほめすぎではないかと思います。

日本国の企業サイトのフォームとして導入する場合、注意したい点がいくつかあります。案件への導入を前提に調べたので、わかっている範囲でまとめます。

特徴

編集画面の使いやすさ

Ninja Formsの最大の特徴は、フォーム編集画面の使いやすさです。WordPressの有名どころのフォームプラグインをいろいろ使ってみましたが、Ninja Formsはとても項目の追加、編集がしやすいです。

Contact Form 7MW WP FormなどはHTMLを直接記述する必要がありますが(これは良いところもあります)、すべて直感的に配置、並べ替えができます。このためHTMLの知識がないサイト管理者でも修正が可能です。定期的なイベントや気軽な教室の予約フォームなど、頻繁に細かい項目の変更が発生するフォームには向いています。

ログイン中限定のフォームを作成できる

サイトのアカウントを持っているユーザーが、ログインしているときだけ表示されるフォームを作成できます。通常このようなフォームを作る場合は、非公開ページかパスワード付きページを作成して、本文内にショートコードを埋め込みますが、Ninja Formsの場合はウィジェットとしてサイドバーに出すこともできます。

変数や、WordPress内の情報を送信できる

送信したときに、WordPress内の情報を自動返信メールに記載することができます。ログイン中のユーザーIDや名前、フォームを送信したときの固定ページのタイトルなどが利用できます。アンケートフォームなどでいろいろと使いみちがありそうです。もちろん、重要な情報や送信者に見られたくない情報をメールでだだ漏れにしないよう、設定には注意が必要です。

外部連携ができる

有料オプションを購入すると、Mailchimp、Zoho CRM、Salesforce CRMなどと連携できます。積極的にマーケティングをしたい場合は導入経費を抑えられます。

注意点

ここまで書くとすごいフォームに思えるのですが、普通のフォームとしての機能にいくつかの不安があります。

脆弱性は…??

Ninja Formsに脆弱性が発見されたニュースを思い出す人がいるかもしれませんが、私はこのことについては問題視していません。アナウンスされたときには既に修正されていたからです。プラグインは脆弱性がどのくらいで修正されたかの方が重要です。Ninja Formsの開発はきちんとしているように感じます。

確認画面が出ない

Ninja Formsは、送信前の確認画面が出ません。内容に問題がなければ、ボタンを押すとすぐ送信します。この動作でも問題がないかは、必ずサイトを運用する責任者に確認してください。ただし、真面目系の企業であれば、かなり高い確率で却下されてしまいます…

なお、日本国内で人気があるWordPressのフォームプラグインで、確認画面に標準対応しているのはMW WP Formだけです。Contact Form 7は第三者が制作したプラグインを追加すれば対応できます。

「海外では確認画面が出ない方が普通だから必要ない」という人がいますが、ここは日本です。多くの日本人は情報の送信に慎重で、送信前には入力内容を一覧できるものと思い込んでいます。また、多くの企業はクレームを避けたいと考えています。メールアドレスのコピペミスや、入力補助機能の関係で異なる情報を送信してしまう事故の可能性は考えなくてはなりません。私たち制作者は、実際にサイトを利用する人の文化にしたがうべきであって、必要か否かの方針を決めていいのは開発者と支援者だけです。

管理者の了承を得た、アンケートフォームなので気軽に送信させたい、海外在住者が多く利用する、などの理由があればもちろんなんら問題はありません。ウェビングスタジオのサイトは私自身が了承したのでNinja Formsを使っています。ただし、送信ボタンの下に画像の通り、注意書きを追加しています。

日時選択が大ざっぱ

Ninja Formsはさまざまな入力欄を作成できます。けっこう要望が多い、見学会や教室の予約に使う「日時選択」も簡単に設置できます。

しかし、「日付を選択してください」や「時」「分」が出力されないため、何ができるのかがわかりにくい見た目になります。また、時間選択のプルダウンは選択範囲を絞れません。画像のように12時間、または24時間がすべて表示されるので、デスクトップ画面では操作性が落ちます。

これを解決するために、JavaScriptでDOMを操作して項目を減らすなどが考えられます。他のフォームプラグインでHTMLを直接書くのとどちらが早いのか、または運用上確実なのか、という話になってきます。

メールアドレス以外の形式チェックができない

Ninja Formsは海外製のプラグインです。このため、英語以外、特にマルチバイト言語への対応が完全ではありません。例えば、入力チェックは一見、郵便番号や電話番号もあるように見えますが、メールアドレス以外は米国書式のみの対応となっています。

また、機能名が「制限」となっている通り、入力を間違えるとエラーになるバリデーションではなく、決まった文字以外を入力させなくする方式です。日本企業での採用は難しいでしょう。JavaScriptのスキルがあるなら、別途入力チェックをするライブラリを導入する手もあると思います。

日本語の選択肢をチェック・送信できない(解決策有)

セレクトボックスの選択肢に日本語(全角文字)を使用すると、必須チェックができなくなります。未確認ですが、ラジオボタンも同様と思われます。

解決方法を記事にしてくださっている方がいました。処理上の「値」は英語にしつつ、自動返信メールを作成するときには「ラベル」の内容を送信させればよいです。詳しくはリンク先を参照ください。

NINJA Formsのエラーや不具合解決・ファイル添付方法-Tabi-G(旅路)

多くの記事では「選択を英数字で送信すればよい」と結論づけていますが、企業サイトでそれは通らないです。私のサイトの「お問い合わせ目的」だと「request for a job」とか「anken-no-dashin」とか書かなくてはいけなくなります。めちゃくちゃ怪しまれます。

安定か、便利さか、自由度か

以上、Ninja Formsの特徴と注意点についてでした。ここまで読んだ人の中には「そこまで安定を求めるなら、そもそもWordPressにフォームを設置するのをやめて、Formrunなどの外部サービスを使えばよいのでは?」と思った人もいるでしょう。私もそう思って何度か提案しました。ですが、現状では却下されることが多いです。以下の理由からです。

  • デザインの自由度が低い(明らかにはめ込んでるように見える)
  • もしくは工数がかかる(Formrunは直書きのHTMLとフォームを連携させることができます)
  • 送信後の回遊率が低い
  • サイト管理者が課金契約サービスが増えることをを嫌がる
  • 低価格プランは送信量や機能に制限がある

ウェビングスタジオの検証記事は、いつも重箱の隅をつつくような内容になります。今回もそうなりました。ですがこのフォームは使えないと言っているわけではありません。採用時に注意が必要というだけです。サイト管理者としっかりすり合わせて、公開後の管理が簡単、CRM連携がしやすいというメリットを活かせそうなら積極的に採用してよいと思います。安定を取るか、便利さを取るか、デザインの自由度を取るかは、サイトごとに制作者と管理者が決めることです。

このサイトはNinja Formsですが、企業サイト案件の場合はHTMLを直書きでき、日本での利用に最適化されている、MW WP Formを提案することが多いです。同じ開発元でシンプルになったSnow Monkey Formsがリリースされ、こちらは終了かと思いましたが、開発を継続していただけるようです。今後も引き続きお世話になります。