新・元地方の中規模印刷会社で苦悩するWebデザイナー改めWebディレクターの日記

自由な20代、窮屈な30代を経て、遂に40代になっちまったWebディレクター&パソコン講師の覚書と思う言(こと)。略称【ちほちゅう】

*

ワードプレス(WordPress)でリンクURLを一気に検索置換、プラグイン「Search Regex」がすばらしい

      2014/11/20

  • このエントリーをはてなブックマークに追加

ブログを「livedoor Blog(ライブドアブログ)」から「WordPress(ワードプレス)」にインポートした話はしましたね。
□ 「livedoor Blog(ライブドアブログ)」から「WordPress(ワードプレス)」へ全記事をインポートする方法【ブログのお引越し】 | ちほちゅう
これがうまくいってさらに、リダイレクトの設定もしたおかげで新ブログへも人が来るようになりました。
□ ライブドアブログ(livedoor Blog)からワードプレス(WordPress)へのブログ移転でリダイレクトをさせる方法 | ちほちゅう

ただですね。
これでもまだ問題があるんです。
それは、ブログの記事内のリンクです。

悩んでる女性【素材】まだ何かあんの?

スポンサーリンク
 

ブログ内のリンクが旧ブログのリンクになったままということです。
具体的には「http://webdirector.livedoor.biz/archives/00000000.html」という表記になっている。

たとえば当ブログで一番PVを集めた「電源ボタンのマークの秘密」のURLが、
旧ブログだと「http://webdirector.livedoor.biz/archives/51611777.html」なのですが、
これが新ブログでは「http://chihochu.jp/51611777/」とならなければならないところ、
インポートした記事に関しては「http://webdirector.livedoor.biz/archives/51611777.html」のままになっているんですよね。

特にヒットページ紹介のページはかなり内部リンク使ってますのでこれが結構、多いんです。
一つ一つ直してくのも大変だし。どうしたものか。。

そんなときに便利なプラグインが「Search Regex」です。

□ WordPress › Search Regex « WordPress Plugins

これは、データベースの中から文字列を検索してさらに置換までしてくれるプラグインです。
対象となるテーブル(コメントや記事等、ブログのどの部分のデータか)も選べますし、何より正規表現が使えるのがいい。

正規表現ってのがちょっとわかりにくいかもしれませんが、簡単に説明すると、正規表現を使うと以下の様なことができるようになります。

一般の文字列検索置換ですと、
「http://webdirector.livedoor.biz/archives/51611777.html」→検索置換→「http://chihochu.jp/51611777/」
はできるのはわかりますよね?

ただし、これだと「http://webdirector.livedoor.biz/archives/51611777.html」しか置換できません。

だったら「http://webdirector.livedoor.biz/archives/」→検索置換→「http://chihochu.jp/」とした後、
「.html」→検索置換→「/」とやればいいのではないか?

でもこれだと、別のサイトへのリンクに付いている「.html」も全部「/」に置換してしまってとんでもないことになってしまいます。

そこで、正規表現を使うとそういうことなんです。
具体的な書き方は後で説明するとして、まずは「Search Regex」のインストールと使い方から説明しようと思います。

  1. インストールはいつもどおりです。「プラグイン」メニューから「新規追加」を選んで「Search Regex」を検索、「いますぐインストール」をクリック。
  2. インストールはが済むと、「ツール」メニューに「Search Regex」という項目が追加されますので、さっそく選んでみましょう。
    SearchRegex01
  3. 事は全てこの画面で済ませます。
    以下、それぞれの項目の説明です。
    SearchRegex02① ここでデータベースのテーブルを指定します。通常の投稿が対象であれば「Post content」でOKです。
    ② 検索パターンを設定します。「文字列」、もしくは「正規表現」になります。つまり、ここで入力した文字が検索されるということです。
    ③ 置換パターンを設定します。同様に「文字列」、もしくは「正規表現」いなります。ここで入力した文字に置換されるということです。
    ④ 「Regex」にチェックを入れることで正規表現がつかえるようになります。チェックを入れないと一般の文字列検索です。
    ⑤ ここでは検索結果に表示させる件数を指定できます。検索置換を行う場合は無視され、全データを対象にするようです。
    ⑥ 上記検索パターンで「検索」します。
    ⑦ 上記検索パターン及び置換パターンで検索置換をプレビューできます。
    ⑧ 上記検索パターン及び置換パターンで検索置換を実行します。
    と言った感じの事が可能となっています。
  4. 実際、検索した見た結果が以下。ズラズラと検索結果が出てきます。
    SearchRegex03
  5. で、実際「http://webdirector.livedoor.biz/archives/00000000.html」を一気に「http://chihochu.jp/00000000/」に置換するにはどう書けばいいかというと。
    SearchRegex04とりあえず表記だけ。
    検索パターン #http://webdirector.livedoor.biz/archives/(........).html#
    置換パターン http://chihochu.jp/$1/

    具体的にどうなっているのか知りたい方は以下のサイト等を参考にしてみてください。
    ()カッコで囲んだ部分が$1になるっていうのだけは覚えておいたほうがいいかもしれないです。
    □ サルにもわかる正規表現入門
  6. で、これを使って「Replace & Save」をクリックしたところ以下の様なエラー表示になってしまう。
    SearchRegex05これ、メモリーが足りないというエラーみたいです。
    つまり、件数が多すぎて処理しきれない。
  7. そこでかんがえたのは、10分割して検索、置換させる方法です。
    具体的には、
    SearchRegex06まずはこんなかんじに末尾が任意の数字(この場合は「8」)だけの記事を検索置換させます。
    ただし、このとき「$1」が「$18」とかになっちゃったのでちょっとだけ工夫して、まずは「8」を「####8」に検索置換させています。
  8. で、それをもう一度検索置換して直す。
    SearchRegex07これを「0~9」まで繰り返し行うことでメモリエラーなく、全記事内の「http://webdirector.livedoor.biz/archives/00000000.html」を「http://chihochu.jp/00000000/」に置換することができました。

まあ、そんなツール(プラグイン)が「Search Regex」です。
つまり、これを使えば画像のリンク先なども一気に変更することが可能となるわけです。

いずれにしてもWordPressには常に入れておきたい開発系プラグインの一つですね。
開発系なんで使った後は停止しておきましょう。

 - CMS, WordPress , , , , ,

アドセンス広告メイン

Message

メールアドレスが公開されることはありません。

  関連記事

ライブドアブログ(livedoor Blog)からワードプレス(WordPress)へのブログ移転でリダイレクトをさせる方法

ライブドアブログ(livedoor Blog)からワードプレス(WordPres …

WordPress(ワードプレス)でトップページ以外にブログトップを設置する方法【完全版】 #wp

つぶくまブログの「←古い投稿」リンクが正常に動かなかったので修正することにした。 …

「WordPress(ワードプレス)」で「Not Found」。原因は… #wp

当初、URLの語尾にhtmlを付ける「.html on PAGES」に原因がある …

ワードプレス(WordPress)、トップページとは別の場所で記事一覧を表示させる方法 #wp

ワードプレス(WordPress)といえばブログ。元々ワードプレスはブログ用CM …

WordPress(ワードプレス)テーマで使った画像やJSファイルの場所 #wp

といった具合に各コンテンツを固定ページで作り始めたのですがこれが一筋縄ではいきま …

「WP File Cache」が原因で起きたトラブル対応で「WP File Cache」を削除して起きたトラブルは「WP File Cache」を再インストールで解決【WordPress】

なんか、このところタイトル長くてすみません。 一連の騒動がなんとか解決したのでま …

WordPress(ワードプレス)のURL表記をHTML表記にする方法 #wp

牛歩戦術でゆっくりと進んでいるプロット・ファクトリーWebサイトのワードプレス( …

no image
ワードプレス(WordPress)でコンテンツをデザインする方法 #wp

トップページができたら引き続き各コンテンツページをデザインする方法です。 コンテ …

ワードプレス(WordPress)の記事に簡単に地図や動画を貼り付ける「ショートコード」 #wp

ショートコードって知ってますか? 実は、部下に聞いて初めて知ったのですが、これ便 …

ワンクリックアップデートでワードプレス終了。「更新の必要はありません この WordPress のデータベースはすでに最新のものです」と出て先へ進めなくなった時の対処法

いや、ビックリしました。 これは久しぶりにやっちゃったかなぁ。。と思ってしまいま …