Start
Entdecken
Suche senden
Hochladen
Einloggen
Registrieren
Anzeige
WordBench Saitama vol.6
Melden
masaaki komori
Folgen
Independent Graphic Design Professional um Freelancer
20. Apr 2012
•
0 gefällt mir
18 gefällt mir
×
Sei der Erste, dem dies gefällt
Mehr anzeigen
•
1,829 Aufrufe
Aufrufe
×
Aufrufe insgesamt
0
Auf Slideshare
0
Aus Einbettungen
0
Anzahl der Einbettungen
0
Check these out next
第3回WordPress Cafe プラグイン紹介
foom_in
ユニキャストワークショップ2013 はじめてのWebプログラミング#1 ~WordPressからはじめよう~
Unicast Inc.
Movable Type as a Playground
Taku AMANO
WordPress を使いこなそう
Wataru OKAMOTO
Xml rpc を使ってブログ投稿
Fumito Mizuno
Web Site Optimization for Beginners
masaaki komori
WordPress REST API とリアクティブプログラミング
Hiromasa Tanaka
HTML5-20100626
Taku AMANO
1
von
36
Top clipped slide
WordBench Saitama vol.6
20. Apr 2012
•
0 gefällt mir
18 gefällt mir
×
Sei der Erste, dem dies gefällt
Mehr anzeigen
•
1,829 Aufrufe
Aufrufe
×
Aufrufe insgesamt
0
Auf Slideshare
0
Aus Einbettungen
0
Anzahl der Einbettungen
0
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Melden
Technologie
WordBench 埼玉 vol.6 こもりの資料
masaaki komori
Folgen
Independent Graphic Design Professional um Freelancer
Anzeige
Anzeige
Anzeige
Recomendados
WordCamp Yokohama 2010 Komori
masaaki komori
1.3K Aufrufe
•
25 Folien
WordCamp Tokyo2016itkaasan
松田 千尋
11.3K Aufrufe
•
53 Folien
このべん第5回 ConoHaでWordPressのお勉強!
Hironobu Saitoh
3.3K Aufrufe
•
28 Folien
CSSフレームワークを使った 簡単なレスポンシブデザインの作成
Kazuki Akiyama
13.3K Aufrufe
•
33 Folien
クラウドのようなVPS 「ConoHa」 を使ってみよう +おまけ
Hironobu Saitoh
1.5K Aufrufe
•
19 Folien
AWS+WordPressでつくるFirefoxアプリ
Takayuki Miyauchi
17.5K Aufrufe
•
24 Folien
Más contenido relacionado
Presentaciones para ti
(20)
第3回WordPress Cafe プラグイン紹介
foom_in
•
21.1K Aufrufe
ユニキャストワークショップ2013 はじめてのWebプログラミング#1 ~WordPressからはじめよう~
Unicast Inc.
•
1.9K Aufrufe
Movable Type as a Playground
Taku AMANO
•
1.5K Aufrufe
WordPress を使いこなそう
Wataru OKAMOTO
•
66.8K Aufrufe
Xml rpc を使ってブログ投稿
Fumito Mizuno
•
1.5K Aufrufe
Web Site Optimization for Beginners
masaaki komori
•
3.9K Aufrufe
WordPress REST API とリアクティブプログラミング
Hiromasa Tanaka
•
2.2K Aufrufe
HTML5-20100626
Taku AMANO
•
659 Aufrufe
20160720 okubo mt_cloud_handson
Six Apart
•
460 Aufrufe
WordBench千葉「レベル別Nginx活用法」
Endoh Shingo
•
2K Aufrufe
設計から実装まで、今すぐ始める高速化
masaaki komori
•
13.8K Aufrufe
初心者でもすぐできる Wordpress バックアップのススメ
Seiichiro Mishiba
•
7.4K Aufrufe
CSS Nite LP26 CodeKitで始める次世代Web制作
Maboroshi.inc
•
16.1K Aufrufe
Htmlコーディングの効率化 後編
Yasuhito Yabe
•
1.5K Aufrufe
20160610 mtsaga handson_public
Six Apart
•
450 Aufrufe
DevLove Kansai AWS
Takuro Sasaki
•
22.2K Aufrufe
JAWSUG Kansai Simple Workflow Service (SWF)
Takuro Sasaki
•
12.5K Aufrufe
プラグイン作者脳になろう ~実案件で学ぶプラグイン開発フロー~
Takeuchi Yuichi
•
2.3K Aufrufe
超初心者のためのWordPressのサイトのデザインの微調整方法
Hidekazu Ishikawa
•
17.7K Aufrufe
WordPressでウェブサービスを作ろう! #wbNagoya
Shinichi Nishikawa
•
47.7K Aufrufe
Similar a WordBench Saitama vol.6
(20)
メディア芸術基礎 II jQuery入門
Atsushi Tadokoro
•
4.5K Aufrufe
「html5 boilerplate」から考える、これからのマークアップ
Yasuhito Yabe
•
6K Aufrufe
jsライブラリで実装する効率的なWeb制作
西畑 一馬
•
1.2K Aufrufe
Concentrated HTML5 & Attractive HTML5
Sho Ito
•
3.3K Aufrufe
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
Shumpei Shiraishi
•
4.5K Aufrufe
HTML5 on ASP.NET
Fujio Kojima
•
6.6K Aufrufe
jQuery と MVC で実践する標準志向 Web 開発
Akira Inoue
•
1.9K Aufrufe
Java Script4
Kiminari Homma
•
444 Aufrufe
静的解析とUIの自動生成を駆使してモバイルアプリの運用コストを大幅に下げた話
Takuya Ueda
•
3.6K Aufrufe
2016/12/17 ASP.NET フロントエンドタスク入門
miso- soup3
•
755 Aufrufe
MODXで“超”キレッキレのブログ作る秘訣公開します
Kei Mikage
•
5.6K Aufrufe
第19回html5とか勉強会 pjax
Kensaku Komatsu
•
5.8K Aufrufe
SEOとJava Script。 〜文書構造とチームと、時々、闇〜
Yuki Minakawa
•
3.4K Aufrufe
Webapp startup example_to_dolist
Shinichiro Kumeuchi
•
426 Aufrufe
徳丸本に載っていないWebアプリケーションセキュリティ
Hiroshi Tokumaru
•
51K Aufrufe
web server
soestudio
•
1.4K Aufrufe
Javaな人が気を付けるべきJavaScriptコーディングスタイル
Maaya Ishida
•
902 Aufrufe
ぶっとびケータイ+Firefox OS Apps
EnsekiTT
•
1.1K Aufrufe
Firefox5+HTML5×5
dynamis
•
2.1K Aufrufe
芸術情報演習デザイン(Web) 第8回: CSSフレームワークを使う
Atsushi Tadokoro
•
2K Aufrufe
Anzeige
Más de masaaki komori
(20)
コアなエンジニアじゃなくてもできるよ #JP_Stripes Vol.3
masaaki komori
•
1.6K Aufrufe
InstaVR使ってみた
masaaki komori
•
1.2K Aufrufe
Framerで始めるプロトタイプコーディング
masaaki komori
•
1.7K Aufrufe
Prototyping with Sketch
masaaki komori
•
1.1K Aufrufe
プロトタイピングツール戦国時代
masaaki komori
•
1.5K Aufrufe
Bootstrapではじめる、 Webサイト設計のモダンアプローチ
masaaki komori
•
3.8K Aufrufe
レスポンシブEメールを作ろう
masaaki komori
•
2.1K Aufrufe
Bootstrapはこう使う
masaaki komori
•
21.5K Aufrufe
デバイス多様化の時代のWeb制作
masaaki komori
•
4.2K Aufrufe
2015年のWebサイトの作り方 at 67ws
masaaki komori
•
31.4K Aufrufe
Webデザインと開発の未来
masaaki komori
•
13K Aufrufe
Framerで動くモックアップを簡単作成
masaaki komori
•
10.2K Aufrufe
Sketch 3 Basics at kkmsz
masaaki komori
•
2.8K Aufrufe
Re:Cre Vol.14 | Web design process for the future
masaaki komori
•
8.3K Aufrufe
Web Design Process for The Future
masaaki komori
•
3.7K Aufrufe
Web Design Process for The Future
masaaki komori
•
7.7K Aufrufe
groundwork-pasona-tech
masaaki komori
•
16.4K Aufrufe
インブラウザ勉強会 Vol.1
masaaki komori
•
2.5K Aufrufe
Sublime Text 2 Basics
masaaki komori
•
6.9K Aufrufe
Web制作者は変化についていけるか? 変化についていくべきか?
masaaki komori
•
6K Aufrufe
Último
(20)
ヘッドレス化したbaserCMS5とその機能
Ryuji Egashira
•
10 Aufrufe
留信网认证可查【拜欧拉大学文凭证书毕业证购买】
1lkjhg
•
3 Aufrufe
JSTQB_テストプロセスの概念モデル.pdf
akipii Oga
•
135 Aufrufe
《杨百翰大学毕业证|学位证书校内仿真版本》
d520dasw12
•
2 Aufrufe
オレオレになりがちなテスト計画を見直した話
terahide
•
25 Aufrufe
量子論.pdf
hiro150493
•
5 Aufrufe
3Dプリンタって いいね
infinite_loop
•
22 Aufrufe
触感に関わる共感覚的表現と基本6感情の対応関係の検証
Matsushita Laboratory
•
0 Aufrufe
20230601_Visual_IoTLT_vol14_kitazaki_v1.pdf
Ayachika Kitazaki
•
0 Aufrufe
☀️【麦吉尔大学毕业证成绩单留学生首选】
15sad
•
3 Aufrufe
☀️【杜兰大学毕业证成绩单留学生首选】
2125nuh
•
2 Aufrufe
☀️【中央兰开夏大学毕业证成绩单留学生首选】
25mjhd12
•
4 Aufrufe
MC-800DMT intrusion detector manual
Vedard Security Alarm System Store
•
2 Aufrufe
ペンタエリスリトール市場.pdf
HinaMiyazu
•
3 Aufrufe
TestSIP (1).pdf
DeependraSingh712859
•
2 Aufrufe
Omnis
DaisukeFujita10
•
15 Aufrufe
☀️【卡尔顿大学毕业证成绩单留学生首选】
15sad
•
2 Aufrufe
モバイル・クラウド・コンピューティング-データを如何に格納し、組み合わせ、情報として引き出すか
Masahiko Funaki
•
2 Aufrufe
【DL輪読会】Egocentric Video Task Translation (CVPR 2023 Highlight)
Deep Learning JP
•
6 Aufrufe
20230516 @Mix Leap Hirohiko_Suwa
Masashi Nakagawa
•
83 Aufrufe
Anzeige
WordBench Saitama vol.6
できることから始めるWordPress高速化
Performance Optimization for WordPress こもりまさあき
自己紹介を… こもりまさあき
http://blog.gaspanik.com http://protean.im 1972年生まれのフリーランス。 Webをはじめネットワーク関連業務のほか、テクニカルライティングや講師などの 活動が中心。時と場合によって職種が変わるため、職域的な肩書きはなし 仕事にプライベートにと、実はWordPress歴は長い。 一昨年開催されたWordCamp Yokohamaでは「WordPressをより高速に」、昨年 のWordCamp Tokyoでは「レスポンシブ・パブリッシング」というお題で登壇。 WordPress界で著名な「をかもと」さんとWordPressの高速化本を出しました 近著に『WordPress 高速化&スマート運用必携ガイド(共著・MdN刊)』、 『スマートフォンサイト制作の教科書(共著・MdN刊)』など Twitter: @cipher / @proteanbm Instagram: @cipher
今日の概要はこちら •
サイトが遅くなる原因ってなんだろう? • ボトルネックを探してみよう • サイトの高速化に効くアレコレ
サ トが遅くなる原因ってなんだろう? イ
どうしてサイトの表示が遅くなるのか? • バックエンドのサーバや回線の状態がよろしくない • WordPressの処理に時間がかかっている •
サイトに画像がいっぱい • 外部のサービスからデータを拾っている
いろいろな条件が重なって遅くなる • 共用サーバだったら特定時間に重くなる、など • PHPの処理が遅いのはマシンスペックのせいだけ? •
コンテンツの容量が多ければ、転送時間がかかる • ソーシャルメディア系のボタン、バナー画像…
まずは、どこに問題があるのかを確かめることが大事
ボトルネックを探してみよう
表示のボトルネックを探して対策する流れ • 原因を探らないことには、対処のしようがない • 専用のツールやWebサービスを使って調べる •
秒数が何秒よりも、何が起こっているのかを調べる • 原因を見つけたら、そこを潰していく • できるだけ、ね
代表的なオンラインの計測サービス • WebPage test
(http://webpagetest.org) • Pingdom Tools(http://tools.pingdom.com/fpt/) • Loads.in(http://loads.in/) • Web Wait(http://webwait.com/)
データが転送される様子、ちゃんと見てる?
Webブラウザのアドオンや拡張機能 • Firebug(http://getfirebug.com/)
*1 • YSlow!(http://yslow.org/) • Page Speed(http://bit.ly/HW0vjj) • GTmetrix(http://gtmetrix.com/) *1: FirefoxでYSlow!やPage Speedを動かすために必要。と、同時にNetパネルも使える
改善点は、ツールの指標を参考に
わかった。じゃ、WordPress側の問題点を調べるには?
WordPress内部の処理を調べるには • Debug Bar(http://bit.ly/HW3DMa) •
Debug Bar Extender(http://bit.ly/HW3uZ5) プラグインのインストール後、wp-config.phpに以下を追加してアクティベート define('WP_DEBUG', true); define('SAVEQUERIES', true); define('WP_DEBUG_DISPLAY', false); ※一通りチェックが終わったら、ディアクティベートしてインストール前の状態に戻しておきましょう
WordPressの処理を眺めてみると…
いろいろな角度から問題点を探りましょう
DEMO
サイトの高速化に効くアレコレ
©asidemag.com
ボトルネックが見つかったら潰しましょう
プラグインが原因かも? •
便利なプラグインも多用は禁物 気付かないうちに、それがネックになっていることも • Debug Bar とにらめっこして減らせるものは減らす • プラグインじゃなくて、手動でできることもあるし…
変更のないものはキ ッ ュ
ャ シ 対象に • WordPressの高速化といえば「キャッシュ」 • キャッシュ対象は、HTMLだけじゃない • 画像やCSS、JSのような変更の少ないものや DBに対するクエリーをキャッシュしてしまう →ファイルタイプ別に有効期限を設定(W3 Total Cacheやサーバサイド) →オブジェクトキャッシュの有効化 (WP File Cacheなど) →DBへのクエリーをキャッシュ (DB Cache Reload Fix)
サーバサイドでファイルに有効期限を設定 •
Apache の mod_expires モジュールの場合 <ifModule mod_expires.c> ExpiresActive On ExpiresDefault "access plus 1 seconds" ExpiresByType image/x-icon "access plus 1 years" ExpiresByType image/vnd.microsoft.icon "access plus 1 years" ExpiresByType image/jpeg "access plus 10 years" ExpiresByType image/png "access plus 10 years" ExpiresByType image/gif "access plus 10 years" ExpiresByType text/css "access plus 1 years" ExpiresByType text/javascript "access plus 1 years" ExpiresByType application/x-javascript "access plus 1 years" ExpiresByType text/html "access plus 600 seconds" ExpiresByType application/xhtml+xml "access plus 600 seconds" </ifModule>
転送サイズを少なくする工夫を •
いまどきスマートフォンなどでのアクセスも多い • 転送サイズそのものを小さくすることを考える →テキストファイルのMinify(Head CleanerやW3 Total Cacheなど) →テキストファイルをGzipで圧縮(W3 Total Cacheやサーバサイドで) →画像から余分なデータをぬいて最適化(WP Smush.it)
サーバサイドでテキストを圧縮するには •
Apache の mod_deflate モジュールの場合 <IfModule mod_deflate.c> SetOutputFilter DEFLATE BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4.0[678] no-gzip BrowserMatch bMSI[E] !no-gzip !gzip-only-text/html SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary Header append Vary User-Agent env=!dont-vary </IfModule> ※Nginxでの設定例は wokamotoさんのスライドに記載されています コンポーネントを圧縮しよう!: http://dogmap.jp/wckobe2011/#slide-125
HTTPリクエストを少しでも減らす •
できるだけHTTPリクエストを減らしていく →CSSやJavaScriptの結合(Head Cleaner) →画像のCSSスプライト化 • 1サーバにかかる負荷を分散させてみる →JavaScriptをCDN経由で読み込ませる →画像は別サーバ(別ドメイン)にわけてみる
たとえば、jQueryとかCDN経由で •
jQueryをGoogleから読み込ませる場合 <?php wp_deregister_script('jquery'); wp_enqueue_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js', array(), '1.7.1'); ?> ※jQueryのようにそれなりのサイズがあるファイルは、自サイトから配信するよりCDN経由にした方が速い Google Libraries API: https://developers.google.com/speed/libraries/devguide Microsoft Ajax Content Delivery Network: http://www.asp.net/ajaxlibrary/cdn.ashx cdn js(CloudFlare): http://www.cdnjs.com/
そういえば、html5.jsとかも •
html5.js をGoogleから読み込むには <!--[if lt IE 9]> <script type="text/javascript">document.write(unescape('%3Cscript src="' + ('https:' == document.location.protocol ? 'https://' : 'http://') + 'html5shiv.googlecode.com/svn/trunk/html5.js" %3E%3C/script %3E'));</script> <![endif]--> <!--[if lt IE 9]> <script type="text/javascript" src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> ※現在、html5.jsはGitHubでメンテナンスされており、最新版はそちらからダウンロードできます aFarkas/html5shiv · GitHub: https://github.com/aFarkas/html5shiv
外部サイトに起因する問題への対処 •
Google Analyticsのコードの非同期化 • ソーシャルメディア系のボタンの非同期化 • JavaScriptのロードや実行を遅らせる • 不要な外部サービスを減らす(DNSの問い合わせを減らす) • DNSのプリフェッチを試してみる
DNSのプリフェッチを埋め込む •
link 要素を使って、ドメインを指定 <link rel="dns-prefetch" href="//wcdn.gaspanik.com"> <link rel="dns-prefetch" href="//content.gaspanik.com"> <link rel="dns-prefetch" href="//connect.facebook.net"> <link rel="dns-prefetch" href="//platform.twitter.com"> <link rel="dns-prefetch" href="//static.chartbeat.com"> 頻繁に参照されるような外部ドメインがある場合は指定してみるといいかも ※サーバサイドでの有効化の方法は以下のサイトが詳しいです DNS プリフェッチの制御 - MDN: https://developer.mozilla.org/Ja/Controlling_DNS_prefetching
サーバ側の処理の問題なら •
自由度の高いホスティングへの移行を考える • PHPアクセラレータの導入を考える • Webサーバのチューニング、リプレイス(Apache / Nginx) • MySQLのチューニング(mysqltuner.pl) ※マルチサイトでの高速化、PHPアクセラレータ、MySQLのチューニングは wokamotoさんのスライドが詳しいです WordPress を極力動かさない: http://dogmap.jp/wckobe2011/#slide-39 MySQL サーバのチューニング: http://dogmap.jp/wckobe2011/#slide-113
では、いくつかやってみましょう
DEMO
最後に。 正直な話、ネ ク
ッ は画像だったり外部のデータw
まとめ •
なにはともあれ、ボトルネックがどこかを探しましょう • WordPressの問題なのか、実装の問題なのかをはっきり • 秒数よりも問題点を発見し、できる対処をしていく • 環境によってできることできないことがあるので、 できることから順番に適用していきましょう
ありがとうございました
Anzeige