おはようございます、なのくろです。年の瀬ですね。 この記事は ABEJA Advent Calendar 2020 の最終日です。 追記:おかげさまで Qiita LGTM賞 を受賞いたしました、ありがとうございます! 私は2020年01月にABEJAへ入社しました。チームではフロントエンド開発全般を任されています。 参入してちょうど1年が経過しましたので、今年取り組んだことをまとめました。 「フロントエンドを100倍速く」というタイトルは誇張気味なのですが、難しいことはせず、基本的なパフォーマンス改善を素直に実践したという話を書きます。 本稿では事例とやったことを紹介するのみですが、何かしらの知見や改善のきっかけに役立てば幸いです。 サービスについて 話をする前に、どんなサービスを開発しているかについて少しだけ触れます。 ABEJA社では「Insight for Retail」という、小
CSSを最適化して、ページの読み込み時間を高速化する方法を紹介します。 シンプルなCSSのファイルをはじめ、大規模プロジェクトで使用されるCSSまで、すべてのCSSに効果があるテクニックです。 Optimizing CSS for faster page loads by Tomas Pustelnik 下記は各ポイントを意訳したものです。 ※当ブログでの翻訳記事は、元サイト様にライセンスを得て翻訳しています。 はじめに 読み込みに時間がかかるのはなぜか? スタイルシートのファイルサイズを制限する クリティカルCSSを使用する 遅延読み込みのスタイルシート スタイルシートにコード分割を使用する まとめ はじめに 先日、私は自分のWebサイトの読み込み時間を改善することにしました。すでにかなり高速にロードされていましたが、まだ改善の余地があり、CSSの読み込みがその原因の1つであることが分か
『メルカリ』 アプリの画面描画を高速化する技術、バックエンド・iOS・Androidの基本設計 多くのユーザーに愛されるフリマアプリ『メルカリ』ですが、そのスムーズな画面描画はどのような技術で生み出されているのでしょうか。同アプリの高速表示の秘密を、バックエンド、iOS、Androidの3方向からメルカリ社のエンジニア4人に聞きました。 バックエンドの高速化を支える技術 【Tips1】 画像のファイルサイズを最適化し、アプリ全体の通信量を抑える 【Tips2】データセンター間通信のレイテンシを抑える 【Tips3】アプリのありとあらゆる挙動を常にモニタリングする iOSアプリの高速化を支える技術 【Tips4】Objective-CからSwiftへの移行 & アーキテクチャの刷新 【Tips5】『UIStackView』を活用し、UIの描画をより滑らかにする Androidアプリの高速化を
高速化の重要性が叫ばれる昨今だが、WordPressもその例に漏れない。WordPressのようなPHP+MySQLという構成のCMSは、データベースやサーバー間ネットワークがボトルネックになることが多く、その対処法(キャッシュなど)はたくさんあるのだが、フロントエンド高速化となると、フロントエンド業界からの情報発信に埋もれてWordPressに固有のハックを見つけるのが難しいというのが現状ではないだろうか。フロントエンド業界の情報にはSPAを主に作っている人からの発信も含まれるので、WordPressとは必ずしも相性がよくない場合がある。 今回はそんなせわしない時代においても手軽に高速化を実現できるハックを紹介する。 フロントエンド高速化とは? フロントエンドでの高速化には色々あるが、昨今よく言われているのは次のようなものではないだろうか。 HTTP/2導入でのストリーム並列処理。HTT
【PageSpeed Insights】レンダリングをブロックしている JavaScript/CSS を排除したら99点になったので方法をご紹介 シェア つぶやく ブックマーク LINE Pocket 「どうせなら100点にしようよ!」というお声が聞こえてきそうですが…。 それはさておき、最近ではページの表示速度がこれまでよりもより重要視されていて、PageSpeed Insights を活用する方も増えてきています。WordPressは動的なCMSということもあり表示速度があまり速くありませんので、 キャッシュプラグイン 画像の軽量化 上記のような工夫をしてらっしゃるのではないでしょうか。 ですが、PageSpeed Insights で注意されがちな項目はそれだけではありません。 スクロールせずに見えるコンテンツのレンダリングをブロックしている JavaScript/CSS を排除する
「爆速すぎて笑う」「速すぎて逆に不安になるレベル」――「dev.to」という米国のWebサイトの表示速度が異常に速いと、ネット上で話題だ。なぜ速いのか、サイト創設者のベン・ハルパーンさんがサイト内の記事で説明している。 2016年にオープンしたdev.toは、プログラマーが情報を交換したり、議論したりできるコミュニティーサイト。トップページにはユーザーが投稿したブログ記事のタイトルやコメントが、SNSのタイムラインのように並んでいる。このトップページの表示にかかる時間、各記事をクリックしたときのページ遷移が“一瞬”なのだ。 なぜ速いのか。ハルパーンさんが17年2月に投稿したブログ記事によれば、米Fastlyが提供するCDN(Content Delivery Network)を活用している。CDNは世界中にキャッシュサーバを分散配置し、ユーザーごとに最も(ネットワーク的に)近いサーバにキャッ
可能な限り最新の情報を反映していますが、追いつけていないこともあります。本サイトに採用していても、記事に反映できていない設定もあります。ページのソースを読んでいただくと、参考になる箇所があるかもしれません。 ウェブページの高速化に関するテクニックは、ネットで検索すれば簡単に見つけることができます。優れた情報も数多くありますが、「CSSとJavaScriptはminify(ミニファイ)しておけばOK!」のような都市伝説も少なくありません。 そこで、ここでは本サイトのデザインリニューアル時に施した対策をもとに、一歩進んだウェブページの高速化の方法と、それを支える原理について、できる限り分かりやすく説明したいと思います。フロントエンジニアやデザイナーの方からすれば「んなもん知っとるわ!」な情報なのかもしれませんが、都市伝説を駆逐すべく、私なりの仕方で解説(≒加勢)したいと思います。 初めに結果を
日本経済新聞は国内を代表する経済誌だ。その電子版はwebでの継続課金を大成功させ、いまや50万以上の有料会員を擁するモンスターサイトだ。 その日経電子版が11月6日に全面リニューアルしたのだが、公開後、web業界がにわかにざわついた。表示速度が爆速だったのだ。日経公式もモバイルで2倍の表示速度を達成したと堂々と宣言していた。 webサービスは継続率こそ神KPIで、その継続率には速度が大きく影響する。 これはチェキらないとヤバイと感じ、友人のkitakさんとスピードの秘密を調査してみた。 Fastlyをコンテンツキャッシュに使う殆どのデータはFastlyを経由して取得されていた。Fastlyは最近注目を集めているCDN(世界中にエッジサーバーを配置し、高速にコンテンツを配信するサービス)で、非常に高機能でユニークなサービスだ。 一般に、CDNはいったん世界中にコンテンツをばらまくと、それを無
“WordPressを簡単に1620倍高速化“する「部分キャッシュ」活用テクニック:とにかく速いWordPress(20)(1/4 ページ) エンタープライズ用途での利用が増えている「WordPress」の高速化チューニングテクニックを解説する本連載。今回は、「WordPressアプリケーションレベルで実施する高速化チューニング」のポイントを解説します。 連載バックナンバー 前回は、「WordPress実行環境としてのサーバのセキュリティ対策」と「開発者がWordPressアプリケーションを開発する際に実施すべき対策」のポイントを解説しました。今回は、WordPressアプリケーションレベルで「もっと高速化する」テクニックを紹介します。 「全体キャッシュ」と「部分キャッシュ」の違い WordPressの高速化チューニングと聞いて、皆さんはどういった手法が思い浮かぶでしょうか? 具体的には、
読み込み速度を高速化することは、戦略上非常に重要なことです。 ユーザーエクスペリエンス(UX)の面からも、SEO上の観点からも、読み込みの遅いサイトより速いサイトのほうが有利です。 UXの観点では、Google Researchのブログ記事より、サイトの読み込み速度が速ければ速いほど、ユーザーは快適に感じ、サイト内の滞在時間まで長くなることが分かっています。 さらにKissmetricsによれば、読み込みに3秒以上かかってしまうと、40%の人が読み込みを諦めて離脱してしまうことが分かっています。 SEOに関して言えば、Googleが検索結果を決めるのに使っている200以上もの要素の中の一つに明らかにページ読み込み速度を使っていることが明らかになっています。 もちろん、GoogleだけでなくBingもページの読み込み速度を重視しています。 ferretでは、これまでSVGを使った画像の最適化
2015/09/19 (更新日: 2018/07/18) プラグインなしでWordPressサイトを高速化する方法【JS・CSS・キャッシュ設定】 PROGRAMMING WordPress WordPressサイトを高速化することで、ユーザビリティの向上だけではなく、SEO最適化にも繋がります。今回はWordPressサイト高速化施策を4つご紹介します。 プラグインでも同様のことができますが、プラグインはバグの元。ということでWordPressプラグインなしでサイトを高速化する方法のみをご紹介します。 JavaScriptを非同期読み込みして、サイト表示を高速化する方法 JavaScriptを非同期で読み込む方法です。asyncをつけるだけで簡単です。方法は下記のとおり。 // 変更前 <script src="myscript.js"></script> // 変更後 <script
ブラウザがページを表示する際にサーバーからHTMLのレスポンスを受け取ると、スクリーンにピクセルが描画されるまでに多くのステップが必要になります。ブラウザがページの最初のペイントを実行するために必要とするこのシーケンスは「クリティカル レンダリング パス(Critical Rendering Path)」と呼ばれます。 クリティカル レンダリング パスを理解することで、サイトのパフォーマンスを改善するのに役立ちます。 Understanding the Critical Rendering Path 下記は各ポイントを意訳したものです。 ※当ブログでの翻訳記事は、元サイト様にライセンスを得て翻訳しています。 クリティカル レンダリング パス(Critical Rendering Path)には、6つの段階があります。 クリティカル レンダリング パスの6つの段階 01. DOMツリーの構築
TL;DR レンタルサーバでの運用を止め、VPS に移行し、Apache の制約から開放されるため軽量・高速な Nginx に変更し、テーマをカスタマイズし軽めのリニューアルをしました。随分と早く使いやすくなったので、会社 HP とコムテブログに行った高速化への手順を全公開します。 今回のリニューアルに伴い、今回行った高速化処理。ちなみに会社 HPはこちら。 PC は 96 点、アナリティクスとメインの CSS を外せば 100 点が出そうでしたが断念。 Pingdomでは 97。ブログの方は、アドセンスや外部読み込み(こちらで調整できないため)で、どうしても遅くなってますが、これに近づけるようにしていきたいです。 なにはともあれ、サーバのスペックそのものを変えないと駄目だということでさくらの VPS 4G(SSD 4G)をチョイス。コーポレートサイトなら 2G くらいでもよいですが、ブロ
“いきなり1000倍高速”になるWordPress高速化チューニング済み仮想マシン「KUSANAGI」とは何か:とにかく速いWordPress(11)(1/3 ページ) エンタープライズ用途での利用が増えている「WordPress」の高速化チューニングテクニックを解説する本連載。今回は、これまで実践してきた高速化テクニックなしに、“いきなり1000倍高速”を実現できるチューニング済み仮想マシン「KUSANAGI」を活用するための「7つのポイント」を紹介します。 連載バックナンバー WordPressは、これまで紹介してきた高速化チューニングを実践することによって、1秒当たりの同時アクセス数(Requests per second)が、デフォルトのLAMP(Linux、Apache、MySQL、PHP)環境の「11.24」から、Nginx+HHVM 3.12構成で「205.20」に、さらにN
業務で携わっている案件なのですが、アクセス数の急増が見込まれるイベントがありまして。準備期間も少なく、バックエンド側でできることがほぼないという状況でサイトを落とさないようにがんばる!というお仕事でした。レガシーソースてんこ盛り。CSSプリプロセッサとか何それ状態。 そこで実施した対策のまとめです。サーバー・アプリケーション・サイトの構成によって、効果の大小はありますが、比較的効果があったと思われるものをつらつらと。 リクエストの削減とファイルサイズの最適化 まず一番最初に考えなければいけないのがリクエスト数です。すごいおおざっぱに言うと、WEBサーバー(ApacheとかNginxとか)への負荷は、PV数×リクエスト数です。PVがそんなに無くてもそのページのリクエストがめちゃくちゃ多いとそれだけでかなりの負荷になります。リクエストを半分にできれば2倍の人数がさばけるってことに、すげーおおざ
どうだろう? 画像は多ければ多いほど、http リクエストの数が多くなる。 これから紹介する画像を軽くすること以前に、まずは「画像を減らす」ことにトライしよう。 見た目に工夫は必要となるが、他サイトで提供されるブログパーツやイメージバナーなども、ペタペタ貼りまくったりしないこと。 2. アイコンを Font Awesome で代用する次に、サイト上のメニューやナビゲーションで「一般的なアイコンを多用」しているサイトでは、Font Awesome アイコンの導入により画像からの置き換えができる。 当ブログでもメニューなどで使用しているが、他サイトでも、このスタイルのアイコンは良く見掛けるはずだ。 それもそのはず。Font Awesome はウェブ上で最も人気のアイコンフォント。 CDN 経由で読み込むこともでき、サーバーへの負荷はかからない。なぜか「FontAwesome は遅い」という人も
こんにちは、メディア事業部のエリーです。 前回の記事では、「SEOに強いブログを作りたいなら、WordPressが超いいよ!」ということをお伝えしました。 今回は、実際にWordPressでブログを運営している人にとって大きな悩みの1つであろう「ブログが重い!」問題を解決したいと思います。 「なんだか最近、ページの表示が遅いなあ」と感じたことはありませんか? わたしもそう感じてたんですが「死ぬわけじゃないし別にいいや」と思って放置してました。でも、それがいけなかったんです・・・。 ということで、WordPressに最適化された超高速サーバー「Z.com for WordPress」を展開する「Z.com byGMO」さんに、サイトの重さを改善するための方法と、それによって得られるメリットをお聞きしました。 目次 本当に「重い」のか確かめてみましょう スコアが60以下なら要注意! ブログは早
ブログが重い このブログでは、一部ですがWebフォントを使っています。 あとスライダーやカレンダーやら重いものが動いており、 表示スピードがとっても遅く、もたもたしたブログでした。 スピード判定で有名なGT Metrixで検査すると、やっぱり「DD判定」。 有名なプラグインのDB Cache Reloaded、W3Total Cacheも導入していましたが、ボトルネックがあるようで、まったく改善されませんでした。 CSSやJSを圧縮してみたりもしたのですが、DD判定は変わりませんでした。 今回は、GTMetrixのアドバイスに従って、高速化施策を行います。 一瞬で高速化 とても単純で、.htaccessに以下を追記するだけです。 #MIMEタイプ AddType application/vnd.ms-fontobject .eot AddType application/x-fon
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く