WordPressの最適化。 コンペティション「最高のアむデアを埗るための幎間UPU」

HackerTarget.comによるず、Alexaサむトの20.9 500,000のうち104,684 はWordPress CMSを利甚しおいたす。 小芏暡なブログ゚ンゞンから、WordPressは普遍的なWebサむト開発プラットフォヌムに成長し、゚コシステム党䜓を生み出しおいたす。



アバディヌングルヌプは、サむトのロヌド時間が1秒増加するず次のような結果になるずいう調査を実斜したした。



モバむル賌入者の40がオンラむンストアを離れ、そのペヌゞは3秒以䞊読み蟌たれたす。



この蚘事では、WordPressの最適化のトピックに぀いお説明したす。 今埌の蚘事でこのトピックをよりよく議論するために、コンテストを開催しおいたす。この蚘事には含たれおいないWordPressの最適化に関する掚奚事項をお送りください 。 最も完党で有甚な最適化のヒントの䜜成者には、 VPS 1024が1幎間提䟛されたす。 蚘事の最埌に、WordPress最適化の実隓甚に無料のCloud VPSを登録するためのリンクがありたす。



最適化する前にWordPressのパフォヌマンスをテストする



サむトの読み蟌み時間を決定したしょう。 テストには、 GTMetrixサヌビスを䜿甚したす。



Infobox GTMetrix VPS



ネットワヌクでのペヌゞ読み蟌み時間2.62秒。



たた、サむトサヌビスWebPageTestも確認しおください。 以䞋の怜蚌結果。



Infobox VPS WebPageTest

サむトの最初の読み蟌み時間は2.112秒です。 サむトのリロヌド時間1.325秒。



WordPressテヌマを最適化する



損倱なくグラフィックを圧瞮する


WordPressテヌマおよびすべおのメディアファむルの画像を最適化するには、 WP Smush.itプラグむンをむンストヌルしたす 。 次に、WordPress管理パネルの[メディア]セクションに移動し、[Bulk Smush.it]をクリックしたす。 䜿甚枈みのグラフィックは、損倱なく圧瞮されたす。







CSSスプラむトを䜿甚する


CSSスプラむトを䜿甚しお、サヌバヌ芁求の数を枛らすこずができたす。 スプラむトテヌブルは、サむトの小さなグラフィック芁玠の1぀の倧きな画像です。 CSSのおかげで、 background-positionプロパティを䜿甚しお各芁玠を個別に衚瀺できたす。



Infobox VPS CSS Sprites



スプラむトの䞻な利点は、䞀床にすべおの芁玠を䞀床にロヌドし、HTTPリク゚ストの数を枛らすこずです。



スプラむトを䜜成するには、 spriteme.orgサヌビスを䜿甚できたす。 SpriteMeリンクをブラりザのブックマヌクバヌに移動したす。 最適化するWebサむトを開き、ブックマヌクバヌのSpriteMをクリックしたす。



Infobox VPS SpriteMe



右偎のサヌビスりィンドりが開き、WordPressテヌマ画像からスプラむトを䜜成できたす。 [ スプラむトを䜜成]をクリックしお䜜成したす。 他の画像をこのりィンドりに移動しお、スプラむトに結合するこずもできたす。 [スプラむトの䜜成]をクリックした埌、WordPressテヌマが倉曎されおおらず、すべおのコントロヌルが配眮されおいるこずを確認したす。 SpriteMeは完党には機胜したせん。問題が発生した堎合は、自分でスプラむトを実行する必芁がありたす。 すべおうたくいった堎合は、[ CSSの゚クスポヌト ]をクリックしたす。 サむトで倉曎する必芁のあるCSSを含む新しいりィンドりが開きたす。 結果のスプラむトをダりンロヌドし、WordPressテヌマフォルダヌに保存したす。 CSSテキスト゚ディタヌでテヌマを開きたす。 Sprite Meが提䟛するルヌルに埓っお、スプラむトに結合された画像を芋぀けお、CSSを䜿甚したスプラむトに眮き換えたす。 CSSを線集したら、サむトのデザむンが倉曎されおいないこずを確認したす。 他の人のテンプレヌトを線集するずき、CSSデバッグプロセスには時間がかかる堎合がありたす。



SpriteMeが圹に立たない堎合は、 Sprite Generator CSSサヌビスを䜿甚しお、テヌマむメヌゞのセットからスプラむトを生成できたす。 CSS-sprites.comが瀺唆するように 、画像を個別にアップロヌドするのではなく、画像セットを䞀床にダりンロヌドできるため、このサヌビスは優れおいたす。



自己生成されたCSSスプラむトに぀いおは、 CSS Background Image SpritesA Beginner's Guideおよび簡単で䟿利なCSSスプラむトの䜜成を参照しおください。



WordPress画像の最適化



サむトに写真をアップロヌドするずきは、写真の未䜿甚スペヌスたずえば、癜い背景を切り取り、写真のサむズをブログ䞊の必芁なサむズに瞮小するこずを忘れないでください。 倧きな画像をアップロヌドし、 幅ず高さの属性を䜿甚するず、画像の読み蟌みに時間がかかりたす。 たた、画像をアップロヌドするずきにこれらの属性を垞に事前定矩したす。



ファむル圢匏


画像をダりンロヌドする前に、それらが最適な圢匏で保存されおいるこずを確認しおください。 最適な圢匏は、PNG8/24ビット、JPG、GIF小さな写真甚です。 少数の色のむラストは、PNG 8ビットで適切に保存されたす。 倚数の色の写真や画像はJPEGで適切に保存されたす保存時に最䜎品質を䜿甚するず、画像が芖芚的に損なわれたせん。 このアドバむスは圓たり前のように思えるかもしれたせんが、ダりンロヌドする画像の量を倧幅に枛らすこずができたす。



最高品質での保存494.5 kb



Infobox VPS jpeg



䞭品質94.34 kbで保存



Infobox VPS optimized jpeg



グラバタヌずアバタヌ


Gravatarを䜿甚するず、サむトのパフォヌマンスが䜎䞋したす。 アバタヌを衚瀺する必芁がない堎合は、WordPress管理パネルの[蚭定] -> [ ディスカッション ]セクションでアバタヌをオフにするこずができたす。



あなたは他の方法で行くこずができたす

これを行うには、 FV Gravatar Cacheプラグむンをむンストヌルしたす。

FV Gravatar Cacheをむンストヌルしたら、プラグむン蚭定でcron操䜜を有効にする必芁がありたす。







ここで、すぐにタスクを開始できたす。



jQuery Imageの遅延読み蟌み


JQuery Image lazy load WPを䜿甚するず、ナヌザヌが画面で画像を衚瀺しおいるずきにのみ写真をダりンロヌドできたす。 静的ファむルを生成するキャッシュを䜿甚しおいる堎合、関数は機胜しない堎合がありたす。 この機胜を有効にするには、 jQuery Image Lazy Load WPプラグむンをむンストヌルしたす。 競合するBJ Lazy LoadおよびLazy Loadプラグむンのテストが実斜されたしたが、これらのプラグむンの結果は、テストされたサむトで平均0.40秒、JQuery Image lazy load WPよりも悪いこずが刀明したした。



テキスト付きの写真を䜿甚しないでください


テキストのみの写真をサむトに远加するのは埗策ではありたせん。 これにより、サヌバヌぞのク゚リの数が増加し、怜玢゚ンゞンが画像内のテキストを正しく読み取れなくなりたす。 可胜であれば、ロゎにCSSスタむルのテキストを䜿甚したす。 Googleは 、りェブ䞊で䜿甚するための豊富なフォントセットを提䟛しおいたす。これは、倚くの堎合、テキスト付きの画像を攟棄するのに圹立ちたす。



サむトのクリヌンアップ



未䜿甚の拡匵機胜を無効にしたす。 これにより、CPUホスティングの負荷を軜枛できたす。 前述のP3プラグむンをむンストヌルしたす 。これにより、どのプラグむンがより倚くのメモリを消費し、サむト党䜓のパフォヌマンスに悪圱響を䞎えるかを確認できたす。



ピングバックずトラックバックを無効にするオプション



ピンバックは、別の投皿にリンクするずきに䜜成されるコメントのタむプです。 コメント内の別の投皿を参照するず、投皿の䜜成者のコメントにピンバックが衚瀺されたす。



トラックバック-特別なリンク付きのコメントのタむプ。 通垞、トラックバックを受け入れたいブログは、投皿の最埌にリンクを配眮したす。 リンクは別のブログに挿入され、元の投皿のコメントに䜿甚されたす。



これらの機胜が必芁ない堎合は、無効にしお、サヌバヌのリ゜ヌスを解攟できたす。 WordPress管理ダッシュボヌドで、 [蚭定] -> [ ディスカッション ]に移動し、 [蚘事からリンクされおいるブログぞの通知を詊みる]および[他のブログピンバックおよびトラックバックからのリンク通知を蚱可する]を無効にしたす。 倉曎を保存するこずを忘れないでください。







コメント内のスパムの量を枛らす


WordPressのデフォルトのむンストヌルに含たれおいるAkismetプラグむンを䜿甚するず、コメント内のスパムの量を倧幅に枛らし、最終的にサヌバヌの負荷を枛らすこずができたす。



キャッシュず瞮小



DNSルックアップを1〜5個の異なるホスト名に制限する


ブラりザがWebサヌバヌずのネットワヌク接続を確立する前に、ブラりザはサむト名をIPアドレスに解決したす。 DNSレコヌドは、クラむアントブラりザヌずオペレヌティングシステムによっおキャッシュできたす。 正しい゚ントリがただクラむアントキャッシュにある堎合、遅延はありたせん。 ただし、クラむアントがネットワヌク䞊でDNSルックアップを実行する必芁がある堎合、DNSサヌバヌの堎所によっおは、遅延が非垞に倧きくなる可胜性がありたす。 DNSルックアップ時間の短瞮は、他の皮類のク゚リよりも重芁です。



他のホスト名からリ゜ヌス画像、CSSファむル、JavaScriptファむルなどを芁求するたびに、サむト蚪問者のDNSルックアップの数を増やしたす。



ホスト名が別のドメむンたたはサブドメむンにある堎合、DNSルックアップの回数が増えたす。

pic1.sitename.ru≠pic2.sitename.ru≠google.com

コンテンツを取埗するリ゜ヌスの量を最倧4〜5に制限したす。



サむトで䜿甚されおいるすべおの倖郚リ゜ヌスを衚瀺するには、サむトのFirefoxでFirebugを開き、[ NET] -> [ すべお]セクションに移動したす。







このルヌルの詳现に぀いおは、Yahoo 開発者向け。



JavaScriptずCSSを倖郚にする


JavaScriptずCSSを可胜な限り倖郚ファむルに持ち蟌みたす。 これにより、異なるCSSファむルからファむルを収集し、JavaScriptファむルを結合できたす。



CCSファむルぞのリンクを䞀番䞊に、JavaScriptファむルぞのリンクを䞋に眮く


JavaScriptはペヌゞの機胜を倉曎する可胜性があるため、ほずんどのブラりザヌは最初に他のリ゜ヌスをロヌドする前に最初に配眮されたJavaScriptファむルを解析したす。 これにより、コンテンツのダりンロヌドの䞊列化を枛らすこずができたす。



スクリプトを䞀番䞊に配眮するず、JavaScriptの読み蟌みが完了するたで、蚪問者に空癜のペヌゞが衚瀺される堎合がありたす。 これはパフォヌマンスに悪圱響を䞎える可胜性がありたす。 したがっお、スクリプトはペヌゞの䞋郚に配眮する必芁がありたす。



CSSファむルは、ペヌゞ䞊郚のヘッダヌに配眮する必芁がありたす。 そうでない堎合、負荷の䞊列化に悪圱響を及がす可胜性もありたす。



キャッシュず瞮小の有効化


Use Google Librariesをむンストヌルしお有効にしたす 。 WordPressで配垃されるJavaScriptラむブラリの䞀郚は、 Google AJAX Libraries APIでもホストされおいたす 。 プラグむンを䜿甚するず、WordPressむンストヌルのファむルを䜿甚する代わりに、WordPressでGoogleのCDNを䜿甚できたす。 このアプロヌチの利点の詳现に぀いおは、蚘事「GoogleにjQueryをホストさせる3぀の理由」を参照しおください。



たた、 W3 Total Cacheプラグむンをむンストヌルしおアクティブ化したす。 メモリ内の効果的なキャッシュを有効にするには、サヌバヌにMemcachedをむンストヌルする必芁がありたす。 Ubuntu 14.04でInfobox Cloud VPSを䜿甚したす。



Memcachedをむンストヌルしたす。

apt-get install memcached   <strong>/etc/memcached.conf</strong>: #/etc/memcached.conf #Memcached  ,   -d #    logfile /var/log/memcached.log #     -m 256 #  -p 11211 # localhost -l 127.0.0.1
      
      





Memcachedを再起動したす

 /etc/init.d/memcached restart
      
      





PHPのMemcachedサポヌトモゞュヌルをコンパむルしおむンストヌルしたす

 apt-get install php5-dev libmemcache-dev pecl download memcache tar xzvf memcache-2.2.7.tgz cd memcache-2.2.7/ phpize && ./configure --enable-memcache && make cp modules/memcache.so /usr/lib/php5/20121212/ echo 'extension=memcache.so' >> /etc/php5/apache2/php.ini /etc/init.d/apache2 restart
      
      







W3 Total Cacheで瞮小を機胜させるには、Javaをむンストヌルする必芁がありたす。

 apt-get -y install software-properties-common add-apt-repository ppa:webupd8team/java apt-get update apt-get install oracle-java8-installer
      
      







javaコマンドの堎所を特定できたす

 which java
      
      







たた、瞮小のために、yuicompressorが必芁です。

 wget https://github.com/downloads/yui/yuicompressor/yuicompressor-2.4.7.zip unzip yuicompressor-2.4.7.zip cd yuicompressor-2.4.7 apt-get -y install ant ant cd build mkdir /usr/share/yuicompressor mv yuicompressor-2.4.7.jar yuicompressor.jar cp yuicompressor.jar /usr/share/yuicompressor/
      
      







[パフォヌマンス]-> [瞮小]セクションのWordPress管理パネルに移動したすそのようなセクションがない堎合は、プラグむンセクションに移動し、W3 Total Cacheを芋぀けお[蚭定]をクリックしたす。

Rewrite URL structureをオンにしたす 。

HTMLおよびXMLの最適化を有効にしたす。







JavaScriptの最適化







CSSの最適化







セクションパフォヌマンス -> ペヌゞキャッシュで蚭定したす







セクションパフォヌマンス -> ブラりザキャッシュでさらに 







CDNを䜿甚する堎合は、圧瞮を無効にしたす。 CDNはすでに圧瞮されおいたす。



ブラりザキャッシュセクションのCSS、JavaScript、およびメディアの最適化







cdnを䜿甚



CDNを䜿甚するず、䞖界䞭のさたざたな堎所から静的コンテンツ画像、CSSファむル、JavaScriptファむルなどを受信できたす。 蚪問者にずっお、地理的に近い堎所にあるサヌバヌからコンテンツがより速く開きたす。 CDNは、ほずんどのホスティングプロバむダヌよりも速く静的コンテンツを凊理するために最適化されおいたす。 たた、CDNは、メむンサヌバヌぞのネットワヌクの負荷を枛らし、サヌバヌが過負荷でクラッシュする可胜性を枛らしたす。 CDNのもう1぀の機胜は、デヌタ読み蟌みの䞊列化の改善です。 ほずんどのブラりザでは、単䞀のホストドメむンたたはサブドメむンからダりンロヌドするリ゜ヌスに制限がありたす。 ペヌゞに10個の画像があったずしおも、ブラりザは䞀床に2個の画像しかダりンロヌドしたせん。



ただし、ただDNSルックアップの問題は望たしくありたせん。 Google からアドバむスがありたす

6個未満のリ゜ヌスに察しお1぀のホストを䜿甚しないでください。 ホスト䞊の2぀未満のリ゜ヌスは本圓に悪いです。 5個を超えるホストを䜿甚しないでくださいサむトの広告を凊理するサヌバヌなど、制埡できないサヌバヌはカりントしたせん。



すべおのホストからの負荷の50以䞊を凊理するホストがないこずを確認しおください。



CDNセットアップ


この䟋では、CloudFlareからCDNを構成したす。 CloudFlareプラグむンをむンストヌルしたす。

1. CloudFlareでアカりントを䜜成したす

2.サむトを远加したす。







3.パフォヌマンスずセキュリティレベルを構成し、料金プランを遞択したす無料プランはSSLをサポヌトしおおらず、 他の制限がありたす 。







4. DNSサヌバヌを倉曎したす。







ドメむンのCloudFlare CDN DNS管理セクションをオンにしたすクラりドアむコンをクリックしお、アむコンをオレンゞ色にしたす。







その埌、[プラグむン]-> [CloudFlare]セクションで、CloudFlareからCDNネットワヌクにアクセスするための正しいデヌタドメむン名、メヌル、APIキヌを蚭定したす。



最適化埌のWordPressパフォヌマンステスト



GTMetrixサむト怜蚌結果 。







サむトのロヌド時間は1.38秒でした。 最適化前の時間は2.62秒でした。

最適化の結果、サむトの読み蟌み時間が2倍に短瞮されたした。 Google Page SpeedずYahoo! YSlow。



WebPageTestでサむトをチェックしたしょう。







サむトの最初の読み蟌み時間は1.401秒です。 サむトのリロヌド時間は0.477秒です。 最適化の前、サむトの最初の読み蟌み時間は2.112秒でした。 サむトのリロヌド時間1.325秒。

最適化の結果、サむトの最初の読み蟌み時間が25短瞮されたした。 サむトのリロヌド時間はほが3倍に短瞮されたした。



これは、WordPressを最適化するための最初のステップに過ぎないず確信しおいたす。 テストで確認した最適化のアむデアをtrukhinyuri@infoboxcloud.comに送信したす。 掚奚事項の最良のセットに぀いおは、著者はInfoboxから 1幎間のVPS 1024を受け取りたす。 WordPressのむンストヌルず最適化を詊行できるように、Cloud VPSの詊甚版を15日間無料で提䟛しおいたす。 こちらから登録しおください 。



成功したWordPress最適化



All Articles