
海外旅行や出張先からブログを書こうとして、WordPressの管理画面にログインできず焦った経験はありませんか?
エックスサーバーには標準で「国外IPアクセス制限」が備わっており、海外からの不正アクセスを防いでくれます。しかし、自分自身が海外から執筆・更新しようとする際、毎回サーバーパネルにログインして2段階認証を通し、設定をOFFにして、終わったらまたONに戻す……というのは地味に手間がかかります。何より「書き終わったあとに再施錠するのを忘れて放置してしまう」というセキュリティ上のリスクもあります。
今回は、公式に提供されている「XServer API / CLI」を活用し、Macのターミナルから1単語打つだけでアクセス制限を瞬時に切り替える環境の構築手順を紹介します。Macなのは普段利用している為です。
エックスサーバーAPIを導入するメリット
- ブラウザログイン不要で秒速切り替え:ターミナルからコマンドを1行叩くだけで、数秒で制限解除・施錠が完了します。
- 完全無料で利用可能:新規サーバーの申し込み機能(プリペイド残高が必要な権限)を外しておけば、既存サーバーの設定変更は追加料金ゼロで使えます。
- 自動タイマーやAI連携が可能:「執筆開始から2時間後に自動で元に戻す」といったシェルスクリプト化や、Claude / Antigravity などのAIアシスタント(MCP)からの操作も可能です。
設定手順(3つのステップ)
ステップ1:エックスサーバー側でAPIキーを発行
- エックスサーバーの「サーバーパネル」にログインします。
- 「APIキー管理」メニューを開き、新規発行画面に進みます。
- 以下のように設定して発行します:
- 有効期限:無期限(または1年)
- IP制限:制限しない(海外のカフェやホテルの変動IPから操作するため)
- 利用サービス:「エックスサーバー / XServerビジネス」のみチェック
- 新規お申し込み:「許可しない」(※チェックを外すことでデポジット不要・完全無料で利用できます)
- 操作権限:すべての操作
- 発行されたAPIキー(文字列)をコピーして手元に控えます。
ステップ2:Macのターミナルに短縮コマンド(エイリアス)を登録
Macのターミナル設定ファイル(~/.zshrc)を開き、エイリアスを追記します。
nano ~/.zshrc
ファイルの末尾に以下の設定を追加します。
# XServer API設定
export XSERVER_API_KEY="取得したAPIキー"
# WordPress 国外IP制限の解除・施錠エイリアス
alias wp-unlock='npx -y xserver-cli server --servername 初期ドメイン名.xsrv.jp wordpress-security update --foreign-ip-dashboard-enabled false --foreign-ip-rest-api-enabled false あなたのドメイン名'
alias wp-lock='npx -y xserver-cli server --servername 初期ドメイン名.xsrv.jp wordpress-security update --foreign-ip-dashboard-enabled true --foreign-ip-rest-api-enabled true あなたのドメイン名'
alias wp-status='npx -y xserver-cli server --servername 初期ドメイン名.xsrv.jp wordpress-security get --domain あなたのドメイン名'
【設定のポイント】
--servernameに指定するのはサーバー番号(sv1234等)ではなく、サーバーパネルに記載されている初期ドメイン形式(例: xs12345.xsrv.jp)です。
あなたのドメイン名はブログのドメイン(例: example.com)に置き換えてください。
ファイルを保存(Ctrl + O → Enter、Ctrl + X)したら、設定をターミナルに反映させます。
source ~/.zshrc
ステップ3:動作確認テスト
ターミナルで実際にコマンドを実行し、動作をテストします。
- 国外制限の解除(執筆前):
wp-unlock - 現在の状態確認:
wp-status※
dashboardとrest_apiのenabledがfalseになっていれば解除成功です。 - 国外制限の再有効化(執筆後):
wp-lock※ 再び
enabledがtrue(施錠)に戻ります。
発展編:戻し忘れを防ぐ「自動タイマースクリプト」
海外滞在中、「執筆後に再施錠コマンドを叩くのを忘れて寝てしまった」という事態を防ぐには、時間経過で自動施錠するスクリプトを仕込んでおくと安心です。
#!/bin/zsh
echo ">> 国外アクセス制限を解除します..."
wp-unlock
echo ">> 2時間(7200秒)タイマー開始。執筆後はそのままPCを閉じてOKです。"
sleep 7200
echo ">> 2時間経過したため、国外アクセス制限を再有効化します..."
wp-lock
echo ">> 施錠が完了しました。"
このスクリプトを ./wp-timer.sh & のようにバックグラウンド実行しておけば、ブログを書いたあとにPCを閉じても、指定時間後に自動でセキュリティが元の安全な状態に戻ります。
つまずきやすい注意点
- 「プリペイド残高が20,000円以上…」という警告表示
APIキー作成画面で「サーバー新規お申し込み」のチェックを外せば、チャージ不要・完全無料で発行できます。 - ターミナル再起動時にコマンドが見つからない場合
Macのデフォルトシェルがbashになっている場合、~/.zshrcが自動読み込みされません。chsh -s /bin/zshでデフォルトシェルをzshに変更するか、~/.bash_profileにsource ~/.zshrcを追記してください。
一度設定しておけば、海外からのブログ更新が劇的に快適かつ安全になります。旅先でのノマドワークやブログ執筆をされる方は、ぜひ試してみてください。