プラグインを使って記事ごとに作成したメタディスクリプションをphpMyAdminからSQLを実行させ別プラグインまたはWordPressテーマのディスクリプション編集機能へ移行させました。
今回試した方法は、当サイトでもAll in one SEOで作成したメタディスクリプションから、WordPressテーマSANGOでのdescription編集機能へ移行させています。
※phpMyAdmin、MySQL(MariaDB等)を利用してのデータベース操作は管理者が自己責任で行うものです。最新の情報に従い技術者(データベースエンジニア等)の助言の元に行っていただく必要があります。
プラグインを削除して分かったこと
長年使用してきたAll in one SEOプラグインを使わず、別なプラグインやテーマの機能を使ってみたいと考え、いざAll in one SEO Packを削除してみたところ編集画面にMeta descriptionが表示されなくなってしまいました。
これはプラグインを再インストールすれば復活できる仕様のようですが、完全に他のプラグインへ移行したい場合には大きな課題になります。
Metadescriptionの保存場所は、以前に記事に書いたとおり特定済みですが、この記述済みであるdescriptionを移行先の環境で引き継げないかphpMyAdminを使い試すことにしました。
※使用するプラグインやテーマによっては今回の方法で完全に移行できないケースもありますのでご注意ください。
データベースのバックアップを作成
まずは契約しているレンタルサーバーの管理画面などからphpMyAdminへログインします。
ここではバックアップの簡単な手順のみ説明します。
実際にバックアップをとるには、WordPressのサーバー移転などについて解説しているサイトが参考になります。
phpMyAdminにログインしたら画面左のメニューでワードプレスで使用しているデータベース名を選び、画面上の「エクスポート」タブをクリック。
続いて画面左下の「実行」をクリックします。これでWordPressのデータベースで使用しているテーブルがローカルPCへエクスポートされます。
ファイル拡張子はデフォルトでsqlが付きます。
ディスクリプションを別環境へ移す
ここから先が、メタディスクリプションを他のテーマやプラグインなど別環境へ移す操作になります。
phpMyAdmin画面左のメニューでワードプレスで使用しているデータベース名を選び、続いてwp_postmetaにあたるテーブル名を指定します。
テーブル名の特定
このテーブル名の先頭部分はWordPressのインストール時に指定した接頭辞が使われています。
画像のようにwp_だけでインストールを行っていれば、descriptionが保存されているテーブル名はwp_postmetaです。
もし分からなければテーブル名の後半部分がpostmetaになっているテーブルを探して特定します。
meta_keyの確認
テーブルを指定すると画面にデータの一覧が表示されるので、一番右meta_valueの列から自分が編集したMetadescriptionの文字列を探します。
実際の作業では、データ量が多いためページ送りをして該当レコードを探し出す必要があり、運用中のデータベースであれば画面下に<< < > >>などのナビゲーションが出ます。
meta_valueの列にdescriptionがあるレコードを確認できたら、左となりの列にあるmeta_keyの値を確認します。
All in one SEOであれば_aioseop_description(または_aioseo_description)になっています。使用しているプラグインやテーマによって異なるので、この値をメモしておいて移行操作に使用します。
メタディスクリプションを移すSQLの実行
meta_keyの値が確認できたら、画面上のSQLタブを選択します。
phpMyAdminのSQLタブをクリックすると、グラフィカルからSQLが実行可能なページが表示されます。
ここに次のmeta_keyの値を移行先環境に適合させる ためのSQLを記入します。
記述にある「テーブル名、変更するmeta_key、変更後のmeta_key」の3つは、環境移行を実施するワードプレスに適合するように変更します。
参考画像のSQL文は一例ですので、Cocoonから別テーマとAll in one SEOプラグインの組み合わせに変更したい場合の例は次の通り(_aioseoはバージョンによっては_aioseop)。
update wp_postmeta set meta_key=replace(meta_key, "the_page_meta_description", "_aioseo_description")
All in one SEO PackからSANGOテーマへ移行するなら
update wp_postmeta set meta_key=replace(meta_key, "_aioseop_description", "sng_meta_description")
テーブル名も適宜置き換えて実行します。
SQLの記述が済んだら右下の「実行」をクリック。
確認メッセージが表示されるので、実行内容を再度確認してから「OK」を押します。
記述に誤りがある場合はエラーメッセージ、また変更前のmeta_keyを間違えている場合は実行結果が0行になります。
問題なく移行が完了できていれば、再び左メニューのデータベース名→テーブル名(→ページ送り)で表示される一覧からdescriptionが格納されているレコードのmeta_key内のデータが変更されているのを確認できます。
これでメタ・ディスクリプションの環境移行は完了です。
なお、この方法でdescriptionを移行させる際は、WordPressとデータベースのバックアップをそれぞれ作成できること、管理者自身が作成したそれぞれのバックアップからWebサイトを完全に復元できるスキルがあることが最低条件になります。
また、データベースの操作は専門知識を習得の上、自己責任のもとで行う必要があります。
最後に、ここではAll in one SEOプラグインを例に操作を行いましたが、All in one SEOはとても使い勝手が良くSEO対策に優れたプラグインです。
おすすめ記事
プラグインやテーマで作成したメタディスクリプション「meta description」は何処にある? テーマ変更によるメタディスクリプションの移行は編集画面でコピペ