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

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

*

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

      2014/11/20

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

1年以上前の記事です。内容が古い可能性があります。

ブログを「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

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

  関連記事

WordPress(ワードプレス)でヘッダー部に入るCSSリンクをページごとに変える方法 #wp

1年以上前の記事です。内容が古い可能性があります。最近では、「サイト作成」=「C …

WordPressのRSSをカスタマイズ。フィードでの各投稿の表示は「抜粋」に変えておこう

1年以上前の記事です。内容が古い可能性があります。最近は、RSSリーダーなんて使 …

さくらのレンタルサーバー+ラピッドSSLを使ってWordPressをhttps化するときの注意点

1年以上前の記事です。内容が古い可能性があります。さくらインターネットで非常に安 …

「WordPress(ワードプレス)」のプラグインをインストールする方法3つ

1年以上前の記事です。内容が古い可能性があります。新しい豊洲のお仕事はCMS「W …

「Ktai Style」導入でWordPressをケータイに対応、テーマは別名にした方がいい #wp

1年以上前の記事です。内容が古い可能性があります。「WordPress(ワードプ …

WordPress(ワードプレス)固定ページからコメント欄を消す方法 #wp

1年以上前の記事です。内容が古い可能性があります。一筋縄ではいかなかった固定ペー …

WordPressの記事(投稿・固定ページ)ごとのパスワード保護はセキュリティの強いサーバーでは動かない

1年以上前の記事です。内容が古い可能性があります。WordPressには記事ごと …

WordPress(ワードプレス)でテンプレートにテンプレートを読み込む方法(インクルードタグ) #wp

1年以上前の記事です。内容が古い可能性があります。WordPress(ワードプレ …

ワードプレス(WordPress)とツイッターを連携「Twitter Tools」 #wp

1年以上前の記事です。内容が古い可能性があります。さて、つぶくまにワードプレスを …

CMSで使うHTML内のリンクは「絶対パス」でも「相対パス」でもなく「サイトルート相対パス」がベスト【WordPress】

1年以上前の記事です。内容が古い可能性があります。WordPressはじめ、CM …

血液型オヤジ