ロリポップでWordPressを立てたら独自ドメインが403だった。詰まった4箇所と原因

未分類

結論

3年総額16,106円のライトプランで、AIによる自動投稿まで通った。 上位プランは必要なかった。

ただし契約から自動投稿が通るまでに4箇所で詰まった。うち1箇所は、検索してもほぼ出てこない原因だった。

この記事は、同じことをやる人が同じ場所で止まらないために書いている。

前提

項目 内容
時期 2026年9月7日〜8日
サーバー ロリポップ ライトプラン
ドメイン 別途取得した独自ドメイン(.com)
テーマ Cocoon(無料)
やりたかったこと 手元のMarkdownを、コマンド1本でWordPressの下書きにする
使ったもの WordPress REST API+アプリケーションパスワード

「記事を書く」ではなく「記事を投稿する作業をなくす」のが目的だった。だからブラウザで管理画面を触る前提の構成にはしていない。

費用は3年で16,106円だった

契約前に迷ったのは、ライトプランとハイスピードプランのどちらにするかだった。ハイスピードには独自ドメインが2個無料で付く。その特典を入れても、ライトのほうが安い。

プラン 月額 サーバー3年 ドメイン3年 3年総額
ライト 330円 11,880円 4,226円 16,106円
ハイスピード 660円 23,760円 0円(2個無料) 23,760円

差は3年で7,654円、年あたり2,551円。ドメイン代はムームードメインの.comで、取得770円+更新1,728円×2年で計算している。

ライトで足りると判断した理由

  • WordPressは動く。MySQLは50個使えて、必要なのは1個
  • 無料SSLがある
  • 月に2〜4本、数千PVの規模では、LiteSpeedとApacheの差は体感に出ない。表示の重さは画像とテーマ側で決まる

決め手は別のところにあった。ライトからハイスピードへの変更は後からでき、データもWordPressもドメインもそのまま維持される。逆方向のダウングレードはできない。

つまり最初にハイスピードを選ぶほうが、取り返しがつかない。速度に不満が出てから上げればいい。

詰まった1箇所目:独自ドメインが403だった

WordPressのインストールが終わって、独自ドメインを開いたら403エラーが出た。ロリポップのエラーページだった。

原因は、公開フォルダとWordPressのインストール先が別々だったこと。

設定 実際の値
独自ドメインの公開(アップロード)フォルダ example.com
WordPressのインストール先 初期ドメイン/wordpress

WordPress簡単インストールの画面で、サイトURLを初期ドメイン(fast-999.nikita.jp のような、契約時に割り当てられるもの)のまま進めていた。その結果、WordPressは初期ドメイン側の wordpress フォルダに入り、独自ドメインが指しているフォルダは空のままになった。

空のフォルダを見に行ったから403が返っていた。 サーバーの不具合でもDNSの伝播待ちでもない。

直し方

記事を1本も書いていない段階なら、入れ直すのが速い。

  1. WordPress簡単インストールで、サイトURLのプルダウンから独自ドメインを選ぶ
  2. インストール先フォルダは空欄にする。ここに何か入れると、また階層がずれる
  3. 初期ドメイン側に残った古いWordPressは、ファイルごと削除する

3番目は忘れやすいが、放置したWordPressは更新されないまま残るので、そのまま攻撃対象になる。

切り分け方

403が出たとき、原因がWordPressなのかサーバーなのかを1分で分ける方法がある。

https://(ドメイン)/wp-json/wp/v2/posts

ここにアクセスしてJSONが返れば、WordPressは生きている。トップだけ403なら、配置かキャッシュの問題に絞れる。返らなければ、そもそもWordPressがそのドメインの下にない。

私の場合はこれが404だったので、配置の問題だと分かった。

詰まった2箇所目:httpsが繋がらない

独自SSLを有効にする前は、httpsでの接続そのものが失敗する。ブラウザの警告ではなく、TLSのハンドシェイクが通らない。

証明書が入っていないのだから当然だが、「SSL化は後回しでいい」と思っていると、ここで一度止まる。

先に有効化しておいたほうがいい理由がもう一つある。 WordPressのアプリケーションパスワードは、httpsでないと発行欄そのものが表示されない。REST APIで投稿するつもりなら、SSLは前提条件になる。

反映には数分から30分かかる。

詰まった3箇所目:パーマリンクを後から変えると手遅れになる

これは詰まったというより、危うく間違えるところだった。

WordPressの初期設定では、記事のURLが ?p=123 の形になる。設定からパーマリンクを「投稿名」に変えると、記事のスラッグがそのままURLになる。

これは記事を1本でも公開する前にやる。 後から変えると既存記事のURLが全部変わり、検索エンジンのインデックスも外部からのリンクもやり直しになる。

自動投稿のスクリプトからスラッグを送っていても、パーマリンク設定が初期のままだとURLには使われない。送った値が捨てられていることに気づきにくい。

詰まった4箇所目:画像が1枚だけ403で弾かれた

ここが一番わからなかった。検索してもほとんど出てこない。

記事に入れる写真6枚をREST API経由でアップロードしたところ、5枚は通り、1枚だけが403で弾かれた。

最初はサーバーのWAFがREST APIへのPOSTを止めているのだと思った。共用サーバーではよくある話だ。だがそれなら6枚とも失敗するはずで、5枚通っている説明がつかない。

切り分けたこと

試したこと 結果
3回リトライ(間隔を空けて) 3回とも403
ファイル名を変える 403
同じ寸法で再エンコード(画質を変える) 403
別の画像を1枚アップロードしてみる 成功

別の画像が通ったので、回数制限でもWAFの全面的な遮断でもないと分かった。その1枚だけの問題だった。

原因と、通し方

WAFは画像の中身のバイト列も検査している。写真によっては、画像データの一部がたまたま検知パターンに一致する。文字が書いてあるわけでも、怪しいファイルなわけでもない。JPEGの圧縮結果がそう見えるだけだ。

寸法を変えて作り直すと通る。 圧縮のかかり方が変わって、バイト列が別物になるからだ。

作り方 結果
幅1200px・品質82 403
幅1200px・品質78(再エンコード) 403
幅1100px・品質85 成功

同じ写真である。幅を100px縮めただけで通った。

WAFを止める必要はなかった。先に「別の画像なら通るか」を確かめると、サーバー設定に触らずに済む。

合わなかった点

正直に書いておく。

  • ロリポップのアクセラレータは最初から切った。 ページとCSS・JSを強くキャッシュするので、立ち上げ期は「直したのに反映されない」で時間を溶かす。月に数千PVの規模では高速化の恩恵もほぼない。後からいつでも有効にできる
  • LiteSpeed Cacheも入れなかった。 ライトプランのWebサーバーはApache系で、このプラグインが本領を出すのは上位プランから。入れるとロリポップのアクセラレータが自動でオフになる仕様もあり、キャッシュの管理先が増えるだけだった
  • ライトプランには電話サポートが付かない。 今回はすべて自分で切り分けたので困らなかったが、詰まったときに人に聞きたい人には向かない
  • 初期ドメインが fast-999.nikita.jp のような自動割り当てで、これ自体は変えられない。独自ドメインを使う前提なら問題にならない

この構成が向く人、向かない人

向く: 手元でテキストを書き、投稿作業を自動化したい人。表示速度より運用の手数を減らしたい人。まず安く始めて、必要になってから上げたい人。

向かない: 管理画面で書きたい人。最初から表示速度を詰めたい人。詰まったとき電話で聞きたい人。

損益で見た結論

PR:この記事にはアフィリエイトリンクを含みます。

3年で16,106円、年あたり5,368円。月に直すと447円。

この金額で、記事を書いてからコマンド1本で下書きになるところまで動いている。管理画面を開いてタイトルを貼って本文を貼って画像を上げる作業が丸ごと消えた。その手間を月に何回省くかで、元が取れるかが決まる。

上位プランとの差額は3年で7,654円。速度が必要になってから上げても、データは維持される。先に払う理由がない。

先に書いておくこと

この記事のリンクから申し込まれると、私に紹介料が入る。金額はプランによって違い、上位プランのほうが2,000円高い。

それでもライトプランを勧めている。理由は上に書いたとおりで、月2〜4本・数千PVの規模ではLiteSpeedの効果が体感に出ず、あとから上げてもデータが維持されるからだ。

紹介料が高いほうを勧めたほうが、私は儲かる。書かなければ分からないことでもある。それでも安いほうを勧めるのは、この記事が間違っていたら次を読んでもらえないからだ。

これから同じことをやる人へ

順番を間違えると戻れないものが2つある。先にこの順でやること。

  1. サーバー契約とドメイン取得
  2. 独自ドメイン設定。公開フォルダにドメイン名を入れる
  3. 独自SSLを有効化する(アプリケーションパスワードの発行欄が出る条件)
  4. WordPress簡単インストール。サイトURLで独自ドメインを選び、インストール先は空欄
  5. パーマリンクを「投稿名」に変える(記事を書く前に)
  6. アプリケーションパスワードを発行
  7. REST APIで投稿テスト

3と5を後回しにすると、やり直しになる。

Comments

Copied title and URL