WordPressのURL変更メモ:パーマリンクとサブディレクトリ設定【2026年版】

WordPress

WordPressのURL設定を触るときに、?p=123を消したい場合と、/wp/のようなサブディレクトリを公開URLから外したい場合を混同しやすいので、自分用に整理しておく。

この2つは別の設定。さらに、すでに公開済みのURLを変更する場合は301リダイレクトも考える必要がある。

まず分けて考える

やりたいこと 主に確認する場所
?p=123を投稿名のURLにしたい 設定 → パーマリンク
WordPress本体は/wp/に置きつつ、公開URLはルートにしたい 設定 → 一般 の WordPress Address / Site Address + サーバー設定
公開済みページのURLを変更したい 301リダイレクト、内部リンク、canonical、サイトマップ

?p=123を分かりやすいURLに変更する

これはパーマリンク設定の話。

  1. WordPress管理画面を開く
  2. 「設定」→「パーマリンク」を開く
  3. 「投稿名」など目的に合う構造を選ぶ
  4. 「変更を保存」を押す

例えば「投稿名」を選ぶと、投稿URLは次のような形になる。

https://example.com/sample-post/

カスタム構造を使う場合は、例えば次のように指定できる。

/%category%/%postname%/

ここで重要なのは、パーマリンク設定は投稿や固定ページなどのURL構造を決める設定であって、WordPress本体をどのディレクトリに置くかとは別という点。

URLに/wp/が入る場合は別問題

例えばWordPress本体を次の場所に置いている場合。

https://example.com/wp/

管理画面の「設定」→「一般」には、似た名前の2つのURL設定がある。

設定 意味
WordPress Address (URL) wp-admin、wp-contentなどWordPressコアファイルが置かれている場所
Site Address (URL) 訪問者にアクセスしてもらう公開サイトのURL

WordPress本体を/wp/に置きながら、サイトはルートURLで公開したい場合は、概念的には次の形になる。

WordPress Address

Example Domain
Site Address
Example Domain

ただし、この2項目だけ変更すれば完了というわけではない。WordPress公式の「Giving WordPress Its Own Directory」の手順に沿って、index.phpやWebサーバー設定を合わせる必要がある。

ApacheとNginxでは設定場所が違う

以前のメモでは.htaccessを中心に書いていたが、これはApacheを使っている場合の話。

  • Apache:主に.htaccessやVirtualHost設定
  • Nginx:.htaccessは使わず、server block側で設定
  • IIS:web.configを使用

サーバーがNginxなのに.htaccessだけを直しても反映されないので、まずWebサーバーの種類を確認する。

パーマリンクが動かないときの確認順

パーマリンクを変更して404になる場合は、いきなりプラグインやテーマを疑うより、まずサーバー側のリライト設定を確認する。

  1. 「設定」→「パーマリンク」で再保存する
  2. Apacheなら.htaccessが正しく読み込まれているか確認する
  3. Nginxならserver blockのtry_filesなどWordPress向け設定を確認する
  4. キャッシュを使っている場合はキャッシュを削除する
  5. それでも直らない場合にプラグインや独自コードの影響を確認する

公開済みURLを変更するときは301リダイレクト

すでに検索エンジンに登録されている投稿URLや、外部サイトからリンクされているURLを変更する場合は、旧URLをそのまま404にしない。

恒久的にURLを変更する場合は、旧URLから新URLへ301または308の永久リダイレクトを設定する。Googleも、ページが恒久的に移動した場合はサーバー側の永久リダイレクトを推奨している。

旧URL

Example Domain
↓ 301 新URL
Example Domain

あわせて次も確認する。

  • サイト内の内部リンクを新URLへ変更
  • rel="canonical"が新URLを指しているか確認
  • XMLサイトマップに新URLが載っているか確認
  • Search Consoleで新URLを確認

URL設定を変える前に気を付けること

特にWordPress AddressやSite Addressは、間違えると管理画面へアクセスしにくくなることがあるので、作業前に現在値を記録しておく。

wp-config.phpでWP_HOMEやWP_SITEURLを定義している場合は、管理画面から変更できないこともある。

自分の環境でURLを触る場合は、次の順番で考える。

1. ?p=123 を変えたいだけ?
   → パーマリンク

2. /wp/ を公開URLから外したい?
   → WordPress Address / Site Address + サーバー設定

3. すでに公開済みURLを変更する?
   → 301リダイレクトも設定

公式情報メモ

最終更新:2026年9月

タイトルとURLをコピーしました