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
FirebaseでSPAするときのSEO/OGP対応もうこれでいいんじゃないですか20...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
o_tomomichi
April 02, 2018
Programming
7.8k
1
Share
FirebaseでSPAするときのSEO/OGP対応もうこれでいいんじゃないですか2018暫定版
o_tomomichi
April 02, 2018
More Decks by o_tomomichi
See All by o_tomomichi
個人開発からのんびり育てる意識低いWebサービス開発の話 / Easy going web development
tomomichi
0
2.1k
個人開発を支える何も作らない技術 / No Devs No Bugs
tomomichi
3
1.1k
Herokuの無料プランで月間100万PVをさばく(さばかない)話
tomomichi
3
8.9k
Other Decks in Programming
See All in Programming
TSKaigi2026-静的解析への投資がAI時代のコード品質を支える ── カスタムESLintルールの設計と運用
hayatokudou
7
1.3k
dRuby over BLE
makicamel
1
260
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
340
権限チェックの一貫性を型で守る TypeScript による多層防御
mnch
4
1k
GitHub Copilot CLIのいいところ
htkym
2
1.2k
tsserverとは何だったのか、これからどうなるのか
nowaki28
1
430
柔軟なPDFレイアウトエディタを支える型システム設計 — Discriminated UnionとConditional Typeの実践
minako__ph
4
1.2k
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
450
Modding RubyKaigi for Myself
yui_knk
0
850
初めてのRubyKaigiはこう見えた
jellyfish700
0
400
サーバーレスで作る、動画データ管理基盤
oyasumipants
0
340
These Five Tricks Can Make Your Apps Greener, Cheaper, & Nicer
hollycummins
0
260
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
528
40k
Into the Great Unknown - MozCon
thekraken
41
2.5k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
74k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.5k
Designing for Timeless Needs
cassininazir
1
240
Scaling GitHub
holman
464
140k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
810
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.5k
Prompt Engineering for Job Search
mfonobong
0
320
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.8k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
55k
Transcript
FirebaseでSPAするときの SEO/OGP対応 もうこれで いいんじゃないですか 2018暫定版
自己紹介 • なんちゃってWebエンジニア • ぼっちWebサービス開発 • NOT SO BAD, LLC.
おおにし @kame_f_no7
簡単・便利なトーナメント表作成サービス
課題感
THE TOURNAMENTの話
うれしみ つらみ 無料枠が大きい 認証が簡単すぎ Functionsが便利すぎ まだ障害も多い 管理画面が弱い バックアップできない 初回表示が重い SEOが弱くなった
SPAのSEO/OGPあるある • Googleにインデックスされない • SNSシェアにOGPが反映されない botの進化で解決したのでは…?
None
ダメでした\(^o^)/ ※使用するフレームワークなどにもよるようです。
対応策
こういうのがありますよね • SSR • プリレンダリング • metaタグだけ入ったhtmlを返す ◦ botにだけ別ページ表示 ◦
URLを分けてリダイレクト
今回の方針としては • シンプルで対応工数少ないの希望 • SEOペナルティは避けたい • パフォーマンス改善は目をつぶる
やったこと 1. Functionsでindexのmetaタグ差替 2. FunctionsでRSSフィード配信 3. スプレッドシートでsitemap公開
① Functionsで index.htmlの metaタグ差し替え
firebase.json
None
事例見かけないので不安。 なにか罠あります?
心配になるところ • Functions使いすぎるのでは? • パフォーマンス落ちるのでは?
心配ポイント①:Functions使いすぎ問題 でもFunctionsのレスポンスは CDNにキャッシュできる
None
• コンテンツ部分は結局クライアント側で レンダリングしてる(のでキャッシュされ ない) • キャッシュしてるのはガワだけなので、 保存期間長くしてもよさそう 心配ポイント①:Functions使いすぎ問題
心配ポイント②:パフォーマンス問題 中央値:200~300ms
まぁいいか \(^o^)/
② Functionsで 超お手軽にRSSフィード配信
/feed でxml形式のRSSフィードを出力する
Firestoreから最新のコンテンツn件をxmlで返す
キャッシュは長めがハッピー
None
めっちゃ簡単 \(^o^)/
③ スプレッドシートで 超お手軽にsitemap配信
クロールしてもらうために sitemapも用意しないと。。 でも面倒くさい
• XMLじゃなくて改行テキストでOK →実はCSV形式でもOK • 外部ドメインに置いてもOK • スプレッドシートはCSV形式で公開でき る あまり知られてないsitemapの話
つまり?
いつからこれがsitemapではないと錯覚していた…?
None
robots.txt
更新はどうするの?
None
RSSが更新されたら自動でシートに追記
実際クロールされるの?
来すぎてquota超えた(先にblazeにしましょう)
まとめ
改めて、やったこと再掲 1. Functionsでindexのmetaタグ差替 2. FunctionsでRSSフィード配信 3. スプレッドシートでsitemap公開
Functions最高 \(^o^)/
CM
FirestoreのGUI管理アプリ作りかけです https://notsobad-jp.github.io/sequelFIRE/
Thank you.