サブディレクトリにインストールしたwordpressをルートディレクトリに表示させる方法

ワードプレス

この記事は約6分で読むことができます。

今、自作ネットショップをwordpressに移行しようと奮闘しています。商品数が商品数なので(5000点以上?)、リニューアルには数か月かかります。

リニューアル作業の間サイトを閉鎖するわけにはいかないので、サブディレクトリにwordpressを入れ、そこでリニューアルを進め、最終的に公開するという流れです。

ちょっと余談ですが、自作サイト、いわゆるHTMLサイトはもうダメです。終わってます。同じ商品ページの検索結果でも最下位です。歴史ある自作サイトにもかかわらず、あっさり、ショップサーブの商品ページが上位に来ています。他のお店でも、ことごとく、そういった例を目にしているので間違いないでしょう。

というワケで、自作サイトはお役御免です。

HTMLサイトをwordpressでリニューアルの3ステップ

今回、自作サイトのページ群をそのまま移行することはあきらめています。既存のページをそのままwordpressで管理することも、できないではないっぽいですが、あまりに高度なので、ドメインはそのままコンテンツもそのまま、しかしURLは全入れ替え、という内容です。

SEOを気にしていると、もしかすると絶望的なリニューアル方法かもしれませんが、高度な引っ越し方法を調べたり試したりといった時間を考えると、とてつもないロスです。だから、この際、「一番楽な方法でやっちゃえ!」ということになりました。

手順は次の通り

(1)サブディレクトリにWPを入れる。

(2)コンテンツの移行

(3)サイト公開

サブディレクトリにWPを入れる

サブディレクトリとは、「https://*******.com/hogehoge」というやつです。ここにWPを入れるのですが、すべてのページがサブディレクトリ付きになります。

例えば、商品ページなら「https://*******.com/hogehoge/item/produce0123.html」というURLになります。

サブディレクトリの「hogehoege」の文字列が気になりますよね~。

でも、ご安心ください。最終的には、消すことができます。

WP管理画面でサイトURLを変更

WPをサブディレクトリにインストールしたとき、「設定」→「一般」での表示方法は次のようになっています。

サブディレクトリ

ここで「違う!」という方は、何かが間違っているので初めに戻ってやり直してください(笑)

「そうなってる!」という方は、下の「サイトアドレス」を「ドメインそのもの」に変更します。

こんな感じ。

サブディレクトリ

index.phpと.htaccessの変更

WPをインストールしたディレクトリに「index.php」と「.htaccess」がありますが、こいつらをドメイン直下のルートディレクトリに編集したうえ移動させます。

まず、index.php。

赤枠のように書かれています(サブディレクトリ分)。この部分を(/wp/wp-blog-header.php)に変更して、ルートディレクトリにアップロードします。

そして次は、「.htaccess」。index.phpのようにURLの変更を行います。

ビフォーアフターはこれ↓

htaccess

かなり大げさな画像ですが、わかりますでしょうか。

要するに、ドメインにアクセスした場合『「wp/」に入れたwordpressを表示せよ。』といった命令ですね。

最後は、indexの表示順!(ここ重要!)

ここまでは、検索するとわりと解説されています。でも、いざやってみると、全然表示しないじゃないか!」ということになる人も多いと思います。

最後の〆は、ドメインに接続されたときのindexの表示順です。

indexの拡張子には「html」「htm」「cgi」「php」などありますが、どのファイルを優先して表示するか?という指定をhtaccessに記載する必要があります。

これを記載すると、先ほどのステップを経ても以前のままの表示になってしまいます。(※このやり方は、さくらインターネットでの事例です。)

では、最後の呪文、indexの表示順。

簡単です。

DirectoryIndex index.php index.html index.cgi

この一行を、htaccessの最後の行に加えるだけです。

これで、WPのindex.phpを優先して表示してくれます。そして、URLもドメイン直下かのように表示してくれます。

なお、すべての設定が終わったとき、サブディレクトリにあるhtaccessファイルは意味をなさないので削除しても問題ありません。ルートに設定したhtaccessファイルが重要です。

参考
こちらのわかりやすい記事も併せて作業されると完璧かと思います。