WordPressのSEOプラグインを使わずスピードアップさせる方法

テクノロジー

WordPressを使っている方であればほとんどの方が使っているであろうSEOプラグインページごとに簡単にtitle,description,keywordsなどのメタ情報やOGPを設定することが出来て大変便利だ有名なものではAll in One SEO Packなどがある

しかしWordPressはプラグインを多く使うとロードに時間が掛かり表示スピードが遅くなる傾向がある多くのIT企業が既に言っているが表示スピードが遅くなるとユーザーの離脱率が上がり満足度が下がるという事が知られている

  • 0.1秒の遅延が発生すると売り上げは1%ほど減少する米Amazon
  • 表示の速いページを提供すると訪問1回当たりのページビューが50%増加する米AOL
  • ページ表示の2秒の遅れでユーザーの要求が2%減り3.75%のクリックが失われ全体にわたって満足度が減るGoogle

上記に書かれている通り表示スピードは0.1秒でも早くしたほうが良いという事がわかるそこで今回はWordPressのプラグインの中でも表示スピードの遅延にもなっているSEO系のプラグインAll in One SEO Packに頼らず独自にメタ情報を設定する方法を紹介していく

プラグインによる表示スピードの遅れ

WordPressのプラグインがどれくらい遅いのか

WordPressのプラグインは大変便利ではあるがプラグインを数多く導入するとそれだけ表示スピード遅くなる懸念があるこれは対象のプラグインが複雑な処理等がおこなわれていればいるほど遅くなる

WordPressのプラグインってそんなに遅くなるの?そこまで変わらないでしょう?と疑問におもう方もいるだろうそこで実際どれだけWordPressのプラグインが表示スピードを遅らせているのか確認していく 以下はWordPressのプラグインPlugin Performance Profilerによりプラグインが表示スピードにどれだけ影響を与えているかを表した数字になる
※Plugin Performance Profiler:WordPressの各プラグインがどの程度表示スピードに影響を与えていてどれ位読み込みに時間がかかっているのか計測してくれるものです

Plugin-Profiler-1
  • Plugin Load Time:0.446
    プラグインをロードするのにかかっている時間
  • Plugin impact:42.8 %
    WordPress全体のロードのうちプラグインのロードが占める割合

どうだろうかプラグインだけで約0.5秒も読み込みに時間がかかっている0.1秒でも早く表示を行いた中で0.5秒というのはだいぶ長い時間だと考えらる

肝心のSEOプラグインはどれくらい遅いのか

WordPressがプラグインをロードするのにそこそこ時間がかかっている事はわかったではSEOプラグインとして主流なAll in One SEO Packどれぐらい表示スピードに影響を与えているか確認してみよう 以下は先ほどと同様Plugin Performance Profilerによる円グラフであるこれはプラグインごとのロード時間および影響度合い表しているものになる

Plugin-Profiler-2

円グラフを見てもわかるようにAll in One SEO Packプラグインのロード時間の大半を占めているロード時間としても0.1327秒と僅かな時間だがユーザーがURLを入力して表示されるまでの事を考えると馬鹿にできない時間である

プラグインを使わずメタ情報の設置

1.まずカスタムフィールドを設定

では実際にプラグインを使わずにメタ情報を設置する方法を説明していくまずWordPressのカスタムフィールドでtitle,description,keywordsを設定する具体的な設定値は以下図に記載している

Custom-fields-1

タイトルMeta_Title

Meta_Titleというカスタムフィールドを作成しその中に記事・ページのタイトルを入力する

詳細Meta_Description

Meta_Descriptionというカスタムフィールドを作成しその中に記事・ページの詳細情報を入力する

キーワードMeta_Keywords

Meta_Keywordsというカスタムフィールドを作成しその中に記事・ページのキーワードを入力する

インデックス設定Robots_Meta_NOINDEX

Robots_Meta_NOINDEXというカスタムフィールドを作成しその中に記事・ページを検索サイトに表示させないようにする表示させない場合はこの項目にnoindexと入力する

2.設置コード

カスタムフィールドで設定した内容を実際に反映させるコードを設置しているtitledescriptionkeywordはカスタムフィールドに設定されたものがあればその文字列を利用する設定されたものがなければWordPressのデフォルトの文字列を表示させる

コメントとして記載しているkeywordのカスタムフィールドに設定がない場合のデフォルト文字列キーワードについては適時変更して下さい

			<?php
			//投稿記事か固定ページ
			 if (is_single() || is_page()){
				 //アイキャッチがある場合
				if (has_post_thumbnail()){
					$thumbnail_id = get_post_thumbnail_id();
					$og_img = wp_get_attachment_image_src($thumbnail_id, 'eyecatch');
				}
			}
			//titleタグの設定 
			if ( get_post_meta($post->ID , 'Meta_Title' ,true) ){
				$meta_title = esc_html( get_post_meta($post->ID , 'Meta_Title' ,true) ); 
			} else {
				$meta_title = wp_title( '|', true, 'right' ) . get_bloginfo('name');
			}
			//descriptionタグの設定 
			if ( get_post_meta($post->ID , 'Meta_Description' ,true) ){
				$meta_description = esc_html( get_post_meta($post->ID , 'Meta_Description' ,true) ); 
			} else {
				$meta_description = get_bloginfo('description');
			}
			//keywordタグの設定 
			if ( get_post_meta($post->ID , 'Meta_Keyword' ,true) ){
				$meta_keyword = esc_html( get_post_meta($post->ID , 'Meta_Keyword' ,true) ); 
			} else {
				$meta_keyword = '<meta name="keywords" content="キーワード1,キーワード2,キーワード3..." />';
			} ?>	

各種メタ情報を表示する準備ができたら今度は実際に表示を行っていく上記コードを記載した下に貼り付けることを勧める11行目のEyecatchが設定されていたらの部分は投稿ページなどでアイキャッチ画像を設定している場合にOGPのimageにアイキャッチ画像が適用されるようにしている21行目のNoindexが設定されていたらの部分はカスタムフィールドでnoindexの設定があった場合にはそのページを検索エンジンの登録から回避させる

			<title><?php echo $meta_title; ?></title>
			<meta name="description" itemprop="description" content="<?php echo $meta_description; ?>">
			<meta name="keywords" itemprop="keywords" content="<?php echo $meta_keyword; ?>">
			<meta property="og:title" content="<?php echo $meta_title; ?>">
			<meta property="og:type" content="article">
			<meta property="og:url" content="<?php echo("http://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]); ?>">
			<meta property="og:site_name" content="<?php bloginfo('name'); ?>">
			<meta property="og:description" content="<?php echo $meta_description; ?>">
			<meta property="og:locale" content="ja_JP">
			<?php
			//Eyecatchが設定されていたら
			if ( isset($og_img) && strlen($og_img[0]) > 0){ ?>
				<meta property="og:image" content="<?php echo $og_img[0]; ?>">
				<meta name="twitter:image" content="<?php echo $og_img[0]; ?>">
			<?php }	?>
			<meta name="twitter:card" content="summary">
			<meta name="twitter:title" content="<?php echo $meta_title; ?>">
			<meta name="twitter:description" content="<?php echo $meta_description; ?>">
			<link rel="canonical" href="<?php echo("http://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]); ?>">
			<?php 
			//Noindexが設定されていたら
			if (get_post_meta($post->ID , 'Robots_Meta_NOINDEX' ,true) === 'noindex'){ ?>
				<meta name="robots" content="noindex,follow">
			<?php } ?>

SEOプラグインを辞めてどれぐらい早くなったのか

SEOプラグインを辞めてカスタムフィールドからメタ情報を設定する方法に変えてどれだけ表示のスピードアップができたのか見ていこう

Plugin-Profiler-3
  • Plugin Load Time:0.204
    プラグインをロードするのにかかっている時間
  • Plugin impact:41.2 %
    WordPress全体のロードのうちプラグインのロードが占める割合

どうだろうかはじめに計測した時よりも若干ではあるがスピードが上がっているのがわかるプラグインのロード時間は0.446秒だったのが0.204秒と約0.200秒のスピードアップに成功しているWordPressに対するプラグインの影響度は42.8%だったものが41.2%と大きな変化は期待出来なかった事がわかる

WordPressを少しでもスピードアップしたいならやってみる価値あり

SEOプラグインを使わず直接プログラムを書いたりすることは確かに手間かもしれないしかし少しの表示スピードの遅さが後々大きなロスとなることを考えるとたとえ若干でもよいから表示スピードをアップさせる施策は行うべきであろう

阿部 憲太朗
by阿部 憲太朗

1986年3月5日生まれ。IT系ベンチャーでシステム開発や提案営業後、NextConnect inc.設立。コネも何もない状態から銀行システム開発やWeb開発など案件に携わる。2016年からはWebブランディングに力を注ぎ、Webプロデュースとクリエイティブディレクション、デザイン、システム開発をやっています。

Related Posts / 関連記事

Facebook and Twitter

Facebook

Twitter