SnapPress Connectのセットアップ手順|6ステップで完了
SnapPressでiPhoneからWordPressに写真を送るには、WordPress側にSnapPress Connectというプラグインを入れてQRコードで紐づけます。やることは6ステップ。実測で2分かかりません。一度つなげば、トークン更新もパスワード再設定も不要です。
このページは手順そのものに集中します。プラグインの背景や設計思想はSnapPress Connect公式WordPressプラグイン公開のお知らせにまとめてあるので、そっちを読んでから戻ってきても構いません。
始める前のチェックリスト
5つだけ確認してください。1つでも欠けるとQRコードが出ません。
- WordPress 5.6以上であること。アプリケーションパスワード機能はこのバージョンで入りました。古いなら先に更新してください。
- セルフホスト版WordPress(WordPress.org)であること。WordPress.comはビジネスプラン以上のみ。
- HTTPSで運用していること。HTTPだとWordPress自体がアプリケーションパスワードを無効化します。Let's Encryptで無料化できます。
- 管理者またはエディター権限のユーザーでログインしていること。
- iPhone側にSnapPressアプリを入れてあること。
セットアップ手順(6ステップ)
ステップ1:プラグインを探す
SnapPress ConnectはWordPress公式プラグインディレクトリに登録済みです。wordpress.org/plugins/snappress-connectから探すか、後述のとおりWordPress管理画面の検索ボックスから直接インストールできます。
ステップ2:WordPressにインストールして有効化
管理画面でやる手順です。
- 左メニューの「プラグイン」→「新規プラグインを追加」を開く。
- 検索ボックスに「SnapPress Connect」と入力。
- 該当プラグインの「今すぐインストール」を押す。
- 「プラグインを有効化」を押す。
ZIPからアップロードしたい人は、wordpress.orgからsnappress-connect.zipを落として「プラグインのアップロード」から入れてください。所要30秒です。データベースに新テーブルを足したりテーマを書き換えたりはしません。表示速度にも触りません。
ステップ3:SnapPress接続ページを開く
有効化したら、設定画面を開きます。
- 左メニューの「ツール」をクリック。
- 展開されたサブメニューの「SnapPress接続」をクリック。
表示されるのは大きなボタンが1つあるだけのページです。装飾はありません。
ステップ4:QRコードを生成する
「ワンタップでQRコード生成」を押します。WordPressが裏で3つの処理を回します。今ログインしているユーザーに紐づくアプリケーションパスワードを発行し、サイトURL・ユーザー名・パスワードをまとめて接続トークンにし、それをQRコードに描画する。メール認証や追加設定はありません。
ボタンを押した瞬間にQRコードが出ます。次のステップでiPhoneから読み取るので、このタブは閉じないでください。
セキュリティ面で1つだけ補足します。ここで発行されるアプリケーションパスワードはSnapPress用の専用キーで、WordPress REST APIにしか使えません。アップロード権限を絞りたいなら、SnapPress専用の編集者アカウントを別に作ってそっちでQRコードを生成する手もあります。
ステップ5:iPhoneでQRコードをスキャン
iPhoneでSnapPressを開いて、次の流れでスキャンします。
- 下タブの「サイト」をタップ(サイトがゼロなら「+」ボタン)。
- 「QRコードでスキャン」をタップ。
- カメラをパソコンのQRコードに向ける。
- 読み取るまで動かさず待つ。
アプリが接続情報を解析し、HTTPSで疎通確認し、iPhoneのキーチェーンに保存します。数秒でサイト一覧にサイト名が並びます。これで接続完了です。
ステップ6:試しに1枚アップロードしてみる
動作確認も兼ねて、写真を送ってみます。
- サイト一覧で送信先のサイト名をタップ。
- アップロードボタンをタップ。
- カメラロールから最大20枚を選ぶ。
- 「アップロード」をタップ。
並列アップロードなので、20枚でも1枚送るのとほぼ同じ時間で終わります。進捗バーで状況も追えます。普段の写真整理フローに混ぜたい人は、写真アプリの共有メニューから直接SnapPressを呼び出すこともできます。アプリを先に開かなくていい分、こっちのほうが手数は少ないです。
処理速度や並列アップロードの仕組みはスマホからWordPressへの一括アップロード完全ガイドで詳しく書いています。
認証の仕組み
外部アプリにWordPressを触らせるのが不安な人向けに、内部で何が起きているかを書きます。
アプリケーションパスワードはWordPress公式のセキュリティ機能で、まさにこういう用途のために設計されています。メインのログインパスワードとは完全に別物で、管理画面にはログインできません。使えるのはREST APIだけです。アプリごと・端末ごとに何本でも発行できて、1本ずつ取り消せます。取消は「ユーザー」→「プロフィール」→「アプリケーションパスワード」から行えます。
SnapPress側は受け取った認証情報をiPhoneのキーチェーンに保存します。キーチェーンはiOSの暗号化ストレージで、銀行アプリやパスワードマネージャーが使っているのと同じ仕組みです。SnapPressのサーバーには認証情報を送りません。送信先はあなたのWordPressサイトのみ、経路はHTTPSのみです。メインのWordPressパスワードについてはSnapPressもプラグインも一切触りません。
複数サイトを使い分ける
個人ブログとクライアントのECサイトを両方持っているとか、本業と副業で別ドメインを使っているとか、サイトが2本以上ある人もいます。SnapPressは複数サイトに対応しています。やることは単純です。
- 各サイトにSnapPress Connectを入れて有効化する。
- 各サイトで(適切なユーザーでログインした状態で)QRコードを生成する。
- そのQRコードを1つずつアプリでスキャンする。
接続済みのサイトはアプリのサイト一覧に並びます。アップロード前に送信先サイトをタップして選ぶだけで切り替わります。
接続を切るとき
解除はWordPress側からでもアプリ側からでもできます。両方から切ると完全に消えます。
WordPress側から切る手順。
- 管理画面にログイン。
- 「ユーザー」→「プロフィール」を開き、「アプリケーションパスワード」までスクロール。
- 「SnapPress」とラベルが付いた行の「取り消す」を押す。
取り消すと、SnapPressアプリは古い認証情報でそのサイトにアップロードできなくなります。サイト一覧にエントリーは残りますが、送ろうとすると認証エラーが出ます。
アプリ側から切る手順。
- サイト一覧で対象を左にスワイプ。
- 「削除」をタップ。
注意点が1つ。アプリから消してもWordPress側のアプリケーションパスワードは自動で消えません。気持ち悪い人は両方やってください。
うまくいかないとき
ボタンを押してもQRコードが出ない
アプリケーションパスワード自体がサイトで無効化されているパターンです。原因は3つ。HTTPで運用している(→SSL化)、セキュリティプラグインがブロックしている(→WordfenceやiThemes Securityの設定でアプリケーションパスワードを許可する)、WordPressが5.6未満(→更新する)。
「接続に失敗しました」と出る
QRは読めたが疎通に失敗するケースです。iPhoneのネット接続、サイトが外部から到達可能か、WAFがREST APIを弾いていないかをこの順で確認してください。SnapPressはyoursite.com/wp-json/に届く必要があります。VPN内やIP制限下のサイトは構造的に厳しいです。
「アップロード完了」なのにメディアライブラリに写真がない
まずブラウザでメディアライブラリを再読み込みしてください。REST API経由のアップロードは管理画面の自動更新を必ずしも蹴飛ばしません。それで出ない場合はサーバーのアップロード上限です。「ツール」→「サイトヘルス」→「情報」→「サーバー」でupload_max_filesizeを確認します。共有ホスティングだと2MBがデフォルトのことがあって、HEIC1枚で軽く超えます。詳しくはWordPressに画像をアップロードできないときの対処法を参照してください。
QRコードがどうしても読めない
モニターの輝度を上げる、明るい部屋に移る、画面から20〜30cm離す、QRの周囲に余白を入れる。これでだいたい解決します。
まとめ
SnapPress Connectのセットアップは2分。やることはQRコードを1回読ませるだけです。トークン更新もパスワードのローテーションも不要で、設定作業はこれで終わりです。
WordPressのアプリケーションパスワード、HTTPS、iOSキーチェーンの3点セットなので、モバイルアプリでWordPressをいじる方法としてはかなり安全な部類に入ります。気が変わったらアプリ側とWordPress側のどちらからでも切れます。
機能の全体像が気になる人はSnapPress v2.0のリリースノートとv2.0.1の9言語ローカライズ記録もどうぞ。