すたらブログ

文系Webプログラマの備忘録

既存のサイトのトップページだけをWordPressで改修したい

(最終更新: 2016-07-23)

WordPressを利用するウェブサイトの改修で、一番手間のかからない事例を想定しています。
上司から実現可能かどうか尋ねられたので試してみましたが、どうやら大丈夫なようなので安心しました。


目次


環境

ローカル環境で試しました。


要望

  • 既存のサイトのトップページだけ、WordPressを使いたい。
  • その他のページは変更せず、WordPressと共存させたい
  • サイトのトップページとは別に、ブログのトップページも設けたい。
現状
local.wp-test2/
  ├ index.html
  ├ access.html
  ├ contact.html
  ├ css/
  └ img/
改修後
local.wp-test2/
  ├ index.php.htaccess(自動作成)
  ├ access.html
  ├ contact.html
  ├ css/
  ├ img/
  ├ blog(ブログ記事)
  └ wordpress/
      ├ wp-admin/
      ├ wp-content/
      ├ wp-includes/
      ├ ...

手順

WordPressを普通にインストールする

まずはlocal.wp-test2/wordpress/WordPressを普通にインストールします。

local.wp-test2/
  ├ index.html
  ├ access.html
  ├ contact.html
  ├ css/
  ├ img/
  └ wordpress/※ ここでインストール

サイトアドレスを変更する

ダッシュボード > 設定 > 一般で、WordPress アドレスではなくサイトアドレスを修正します。
wordpressを削って、http://local.wp-test2のみにします。

index.phpをコピーする

/wordpress/index.phpをコピーして、/index.phpとします。
その際、wp-blog-header.phpを呼び出している箇所のパスを適切に修正します。
なお、既存のindex.htmlは削除します。

<?php
// 変更前
require( dirname( __FILE__ ) . '/wp-blog-header.php' );

// 変更後
require( dirname( __FILE__ ) . '/wordpress/wp-blog-header.php' );

パーマリンク設定を変更する

ダッシュボード > 設定 > パーマリンク設定で、「カスタム構造」を選びます。
ここで、日付などの前に「blog」を先頭に加えます。
下記の画像では/blog/%post_id%としています。
こうすることで、トップページ以外のWordPressの記事のURLは「blog」内に収まり、他のファイルやフォルダと干渉する心配がなくなります。

なお、固定ページのURLは「blog」内に収めることはできませんが、ブログ記事とは違うので問題ないと思います。
また、WordPressを収めたフォルダである「wordpress」にしてはいけません。
もしもサイトのトップページとは別にブログのトップページを設けたくても、.htaccessの関係で「http://local.wp-test2/wordpress」を開くことはできません。
http://local.wp-test2/blog」ならばアクセス可能です。

.htaccessを自動作成する

パーマリンク設定をデフォルト以外のものに変更して、/.htaccessが作成されることを確認します。
前章の手順を実行していれば、自然に.htaccessが作成されていると思います。

ブログのトップページを設ける

サイトのトップページとは別に、ブログのトップページを設けたい場合。
固定ページを作成し、スラッグを「blog」にします。

(クイック編集の場合)

(通常編集の場合)

そして、テーマフォルダ内に「page-blog.php」を作成し、ブログのトップページのテンプレートして整えます。