回答編集履歴

1 ミスがあったため修正。

kei344

kei344 score 62704

2016/04/23 01:53  投稿

ドメイン移転時のDBに格納されているURLの処理についてですね。
下記サイトの「MySQLのドメイン書き換え」の項目が参考になります。
【ドメイン変更を伴うWordPressサイトのサーバー移転方法 - WordPressの使い方と設定 - Webkaru】
[http://webkaru.net/wordpress/move-site-to-new-url/](http://webkaru.net/wordpress/move-site-to-new-url/)
---
> 記事や画像はしっかり表示されている
WordPressは記事のURLをwp_postsテーブルに保存しているのではなく、URLから表示すべき記事を探し出すというプロセスを取っています。なので、記事の表示に直接は問題が出にくいと思います。
DB内のURLを適切に書き換えない場合、記事を書く際に別記事へのリンクを自分で挿入した場合や、一部プラグインの挙動に問題が出る可能性があります。
---
> guid
これは、パスを保存しているわけではなく、「一意のID」として使用されています。主にフィードでの識別に使用されますが、ここを安易に変更すると「似た別の記事(コピーコンテンツ)」と認識されてしまう恐れがあります。
【WordPressを移動するには(10)GUIDカラム内の設定値の変更について: コツコツ学ぶWordPress、技術メモ】
[http://hono-wp.seesaa.net/article/379577563.html](http://hono-wp.seesaa.net/article/379577563.html)
> "guid"は、"Globally Unique Identifier"の略で、各投稿をグローバルに一意に識別するために、グローバルで一意であるサイトURLを使っています。
> "guid"は、"Globally Unique Identifier"の略で、各投稿をグローバルに一意に識別するために、グローバルで一意であるサイトURLを使っています。
---
---
**追記:**
まず1点私が勘違いしている箇所がありましたので、お詫びします。
> guidは関係有りません。それを使って表示している箇所は無いはずです。
「画像」を公開サイトに表示することに使っている箇所はWPコアには無いと思われますが、管理画面内では有るようです。下記サイトにもメディアライブラリのリンク切れ話が載っています。
私の回答一番上のリンク先で紹介されているツールを使うとこういったリンク問題が解消されると思います。
【WordPressのデータベースを直接書き換えて画像のリンク切れを解消した話 - shuto_log.aep】
[http://shutosg.hatenadiary.com/entry/2015/12/01/130934](http://shutosg.hatenadiary.com/entry/2015/12/01/130934)
WordPress で画像を保存する際に、各種画像情報は記事と同じテーブルである「wp_postsテーブル」に保存されます。そのテーブルに登録する関数に guid を生成するものも含まれ、それがURLを基準としたものになっており、画像の場合は画像のパスになるという仕組みです。
ただ、記事ページを生成する際には相対パスを保持した「wp_postmetaテーブル」から呼ばれるため、公開サイト上は(画像さえFTPでアップしていれば)問題なく表示されることになります。
【wordpressで画像はどのようにデータベースに記録されているか | hellooooworld.com】
[http://hellooooworld.com/wordpressで画像はどのようにデータベースに記録されて/](http://hellooooworld.com/wordpress%E3%81%A7%E7%94%BB%E5%83%8F%E3%81%AF%E3%81%A9%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%81%AB%E8%A8%98%E9%8C%B2%E3%81%95%E3%82%8C%E3%81%A6/)
WPのコア側で「guid」を使ったURL生成は "根本的に間違っている" (wp_postmetaテーブルから呼び出すべき)ため、バージョンアップのときにバグフィックスされた可能性があり、「再現実験」がうまくいかなかったという可能性くらいが私の考えられる限界かなと思います。
長々と、あまり役に立たない迂回をさせてしまって申し訳ない。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る