昨日、当ブログの https 化のためにサーバを移転しました。
※切り替え手順については、サーバを移転しました(https化)をご参照ください。
環境
環境を整理すると以下のようになります。
- WordPress
- DB は SQLite 3 (MySQLでも手順は同じ)
- 現行サーバは10月まで契約済み
- URLは変更になる
手順
大まかな手順としては、
- 新サイトに移設(複製)する
- 約3ヶ月間、現行サイトから新サイトへリダイレクトする
となります。
URL変更に伴う影響
- DB
- サイトURL
- 投稿内リンク
など。
- その他
- RewriteRule
- プラグイン
- 本体の設定
- Google アナリティクス
など
- Google アナリティクス
- 機能を使って追記した記述
- 本体の設定
- WordPressを直接編集した内容
今回は「1. DB」に焦点をあてます。
昨日の記事で言うと、[切り替えの手順]-[移行]-[データ置換]にあたります。
DBメンテナンス
編集方法は以下のいずれかになります。
- 事前に管理画面上から変更する
この場合、移行期間中はサイトにアクセスできなくなるなどの影響が出ます。 - DBを直接編集する
DBをコピーしてから編集することで、移行期間作業中の現行サイトへの影響は回避できますが、DBを直接編集する必要があります。
クライアントツール
Webツールの Adminer でも十分ですが、SQLite であれば GUI クライアントツール「DB Browser for SQLite」も使いやすくオススメです。
パッケージ名は、sqlitebrowser です。
$ whatis sqlitebrowser
sqlitebrowser (1) - light GUI editor for SQLite databases
仕様
サイトURL、投稿内リンク以外にも使っているものがあれば変更対象になります。
base on データベース構造 - WordPress Codex 日本語版
このページの最終更新日時は 2017年10月15日 (日) 00:16 です。テーブル:wp_options
フィールド 種別 Null キー 初期値 備考 option_id bigint(20)unsigned PRI auto_increment option_name varchar(64) UNI option_value longtext autoload varchar(20) yes
テーブル名 説明 関連インターフェース画面 wp_options 管理 > 設定で設定されたオプション設定情報を格納(オプション設定リファレンス参照)。プラグインの設定情報が格納されることも多い。 管理画面 > 設定 > 一般設定
管理画面 > 設定 > 投稿設定
管理画面 > 設定 > 表示設定
管理画面 > 設定 > ディスカッション設定
管理画面 > 設定 > メディア設定
管理画面 > 設定 > プライバシー設定
管理画面 > 設定 > パーマリンク設定
管理画面 > 外観 > ウィジェットwp_options データ内容
option_id option_name 概要 備考 1 siteurl サイトアドレス (URL) サイトのホームページとして WordPress のインストールディレクトリとは異なる場所を設定する場合 home カラムと値が異なる 2 home WordPress アドレス (URL) 3 blogname サイトのタイトル 4 blogdescription キャッチフレーズ テーブル: wp_comments
フィールド 種別 Null キー 初期値 備考 説明 comment_author_url varchar(200) コメント投稿者のウェブサイトURL テーブル: wp_links 非推奨
フィールド 種別 Null キー 初期値 備考 説明 link_url varchar(255) リンク URL テーブル: wp_posts
フィールド 種別 Null キー 初期値 備考 説明 post_content longtext 本文 pinged text ピン通知済み URL テーブル: wp_users
フィールド 種別 Null キー 初期値 備考 説明 user_url varchar(100) webサイト URI
編集例
投稿記事データの編集
例)ページ内リンク「http://lubricatech.rdy.jp」を「https://ararabo.jp」に変更
-- 対象件数の取得
SELECT COUNT(id) FROM wp_posts WHERE post_content LIKE '%http://lubricatech.rdy.jp%';
-- URL変更
UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://lubricatech.rdy.jp', 'https://ararabo.jp') WHERE post_content LIKE '%http://lubricatech.rdy.jp%';
-- 結果確認
SELECT COUNT(id) FROM wp_posts WHERE post_content LIKE '%http://lubricatech.rdy.jp%';
SELECT * FROM wp_posts WHERE post_content LIKE '%https://ararabo.jp%';
例)オプション設定情報の変更
-- 更新対象の確認
SELECT * FROM wp_options ORDER BY option_id LIMIT 5 ;
-- 更新
UPDATE wp_options SET option_value = 'https://ararabo.jp' WHERE option_id = 1;
UPDATE wp_options SET option_value = 'https://ararabo.jp' WHERE option_id = 2;
-- 結果確認
SELECT * FROM wp_options ORDER BY option_id LIMIT 5 ;