Search Regexで見出しタグを入れ替える
このブログで使っているテンプレートのバージョンアップがあったのですが、昨今のSEO事情に合わせるためか見出しタグ(hタグ)の構造が大きく変わってしまいました。どう変わったのかというと次のようになります。
従来のバージョン
記事のタイトルはh2タグ
記事内の見出しはh3タグ〜
新バージョン
記事のタイトルはh1タグ
記事内の見出しはh2タグ〜
記事内に見出しを一切使っていない場合は問題ないですが、そうでない場合は記事内で使っている見出しを全て1段階上げないとデザインがおかしくなってしまいます。
記事数が少なければともかく大量にある記事に対して一つずつ修正するなんてやってられませんよね。
そんなときに便利なプラグインがSearch Regexです。
これは各記事やコメントなどを横断して検索・置換してくれるツールです。さらに単純な検索置換だけでなく、正規表現というものをつかって複雑な検索・置換ができるすぐれもの。
これをつかうと一発で見出しタグを置換できます。
Search Regex について
インストールは他のプラグインと同じですが有効化すると、左のメニューの「ツール」の中に「Search Regex」という項目が現れます。「設定」ではなく「ツール」の方なのでお間違いなく。
Search Regex の管理画面は下図のようになります。日本語ファイルもあるようですがシンプルなツールなのでそのままでも使えると思います。
簡単に説明すると
- Source:検索対象(投稿やタイトル、コメントなどを選べる)
- Limit to:検索の上限。デフォルトはNo limit=全部。
- Order By:検索結果の並び順
- Search pattern:検索文字列、もしくは正規表現
- Replace pattern:置換文字列、もしくは正規表現
- Regex:チェックを入れると正規表現をつかうモードになります。
Regexの後に正規表現用に3つオプションが並んでいますが正規表現を使いこなしている人向けだと思います、多分。
下に3つボタンが並んでいますが、Search をクリックすると検索結果が表示されます。
Replace をクリックすると検索&置換した結果のプレビュー表示されます。
Search も Replace もどちらもあくまでプレビューなので投稿には何も影響を及ぼしません。これらで結果を確認してOKとなったら Replace & Save ボタンをクリックしましょう。一度保存するとやり直しはきかないので慎重に。
こういうときは「データベースのバックアップをとっておきましょう」と決まり文句のように言われますが、やはりやっておいたほうが無難です。
Search Regex で見出しタグを置換する方法
今回は見出しタグを置換したいのでそれに絞ってやり方を説明したいと思います。
まず、hタグにはh1〜h6までありますが、今回のケースでは投稿内で使っていたhタグはh3〜h5タグまで。
これを次の順番で置換していきます。
- h3→h2
- h4→h3
- h5→h4
この順番がとても大切です。最初にh5→h4に置換してしまうと前のh4タグと置換後のh4タグが混ざって大変なことになります。数字が小さいhタグから順番に置換していくようにしましょう。
この前提でSearch Regex を設定していきます。
まず Source は投稿内の見出しのみが対象ですから Post content を選びます。そして全投稿が対象なのでLimit to は No limit を選択、昇順・降順どちらでも結果は同じですからOrder ByはどちらでもOK。正規表現を使うのでRegexにチェックです。
h3タグをh2タグに変換する場合の正規表現はこちら
|<h3>(.*)</h3>|
<h2>$1</h2>
ここまで来た時点で下記のような画面になっていると思います。
これで Replace をクリックすると下の方に結果が表示されます。
きちんとh3タグがh2タグに置換されていますね。問題無いことを確認したらReplace & Save をクリックするとデータベースが書き換えられます。
h3タグが終わると次はh4タグをh3タグへ置換します。正規表現はこちら
|<h4>(.*)</h4>|
<h3>$1</h3>
それが終わると次はh5タグをh4タグへ置換します。正規表現はこちら。
|<h5>(.*)</h5>|
<h4>$1</h4>
こうすることで、簡単に見出しタグを変えることができます。
テンプレートを変えると投稿内の見出しの階層が変わる場合があるので、そういうときにこのワザを使うと便利ですよ。
コメント
この記事へのコメントはありません。
コメントをどうぞ