By 37Design |

スマホから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管理画面は一度も開かない。ブラウザも開かない。写真がそのまま送られる。

セットアップ方法

  1. WordPressサイトにSnapPress Connectプラグインをインストール。無料で公式ディレクトリにあります。
  2. ツール > SnapPress Connectに移動。青いボタンをクリック。QRコードが表示される。
  3. SnapPressアプリをダウンロード($2.99、買い切り)。
  4. アプリを開いて「サイトを追加」をタップ、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秒後には自分のワークフローに合うかどうかわかる。