Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
研修で学んだリクエスト毎に ページのレンダー方法を変える小技
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
一ノ瀬裕斗
October 02, 2025
0
350
研修で学んだリクエスト毎に ページのレンダー方法を変える小技
フロントエンド研修で学んだCSRとSSRをリクエストごとに切り替えて、パフォーマンスやコスト、SEOを良くする技術の説明
一ノ瀬裕斗
October 02, 2025
Tweet
Share
Featured
See All Featured
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
[SF Ruby Conf 2025] Rails X
palkan
1
760
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
87
Bash Introduction
62gerente
615
210k
The Cost Of JavaScript in 2023
addyosmani
55
9.5k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
190
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
Building Adaptive Systems
keathley
44
2.9k
Being A Developer After 40
akosma
91
590k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
200
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.1k
Google's AI Overviews - The New Search
badams
0
910
Transcript
© DMM CONFIDENTIAL 研修で学んだリクエスト毎に ページのレンダー方法を変える小技 SEOがちょこっと良くなる LC開発部 一ノ瀬 裕斗 2025/09/18
目次 2 1. 自己紹介 2. 研修の話 3. CSRとSSRのおさらいと使い分けの例 4. まとめ
自己紹介 3 名前: 一ノ瀬 裕斗 所属: LCのフロントエンドエンジニア Next.jsへのリプレイス 趣味: お酒・シーシャ
最近: 社会人満喫してます🥹
4 実は… まだ社会人として1ヶ月しか働いてない…🥹
5 4月〜7月末の3ヶ月間の技術研修 FE・BE・Android・iOS・インフラ・クラウド・AIなど幅広く学んだ 8月まで研修でした!!
6 Yatter演習でFE・BE・モバイルの開発!! SNSアプリ「Yatter」を作りながらモダンな技術スタックを身につけた! ↓自分が開発したYatter
7 クラウドの研修を受けたり、社員食堂でランチ😋 Google・AWSのオフィスに見学!!
8 スクラム研修のレゴブロックのグループワーク 最後にプロダクト発案をしてスクラムでチーム開発 スクラム研修やチーム開発!!
9 長くてたくさんの学びと思い出になった研修 そこで学んだことを紹介!!
10 リクエストによってレンダー方法(CSR・SSR) を変えなきゃいけない時ってある・・・!?
11 扱うプロダクトによってはあるかも・・・?
12 CSR • ブラウザにJSが読み込まれてからJSで画面を描画 ◦ 例:React・SPA ◦ クライアント側で処理 レンダー方法とは?(おさらい) SSR
• サーバー側で生成したHTMLをユーザーに返す ◦ 例:Next.jsのgetServerSideProps(Page Router)、RSC(App Router) ◦ サーバー側で処理
13 CSR • サーバー側の処理をクライアント側でするから表示速度(TTFB)は速い ◦ 一旦空のページを表示してから、クライアント側で REST APIからデータを取得する メリット SSR
• コンテンツのデータなどをサーバー側で取得して最初から表示できる ◦ FCP/LCPは上がる ◦ サーバー側でREST APIやDBにアクセスしてデータを取得
14 CSR • データやコンテンツの取得にワンテンポ遅れる ◦ 例:useEffectでデータフェッチとか、やりすぎると FCP/LCPとか下がる ◦ クローラーだとどんなコンテンツがあるか分からない デメリットもある
SSR • サーバー側でのデータ取得に時間がかかるとページの読み込みが遅くなる ◦ TTFB下がる ◦ サーバーの負荷がかかるのでコスト増 ◦ コンテンツによってSSR/CSR組み合わせてデータを取得するのが良い
15 研修で取り組んだ例を2つ紹介!!😎
16 • CSRだとクローラーには内容が伝わらない ◦ SSRにすれば…? ◦ クローラー・ユーザーからの全部のリクエストを SSRにするのはパフォーマンスやコスト的に良くない ◦ →普通のユーザーなら
CSR・クローラーならSSRにすれば良いのでは? クローラー判定
17 RSC上で UAからクローラーか判定
18 普通のユーザーからアクセスした時 投稿内容がクライアント側で取得される
19 クローラー(偽装)からアクセスした時 投稿内容がサーバー側で取得される
20 2018年3月、DMM.comの成人向け事業(現 FANZA)は株式会社デジタルコマース社に継 承されました。 ただし、システムの開発や運用、一部の営業業務はデジタルコマース社からDMM.comに 委託されており、プラットフォームはDMM.comが継続して提供することで合意しておりま す。 必読!!⚠
21 2018年3月、DMM.comの成人向け事業(現 FANZA)は株式会社デジタルコマース社に継 承されました。 ただし、システムの開発や運用、一部の営業業務はデジタルコマース社からDMM.comに 委託されており、プラットフォームはDMM.comが継続して提供することで合意しておりま す。 必読!!⚠
22 弊社には年齢確認が必要なコンテンツがあるので 試しに研修で年齢確認機能を作ってみました😆 年齢確認のページ
23 • クローラー ◦ 普通のユーザーなら年齢確認・クローラーならページ表示 年齢確認 • Cookie(年確済みの状態保存) ◦ サーバー側でCookieがあるならページ表示、ないなら年齢確認
24 RSC上でUAからクローラーか判定 Cookieを見て年齢確認済みか判定
UAがクローラーの時は表示しないように条件分岐 ←ユーザーアクセス時 年齢確認画面を表示 クローラーアクセス時→ 初期画面を表示
• ユーザー数が多く、コスト・パフォーマンス・SEOなど様々な要素を考慮しなければな らない ◦ そのためにCSRとSSRを使い分けている ◦ 例:RSC上でUAを判定してCSR/SSR切り替え 26 まとめ •
ページで表示するコンテンツの特性に合わせてレンダー方法を使い分ける ◦ ブログページならSEO踏まえてSSR ◦ SNS系ならRSCで使い分け
ご清聴ありがとうございました