サポート » インストール » インポートツールでデーターベース引越し後、リンクが更新されない

  • 他サイトからインポートツールでDBを移しました。
    ファイルもコピーしました。
    表示を確認したら問題なさそうだったのですが、個別の画像をクリックしたら全部表示されなかったので、あらためて記事のソースを確認したところ、全ての画像ファイルのURLが元のサイトのままになっていました。
    てっきり自動で新しいサイトのURLに変わっていると思っていたので愕然としました。
    まさかエディターで個別に修正するわけは無いと思い投稿しました。

    何らかの手順の間違いがあったのだと思うのですが、お心当たりのある方、是非教えてください。
    よろしくお願いします。

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • トピック投稿者 chattran

    (@chattran)

    追加情報です。
    インポートに失敗した可能性があると思い、再度WordPressをインストールして実施してみました。
    その結果、
    1)Import WordPress にて
    1.Import author: admin
    or create new uwer with login name:( )
    or assign posts to an existing user ( -Select-)
    Import Attachments
    ()download and import file attachments
    Submit
    上記の画面でインポートを実施するのですが、後半のImport Attachmentsにチェックを入れるとエラー終了してしまう(500 Internal Server Error)ため、このチェックをはずして実施すると、インポートが実施されました。
    しかしその時画面には、正常にコピーされたファイルと同数くらい、コピーに失敗したファイルの履歴が表示されました。

    2)インポートされた記事のソースを確認したところ、全ての記事内のリンクは前のサーバー上のリンクと同じものでした。

    上記の結果から、1)で正常にインポートが失敗したからリンクが書き換わらないのか?
    あるいは、2)の記事内リンクはそもそも手動で変更しなければ駄目なものなのか?
    が分かりません。
    よろしくお願いします。

    はじめまして。

    画像パスは以降前のブログのURLのままです。
    記事の内容はwp_postsテーブルのpost_contentに、静的な状態で格納されているだけで、それをコピーしているだけですから。

    記事内のパスを変えたければ、1件1件手動で書き換えるか、MySQLでUPDATEコマンドを叩いて修正するしかないと思います。

    添付ファイルのインポートに失敗するのは、情報が少なすぎてわかりません。

    トピック投稿者 chattran

    (@chattran)

    egoblockさん、
    返信ありがとうございました。
    画像パスは手動で編集するしかないのですね。
    了解いたしました。
    インポートファイルの失敗についてはサーバーの問題もしくはパーミッションに問題があると表示されているので、サーバーの会社に問い合わせてみます。
    ちなみに書き込みフォルダーはパーミッションには問題がありませんでしたが、画面上からはそれ以上の情報が取れないので現状ではそれ以上の対応は取れないでいます。

    こんにちは。
    あらかじめURLをテンプレートタグで記述しておけば、URL(ドメイン)が変わっても自動的に置換されますが、全て「http://hoge.com/img/hoge.jpg」という感じで記述していたのでしょうか?

    トピック投稿者 chattran

    (@chattran)

    skunk0915さん、こんにちは
    「URLをテンプレートタグで記述」についてですが、
    これは
    設定>メディア設定>ファイルへの完全なURLパス
    のことでしょうか?
    詳細知りたいので、よろしくお願いします。

    ちなみに、現状ですが、
    エキスポートしたファイルの画像ファイルのパスを全てエディターで
    新しいサーバーのURLに置き換えてインポートしたところ、
    記事中の画像は、新サーバーの画像がちゃんと表示されるようになりました。
    (当たりまえですが)
    しかし、その画像をクリックしたときに表示される、元画像のURLが無効なようで、
    ページが無いと表示され進めません。

    このURLですが、移行したサブドメインのURLで、
    移行前のサイトからサブドメインを移管したものです。
    なので、URLは活きると勝手に思っていたのですが、
    全てURLが無効ということになると、
    この先どのような変更を加えたらよいものかわからず、再び止まってしまっています。
    アドバイスいただければありがたいです。

    (内容が少し最初と変わってしまったので、適切と判断したらこの件は新しいトピックを興して書き直しますが、、、、。)

    解決方法は簡単です。そして、覚えておかなければ今後も躓きます。

    前のデーター(エクスポートした元データー)をterapadなどで開きます。
    terapadの場合はメニューの検索をクリックその中の置換をクリック、
    そうすると「検索する文字列」と「置換後の文字列」が出ます。

    使い方は「検索する文字列」にデーターないで使われていた「サイトのアドレス」
    「置換後の文字列」は「新たなサイトのアドレス」を入れます。

    そして、「すべて置換」のボタンを押します。
    エディターは文字コードが指定できるものならどれでもよいです。
    例を載せておきます。

    「検索する文字列」→http://exsample.com/
    新たにwpフォルダーを作りそちらにwordpressを設置した場合
    「置換後の文字列」→http://exsample.com/wp/ と入力します。
    アドレスは絶対アドレスで指定することです。

    chattranさん こんにちは。

    WordPressではテンプレートや固定ページ等に書く「http:自分のサイトURL」を<?php bloginfo('template_url');?><?php bloginfo('url');?>といったテンプレートタグで記述することでそのサイトのURLを動的に取得できます。

    実際に表示されたサイト上では区別がつきませんが、今回のようにURLが変わるような移設やドメインを変更したときに自動的に連動するので便利です。

    手作業で検索・置換するのもいいですが、人力では限界がありますし、効率的ではありません。

    これに限らずWordPressはテンプレートタグで様々なものを動的に取得できます。
    管理するサイトが多くなるほど、サイトの規模が多くなるほどその恩恵は大きいです。

    …と、やたら偉そうな物言いですが、これWordPressの一番の特徴といってもいいくらいの特徴ですよね…誰でも知ってますよね…。

    なんか質問の意図をものすごい勢いでカン違いしてドヤ顔しちゃってる気がしてならないんですが…大丈夫ですかね自分。

    ==
    追記

    あ、投稿内の画像のことかな?
    WordPress管理画面のインポート・エクスポートは機能が中途半端で使ったことないのでわかりませんが、自分はいつもデータベースそのものを1つのsqlファイルにまとめてダウンロードして、そのファイル内の元URLを新URLに一括で検索・置換して移設先のDBへインポートしてます。

    これなら一回で全部のパスが変更できます。

    質問の意図間違えてたらすみません。

    トピック投稿者 chattran

    (@chattran)

    ryouji98さん、今晩は!

    今回の移行処理ですが、エキスポートしたファイルを言われたのと同じ方法で、全件検索して置換した後インポートしました。
    つまり、インポートしたファイルには前のサイトのURLは含まれていません。
    今回のリンク切れは、最終的にドメイン移管した後に使用したいURLのパーマリンクが無効になってしまうという問題です。
    説明しにくいので例を書きます。

    ★元のサーバー:
    最初にインストールしたURL:http://old-server
       使用している独自ドメイン:http://subdomain.com

    ★新しいサーバー:
    最初にインストールしたURL:http://new-server
       移管後に使用するドメイン(元と同じURL):http://subdomain.com

    ★エキスポートしたファイル:
       <a href="http://subdomain.com/?attachment_id=2827" rel="attachment wp-att-2827"><img src="http://old-server/wp-content/uploads/2011/11/DSC07749_edited-1-400x300.jpg" alt="xxxxx" title="xxxxx" width="400" height="300" class="alignleft size-medium wp-image-2827" /></a>xxxxx。<br class="clear" />
    ※エディターで修正箇所:
         <img src="http://old-server/ → <img src="http://new-server/
    ★インポートしたファイル:
       <a href="http://subdomain.com/?attachment_id=2827" rel="attachment wp-att-2827"><img src="http://new-server/wp-content/uploads/2011/11/DSC07749_edited-1-400x300.jpg" alt="xxxxx" title="xxxxx" width="400" height="300" class="alignleft size-medium wp-image-2827" /></a>xxxxx。<br class="clear" />

    ★リンク切れになるURL:<a href="http://subdomain.com/?attachment_id=2827" rel="attachment wp-att-2827">

    つまり画像のパスはエディターの修正で修正できるのですが、その時に作成される画像のページのURLは投稿時に自動的にパーマリンクが貼られ、なおかつ最終的に使用するドメインのURLになっているので、どのように修正したら良いかがわからないのです。

    そもそも論で大事な事を勘違いしていたり、やるべき処理を忘れているのかもしれませんが、何百もある記事の全ての画像のリンク先のURLを設定し直す事は非現実的で出来ないので、これが駄目なら画像ページのリンクを全部捨てるしかないと思っています。
    是非ご教示お願いします。

    skunk0915さん、今晩は!
    テンプレートでURLをそのまま書いているところはありません。
    おっしゃられたように bloginfo(~)見たいな書き方です。
    私の勝手な解釈では、このテンプレートによって絶対アドレスが読み込まれ、実際にページが展開されたときにはその絶対アドレスで表示される。
    その結果、データをエキスポートしたときには、解釈され展開された絶対アドレスが書き出されるので変換が必要になる。
    と考えたのですが、間違いでしょうか?

    あるいは、新しいサイトをインストールするときに、どこかの設定を変更しておけば、
    エキスポートするデータからも絶対アドレスではなくて変換可能なURLで書き出してくれることが可能なのでしょうか?

    skunk0915サンではなくて、こちらこそ思い切りはずしているかもしれませんが、
    どうぞよろしくお願いします。

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • トピック「インポートツールでデーターベース引越し後、リンクが更新されない」には新たに返信することはできません。