SEO用WordPressプラグインの開発
開発の背景
これまでWordPressサイト制作時には、SEO対策としてAll in one seo packを使っていましたが、先日のアップデートで破壊的な変更が行われたらしく、一部のサイトで不具合が発生したため使い続けるのは得策ではない、と判断しました。
不具合の内容としては、記事タイトルとして the_title()
ではなく、get_post_custom()['_aioseop_title'][0]
を使っている箇所があったのですが、これで出力されるタイトルが更新できない、というものです。
おそらく、All in one seo pack のテーブルがアップデート前後で異なるものとなり、get_post_custom()[‘_aioseop_title’][0]では、古いテーブルのデータが取り出されるようになったのでしょう。出力コードが異なるものになっているのではないかと思います。(まだデータベースを確認していないので断言はできませんが。)
いずれにせよ、このコードで出力される値を変更することが不可能になった(データベースを直接編集すれば可能でしょうが現実的ではありません)、というのが現状です。
出力コードの変更はこれで2回目となります。他にも、All in one seo packはアップデート時に不具合が発生する頻度が高いため、これを使い続けるのはある種の負債となるでしょう。不具合が発生したら、それの対応に時間を取られ、業務効率・生産性が下がります。
開発したプラグイン
固定ページおよびトップページのSEO用のタイトル、ディスクリプションを登録し、metaタグなどに出力するだけのシンプルなものです。
出力するタグは、
- link rel=”canonical”
- title
- meta name=”description”
- 以下のmeta property
- og:site_name
- og:type
- og:title
- og:description
- og:image
- og:locale
- twitter:card
- twitter:domain
- twitter:title
- twitter:description
で、トップページ、固定ページではカスタムフィールドなどで登録したものを、カテゴリー一覧、投稿ページでは標準のタイトルと概要を出力するようにしています。
XMLサイトマップの出力はできないので、そこだけは別のプラグインを使うことになりますが、これで乱暴なアップデートを繰り返すプラグインに振り回される心配は無くなりました。
将来は公式ディレクトリに登録できるようにしたいと考えています。