運用中のホームページも動作環境が古くなってきたので、次の仕様でホームページを引っ越します。

  • WordPressの最新バージョンを使用する。
  • themeを変更する

引っ越しの方針としては、自分のパソコン上で開発環境を構築してもいいのですが、今回は現在動作しているドメイン上で、現用のホームページを運用しながら、ディレクトリを変更して作成し、動作確認したあとに現用のホームページを書き換える方法をとります。

ホームページの引っ越しの手順を次に示します。

  1. 現用のホームページをバックアップします。
  2. 新規に新しいディレクトリを作成します。
  3. 最新バージョンのWordpressを、作成したディレクトリにインストールします。
  4. 変更するthemeをWordpress(「wp-content/themes/」直下)にインストールします。
  5. 新規データベースを作成し、最新バージョンのWordpressに設定します。
  6. 現用のホームページからエクスポートします。
  7. 最新バージョンのWordpressにインポートします。
  8. 旧themeのショートコードを無効あるいは変更します。
  9. 現用のホームページを作成したホームページで書き換えます。
  10. サイトアドレスのURLを変更します。
  11. UPLOADした画像のURLを変更します。
  12. 内部リングをhttps化します。
  13. GoogleトラッキングコードをWordpressに設定し、sitemapとgooglexxxxx.htmlを設置します。

運用中のホームページからのエクスポート

管理画面の左メニューから「ツール」→「エクスポート」を選択クリッすると、次の画面が表示されます。

エクスポートする内容を

  • すべてのコンテンツ
  • 投稿
  • 固定ページ
  • メディア

の中から選択します。「投稿」や「固定ページ」などはエクスポートする条件を設定することができます。今回はすべてを選択して「エクスポートファイルをダウンロード」ボタンをクリックします。

新規ホームページへのインポート

管理画面の左メニューから「ツール」→「エクスポート」を選択クリックすると、次の画面が表示されます。「Blogger」ブログや「RSS」フィールドから投稿などをインポートすることもできます。

作成したWordPressエクスポートファイルからインポートしますので、WordPressの「今すぐインストール」をクリックします。次の画面が表示されるので、「ファイルを選択」ボタンをクリックして、エクスポートファイルを指定し、「ファイルをアップロードしてインポート」ボタンをクリックします。

ショートコードによる投稿記事の変更

固定ページについては、ページ数が少なくのと新しいthemeが提供するショートコードを使いたいのですべて作り直しにしました。投稿記事については手直しを行いたくないので、現状のショートコードに対して、囲みのないショートコード([hoge p1=1 p2=10 p3=100])と囲みのあるショートコード(「[hoge]xxxxx[/hoge]」)を、functions.php「wp-content/themes/xxx/includes/lib/inc」を用いて定義しなおしました。

囲みのないショートコード

囲みのないショートコードのために、次のコードを作成します。「xxx」が[]で囲まれるコードになります。空白を戻り値とします。

function xxxFunc( $atts, $content = null) {
    return '' ;
}
add_shortcode('xxxx', 'xxxFunc');

囲みのあるショートコード

囲みのあるショートコードのために、次のコードを作成します。「xxx」が[]で囲まれるコードになります。戻り値は、囲まれた内容「$content 」とします。必要があれば、<pre>等のhtmlタグを前後に記述します。<br />等が挿入される場合があるので、preg_replace関数で文字列を置き換えます。

function xxxFunc( $atts, $content = null) {
    $content = preg_replace('/\<p\>|\<\/p\>|\<br \/\>/', '', $content);
    return '<pre>' .$content .'</pre>' ;
}

add_shortcode('xxxx', 'xxxFunc');

サイトアドレスの変更

サイトの管理者権限でログインし、左側のメニューから「設定」→「一般」をクリックします。次のように一般設定画面が表示されるので、WordPress アドレス (URL)とサイトアドレス(URL)にWordpressを置いたURLを設定します。

UPLOADした画像のURLの変更

現用のホームページを作成したホームページで書き換えたために、アップロードした画像がそのまま開発環境になっています。このため、“/wp-content/uploads” を含む URL のドメイン名を置換するために、次のように、コンテンツデータのフィルターフックを使用します。(from)が開発環境でのフォルダ、(to)が運用でのフォルダになります。

function domain_replace_thumbnail( $content ) {
    $url1 = '/(from)\/wp-content\/uploads/';
    $url2 = '(to)/wp-content/uploads';
    $content = preg_replace( $url1, $url2, $content );
    return $content;
}
add_filter( 'the_content', 'domain_replace_thumbnail' );

内部リングをhttps化

内部リングをhttps化します。このため、次のように、コンテンツデータのフィルターフックを使用します。

function chagne_to_https( $content ) {
 
    $url1 = '/http:\/\/(ドメイン名)/';
    $url2 = 'https://(ドメイン名)';
    $content = preg_replace( $url1, $url2, $content );
 
    return $content;
}
add_filter( 'the_content', 'chagne_to_https' );

【参考】ドメインの変更方法

今回はドメインを変更する必要はありませんが、異なるドメインに引っ越しする場合は、「WordPress Serialized PHP Search Replace Tool(via Moving WordPress)」を使用します。次のようなドメインの書き換えができます。

  • 変更前ドメイン:kuy.biz
  • 変更後ドメイン:xsi.net/wordpress

(2024/0423)登録したメールアドレスにメールが届きませんでした。このため「interconnectit/Search-Replace-DB」より直接zipファイルを取得しました。