
WordPressのパーマリンクにいつの間にか「index.php」という文字が含まれるようになったっす!



URLが意図しないものになるのは困るね。複数の問題が考えられるか順に対応していこう。
今回の症状はテスト環境から本番環境への移行や外部からの悪意ある攻撃でも起こりうる症状になります。放置していくと
- SEOへの悪影響
- ユーザー体験の低下(URLの見栄えが悪いため)
- プラグインやテーマでの処理に不具合が起きる可能性
短期的な目線で言えば、Webサイトは動くので放置しがちですが、評価は落ちていきますし、index.phpが含まれたURLが正常と認識されてしまうと、修正する際に作業が増えてしまいます。早めの対処がおすすめです!
パーマリンクにindex.phpが自動挿入の解決手順
前提条件として、今回はエックスサーバーを利用中のWordPressサイトという条件で説明させていただきます。
WordPressのパーマリンク設定を再設定
まずは1番基本的なWordPressの設定項目からの設定を。
[設定→パーマリンク]と項目を進めると下記画像の設定画面に移ります。


こちらで任意のパーマリンクを選択してください。ファイルに問題がなければ自動で更新されます。更新されず、改善しなかった際には次のステップに移ってください。
またindex.php
がパーマリンクに入力されているケースもあります。この場合、index.php
部分を削除して保存でOKです。
.htaccess の内容を確認・再生成
エックスサーバーのサーバーパネルにログインし、「.htaccess編集」メニューをクリックします。


「.htaccess編集」タブをクリックします。


下記内容を画面に入力し、「確認画面へ進む」をクリック。
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
入力内容に問題なければ、「実行する」をクリック。以上で設定完了となります。
キャッシュのクリア
エックスサーバーはブラウザキャッシュやサーバーキャッシュで古いURLが残ることがあるため、保存後にキャッシュ削除を実施すると確実です。
注意点
- エックスサーバーでは
AllowOverride
設定は変更不要(常にON相当) - Nginx ではないので
.htaccess
で完結 - 移行時に
home
とsiteurl
の両方が本番ドメインになっていることを必ず確認(wp_options
)
まとめ:WordPressのパーマリンクにindex.phpが自動挿入されてしまうケースの解決方法
エックスサーバーで WordPress を移行した際にパーマリンクに index.php
が入ってしまう場合、ほとんどは .htaccess
が正しく反映されていないことが原因です。
エックスサーバーでは mod_rewrite
は標準で有効なので、.htaccess
の配置とパーマリンク再保存で解決できるケースが多いです。
- WordPressルート直下に 正しい
.htaccess
を設置し、パーマリンクを再保存する - サイトURL(home と siteurl) が本番ドメインになっているかを確認する
- 保存後は ブラウザやサーバーキャッシュをクリア して動作確認する
コメント(承認制)