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
Yoshihiro Hasegawa
January 15, 2020
Programming
0
560
クリック率アップを目指す!リッチリザルトのための構造化データ
2020年1月15日に開催された Markup Meetup #2 でお話しさせていただいた内容です。
明日から構造化データをWebサイトに適用しましょう!
Yoshihiro Hasegawa
January 15, 2020
Tweet
Share
More Decks by Yoshihiro Hasegawa
See All by Yoshihiro Hasegawa
htmxって知っていますか?次世代のHTML
hiro_ghap1
0
550
LINE公式アカウント&WordPressで更新頻度が上がった話
hiro_ghap1
1
150
もう一度imgタグをおさらいしよう
hiro_ghap1
0
140
リッチリザルトのための構造化データハンズオン
hiro_ghap1
0
56
2020年からWebサイトが意匠権の対象になります
hiro_ghap1
0
430
すぐできる構造化データマークアップ
hiro_ghap1
1
230
Other Decks in Programming
See All in Programming
地方に住むエンジニアの残酷な現実とキャリア論
ichimichi
2
630
Composerが「依存解決」のためにどんな工夫をしているか #phpcon
o0h
PRO
1
120
生成AIで日々のエラー調査を進めたい
yuyaabo
0
620
生成AIコーディングとの向き合い方、AIと共創するという考え方 / How to deal with generative AI coding and the concept of co-creating with AI
seike460
PRO
1
320
Is Xcode slowly dying out in 2025?
uetyo
1
180
関数型まつり2025登壇資料「関数プログラミングと再帰」
taisontsukada
2
840
AWS CDKの推しポイント 〜CloudFormationと比較してみた〜
akihisaikeda
3
290
[初登壇@jAZUG]アプリ開発者が気になるGoogleCloud/Azure+wasm/wasi
asaringo
0
130
すべてのコンテキストを、 ユーザー価値に変える
applism118
2
450
Spring gRPC で始める gRPC 入門 / Introduction to gRPC with Spring gRPC
mackey0225
2
520
PHPで始める振る舞い駆動開発(Behaviour-Driven Development)
ohmori_yusuke
2
130
iOSアプリ開発で 関数型プログラミングを実現する The Composable Architectureの紹介
yimajo
2
210
Featured
See All Featured
BBQ
matthewcrist
89
9.7k
Adopting Sorbet at Scale
ufuk
77
9.4k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Bash Introduction
62gerente
614
210k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
How to train your dragon (web standard)
notwaldorf
92
6.1k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Building Adaptive Systems
keathley
43
2.6k
Typedesign – Prime Four
hannesfritz
42
2.7k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
790
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
Designing for Performance
lara
609
69k
Transcript
ΫϦοΫΞοϓΛࢦ͢ʂ ϦονϦβϧτͷͨΊͷߏԽσʔλ 2020.01.15 Markup Meetup #2 in LINKS UMEDA
ΫϦοΫΞοϓΛࢦ͢ʂϦονϦβϧτͷͨΊͷߏԽσʔλ ·ͣࣗݾհ ▸ ߹ಉձࣾ How to UseɹCTO ▸ ૯߹WebαʔϏε λμϑϥɹද
▸ σδλϧϋϦουେࡕɹτϨʔφʔ ▸ גࣜձࣾμϒϧϊοτɹύʔτφʔ ▸ ௗऔݝձ࿈߹ձɹొઐՈ ▸ ۭҊਓ® ▸ ͓ञͱߚͱνϣίϨʔτ ZPTIJIJSPIBTFHBXB DIPDPMBU@TUSFFU
ΫϦοΫΞοϓΛࢦ͢ʂϦονϦβϧτͷͨΊͷߏԽσʔλ ຊͷΞδΣϯμ ▸ ϦονϦβϧτͱ ▸ ߏԽσʔλͱ ▸ ͙͢Ͱ͖ΔߏԽσʔλϚʔΫΞοϓ ▸ SearchConsoleͰ֬ೝ͢Δ
ΫϦοΫΞοϓΛࢦ͢ʂϦονϦβϧτͷͨΊͷߏԽσʔλ ຊͷΰʔϧ ໌͔Βօ͞Μͷ αΠτͰݕࡧ݁Ռʹ ϦονϦβϧτΛ දࣔͯ͠Β͏
ΫϦοΫΞοϓΛࢦ͢ʂϦονϦβϧτͷͨΊͷߏԽσʔλ ຊͷΞδΣϯμ ▸ ϦονϦβϧτͱ ▸ ߏԽσʔλͱ ▸ ͙͢Ͱ͖ΔߏԽσʔλϚʔΫΞοϓ ▸ SearchConsoleͰ֬ೝ͢Δ
ϦονϦβϧτͱ ϦονϦβϧτͱ ▸ ࢹ֮తͳػೳૢ࡞ػೳ͕Ճ͞ΕͨɺGoogle ݕࡧ݁ՌͰ ͢ɻҎલʮϦονΧʔυʯ·ͨʮϦον εχϖοτʯ ͱͯ͠ΒΕ͍ͯ·ͨ͠ɻ ˞4FBSDI$POTPMFϔϧϓΑΓҾ༻
ϦονϦβϧτͱ ϦονϦβϧτͷछྨ
ϦονϦβϧτͱ ϦονϦβϧτͷछྨ
ϦονϦβϧτͱ ϦονϦβϧτͷछྨ
ϦονϦβϧτͱ ϦονϦβϧτͷछྨ
ϦονϦβϧτͱ ϦονϦβϧτͷछྨ ̎̕छྨ
ϦονϦβϧτͱ ೖΕΔͱͲ͏ͳΔʁ ٻਓৄࡉϖʔδͷ ࣗવݕࡧτϥϑΟοΫ94%૿Ճ ࣗવݕࡧτϥϑΟοΫ̎ഒҎ্ τϥϑΟοΫ100%૿େ ίϯόʔδϣϯ̐.̑ഒ αΠτࡏ࣌ؒ1.5ഒҎ্
ϦονϦβϧτͱ ̘̫ɺࡏ࣌ؒΞοϓΛࢦͦ͏ʂ ʮγϟϯύϯ ։͚ํʯͰ ݕࡧ͢Δͱग़ͯ͘Δ αϯτϦʔͷ How to ϦονϦβϧτ
ΫϦοΫΞοϓΛࢦ͢ʂϦονϦβϧτͷͨΊͷߏԽσʔλ ຊͷΞδΣϯμ ▸ ϦονϦβϧτͱ ▸ ߏԽσʔλͱ ▸ ͙͢Ͱ͖ΔߏԽσʔλϚʔΫΞοϓ ▸ SearchConsoleͰ֬ೝ͢Δ
ߏԽσʔλͱ ߏԽσʔλͱ ▸ Google ݕࡧͰɺϖʔδͷίϯςϯπΛཧղ͢ΔΑ͏औΓ ΜͰ͍·͢ɻϖʔδʹߏԽσʔλΛؚΊͯɺϖʔδͷ ༰ʹ͍ͭͯͷ໌നͳஅࡐྉΛఏڙ͢ΔͱɺGoogle Ͱͦͷ ϖʔδΛΑΓਖ਼֬ʹཧղͰ͖ΔΑ͏ʹͳΓ·͢ɻߏԽσʔ λͱɺϖʔδʹؔ͢ΔใΛఏڙ͠ɺϖʔδ
ίϯςϯπ ʢͨͱ͑ϨγϐͷϖʔδͰɺࡐྉɺՃ࣌ؒͱՃԹ ɺΧϩϦʔͳͲʣΛྨ͢ΔͨΊͷඪ४Խ͞Εͨσʔλ ܗࣜͰ͢ɻ
ߏԽσʔλͱ ߏԽσʔλͷܗࣜ ▸ Google Ͱओʹʮschema.orgʯͷϘΩϟϒϥϦ͕༻͞ ΕɺʮJSON-LDʢਪʣʯɺʮMicroformatsʯɺʮRDFaʯ ͷߏԽσʔλΛ༻Ͱ͖·͢ɻ ߏԽσʔλͷ هड़ʹछྨ͕͋Δʂ
ߏԽσʔλͱ ߏԽσʔλΛهड़͢Δ ▸ Google ͕ਪ͍ͯ͠ΔʮJSON-LDʢਪʣʯͰهड़͠Α͏
ߏԽσʔλͱ ߏԽσʔλΛೖྗ͢ΔϝϦοτ ▸ ྫ͑Ϩγϐͷ߹ɺௐཧ࣌ؒɺ ΧϩϦʔͳͲɺPCͷϦονϦβϧτͰ ݟΒΕΔදࣔҎ֎ʹɺΧϧʔηϧදࣔ༻ ͷϦετɺGoogleΞγελϯτͰ༻͞ ΕΔࡐྉɺௐཧखॱͳͲͷϓϩύςΟ͕ ͋Γ·͢ɻ ▸
ߏԽσʔλՄೳͳΒඞਢ߲͚ͩͰ ͳ͘ɺਪ߲ೖྗ͠·͠ΐ͏ɻ
ΫϦοΫΞοϓΛࢦ͢ʂϦονϦβϧτͷͨΊͷߏԽσʔλ ຊͷΞδΣϯμ ▸ ϦονϦβϧτͱ ▸ ߏԽσʔλͱ ▸ ͙͢Ͱ͖ΔߏԽσʔλϚʔΫΞοϓ ▸ SearchConsoleͰ֬ೝ͢Δ
͙͢Ͱ͖ΔߏԽσʔλϚʔΫΞοϓ ϦονϦβϧτͷͨΊͷߏԽσʔλ ▸ ίϯςϯπͷछྨͱ͓͢͢ΊͷϦονϦβϧτ
͙͢Ͱ͖ΔߏԽσʔλϚʔΫΞοϓ ૣͬͯΈΑ͏
͙͢Ͱ͖ΔߏԽσʔλϚʔΫΞοϓ ࢀߟʹ͍ͨ͠ϦονεχϖοτΛݟ͚ͭΔ ʮγϟϯύϯ ։͚ํʯͰ ݕࡧ͢Δͱग़ͯ͘Δ αϯτϦʔͷ How to Step ߏԽσʔλ
ྉཧ໊Ͱݕࡧ͢Δͱग़ͯ͘Δ ϨγϐͷߏԽσʔλ
͙͢Ͱ͖ΔߏԽσʔλϚʔΫΞοϓ ࢀߟʹ͍ͨ͠ϦονεχϖοτΛݟ͚ͭΔ ࠓճΑ͋͘Δ࣭ͷߏԽσʔλ
͙͢Ͱ͖ΔߏԽσʔλϚʔΫΞοϓ ࢀߟʹ͍ͨ͠ϦονεχϖοτΛݟ͚ͭΔ ࠓճΑ͋͘Δ࣭ͷߏԽσʔλ ૣࣗࣾͷ 8FCαΠτʹ औΓࠐΜͰΈ·͠ΐ͏ʂ
͙͢Ͱ͖ΔߏԽσʔλϚʔΫΞοϓ ߏԽσʔλςετπʔϧΞΫηε ▸ ʮߏԽσʔλςετπʔϧʯͰݕࡧ
͙͢Ͱ͖ΔߏԽσʔλϚʔΫΞοϓ ߏԽσʔλςετπʔϧΞΫηε ▸ ࢀߟʹ͢ΔαΠτͷURLΛೖྗͯ͠ʮςετΛ࣮ߦʯ
͙͢Ͱ͖ΔߏԽσʔλϚʔΫΞοϓ ߏԽσʔλςετπʔϧΞΫηε ▸ ࠨଆʹιʔείʔυɺӈଆʹߏԽσʔλ͕දࣔ͞ΕΔ
͙͢Ͱ͖ΔߏԽσʔλϚʔΫΞοϓ ߏԽσʔλςετπʔϧΞΫηε ▸ ιʔείʔυͷ <script type=”application/ld+json”> ʙ </script> Λίϐϖ
͙͢Ͱ͖ΔߏԽσʔλϚʔΫΞοϓ ࣗࣾαΠτߏԽσʔλΛՃ͑Δ ▸ ߏԽσʔλςετπʔϧͷӈଆΛࢀߟʹɺࣗࣾͷ༰ʹॻ ͖͑Δ
͙͢Ͱ͖ΔߏԽσʔλϚʔΫΞοϓ ࣗࣾαΠτߏԽσʔλΛՃ͑Δ ▸ ग़དྷ্͕ͬͨΒɺߏԽσʔλςετπʔϧͰνΣοΫ͢Δ
͙͢Ͱ͖ΔߏԽσʔλϚʔΫΞοϓ ࣗࣾαΠτߏԽσʔλΛՃ͑Δ ▸ ग़དྷ্͕ͬͨΒɺߏԽσʔλςετπʔϧͰνΣοΫ͢Δ Τϥʔ͕ग़͍ͯͨΒमਖ਼Λʂ
͙͢Ͱ͖ΔߏԽσʔλϚʔΫΞοϓ ࣗࣾαΠτߏԽσʔλΛՃ͑Δ ▸ Τϥʔमਖ਼͕ඞཁ͕ͩɺਪ߲ͷܯࠂݩͷαΠτͰ ͳ͚Εεϧʔ ઌఔͷαϯτϦʔͷ αΠτͰܯࠂ ൃੜ͍ͯ͠Δ
͙͢Ͱ͖ΔߏԽσʔλϚʔΫΞοϓ ҙ ▸ ϨγϐͳͲɺҰ෦ͷߏԽσʔλͰϘΠεUIͷΨΠμϯε ʹରԠ߲͕ͨ͠ଘࡏ͢ΔɻνΣοΫπʔϧͰඞਢ߲ͱ ͳ͍ͬͯͳ͍ͨΊɺݸผͰରԠ͕ඞཁɻ
͙͢Ͱ͖ΔߏԽσʔλϚʔΫΞοϓ Τϥʔ͕ͳ͘ͳͬͨΒʂ
͙͢Ͱ͖ΔߏԽσʔλϚʔΫΞοϓ ߏԽσʔλΛೖྗ͢Δҙ ▸ ΨΠυϥΠϯҧʹͳΒ ͳ͍Α͏ʹɺೖྗ༰Λ νΣοΫ͢Δ͜ͱɻ ▸ ͜ͷ߹ɺٻਓ͕ऴྃ͠ ͍ͯΔʹؔΘΒͣߏ Խσʔλ্ͰٻਓதͰ͋
ΔͨΊʹखಈରࡦͷର ͱͳΔՄೳੑʹݴٴͯ͠ ͍Δɻ
͙͢Ͱ͖ΔߏԽσʔλϚʔΫΞοϓ ߏԽσʔλΛೖྗ͢Δҙ ▸ ٻਓɺετϦʔϛϯάಈը݁Ռͷөʹଈޮੑ͕ٻΊΒ ΕΔͨΊɺIndexing API ͷσʔλૹ৴Λߦ͏ɻ ▸ Index API
ϦΫΤετΛૹΔ͜ͱͰɺGoogleͷϑϨογϡ ΫϩʔϧΛεέδϡʔϧͰ͖Δɻ
͙͢Ͱ͖ΔߏԽσʔλϚʔΫΞοϓ ߏԽσʔλΛೖྗ͢Δҙ ▸ ٻਓɺετϦʔϛϯάಈը݁Ռͷөʹଈޮੑ͕ٻΊΒ ΕΔͨΊɺIndexing API ͷσʔλૹ৴Λߦ͏ɻ ▸ Index API
ϦΫΤετΛૹΔ͜ͱͰɺGoogleͷϑϨογϡ ΫϩʔϧΛεέδϡʔϧͰ͖Δɻ
ΫϦοΫΞοϓΛࢦ͢ʂϦονϦβϧτͷͨΊͷߏԽσʔλ ຊͷΞδΣϯμ ▸ ϦονϦβϧτͱ ▸ ߏԽσʔλͱ ▸ ͙͢Ͱ͖ΔߏԽσʔλϚʔΫΞοϓ ▸ SearchConsoleͰ֬ೝ͢Δ
Search Console Ͱ֬ೝ͢Δ Search Console Ͱ֬ೝ͢Δ ▸ URLݕࠪΛߦ͍ɺGoogle ʹߏԽσʔλ͕ೝࣝ͞ΕΔͱ Search
Console ্ʹରԠͨ͠ϓϩύςΟ͕ग़ݱ͢Δɻ
Search Console Ͱ֬ೝ͢Δ ݕࡧ݁ՌΛ֬ೝ͢Δ ▸ ݕࡧ݁Ռͷөૣͯ࣌ؒ͘ɺͯ͘ͱ͍͏ͱ͜ ΖɻʢIndexingAPI ͳΒͰөʣ
Search Console Ͱ֬ೝ͢Δ ͦͷଞͷߏԽσʔλ ▸ φϨοδύωϧ͕ग़ݱ͢ΔߏԽσʔλʢΠϕϯτʣ
Search Console Ͱ֬ೝ͢Δ Search Console Ͱ֬ೝ͢Δ ▸ φϨοδύωϧ͔Βͷྲྀೖ
͙͢Ͱ͖ΔߏԽσʔλϚʔΫΞοϓ ૣ໌͔ΒϦονϦβϧτΛಋೖ͠·͠ΐ͏ʂ ▸ ؾʹͳΔϦονϦβϧτΛςετπʔϧ ͰௐΔɻ ▸ ࣗࣾͷ༰ʹॻ͖͑Δɻ ▸ Search Console
Λ֬ೝ͢Δɻ ʲ·ͱΊʳ
͙͢Ͱ͖ΔߏԽσʔλϚʔΫΞοϓ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ ߏԽσʔλϚʔΫΞοϓWordPressϓϥάΠϯ ʢଟʣ·ͳ͘ެ։Ͱ͢ʂ