Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
gree_tech
PPTX, PDF
903 views
比較サイトの検索改善(SPA から SSR に変換)
GREE Tech Conference 2021 で発表された資料です。 https://techcon.gree.jp/2021/session/Session-3
Engineering
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 42
2
/ 42
3
/ 42
4
/ 42
5
/ 42
6
/ 42
7
/ 42
8
/ 42
9
/ 42
10
/ 42
11
/ 42
12
/ 42
13
/ 42
14
/ 42
15
/ 42
16
/ 42
17
/ 42
18
/ 42
19
/ 42
20
/ 42
21
/ 42
22
/ 42
23
/ 42
24
/ 42
25
/ 42
26
/ 42
27
/ 42
28
/ 42
29
/ 42
30
/ 42
31
/ 42
32
/ 42
33
/ 42
34
/ 42
35
/ 42
36
/ 42
37
/ 42
38
/ 42
39
/ 42
40
/ 42
41
/ 42
42
/ 42
More Related Content
PDF
Twitterのsnowflakeについて
by
moai kids
PPTX
GraphQLのsubscriptionで出来ること
by
Shingo Fukui
PDF
Webアプリを並行開発する際のマイグレーション戦略
by
Takayuki Shimizukawa
PDF
WebSocket / WebRTCの技術紹介
by
Yasuhiro Mawarimichi
PDF
WebSocketのキホン
by
You_Kinjoh
KEY
やはりお前らのMVCは間違っている
by
Koichi Tanaka
PDF
新入社員のための大規模ゲーム開発入門 サーバサイド編
by
infinite_loop
PPTX
世界一わかりやすいClean Architecture
by
Atsushi Nakamura
Twitterのsnowflakeについて
by
moai kids
GraphQLのsubscriptionで出来ること
by
Shingo Fukui
Webアプリを並行開発する際のマイグレーション戦略
by
Takayuki Shimizukawa
WebSocket / WebRTCの技術紹介
by
Yasuhiro Mawarimichi
WebSocketのキホン
by
You_Kinjoh
やはりお前らのMVCは間違っている
by
Koichi Tanaka
新入社員のための大規模ゲーム開発入門 サーバサイド編
by
infinite_loop
世界一わかりやすいClean Architecture
by
Atsushi Nakamura
What's hot
PDF
マイクロサービスバックエンドAPIのためのRESTとgRPC
by
disc99_
PDF
こわくない Git
by
Kota Saito
PDF
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
by
Yoshiki Hayama
PDF
Kubernetes雑にまとめてみた 2020年8月版
by
VirtualTech Japan Inc.
PDF
マイクロにしすぎた結果がこれだよ!
by
mosa siru
PPTX
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
by
Shota Shinogi
PPTX
DockerコンテナでGitを使う
by
Kazuhiro Suga
PDF
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
by
日本マイクロソフト株式会社
PPTX
脱RESTful API設計の提案
by
樽八 仲川
PPTX
SSRF対策としてAmazonから発表されたIMDSv2の効果と破り方
by
Hiroshi Tokumaru
PPTX
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
by
NTT DATA Technology & Innovation
PDF
開発速度が速い #とは(LayerX社内資料)
by
mosa siru
PDF
ドメイン駆動設計(DDD)の実践Part2
by
増田 亨
PDF
Where狙いのキー、order by狙いのキー
by
yoku0825
PDF
コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)
by
NTT DATA Technology & Innovation
PDF
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
by
Yahoo!デベロッパーネットワーク
PDF
イミュータブルデータモデル(入門編)
by
Yoshitaka Kawashima
PDF
オブジェクト指向の設計と実装の学び方のコツ
by
増田 亨
PPTX
分散トレーシングAWS:X-Rayとの上手い付き合い方
by
Recruit Lifestyle Co., Ltd.
PDF
MQTTとAMQPと.NET
by
terurou
マイクロサービスバックエンドAPIのためのRESTとgRPC
by
disc99_
こわくない Git
by
Kota Saito
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
by
Yoshiki Hayama
Kubernetes雑にまとめてみた 2020年8月版
by
VirtualTech Japan Inc.
マイクロにしすぎた結果がこれだよ!
by
mosa siru
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
by
Shota Shinogi
DockerコンテナでGitを使う
by
Kazuhiro Suga
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
by
日本マイクロソフト株式会社
脱RESTful API設計の提案
by
樽八 仲川
SSRF対策としてAmazonから発表されたIMDSv2の効果と破り方
by
Hiroshi Tokumaru
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
by
NTT DATA Technology & Innovation
開発速度が速い #とは(LayerX社内資料)
by
mosa siru
ドメイン駆動設計(DDD)の実践Part2
by
増田 亨
Where狙いのキー、order by狙いのキー
by
yoku0825
コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)
by
NTT DATA Technology & Innovation
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
by
Yahoo!デベロッパーネットワーク
イミュータブルデータモデル(入門編)
by
Yoshitaka Kawashima
オブジェクト指向の設計と実装の学び方のコツ
by
増田 亨
分散トレーシングAWS:X-Rayとの上手い付き合い方
by
Recruit Lifestyle Co., Ltd.
MQTTとAMQPと.NET
by
terurou
Similar to 比較サイトの検索改善(SPA から SSR に変換)
PDF
Vue.js 2.0 で自社プロダクトを SPA + SSR 化した話
by
Yutaro Miyazaki
PDF
How to develop a huge Single Page Application
by
Naoki Yamada
PDF
タグ管理のススメ
by
Makoto Shimizu
PDF
大規模サービスにおける価値開発の“これまで”と“将来”~新たな“じゃらんnet”のチャレンジに関して~
by
Recruit Lifestyle Co., Ltd.
PPT
2.【講演資料】seo(樋田)
by
AUN CONSULTING, Inc
PDF
110910 wcan
by
Seiji Morino
PPT
【AUN講演資料】ソーシャルメディア活用によるウェブ運用方法
by
AUN CONSULTING, Inc
PDF
NuxtJS + REST APIで運用中サービスをNuxtJS + GraphQLに変更したことによる光と影
by
gree_tech
PDF
Nuxt なしで Vue App 作る時に乗り越えるべき5つの壁
by
Yutaro Miyazaki
PDF
Web広告研究会「売れるサイトに変えるIA発想の改革手法」
by
Makoto Shimizu
PDF
【20121124】word bench大阪
by
Raysus Co.,Ltd.
PDF
UX流Web解析
by
Makoto Shimizu
PDF
アクセス解析研究会レポート
by
Makoto Shimizu
PDF
コンテンツマーケティング時代のSEO対策
by
Innova Inc.
PDF
Developers-Summit-2022_Improving-Digital-Customer-Experience-with-Enterprise_...
by
Shotaro Suzuki
PDF
Web会議 in 青森
by
Makoto Shimizu
PDF
JAMstackは眠らない
by
Kuniyoshi Tone
PPTX
Mobile SEO (Japanese Version)
by
ssuserd60633
PPTX
ZOMEKIご紹介
by
zomeki
PDF
Hadoopによるリクルートでの技術調査とその活用
by
Chiaki Hatanaka
Vue.js 2.0 で自社プロダクトを SPA + SSR 化した話
by
Yutaro Miyazaki
How to develop a huge Single Page Application
by
Naoki Yamada
タグ管理のススメ
by
Makoto Shimizu
大規模サービスにおける価値開発の“これまで”と“将来”~新たな“じゃらんnet”のチャレンジに関して~
by
Recruit Lifestyle Co., Ltd.
2.【講演資料】seo(樋田)
by
AUN CONSULTING, Inc
110910 wcan
by
Seiji Morino
【AUN講演資料】ソーシャルメディア活用によるウェブ運用方法
by
AUN CONSULTING, Inc
NuxtJS + REST APIで運用中サービスをNuxtJS + GraphQLに変更したことによる光と影
by
gree_tech
Nuxt なしで Vue App 作る時に乗り越えるべき5つの壁
by
Yutaro Miyazaki
Web広告研究会「売れるサイトに変えるIA発想の改革手法」
by
Makoto Shimizu
【20121124】word bench大阪
by
Raysus Co.,Ltd.
UX流Web解析
by
Makoto Shimizu
アクセス解析研究会レポート
by
Makoto Shimizu
コンテンツマーケティング時代のSEO対策
by
Innova Inc.
Developers-Summit-2022_Improving-Digital-Customer-Experience-with-Enterprise_...
by
Shotaro Suzuki
Web会議 in 青森
by
Makoto Shimizu
JAMstackは眠らない
by
Kuniyoshi Tone
Mobile SEO (Japanese Version)
by
ssuserd60633
ZOMEKIご紹介
by
zomeki
Hadoopによるリクルートでの技術調査とその活用
by
Chiaki Hatanaka
More from gree_tech
PPTX
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
by
gree_tech
PDF
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
by
gree_tech
PPTX
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
by
gree_tech
PPTX
アプリ起動時間高速化 ~推測するな、計測せよ~
by
gree_tech
PPTX
長寿なゲーム事業におけるアプリビルドの効率化
by
gree_tech
PPTX
Cloud Spanner をより便利にする運用支援ツールの紹介
by
gree_tech
PPTX
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
by
gree_tech
PPTX
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
by
gree_tech
PPTX
海外展開と負荷試験
by
gree_tech
PPTX
翻訳QAでのテスト自動化の取り組み
by
gree_tech
PPTX
組み込み開発のテストとゲーム開発のテストの違い
by
gree_tech
PPTX
サーバーフレームワークに潜んでる脆弱性検知ツール紹介
by
gree_tech
PPTX
データエンジニアとアナリストチーム兼務になった件について
by
gree_tech
PPTX
シェアドサービスとしてのデータテクノロジー
by
gree_tech
PPTX
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
by
gree_tech
PPTX
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
by
gree_tech
PPTX
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
by
gree_tech
PPTX
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
by
gree_tech
PPTX
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
by
gree_tech
PPTX
基調講演 -グリーが目指すエンジニアのあり方、チームのあり方-
by
gree_tech
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
by
gree_tech
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
by
gree_tech
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
by
gree_tech
アプリ起動時間高速化 ~推測するな、計測せよ~
by
gree_tech
長寿なゲーム事業におけるアプリビルドの効率化
by
gree_tech
Cloud Spanner をより便利にする運用支援ツールの紹介
by
gree_tech
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
by
gree_tech
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
by
gree_tech
海外展開と負荷試験
by
gree_tech
翻訳QAでのテスト自動化の取り組み
by
gree_tech
組み込み開発のテストとゲーム開発のテストの違い
by
gree_tech
サーバーフレームワークに潜んでる脆弱性検知ツール紹介
by
gree_tech
データエンジニアとアナリストチーム兼務になった件について
by
gree_tech
シェアドサービスとしてのデータテクノロジー
by
gree_tech
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
by
gree_tech
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
by
gree_tech
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
by
gree_tech
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
by
gree_tech
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
by
gree_tech
基調講演 -グリーが目指すエンジニアのあり方、チームのあり方-
by
gree_tech
比較サイトの検索改善(SPA から SSR に変換)
1.
比較サイトの検索改善 (SPAからSSRに変換) アウモ株式会社 サーバーサイドエンジニア 天野桂輔
2.
• 名前 • 天野
桂輔 • 担当 • サーバーサイドエンジニア • Ruby on Rails、Nuxt.js • 経歴 • 2013- グリー株式会社 • GREE Platform 部に所属 • 2020- アウモ株式会社 • 比較サイト、aRM※の開発担当 ※CRMツール 自己紹介 2
3.
aumoはご存知ですか? ⓘ Start presenting
to display the poll results on this slide.
4.
4 aumoってどんなサービス? 国内最大級のおでかけ情報サービス 1300万 500万 月間ユーザー数 アプリDL数 50万 掲載記事数
総口コミ数 50万 掲載メディア数 500
5.
5 aumoってどんなサービス? Web記事 SEOに最適化された コンテンツ制作 Web記事 Web記事 Web記事 位置情報、閲覧傾向を利用 レコメンドシステム App ユーザーの口コミを活用 おでかけCGM Web施設
6.
6 Web記事 カテゴリ 技術スタック プログラム言語 /
FW Ruby / Ruby on Rails インフラ AWS データベース MySQL, Redis, Memcached, DynamoDB 監視 Datadog, Papertrail, PagerDuty 分析 Bigquery, PoT ※社内分析ツール 検索エンジン ElasticSearch コード管理 GitHub Web記事 SEOに最適化された コンテンツ制作 Web記事
7.
7 App Web記事 カテゴリ 技術スタック プログラム言語 /
FW Ruby / Ruby on Rails, Swift, Kotlin, Python インフラ AWS データベース MySQL, Redis, Memcached, DynamoDB, FireStore Database 監視 Datadog, Papertrail, PagerDuty, Firebase 分析 Bigquery, PoT ※社内分析ツール 検索エンジン ElasticSearch 機械学習 SageMaker, fastText コード管理 GitHub 位置情報、閲覧傾向を利用 レコメンドシステム App
8.
8 Web施設 Web記事 カテゴリ 技術スタック プログラム言語 /
FW Ruby / Ruby on Rails, Vue.js, Nuxt.js インフラ AWS データベース MySQL, Redis, Memcached, DynamoDB 監視 Datadog, Papertrail, PagerDuty, Sentry 分析 Bigquery, PoT ※社内分析ツール 検索エンジン ElasticSearch コード管理 GitHub Web施設 ユーザーの口コミを活用 おでかけCGM
9.
9 比較サイトとは? Web記事 Web記事 位置情報、閲覧傾向を利用 レコメンドシステム App ユーザーの口コミを活用 おでかけCGM Web施設 Web記事 SEOに最適化された コンテンツ制作 Web記事
10.
10 施設情報を提供するサービス 比較サイトとは? • 施設 • 基本情報、写真、口コミ •
検索 • ジャンル×エリア×カテゴリで施設を検索 ホテル グルメ レジャー・観光 チラシ・ショッピング
11.
11 構成 フロントエンド バックエンド ELB 同一インスタンスに搭載 サブドメイン
12.
12 当初のフロントエンド設計 UXを優先したSPAという方法を採用
13.
13 Single Page Application SPA ページ遷移することなく同一のページ内でコンテンツのみ切り替 え
サーバー ELB クライアント ①リクエスト ③レスポンス ②コンテンツ生 成 ④JSをブラウザで実行 ※2回目以降は差分のみリクエスト するため処理が早い
14.
14 SPA • メリット • 2回目以降は差分のデータのみを要求するため早い •
デメリット • 初回のページ読み込みが遅い Single Page Application
15.
15 比較サイトの成長に伴い、初回読み込みの遅延が顕著に。。。
16.
16 特に、施設の検索が遅い
17.
17 検索の課題 • コンテンツ表示までの速度 • 検索エンジン最適化(SEO)対策
18.
18 検索の課題 • コンテンツ表示までの速度 • 検索エンジン最適化(SEO)対策
19.
19 コンテンツ表示までの速度 検索の課題 • コンテンツ生成が非同期 • レンダリングに時間がかかる
20.
20 検索の課題 • コンテンツ表示までの速度 • 検索エンジン最適化(SEO)対策
21.
21 検索エンジン最適化(SEO)対策 検索の課題 • コンテンツ生成が非同期で評価できない • Web記事はSEOに強い •
ノウハウを共有したい Web記事 SEOに最適化された コンテンツ制作 Web記事
22.
22 検索の課題 • コンテンツ表示までの速度 • 検索エンジン最適化(SEO)対策 解決策:SPAからSSR(同期生成)に仕様変更
23.
23 Server Side Rendering SSR Webページのレンダリングをブラウザの代わりにサーバ上で行う サーバー ELB クライアント ①リクエスト ③レスポンス ②コンテンツ生 成 ・HTML生成 ・JS実行 ※
Node.js必要 ④コンテンツ表 示 ※画面の表示において有用な アプリケーションの機能
24.
24 SSR • メリット • 画面の表示が早い •
デメリット • サーバー側の負荷が高い • Node.js サーバー環境が必要 Server Side Rendering
25.
25 つまり
26.
26 SPAからSSR(同期生成)に仕様を変更することで • コンテンツ表示までの速度 • 検索エンジン最適化(SEO)対策 を改善できる
27.
27 仕様変更 • 検索処理 • Vue
components 内 mounted 時に実行 • しかも、ジャンル毎に似たような処理がある... mounted () { return this.search() }, search () { const page = this.$route.query.page || 1 : 検索パラメータ設定 : this.searchGourmetAction({ searchQuery, page }) // store経由でAPIリクエスト } 変更前
28.
28 Life Cycle NuxtJS nuxt ServerInit Route Middleware fetch() asyncData() created() fetch() mounted() validate() ・初回アクセス時に実行される ・ストアに事前にデータを格納する ☆
page components のみ利用可能 ★ 全ての Vue components で利用可能 ・条件の設定やチェックを行う ・page リダイレクトに利用 ☆ 動的ルーティングのパラメータを検証 Vuex store component data ☆ page レンダリング前にデータを取得 ★ Vue インスタンスが生成されたときに呼び出される ★ Vue インスタンスが生成された後に呼び出される ★ DOM がレンダリングされたときに呼び出される
29.
29 Life Cycle NuxtJS nuxt ServerInit Route Middleware fetch() asyncData() created() fetch() mounted() validate() DOM
がレンダリングされた後に検索
30.
30 Life Cycle NuxtJS nuxt ServerInit Route Middleware fetch() asyncData() created() fetch() mounted() validate() page
レンダリング前に検 索
31.
31 ① 検索処理の移行 仕様変更 • 検索処理 •
page components 内 fetch 時に実行 • page 全てに同様の処理を置くのは微妙なので... async fetch ({ app, route }) { return await Promise.all([ app.$categorySearch({ route }) ]) },
32.
32 ② 検索処理の共通化 仕様変更 • plugin
利用 • ジャンル毎の検索処理を共通化 export default ({ store, req }, inject) => { inject('categorySearch', async ({ route }) => { const page = route.query.page || 1 switch (process.host) { case process.env.GOURMET_DOMAIN: : 検索パラメータ設置 : await store.dispatch('gourmetSearch/searchGourmetAction', { searchQuery, page }) break : } }) } ※ ブラウザ環境に帰属するオブジェクト(window, document)にはアクセス不可
33.
33 ③ 検索ページ導線を変更 仕様変更 • 検索ページへの遷移処理を修正 •
<NuxtLink>によるページ遷移はクライアント側で実行 • ブラウザをハード再読み込みしてサーバーへリクエスト
34.
34 まとめ
35.
35 改善項目 • コンテンツ表示までの速度 • 検索エンジン最適化(SEO)対策
36.
36 改善項目 • コンテンツ表示までの速度 • リクエストからコンテンツ表示までの速度:55~62%⬇️ •
検索エンジン最適化(SEO)対策
37.
37 改善項目 • コンテンツ表示までの速度 • 検索エンジン最適化(SEO)対策 •
初回読み込み時に全てのコンテンツを生成
38.
38 改善項目 • コンテンツ表示までの速度 • リクエストからコンテンツ表示までの速度:55~62%⬇️ •
検索エンジン最適化(SEO)対策 • 初回読み込み時に全てのコンテンツを生成
39.
39 学び
40.
40 NuxtJS • SSR導入は困難ではない • Node.js
サーバー環境を準備 • Nuxt Life Cycle 理解 ※クライアント、サーバーの処理 • 同様の課題があるサービスに有用 • ページ単位で導入も可能
41.
41 引き続きより良いサービス作りを心掛けていきます これからもaumoを宜しくお願いしますmm
42.
42
Download