スマホからWordPressに画像を一括アップロードする完全ガイド
「WordPress 画像 一括アップロード」で検索すると、どの記事も同じことを書いている。FTPを使え。FileZillaを開いて、サーバーに接続して、wp-content/uploadsにドラッグ&ドロップして、プラグインでメディアライブラリに登録しろ、と。
デスクの前にいるならそれでいい。でも自分は写真をアップロードしたいときにデスクの前にいないことが多い。現場にいたり、レストランにいたり、クライアントとの打ち合わせ中だったりする。スマホに15枚の写真があって、今すぐWordPressに入れたい。家に帰ってからじゃなく。
同じ状況なら、この記事はあなたのための記事です。
既存の一括アップロード情報の問題点
WordPressは2003年、スマホでウェブが見られなかった時代に作られた。メディアアップロードの仕組みは今でもその時代を引きずっている。標準のアップローダーは、マウスと大きな画面と安定したブロードバンドがある前提のブラウザインターフェースで1バッチずつ処理する。
スマホだとその前提が全部崩れる。
ドラッグ&ドロップはモバイルにはない。ボタンをタップして、ファイルピッカーが開いて、写真を選んで、アップロードが始まる。ただし「始まる」は言い過ぎ。実際に起こるのは、ブラウザが単一のHTTP接続でファイルを1つずつ順番に送信すること。並列処理はない。LTE回線で1枚5MBの写真だと1枚あたり10〜20秒。15枚だと3〜5分間、通知に引っ張られてSafariから離れないよう祈りながらスマホを見つめることになる。
アプリを切り替えたら?アップロード終了。画面がロックされたら?アップロード終了。2秒の電波ムラでバッチ全体がダメになることもある。
あまりうまくいかない方法
モバイルブラウザのWordPress管理画面
さっき書いた通り。アップロード自体が不安定だし、6インチの画面で管理画面を使うのは本当にしんどい。小さいボタン、横スクロール、1440ピクセルのモニター向けに設計されたフォーム。何百回もこの方法でアップロードしたけど、慣れることはなかった。
WordPress公式モバイルアプリ
ブラウザよりはマシだけど、一括アップロードにはまだ弱い。アプリは写真を1枚ずつ順番にアップロードする。バッチ全体の進捗表示はなく、今処理中のファイルだけ。そしてJetpackなしのセルフホストサイトだと、アプリを安定して接続すること自体がひと苦労。何ヶ月も問題なく動いてたのに、WordPressのコアアップデート後に突然認証が通らなくなるのを何度も見てきた。
スマホからFTP
TransmitやFTPManagerのようなアプリでSFTP接続すれば、アップロード自体はうまくいく。問題はその後。FTPでアップロードしたファイルはWordPressのメディアライブラリに表示されない。サーバー上にファイルがあるだけ。Media SyncやAdd From Serverみたいなプラグインで登録する必要があり、そのステップはブラウザからやらないといけない。結局、スマホ+ブラウザの問題に戻ってくる。手順が増えただけ。
FTPアプリは$10〜$25するし、サーバーの認証情報をスマホに保存する必要もある。セキュリティを気にするなら(気にすべき)、リスクとして考えておいたほうがいい。
Siriショートカット
WordPress REST APIにPOSTするコミュニティ製のショートカットもある。使ったことはある。賢いけど壊れやすい。Appleはショートカットのランタイムを定期的に変更するし、積極的にメンテナンスする動機を持った人がいない。壊れたとき(そして必ず壊れる)、他人のショートカット設定をデバッグすることになる。
実際にうまくいく方法: SnapPress
ここは自分がアプリを作った人間なので、バイアスがある。ただ、作った理由は他のどの方法にも何かしら辛いところがあったから。
SnapPressは、WordPressのメディアライブラリに写真を直接アップロードするiOSアプリ。ブラウザもFTPもJetpackも不要。QRコードを1回スキャンしてサイトを接続したら、あとは写真を選んでアップロードをタップするだけ。
一括アップロードで何が違うか
並列アップロード。SnapPressで15枚選ぶと、1枚ずつ順番にはならない。複数の写真が同時にアップロードされる。ブラウザで5分かかるバッチが、約40秒で終わる。大げさじゃなく本当の話。WordPress REST APIは並行リクエストに対応していて、SnapPressはそれを活用している。
もうひとつ自分のワークフローを変えたのがShare Extension。写真アプリで必要な画像を選んで、共有をタップして、SnapPressを選んで、送信先サイトを指定して、アップロードをタップ。WordPress管理画面は一度も開かない。ブラウザも開かない。写真がそのまま送られる。
セットアップ方法
- WordPressサイトにSnapPress Connectプラグインをインストール。無料で公式ディレクトリにあります。
- ツール > SnapPress Connectに移動。青いボタンをクリック。QRコードが表示される。
- SnapPressアプリをダウンロード($2.99、買い切り)。
- アプリを開いて「サイトを追加」をタップ、QRコードをスキャン。
これだけ。1分くらいで完了。プラグインがWordPressのアプリケーションパスワードを自動で作ってくれるので、スマホで認証情報を入力する必要はない。
制限事項
1バッチ最大20枚。ほとんどの場面(ブログ記事、商品リスト、イベント撮影)では20枚で十分。一度に200枚アップロードしたいなら、ノートPCからFTPのほうがいい。
現在はiOSのみ。Android版は開発中。
メディアライブラリへのアップロード専用。SnapPressは投稿を作ったりギャラリーに割り当てたりはしない。メディアライブラリに入れるだけ。その後の使い方はあなた次第。
スマホからWordPressへのアップロードを速くするコツ
まずサーバーの制限を確認
WordPressにはPHPのアップロード上限があり、多くのホストではデフォルトで2MB。最近のiPhoneの写真は1枚4〜8MB。アップロードが失敗するなら、ツール > サイトヘルス > 情報 > サーバーでupload_max_filesizeを確認しよう。ホスティング会社に最低16MBへの引き上げを依頼するか、.htaccessに追記する:
php_value upload_max_filesize 64M
php_value post_max_size 64M iPhoneでHEICフォーマットを使う
設定 > カメラ > フォーマットで「高効率」を選択。HEICファイルはJPEGの約半分のサイズで、見た目の画質差はない。WordPressはバージョン5.8からHEICをサポートしている。ファイルが小さければアップロードも速い。特にモバイル回線で効果的。
アップロード前にファイル名を付ける
WordPressはファイル名をデフォルトのalt textと画像URLの一部に使う。IMG_7234.HEICでは検索エンジンに何も伝わらない。SEOが気になるなら(WordPressのブログ記事を読んでいるなら気になるはず)、アップロード前に30秒かけて重要な画像のファイル名を写真アプリで変更しておこう。
アップロード枚数に合った方法を選ぼう
| 状況 | おすすめの方法 |
|---|---|
| 1〜2枚、たまに | モバイルブラウザ |
| 5〜20枚、定期的に | SnapPress |
| 50枚以上を一度に | PCからFTP |
| スマホでサイト全体を管理 | WordPressアプリ(+ Jetpack) |
この記事を読んでいるなら、おそらく5〜20枚の範囲に当てはまるはず。ここがこれまでどのツールもうまくカバーできていなかったゾーン。デスクトップが必要か、Jetpackが必要か、壊れたワークフローを我慢する必要があった。
SnapPressを試してみてほしい。¥500で、60秒後には自分のワークフローに合うかどうかわかる。