All In One SEO Packで自動挿入される署名や無駄な改行を削除する方法
- 公開日 : 2015年12月25日
- カテゴリ : WordPress
WordPressはもともとSEOに強いCMSだと言われておりますが、初期状態のままだとそのSEOの強さには限りがある。
補足:CMSとはコンテンツ・マネージメント・システムの略で、ウェブサイトの管理を簡易化させるためのシステムのことです。
そのため、SEOの設定を強化するためのプラグインがいくつもあり、私はその中で「All In One SEO Pack」というものを使用している。
もう4年ほど使っております。
これは有名なプラグインなので、使っている人も多いのではないでしょうか。
参考リンク:<a href=”https://ja.wordpress.org/plugins/all-in-one-seo-pack/” target=”_blank”>All in One SEO Packの公式ダウンロードページ
All In One SEO Packはアップデートによっていつの頃からかサイトマップ(Sitemap.xml)の生成やソーシャルのheader設定までも行えるようになった。
それまではサイトマップの生成に「Google XML Sitemaps」というプラグインを使用していましたが、それすら必要なくなってしまいました。
All In One SEO Packでのサイトマップ生成は今のところ問題も起きておりません。
それほど優秀かつ便利なプラグインなのです。
参考リンク:Google XML Sitemapsの公式ダウンロードページ
しかし無駄なソースがある
All In One SEO Packはそれほど素晴らしいプラグインなのでありますが、昔から唯一気に入らないのは「無駄なソースが自動で挿入される」という点がある。
All In One SEO Packを導入したそのままの状態だとhead要素内は以下のような感じのソースになる。
上画像の中でAll In One SEO Packで自動挿入されたコードは以下の部分である。
プラグイン作者の署名や無駄な改行が発生してしまうのです。
ちなみに私はheader.phpには無駄な改行は1つもないように作っています。
それなのに改行が勝手に発生してしまいます。
見苦しいったらありゃしない。
ソースなんてほとんど誰も見ないのはわかりますが、見えてしまう以上はその美しさにもこだわりたいのは私だけでしょうか。
今回はこの作者の署名と改行を削除し、綺麗なコードに成型する手順を解説します。
WordPress本体やプラグインはGPLライセンスなので、ソースコードを自分の好きなように勝手に改変しても問題ありません。
素晴らしいプラグインを作ってくれたことは感謝していますが、管理画面内のみならず、公開するソース内にまで勝手に署名を挿入されるとなると削除対象である。
プラグイン作者の署名を削除する方法
プラグイン作者の署名を削除するには、
wp-content/plugins/all-in-one-seo-pack
のディレクトリ内にあるaioseop_class.phpをテキストエディタで開きます。
そして、そのテキストエディタの検索機能を使い、<!– All in One SEO Packを検索します。
すると、1700行目付近にそのコードが見つかります。(バージョン2.2.7.5の場合)
バージョンが違ってもだいたいこのあたりの行で見つかるはずです。
上画像のコードの中で削除する行は、
echo "\n<!-- All in One SEO Pack $this->version by Michael Torbert of Semper Fi Web Design";
if ( $this->ob_start_detected )
echo "ob_start_detected ";
echo "[$this->title_start,$this->title_end] ";
echo "-->\n";
の5行です。
削除してしまっても良いし、行頭に//を付けてコメントアウトしても良いでしょう。
同じように/all in one seo pack –>を検索すると、1814行目で見つかります。(バージョン2.2.7.5の場合)
以下の1行だけを削除またはコメントアウトさせます。
echo "<!-- /all in one seo pack -->\n";
以上で完了です。
aioseop_class.phpを上書き保存して上書きアップロードすると、以下のようにプラグイン作者の署名は消えています。
無駄な改行を削除する手順
All In One SEO Packによって無駄な改行が発生するかどうかは、head要素内に挿入されるmeta要素の数などによって異なってくる。
例えば、アーカイブページ(home.phpやcategory.php、date.phpなど)と固定ページや投稿ページ(page.phpやsingle.php)などでは挿入されるコード数が異なるため、改行の位置や数が異なる可能性があります。
今回は私が実際に行った作業を紹介しますが、作業をし終わった後に自分でソースを確認すると良いでしょう。
まず、先ほどと同じくaioseop_class.phpのファイルを開き、<link rel=’prev’を検索します。だいたい1800行目付近で見つかります。
そのすぐ下に<link rel=’next’のコードがあり、そのまた下に$meta_stringをechoしている行があると思います。
上画像の中の$meta_stringの直後にある¥nを削除します。
補足:¥nとは改行を意味しています。
具体的には以下のようなコードだったのを、
if ( $meta_string != null ) echo "$meta_string\n";
以下のようにするのです。
if ( $meta_string != null ) echo "$meta_string";
以上で作業は終わりです。
再びaioseop_class.phpを上書きアップロードすれば、無駄な改行が消えていると思います。
一応、アーカイブページだけでなく固定ページや投稿ページなどのソースも確認しておくと良いでしょう。
もしまだ不要な改行が残っている場合は、aioseop_class.phpファイル内で<meta name=”description”や<link rel=”canonical”を検索し、その直後にある¥nあたりを削除したりして試すと上手くいくでしょう。