Your SlideShare is downloading. ×
0
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
WordPress を使いこなそう
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

WordPress を使いこなそう

36,698

Published on

Published in: Technology
0 Comments
63 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
36,698
On Slideshare
0
From Embeds
0
Number of Embeds
15
Actions
Shares
0
Downloads
140
Comments
0
Likes
63
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. WordPressを使いこなそう Vol.1 2012.08.24 - wokamoto2012年8月23日木曜日
  • 2. 自己紹介 WordPress Plugins/JSeries プロジェクト の一員で、主に WordPress のプラグイン をつくっています。 Head Cleaner - <head> 部分のお掃除をするプ ラグイン OAuth Provider - WordPress を OAuth プロ バイダにするプラグイン http://profiles.wordpress.org/wokamoto2012年8月23日木曜日
  • 3. WordPress のパフォーマンス チューニング済 AMI "網元" を 公開したりしました。 http://ja.megumi-cloud.com/2012年8月23日木曜日
  • 4. 最近、こんなん書きました WordPress 高速化&スマート運用 必携ガイド2012年8月23日木曜日
  • 5. 概要 WordPress を使ったウェブサイトの パフォーマンス改善について ボトルネックの特定方法 プラグインを導入した改善手法 サーバサイドの改善方法2012年8月23日木曜日
  • 6. ボトルネックを探る2012年8月23日木曜日
  • 7. 遅くなる原因 PHP の処理が遅い MySQL の処理が遅い 回線速度の問題2012年8月23日木曜日
  • 8. PHP の処理が遅い プラグインやテーマが非効率 無駄に WordPress が動作している アクセスが多くて、処理が追いついてない2012年8月23日木曜日
  • 9. MySQL の処理が遅い プラグインの詰め込みすぎでクエリーが多い クエリーが適切にチューニングされていない MySQL サーバが適切にチューニングされてい ない2012年8月23日木曜日
  • 10. 回線速度の問題 画像ファイルなど大きいファイルが多い CSS, JS の読み込みが多い 外部から読み込んでいる JS が遅い2012年8月23日木曜日
  • 11. Debug Bar と Debug Bar Extendar2012年8月23日木曜日
  • 12. http://wordpress.org/extend/plugins/debug-bar/ http://wordpress.org/extend/plugins/debug-bar- extender/2012年8月23日木曜日
  • 13. インストールしたら wp-config.php に以下を追加 define(SAVEQUERIES, true); define(WP_DEBUG, true); define(WP_DEBUG_DISPLAY, false);2012年8月23日木曜日
  • 14. Debug Bar でボトルネックに なっている処理を特定する2012年8月23日木曜日
  • 15. Debug Bar の Profiler タブに 表示するチェックポイントを追加 <?php if ( function_exists("dbgx_checkpoint") ) dbgx_checkpoint( $note="注釈" ); ?>2012年8月23日木曜日
  • 16. WordPress を 極力動かさない2012年8月23日木曜日
  • 17. 存在しないファイルへのアクセス で WordPress が実行してしまう # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress2012年8月23日木曜日
  • 18. ブラウザ・クローラが 存在確認するファイル /favicon.ico /apple-touch-icon.png /robots.txt /crossdomain.xml2012年8月23日木曜日
  • 19. # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} ! !.(html?|xml|txt|xsl|js|css|jpe?g|png|gif|ico)$ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress2012年8月23日木曜日
  • 20. JavaScript の 重複に気をつける2012年8月23日木曜日
  • 21. <?php wp_enqueue_script(jquery); ?>2012年8月23日木曜日
  • 22. jQuery だけ Google AJAX Libraries のモノを使う <?php wp_deregister_script(jquery); wp_enqueue_script( jquery, http:/ /ajax.googleapis.com/ajax/libs/ jquery/1.7.2/jquery.min.js, array(), 1.7.2); ?>2012年8月23日木曜日
  • 23. 静的ファイルに 有効期限を設ける2012年8月23日木曜日
  • 24. <IfModule mod_expires.c> ExpiresActive On ExpiresDefault "access plus 1 seconds" ExpiresByType text/html "access plus 1 seconds" ExpiresByType image/gif "access plus 30 days" ExpiresByType image/jpeg "access plus 30 days" ExpiresByType image/png "access plus 30 days" ExpiresByType image/x-icon "access plus 30 days" ExpiresByType text/css "access plus 7 days" ExpiresByType text/javascript "access plus 7 days" ExpiresByType application/x-javascript "access plus 7 days" </IfModule>2012年8月23日木曜日
  • 25. Expires 設定した時の 注意点 wp_enqueue_style( my-theme-style, get_template_directory_uri() . /style.css, array(), date(YmdHis, filemtime(get_template_directory() . /style.css) ) );2012年8月23日木曜日
  • 26. テキストファイルを gzip 圧縮転送する2012年8月23日木曜日
  • 27. <IfModule mod_deflate.c> SetOutputFilter DEFLATE BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4.0[678] no-gzip BrowserMatch bMSIE/[1-6] !no-gzip !gzip-only-text/html SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png|ico|pdf)$ no-gzip dont-vary SetEnvIfNoCase Request_URI _.utxt$ no-gzip DeflateCompressionLevel 4 AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/x-httpd-php </IfModule>2012年8月23日木曜日
  • 28. .htaccess を 極力使わない2012年8月23日木曜日
  • 29. / に対して AllowOverride が有効になっている場合 /wp-includes/js/jquery/jquery.js にアクセスがあった 際は Apache は以下のファイルをすべて調べる /.htaccess /wp-includes/.htaccess /wp-includes/js/.htaccess /wp-includes/js/jquery/.htaccess2012年8月23日木曜日
  • 30. 画像ファイルを 最適化する2012年8月23日木曜日
  • 31. http://wordpress.org/extend/plugins/wp-smushit/2012年8月23日木曜日
  • 32. 配信先を複数に 分ける2012年8月23日木曜日
  • 33. http://wordpress.org/extend/plugins/wp-flickr-press/2012年8月23日木曜日
  • 34. http://wordpress.org/extend/plugins/tantan-s3/2012年8月23日木曜日
  • 35. CDN を使って コンテンツを配信する2012年8月23日木曜日
  • 36. http://wordpress.org/extend/plugins/wpbooster-cdn- client/2012年8月23日木曜日
  • 37. CSS, JS を 最適化する2012年8月23日木曜日
  • 38. http://wordpress.org/extend/plugins/head-cleaner/2012年8月23日木曜日
  • 39. 適用前2012年8月23日木曜日
  • 40. 適用後2012年8月23日木曜日
  • 41. WordPress の出力を キャッシュする2012年8月23日木曜日
  • 42. Object Cache2012年8月23日木曜日
  • 43. よくある WordPress 高速化の手法 <?php bloginfo(stylesheet_url) ?> テンプレートタグをテーマ中に書くと MySQL サーバに アクセスして遅くなるので URL を直接書こう。 http://example.jp/wp-content/themes/example/style.css 残念ながら、この手法にはあまり効果がありません。2012年8月23日木曜日
  • 44. wp_cache_add( $key, $data, $group ) wp_cache_replace( $key, $data, $group ) wp_cache_set( $key, $data, $group ) wp_cache_get( $key, $group ) wp_cache_delete( $key, $group ) wp_cache_flush()2012年8月23日木曜日
  • 45. オブジェクトキャッシュされたデータは 通常、毎回破棄される2012年8月23日木曜日
  • 46. オブジェクトキャッシュされたデータ を永続的に使用するためのプラグイン http://wordpress.org/extend/plugins/wp-file-cache/ http://wordpress.org/extend/plugins/apc/ http://wordpress.org/extend/plugins/memcached/2012年8月23日木曜日
  • 47. DB のクエリー実行結果 をキャッシュする2012年8月23日木曜日
  • 48. http://wordpress.org/extend/plugins/db-cache- reloaded-fix/2012年8月23日木曜日
  • 49. WordPress の出力を 丸ごとキャッシュする2012年8月23日木曜日
  • 50. http://wordpress.org/extend/plugins/wp-super-cache/2012年8月23日木曜日
  • 51. http://wordpress.org/extend/plugins/nginx-champuru/2012年8月23日木曜日
  • 52. MySQL の チューニング2012年8月23日木曜日
  • 53. $ wget mysqltuner.pl $ chmod +x mysqltuner.pl $ ./mysqltuner.pl2012年8月23日木曜日
  • 54. Twitter : @wokamoto2012年8月23日木曜日

×