Blog

[WP] All in One SEO とテーマの組み合わせによってはタイトルにブログ名が重複する

WordPress のプラグイン All in One SEO でタイトルを書き換えると意図しない変換をされてしまいタイトルがおかしくなる事象に遭遇しました。
具体的には

のようにタイトルが重複してしまうんです…


120808 0003

先日 RSS フィードのタイトルの問題は直したのに、ブログエントリをフィードしていただいた時に変な引用になっていたのです。

代助さん (@hondamarlboro) から、<title>タグの無いようがおかしいと教えていただいて調べてみました。プラグインが怪しいので最も思い当たる All in One SEO を無効にしたところ現象は収まりました。

原因を調べるために少し追いかけてみたのですが、だいぶ複雑な問題がありました。

All in One SEOは何をしているのか

All in One SEO はタイトルを変更する機能を持っています。
120807 0004


ここで指定している %post_title% | %blog_title% という書き方だと



となることを期待するわけですが、実際は最初に書いたように



となってしまいます。そこで、 %post_title% のみにしてみると



となります。つまり、 %post_titile% 自体がおかしいということです。
All in One SEO のソースを見てみたところ aioseop.class.php の中の rewrite_title でタイトルを色々加工しているようですが wp_title から取ってきている値を使っているだけのようです。ということは、そもそも wp_title がおかしくなっている?という可能性があります。

テーマの機能とのコンフリクトだった

ここで、ふと思い当たったのがテーマです。
いま使っている BirdTips というテーマはタイトルを書き換えてブログ名を追加してくれていたはずです。試しに テーマ を TwentyTen に変えてみたところ All in One SEO を有効にしていても問題は発生しません。

あとは BirdTips が何をやっているかを調べれば良いので functions.php を調べてみたところ、



ここで書き換えています。この書き換えが先に走ってから All in One SEO が走るので、意図しない変換をしてしまってあのような結果になっているんですね。

今は、All in One SEO のタイトル書き換えを Off にして運用していますが、将来、On にしたくなった時のために、修正する方法を探してみました。

タイトルの書き換えを All in One SEO に任せるのであれば、テーマでの書き換えをしないようにすれば良い、ということで Action Hook でタイトルを入れ替えているフィルタをコメントアウトすれば良さそうですね。



どちらが悪いということではなく相性の問題ですが、このあたりが WordPress の難しいところですね。

先日のRSSのタイトル2重問題もテーマが影響していた

ここでふと思ったことが…先日の RSS 問題ももしかして、この関係なのか?と思って、フィルタをコメントアウトして試してみたところ ビンゴ でした。最終的に、どう直すかはもう少しコードを追ってじっくり考えないといけなさそうな感じです。

テーマ変更や今後のバージョンアップを考えたら、テーマの方を直すのが正しい気がするので、その方向で検討してみます。

WordPress 関連のエントリ


インストールや設定変更とデータ移行




プラグイン




バージョンアップ




カスタマイズ





Stinger 3関連





チューニング





MAMPを使ったバックアップサイトの構築





開発関連







最後まで読んでいただきありがとうございます。

follow us in feedly 左のアイコンをクリックして、このブログを Feedly に登録していただけると嬉しいです


Facebook ページでも情報を発信していますのでよろしかったら「いいね!」をお願いします

RSSリーダへの登録は こちら からどうぞ。

URL
TBURL

コメントとトラックバック

  • Comments ( 1 )
  • Trackbacks ( 1 )
  1. wordpressのタイトルで同じ現象ではまってました。タイトルを個別に設定したページは大丈夫なんですが、タグや月別のリストページなどで二重にサイト名が入ってしまうようでした。とりあえず「タイトルを書き換える」をoffにして使うことにします。

コメントを残す

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

フェイスブックでのコメント

Return Top