WordPressに大量ユーザーを一括登録する方法|wp-cliとCSVで効率化

WordPressを運営していると、ユーザーをまとめて登録したい場面があります。
たとえば…

  • 会員サイトの立ち上げで、既存顧客をまとめて追加したい
  • 社内ポータルで社員アカウントを一斉発行したい
  • 大規模なイベントサイトで参加者用のアカウントを作りたい

管理画面から一人ずつ手入力するのは現実的ではありません。
私も以前、数百人分のアカウントを登録する必要があり、「これは手作業じゃ無理だ」と感じました。

そんなときに役立ったのが wp-cli + CSV を使った一括登録です。

基本コマンド

wp-cliにはユーザーを追加する wp user create コマンドがあります。

wp user create USERNAME EMAIL --role=ROLE --user_pass=PASSWORD
  • USERNAME … ログインID
  • EMAIL … メールアドレス
  • --role … 権限(subscriber, editor, administrator など)
  • --user_pass … パスワードを指定可能(省略すると自動生成)

これを1件ずつ実行すれば確かに登録できます。
ですが件数が多いと大変なので、CSVと組み合わせて自動化します。

CSVファイルを準備する

まずは以下のような形式でCSVを作ります。

username,email,role,password
taro,taro@example.com,subscriber,pass1234
hanako,hanako@example.com,editor,pass5678
jiro,jiro@example.com,author,pass9999
  • 1行目はヘッダー(username, email, role, password)
  • 2行目以降に登録したいユーザー情報を記入

ExcelやGoogleスプレッドシートで作ってUTF-8形式で保存すればOKです。

スクリプトで一括登録する

次にシェルスクリプトを用意してCSVを読み込み、wp user create を流します。

#!/bin/bash

# 1行目(ヘッダー)を除外
tail -n +2 users.csv | while IFS=, read -r USERNAME EMAIL ROLE PASSWORD
do
  echo "登録中: $USERNAME ($EMAIL) ロール=$ROLE"
  wp user create "$USERNAME" "$EMAIL" --role="$ROLE" --user_pass="$PASSWORD"
done

実行手順:

chmod +x create-users.sh
./create-users.sh

これでCSVに記載したユーザーが一括登録されます。

実際に使ってみて感じたこと

大量ユーザーの登録は「手作業だと数時間コース」ですが、この方法なら数分で完了します。
特にメールアドレスとパスワードをまとめて管理できるので、あとから配布するのもスムーズでした。

ただし注意点もあります。

  • パスワードは平文でCSVに残る → 運用後はファイルを削除するか厳重管理
  • 同じメールアドレスは登録できない → ダブりがあるとエラーになる
  • 誤登録を防ぐためにテスト環境で先に試すのが安心

私は一度「ロール名をtypo」して登録に失敗したことがあります…。
CSVを流す前に数件テストするのがおすすめです。

まとめ

  • wp user create でユーザーを追加できる
  • CSVにユーザー情報をまとめて、シェルスクリプトでループ処理
  • 大量登録の作業時間を大幅に短縮できる
  • 運用時はパスワードや個人情報の扱いに注意

WordPressのユーザー管理を効率化したいなら、ぜひこの方法を取り入れてみてください。
大量のユーザー登録があっという間に完了して、本当に楽になりますよ。

Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする

コメント