asklife

IT&Life

Month: 10月 2014 (page 1 of 2)

PageSpeed Insightに注意されてWordPressを高速化するまでの流れ

画像/CSS/jsをキャッシュ化して高速化する

Googel AnalyticsのPageSpeed Insightという機能で
画像/CSS/jsをキャッシュ化して高速化対応せよと注意されました。

そこでApacheの.htaccessに以下を追加してキャッシュ化しました。

ExpiresActive On
ExpiresByType text/css "access plus 1 days"
ExpiresByType image/gif "access plus 1 weeks"
ExpiresByType image/jpeg "access plus 1 weeks"
ExpiresByType image/png "access plus 1 weeks"
ExpiresByType application/x-javascript "access plus 1 weeks"

参考) http://nelog.jp/wordpress-browser-cache

圧縮を有効化する

次は、不要な画像やcss/jsをgzipせよとの注意です。

これもApacheの.htaccessに以下を追加してキャッシュ化しました。

AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

参考) http://webkaru.net/wordpress/p……s-deflate/

スクロールせずに見えるコンテンツのレンダリングをブロックしている JavaScript/CSS を排除する

・javascript/cssを非同期に読み込ませる
Autoptimizeというプラグインを入れると非同期に読み込んでくれます。

※非同期通信を行うため、「画像-jsで表示する機能-画像」というレイアウト実装をしている場合に読み込み順が前後しレイアウトが崩れるので注意ください。

参考) http://wp-kappa.com/eliminate-……d-content/

PHP Notice: has_cap の使用はバージョン 2.0 から非推奨になりました ! プラグインやテーマでのユーザーレベルの使用は推奨されていません。代わりに権限グループと権限を使ってください。 wp-includes/functions.php on line 3318

PHP Notice: has_cap の使用はバージョン 2.0 から非推奨になりました ! プラグインやテーマでのユーザーレベルの使用は推奨されていません。代わりに権限グループと権限を使ってください。 wp-includes/functions.php on line 3318
というエラーが出ました。

以下参考ページと同じ現象で
http://www.crossl.net/blog/wp_……e_has_cap/
http://curious-everything.com/……entry.html

Advanced make clickableプラグインのadd_options_page関数にて権限を数字で指定しているためNGということですね。

function amc_adminmenu(){
   //add_options_page('Advanced Make Clickable Options', 'Adv-Make-Clickable', 9, 'advanced-make-clickable.php', 'amc_options');
   add_options_page('Advanced Make Clickable Options', 'Adv-Make-Clickable', 'administrator', 'advanced-make-clickable.php', 'amc_options');
}

PHP Noticeエラーを握りつぶす

該当ソースの.phpファイルにて

error_reporting(E_ALL & ~E_NOTICE);

とする。

Noticeエラーは出ているけど、ログに出力させない。

FacebookLikeBoxがchromeでは表示されるのにsafariでは表示されない対処法

FacebookLikeBoxはデフォルトはミスがあるそうで

js.src = "//connect.facebook.net/ja_JP/sdk.js#xfbml=1&appId=

とhttpが抜けています。
safariはこの辺り厳格という話なのでこれかと。

http://blog.noramasa.com/2012/12/04/546

そのブラウザでログインしているか?

ログインした状態だと表示される仕様のようです。
Facebookにログインしているブラウザ=cookieがあるかを見ているみたいです。
知らんがなー
http://src.7438.com/2013/03/01……k-likebox/

WordPressでログ出力する設定方法

WordPressでログ出力してアクセス解析したかったので設定しました。

ログ出力設定

wp-config.php

define('WP_DEBUG', true); //デバッグモードを有効にする
if (WP_DEBUG) { //デバッグモードの場合
	define('WP_DEBUG_LOG', true); //エラーをdebug.logファイルに書き出す
	define('WP_DEBUG_DISPLAY', false); //エラーをブラウザに表示しない
	@ini_set('display_errors', 0); //エラーをブラウザに表示しない
}

functions.php

if(!function_exists('_log')){
  function _log($message) {
    if (WP_DEBUG === true) {
      if (is_array($message) || is_object($message)) {
        error_log(print_r($message, true));
      } else {
        error_log($message);
      }
    }
  }
}

表示したいphpにて

_log("Hello, World!");

参考) http://toriaezu-engineer.haten……/26/001242

タイムゾーンを日本時間に

・sakuraの設定
php.iniの編集で以下にする
date.timezone = Asia/Tokyo
参考) http://www2.tmyinsight.net/?p=188

・WordPressの設定
wp-setting.php

date_default_timezone_set( 'Asia/Tokyo' );

参考) http://server-setting.info/blo……ezone.html

Older posts

© 2017 asklife

Theme by Anders NorenUp ↑