アンテナメニュー開閉
←前の記事 次の記事→

【WP設定】高速で強力なWordPressサイトを構築する4

導入推奨のプラグインとfunctions.phpの設定。

【WP設定】高速で強力なWordPressサイトを構築する4
導入推奨のプラグインとfunctions.phpの設定。(marcel van den berg)

導入推奨のプラグインとfunctions.phpの設定

前回の記事ではサーバサイドのチューニングを行いましたが、今回の記事ではWordPressに絞った内容を取り扱います。

今回の記事も少々長くなっているため、時間がある時に読むことをおすすめします。

(本文前に)簡単な3行まとめ

  • 導入推奨のプラグインを紹介。
  • functions.phpの設定も紹介。
  • 今回の記事も長めなため、時間がある時に読む事をおすすめ。

記事目次

導入推奨のプラグイン

WordPressには多くの第三者によって開発された便利なプラグインが作成されています。

プラグインを利用することで更に良いブログ環境を作り出すことが出来ますが、基本的にプラグインはあまり利用しない方が良いです。

プラグインはデータベースにアクセスするものが多いため、導入数が増えれば増える程その負荷は高くなり、表示速度が低下します。

また、リリース後にかなりの間更新されていないプラグインは潜在的にセキュリティリスクを有していますので、非常に危険です。

この項では現段階で更新が行われており、なおかつ導入することが好ましいとされるプラグインを紹介します(使い方は省略)。

ただし、キャッシュ系プラグインの場合は現在の使用状況により不具合の発生が考えられますので、ご注意下さい。

001 Prime Strategy Translate Accelerator

001 Prime Strategy Translate AcceleratorはWordPressが使用する翻訳ファイルをキャッシュもしくは無効化にする事が出来るプラグインです。

WordPressは多言語に対応しているため、多くの言語を使用することが出来ます。

ただ、その翻訳は訪問者がやってくる度に読み込まれるため、どうしてもパフォーマンスは悪化してしまいます。

このプラグインでは翻訳ファイルをキャッシュすることにより、パフォーマンスを向上させることが出来ます。

あるいは翻訳が不要であれば翻訳を停止すると、キャッシュしている時よりも若干パフォーマンスがアップします。

ただし、管理画面は英語が苦手な方の場合はキャッシュを選択しておくことが望ましいです。

ちなみにこのプラグインはKUSANAGIで有名なPrime Strategy社製なので、安心して使用出来るでしょう。

Akismet

Akismetは非常に有名なコメントスパム対策用プラグインです。

WordPressはコメント機能がデフォルトで搭載されていますが、それを狙ったコメントスパムが大量に存在しています。

Akismetは独自のフィルタを使用することでコメントスパムを自動で隔離もしくは削除を行い、管理者の手間を大幅に短縮してくれます。

コメント機能を有効化していないサイトであれば使用する必要は一切ありませんが、現段階で使用しているならば利用をおすすめします。

Google XML Sitemaps

Google XML Sitemapsは巡回ロボット用に最適化されたXMLサイトマップを出力してくれるプラグインです。

サイトマップは更新情報を迅速に検索エンジンへ伝える重要な要素であるため、サイトマップを設定することは有益な結果をもたらします。

この手のサイトマッププラグインは多数ありますが、このプラグインはカスタム要素があるために痒い所に手が届く仕様となっています。

それに加えてこのプラグインは10年以上更新され続けている実績があるため、安心して使うことが出来るのもメリットの一つです。

Google Search Consoleでは自サイトのサイトマップを登録する機能が提供されているので、プラグインで生成されたサイトマップを登録することをおすすめします(有益な結果を得られるとしてGoogleは登録を推奨している)。

NextScripts: Social Networks Auto-Poster

NextScripts: Social Networks Auto-Posterは非常に便利なSNS自動記事投稿プラグインです。

記事投稿時や記事修正時に自動でSNSへ内容を投稿してくれるため、手動と比べて負担が大きく減少します。

対応しているSNSは海外向けが多いですが、FacebookやTwitter、BloggerにInstagramそしてTumblrなど、日本でも使用者が多いSNSは一応カバーされています。

こちらも更新回数が多めなので安心して使えます。

Nginx Helper

Nginx HelperFastCGI Cacheで生成されたキャッシュを削除してくれるプラグインです。

前回の記事ではFastCGI Cacheの導入方法を紹介しましたが、その時の設定では時間経過による削除のみで全キャッシュを削除することや、記事更新時にキャッシュを削除するなどの高度な方法は使用出来ません。

しかし、このプラグインを使用することで全キャッシュの削除はもちろん、記事の更新時にそのページのみキャッシュを削除したり、記事投稿時にトップページのみキャッシュを削除するなどの設定が可能となります。

ただ、プラグインを使う前に少し設定が必要となりますので注意です。

プラグイン自体の紹介は別記事で行う予定ですが、簡単な説明だけ以下に紹介します。

まず最初に『Purge Method』はngx_cache_purge moduleを導入している方の場合『Using a GET request to PURGE/url (Default option)』を選択します。

そうではない方は『Delete local server cache files』を選択し、Nginx Helperにキャッシュの場所を認識させるために『wp-config.php』を編集します(例ではexample.comになっています)。

コマンドラインを使わず直接編集出来る方はそのまま編集しても構いません。

$ sudo vim /var/www/example.com/wp-config.php
wp-config.php

/** NGINX HELPER */
define( 'RT_WP_NGINX_HELPER_CACHE_PATH', '/var/cache/nginx/fastcgi-cache');

/**#@+
 * 認証用ユニークキー

次にPHP-FPMのユーザーをnginxに変更します。

$ sudo vim /etc/php/7.0/fpm/pool.d/www.conf
www.conf

user = nginx

最後にウェブサイトのメインフォルダ(例ではexample.com)の所有者をnginxに変更します。

$ sudo chown -R nginx /var/www/example.com/

その後はNginxとPHPを再起動します。

$ sudo service nginx restart
$ sudo service php7.0-fpm restart

なお、当サイトが紹介したFastCGI Cacheの設定はPCとモバイルのキャッシュ分割に対応しているため、こちらも設定を行わなければなりません(そのままではモバイル版のキャッシュが削除されないため)。

こちらはNginx Helperのプラグイン内にある『nginx-helper/purger.php』を編集します。

現時点で該当する場所は一箇所しかないため、分かり辛い場合は検索モード(Ctrl+F)で調べて下さい。

エラーの原因となるため、編集の際は必ずプラグインを停止して下さい。

nginx-helper/purger.php

					// 追加
					$this->_delete_cache_file_for( 'mobile.' . $_url_purge );

					$this->_delete_cache_file_for( $_url_purge );

Optimize Database after Deleting Revisions

Optimize Database after Deleting Revisionsリビジョン(記事履歴)を削除した後にデーターベースを最適化させるいわゆるお掃除プラグインの一種です。

リビジョンはウェブサイトの容量を圧迫してパフォーマンスを悪化させるおそれがあり、定期的に削除を行う必要があります。

データーベースも同じでWordPressはデーターベースを頻繁に書き込みを行うため、定期的に最適化を行わなければ徐々にパフォーマンスが悪くなっていきます。

このプラグインを使えばまとめて整頓してくれるので、まさに一石二鳥です。

また、このプラグインは常に有効化する必要もありませんので、使わない時には停止しておけばパフォーマンスを妨げる事もありません。

PubSubHubbub

PubSubHubbub検索エンジンにウェブサイトの更新を迅速に伝えるプラグインです。

PubSubHubbub(Wikipedia)はリアルタイムにコンテンツの情報を通知するシステムで、PuSHとも言われています。

このPuSHはGoogleの検索部門で有名なMatt Cuts氏が利用を推奨しており、PuSHを利用することでいち早くGoogleに更新を伝えることが出来ます

誰よりも早くGoogleに更新を伝えるということは通知が一番早い=オリジナルであると主張する事と同じで、これは他者のコンテンツを横取りしようとするコピー記事に対する対策となります。

そのため、このプラグインの導入は極めて望ましいでしょう。

Query Monitor

Query MonitorWordPressが実行している内容を出力するデバッグ用プラグインです。

このプラグインではSQLの情報やテンプレートやスクリプトなど、多くの状況をチェックするので、エラーの発生やパフォーマンスの悪化などを素早く発見出来るでしょう。

ただ、内部情報は複雑なため、ある程度使い慣れた人向けとなっています。

こちらも使う時だけ有効化していれば、パフォーマンスの足枷になることがありません。

W3 Total Cache

W3 Total CacheWordPressのパフォーマンスを向上させる、非常に有名なプラグインです。

このプラグインは多くの設定項目があり、それぞれ有効無効と設定することが出来ます。

便利なプラグインですが、これまでの記事で行った設定では競合が発生して不具合の発生が考えられます。

そのため、こちらでは『Database Cache』および『Object Cacheのみを有効化しています。

なお、現段階ではプラグインがPHP7用にコーディングされていないため、一部でエラーが発生します。

対策としてはW3 Total Cacheのコアファイル内(/wp-content/plugins/w3-total-cache/lib/W3/Plugin/TotalCache.php)にある『TotalCache.php』を編集します。

コマンドライン以外で編集出来る方はそちらでも構いませんが、どちらにしてもプラグインを無効化した状態で編集して下さい

該当する変更箇所は一つのみです

2016/09/27追記

W3 Total Cacheのアップデートにより、おそらくこのエラーは発生しないようになりました。

なので下記の修正を行う必要はありません。

また、今回のアップデートではエラー修正だけでなく、最近発見されたハイリスクなXSS脆弱性の修正を行っているとのことなので、早めに更新しておきましょう。

$ sudo vim /var/www/example.com/wp-content/plugins/w3-total-cache/lib/W3/Plugin/TotalCache.php
TotalCache.php

// https://github.com/gadelkareem/wp-w3-total-cache/commit/e71030e89f4cd666742ae2ec39451782beb42f3a より

// 変更前
function ob_callback(&$buffer) { 

// 変更後
function ob_callback($buffer) { 

WP Multibyte Patch

WP Multibyte Patchマルチバイト文字の機能を拡張するプラグインです。

日本語はマルチバイト文字なので、英語圏で作成されたWordPressでは何らかの不具合が生じるおそれがあります。

このプラグインはそのような不具合の修正および対策を行っており、より安全にWordPressを使用することが出来るようになっています。

日本語環境でWordPressを使用するにはほぼ必須と言えるプラグインなので、別途対策を行っているなどがない限りは有効化しておくべきです。

functions.phpの設定

WordPressには『functions.php』というファイルが存在しています。

このファイルはWordPressを拡張させるためのもので、functions.phpを通して様々な事を実現することが出来ます。

ただ、設定を間違えると白画面状態になってしまうため(修正にはFTP等で直接編集する必要がある)、編集には注意が必要です。

今回はそのfunctions.phpを使った、一部設定を紹介します。

必要だと感じた項目だけ追加して下さい。

WordPressによる画像自動圧縮を無効化

WordPressはJPG画像のアップロード時に自動圧縮を行っています。

サーバのディスク容量は基本的に有限なので圧縮した方がメリットは大きいです。

しかし、この圧縮は非可逆圧縮なので、どうしても画像が元ファイルより汚くなりがちです。

この時、functions.phpを使って画像圧縮のレベルを自分で決めてしまいます。

functions.php

// WPによる自動画像圧縮を無効
add_filter('jpeg_quality', function($arg){return 100;});
add_filter( 'wp_editor_set_quality', function($arg){return 100;});

設定値は100~1まで指定でき、1に近いほど画質が劣化します(それに伴って画像の容量も減少)。

例では設定値が『100』になっていますが、これにより自動画像圧縮が無効化されます。

なお現在のデフォルトは『82』と設定されています。

ちなみにjpeg_qualityは使用が非推奨となっており、現在はwp_editor_set_quality推奨されています。

元画像のサイズが一定以上の場合に縮小

高解像度の画像だと非常にサイズが大きく、それに付随して容量も大きいため、サーバを必要以上に圧迫してしまいます。

この対策として、一定サイズ以上の画像がアップロードされた場合に元画像を自動的に縮小します。

例では縦か横のサイズが1024pxを超えた場合、縦横1024pxの範囲で自動的に縮小が行われます。

以下で対応しているファイルタイプはJPGとPNGのみです。

functions.php

// 引用元:WordPressで画像アップロード時に自動的に回転・リサイズさせる方法
// 引用元URL:http://magnets.jp/web_design/508/

// 元ファイルのサイズが縦or横1024px以上なら縮小
function modify_original_image_size( $file ) {

	// ファイルタイプ指定(JPG or PNG)
	if ( $file['type'] == 'image/jpeg' OR $file['type'] == 'image/png') {

		// 画像の情報を取得
		$image = wp_get_image_editor( $file['file'] );

		// エラーが無い場合
		if ( ! is_wp_error( $image ) ){

			// 最大画像サイズを指定
			$max_width = 1024;
			$max_height = 1024;
			$size = $image->get_size();
			$width = $size['width'];
			$height = $size['height'];

			// 指定サイズを超えた場合
			if ($width > $max_width || $height > $max_height) {
				$image->resize($max_width, $max_height, false);

				// 画像を保存(サイズ変更を無効化する場合は以下をコメントアウト)
				$image->save($file['file']);

			}

		}

	}

  return $file;

}
add_filter( 'wp_handle_upload', 'modify_original_image_size' );

画像のrelを削除する

WordPressは記事に画像を添付する際にrelというタグを付与します(relはrelationの略で関係を意味する)。

このrelは画像の関係性を示すために使用されていますが、Lightbox系のプラグインを使用する場合にプラグインが正常に動かないという不具合が存在しています。

これを解消するために以下をfunctions.phpに追加します。

functions.php

// 引用元:Remove rel=“attachment wp-att-XX”
// 引用元URL:https://wordpress.stackexchange.com/questions/88984/remove-rel-attachment-wp-att-xx

// 画像添付時に付与されるrelを削除
function my_remove_rel_attr($content) {
    return preg_replace('/\s+rel="attachment wp-att-[0-9]+"/i', '', $content);
}
add_filter('the_content', 'my_remove_rel_attr');

検索時に固定ページを除外する

WordPressにはデフォルトで記事検索が出来るようになっていますが、その検索範囲は固定ページも含まれています。

検索時に固定ページは除外して記事のみを対象にしたいという場合は以下を追加します。

functions.php

// 引用元:Wordpress 検索結果から固定ページを除外したい
// 引用元URL:http://chaika.hatenablog.com/entry/2014/10/10/200016

// 検索結果固定ページ除外
function my_posy_search($search) {
  if(is_search()) {
    $search .= " AND post_type = 'post'";
  }
  return $search;
}
add_filter('posts_search', 'my_posy_search');

検索ワードが空文字の場合はトップページへ移動する

バージョン4.0以前では、空文字検索は自動的にトップページに移動する仕様でした。

現在のWordPressでは空文字(未入力)で検索した場合は空文字での検索結果が表示されます。

これを以前の仕様に戻します。

functions.php

// 引用元:WordPress 4.0 から、空文字の検索に対する挙動が変わったようです
// 引用元URL:http://morilog.com/wordpress/tips/empty_search_redirect/

// 検索時空白はトップページに移動
function empty_search_redirect( $wp_query ) {
    if ( $wp_query->is_main_query() && $wp_query->is_search && ! $wp_query->is_admin ) {
        $s = $wp_query->get( 's' );
        $s = trim( $s );
        if ( empty( $s ) ) {
            wp_safe_redirect( home_url('/') );
            exit;
        }
    }
}
add_action( 'parse_query', 'empty_search_redirect' );

画像サイズの項目を新規作成する

WordPressはメディアでの画像サイズ以外にも別のサイズを追加することが出来ます

新規作成名』『横サイズ』『縦サイズ』『トリミングの有無(true or false)』の順で設定を行います。

functions.php

// サムネイル生成
add_image_size( 'newsize', 250, 150, true );

名無しの名前を変換

WordPressでコメントを行う時、設定次第では名無しでも投稿が可能です。

しかし、その時の名前は『匿名』というように名前が固定されています。

これを自分が考えた好きな名無しネームへと変更します。

例では『名無しさん』としています。

functions.php

// 引用元:コメントが無記名である時の「匿名」という名前の変更
// 引用元URL:https://ja.forums.wordpress.org/topic/159257

// コメント名無し時に変換
function rename_anonymous( $author = '', $comment_ID = 0, $comment ) {
  if( empty( $comment->comment_author ) && empty( $comment->user_id ) ) {
    $author = '名無しさん';
  }

  return $author;
}
add_filter( 'get_comment_author', 'rename_anonymous', 20, 3 );

コメントの一部記入欄を削除する

WordPressではコメントする際に名前とメインのコメント欄以外に『メールアドレス』と『ウェブサイト』の記入欄が存在しています。

個人的には特別記入することも無いと思うため、その2つの欄を消してしまいます。

functions.php

// 引用元:コメントフォーム・リストのカスタマイズ 
// 引用元URL:http://kwski.net/wordpress/1060/

// コメントフォームの一部記入欄を削除
function my_comment_form_fields( $fields){
    unset( $fields['email']);   // 「メールアドレス」を非表示にする場合
    unset( $fields['url']);     // 「ウェブサイト」を非表示にする場合
    return $fields;
}
add_filter( 'comment_form_default_fields', 'my_comment_form_fields');


// 引用元:WordPress コメント入力欄をカスタマイズしてウェブサイト(URL)やメールアドレスを簡単に消す方法
// 引用元URL:http://debate.co.jp/901

function my_comment_notes_before( $defaults){
$defaults['comment_notes_before'] = '';
return $defaults;
}
add_filter( "comment_form_defaults", "my_comment_notes_before");

コメントのHTML使用を無効化する

WordPressのコメントではHTMLのコードを利用することが出来ます。

ただ厄介なのが、タグを付ける時に終了タグが無かった場合、他の要素にまで影響が出てしまいます。

そのような事は避けたいため、コメント欄ではHTMLは無効化して文字のみ出力するよう変更します。

functions.php

// 引用元:コメントの投稿欄でタグを無効にしてみた
// 引用元URL:http://serenegiant.com/blog/?p=1360

// コメントのHTML使用を無効化
remove_filter('comment_text', 'make_clickable', 9);

add_filter( 'comment_text_rss', 'escape_tags', 9);
add_filter( 'comment_excerpt',  'escape_tags', 9);
function escape_tags( $comment_content ) {
	if ( get_comment_type() == 'comment' ) {
		$comment_content = htmlentities($comment_content, ENT_QUOTES, "UTF-8");
	}
	return $comment_content;
}

W3 Total Cacheが出力するコメントを削除

W3 Total Cacheはデフォルトでフッター部分に圧縮結果などのコメントを出力しています。

人によっては邪魔だと感じてしまうため、これを削除します。

functions.php

// 引用元:W3 Total Cacheでヘッダーに書かれるコメントを無効にする
// 引用元URL:http://blog.96color.com/disabling-w3-total-cache-header-comment.html

// W3 Total Cacheが出力するコメントを削除
add_filter( 'w3tc_can_print_comment', function( $w3tc_setting ) { return false; }, 10, 1 );

記事前文と記事本文の間にコンテンツを挿入

様々なサイトで記事の前文と本文の間に何らかのコンテンツを入れているパターンがあります。

以下をfunctions.phpに挿入することで実現することが出来ます。

functions.php

// 引用元:WordPressのmoreタグの直後に、Adsenseのレスポンシブ広告を出す方法
// 引用元URL:http://tontotakumi.com/web-seisaku/wordpress/more-adsense/

// 記事前文と記事本文の間に位置へ挿入
add_filter('the_content', 'adMoreReplace');
function adMoreReplace($contentData) {
$adTags = <<< EOF

ここに入れたいコンテンツを挿入する

EOF;
 
$contentData = preg_replace('/<\/span>/', $adTags, $contentData);
return $contentData;
}

404ページをキャッシュ無効化させない

WordPressはデフォルトで404ページがキャッシュされない設定となっています。

これをキャッシュ出来るように設定を変更します。

functions.php

// 引用元:NginxとWordpressの404ページがproxy cacheできない
// 引用元URL:http://qiita.com/osamu1203/items/9ce685df1ce3649c1819

// 404ページをキャッシュ無効化させない
function remove_nocache_on_404(){
    if(is_404()){
        header_remove("Pragma");
        header_remove("Cache-Control");
        header_remove("Expires");
    }
}
add_action('wp','remove_nocache_on_404');

自動整形機能を削除

WordPressにはタグを自動的に挿入する自動整形機能が搭載されており、これによって初心者でも簡単にブログ記事を作ることが出来ます。

しかし、普段からタグを手動で挿入している人や、自動整形が厄介だと感じる人にとってこの機能はよろしくありません。

以下を記述することによって自動整形機能を無効化します。

functions.php

// 引用元:WordPressでエディタに自動生成されるタグ(<p>とか<br>)を制御する方法まとめ
// 引用元URL:https://webkikaku.co.jp/blog/wordpress/wordpress-automatic-forming-control/

// 自動整形機能の無効化
add_action('init', function() {

	remove_filter('the_title', 'wpautop');
	remove_filter('the_content', 'wpautop');
	remove_filter('the_excerpt', 'wpautop');
	remove_filter('the_editor_content', 'wp_richedit_pre');
});

// 自動整形機能の無効化 TinyMCE
add_filter('tiny_mce_before_init', function($init) {
	$init['wpautop'] = false;
	$init['apply_source_formatting'] = ture;
	return $init;
});

絵文字の削除

WordPress4.2から絵文字を読み込むスクリプトが自動的にソースへ挿入される仕様となりました。

しかし、絵文字の使用を想定していない人にとっては不要な存在です。

以下を記述することでスクリプトの挿入を無効化します。

functions.php

// 引用元:【WordPress】自動で読み込まれる絵文字対応の JavaScript と CSS を無効化する方法
// 引用元URL:http://on-ze.com/archives/2605

// emoji削除
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
remove_action('admin_print_scripts', 'print_emoji_detection_script');
remove_action('admin_print_styles', 'print_emoji_styles');

CSS、Javascriptのバージョン表記を削除

WordPressを使用していると、一部のファイルの末尾にバージョンが表記されている場合があります。

これはセキュリティ的によろしくありませんので削除します。

functions.php

// 引用元:WordPress:functions.phpでJSやCSSを一元管理する方法とバージョン表記を消す方法
// 引用元URL:http://www.nxworld.net/wordpress/wp-action-hook1.html

// css、javascriptのバージョン表記を削除
function remove_cssjs_ver( $src ) {
	if( strpos( $src, '?ver=' ) )
		$src = remove_query_arg( 'ver', $src );
	return $src;
}
add_filter( 'script_loader_src', 'remove_cssjs_ver', 10, 2 );
add_filter( 'style_loader_src', 'remove_cssjs_ver', 10, 2 );

ウィジェットでショートコードを使用可能にする

便利な機能であるショートコードですが、デフォルトではウィジェットで使用することが出来ません。

以下を記述することでウィジェットでも使用可能にします。

functions.php

//ウィジェットでショートコードを使用可能に
add_filter('widget_text', 'do_shortcode');

続きを読むのmore-xxxを削除

WordPressのデフォルトでは続きを読むをクリックした場合、記事の最初ではなく続きから表示されます。

人によってはこの仕様が邪魔と感じるため、削除します。

functions.php

// 引用元:more-link の #more-xxxx を削除する
// 引用元URL:https://dogmap.jp/2009/11/10/custom-more-link/

//URLのmore-xxxを削除
function custom_content_more_link( $output ) {
$output = preg_replace('/#more-[\d]+/i', '', $output );
return $output;
}
add_filter( 'the_content_more_link', 'custom_content_more_link' );

PCタブレットorスマホで分岐

モバイル端末の使用が極めて多くなった現在では、使用する端末によって表示を変えたいと思う場合が多いと思います。

デフォルトではwp_is_mobileという条件を使用することが出来ます。

しかし、この条件は『スマホタブレット』or『PC』という条件になっています。

これを『スマホ』or『PCタブレット』で使えるように新しい条件『is_mobile』を作成します。

functions.php

// 引用元:phpでスマートフォンの判別(判定)
// 引用元URL:http://www.kens-web.com/2011/06/1244

//スマートフォン or PC+タブレットの表示分岐
function is_mobile(){
    $useragents = array(
        'iPhone', // iPhone
        'iPod', // iPod touch
        'Android.*Mobile', // 1.5+ Android *** Only mobile
        'Windows.*Phone', // *** Windows Phone
        'dream', // Pre 1.5 Android
        'CUPCAKE', // 1.5+ Android
        'blackberry9500', // Storm
        'blackberry9530', // Storm
        'blackberry9520', // Storm v2
        'blackberry9550', // Storm v2
        'blackberry9800', // Torch
        'webOS', // Palm Pre Experimental
        'incognito', // Other iPhone browser
        'webmate' // Other iPhone browser

    );
    $pattern = '/'.implode('|', $useragents).'/i';
    return preg_match($pattern, $_SERVER['HTTP_USER_AGENT']);
}

フィードにアイキャッチ画像を表示し、moreの前まで表示する

WordPressのデフォルトでは自サイトのRSSフィードにはアイキャッチ画像が表示されません。

これを表示するように変更し、更に記事表示をmoreタグの前までに変更します。

functions.php

// 引用元:WordPress:RSSフィードにmoreタグを入れた箇所までの内容だけを出力
// 引用元URL:http://pressstocker.com/rss-more/

// フィードにアイキャッチ画像を表示する+フィードにmoreタグの部分までを表示
function my_content_feeds($content) {
	global $post, $more;
	$more = false;
	$content = apply_filters('the_content', get_the_content(''));
	$content = str_replace(']]>', ']]>', $content);
	if(has_post_thumbnail($post->ID)) {
		$content = '

' .get_the_post_thumbnail($post->ID,'medium'). '

' . $content; } return $content; } add_filter('the_excerpt_rss', 'my_content_feeds'); add_filter('the_content_feed', 'my_content_feeds');

HTMLをMinifyする

通常のHTMLでは改行などはそのまま出力されますが、パフォーマンスを向上させたい場合はMinify(圧縮)を行う必要があります。

少々長いので別ページのみとなりますが、このコードを挿入することでHTMLを圧縮することが出来ます。

ただし、圧縮を行うと既存コードに不具合が生じる場合があるため、異常が起こると問題が大きくなる場合は使用しないで下さい

コードは以下に記述されています。

https://gist.github.com/unfulvio/5889564

次回は画像圧縮の設定

次回は『画像圧縮の設定』ということで、記事では『ImageMagick(Imagick)』『mozjpeg』『pngquant』の導入方法を説明します。

画像圧縮というと有名なプラグインであるEWWW Image Optimizerなどがありますが、それらプラグインを使わずに良い圧縮を行えるよう設定を行います。

シリーズ目次

記事内でのサンプルは『さくらVPS4G・Ubuntu14.04・Nginx・PHP7・MariaDB・Wordpress・+α』となっています。

記事の執筆時、参考となった情報はここのtxtで公開しています。

暗号通貨アドレス

寄付されたコインはサイト運営やコミュニティの発展のために使用されます。

Bitcoin:1NEh5GY6GyY3NZ3bY4ZUtu1CWhRcGhErwc

NEM:NDBEQJ-7XIF6P-46AST5-2JQVLP-JIJS43-VOY5L7-LWA5

アンテナサービス運営中

当サイトでは現在アンテナサービス(プリズムアンテナ)を運営しています。

様々なジャンルのサイト(200以上)を取り扱っているので、よろしければ暇つぶしにどうぞご利用下さい。

アンテナのジャンルについては『アンテナについて』をご覧下さい。