HTML5 Conference 2018のLT資料です。 https://events.html5j.org/conference/2018/11/
1000ສҎ্ͷWebϖʔδΛAMPʹͨ͠HTML5 Conference 2018ฏ ণ࢜(@shisama)
View Slide
ฏ ণ࢜ / Masashi Hiranoɹɹɹɹ Kyoto office@shisama_@shisamaNode.js Core CollaboratorؔNodeֶԂOrganizer
͍ͬͯ·͔͢ɾɾɾʁ
ࠓͷय़ʹAMPରԠ͠·ͨ͠
Why AMP?• վળ• SEOΛԼ͛ͳ͍ͨΊ• Ϣʔβʔͷ૿Ճ
Why AMP?• վળ ɾαΠτͷىಈ͕࣌ؒ3ඵҎ্ ɹ53%ͷϢʔβ͕அ೦ͯ͠͠·͏ ɾىಈ͕࣌ؒ1ඵ͘ͳΔ ɹίϯόʔδϣϯ͕ 7% ‑Down
վળDOMContentLoaded: 633 msLoad: 1.45 sDOMContentLoaded: 1.15 sLoad: 3.52 s௨ৗϞόΠϧϖʔδ AMP
SEO
AMPରԠޙ̏ϲ݄ͷϢʔβʔΛൺֱΦϨϯδ͕ࡢɺ੨͕ࠓϢʔβʔ૿Ճ
1088ສޠऩ!
Ͳ͏ͬͯେྔͷϖʔδΛAMPʹ͔ͨ͠• ஈ֊తʹAMPʹ͍ͯ͘͠ ɾࠂϢʔβʔͷӨڹ͕৺• ༗ޮͳAMPϖʔδ͔ݕূ͢Δ• ศརͳAMPίϯϙʔωϯτΛ͏
ஈ֊తʹAMPʹ͍ͯ͘͠
ஈ֊తʹAMPʹ͍ͯ͘͠Google͕AMPϖʔδΛݕग़͢Δʹ ͰAMPϖʔδͱඇAMPϖʔδΛϦϯΫ͢ΔඇAMPϖʔδAMPϖʔδ
ஈ֊తʹAMPʹ͍ͯ͘͠Google͕AMPϖʔδΛݕग़͢Δʹ ͰAMPϖʔδͱඇAMPϖʔδΛϦϯΫ͢ΔඇAMPϖʔδAMPϖʔδ͕ଘࡏ͠ͳ͚Εݕग़͞Εͳ͍
// ඇAMPϖʔδଆif (word.startWith("n")) {}// AMPϖʔδଆif (word.startWith("n")) {}n͔Β࢝·Δ୯ޠͷΈAMPͱͯ͠ݕग़ͤ͞Δஈ֊తʹAMPʹ͍ͯ͘͠
ஈ֊తʹAMPʹ͍ͯ͘͠Google AnalyticsͰAMPϖʔδͷΞΫηεΛܭଌ͠ͳ͕Βɺগͣͭ͠ରԠ୯ޠΛ૿ͨ͠
༗ޮͳAMPϖʔδ͔ݕূ͢Δ
༗ޮͳAMP͔ݕূ͢Δ#development=1༗ޮ͔Τϥʔ͔݁ՌΛදࣔ
Τϥʔͷ༰͕දࣔ͞ΕΔ༗ޮͳAMP͔ݕূ͢Δ
༗ޮͳAMP͔ݕূ͢Δ
Promise.all([amphtmlValidator.getInstance(),getHtml(),]).then(([validator,html]) => {const result = validator.validateString(html);for (const error of result.errors) {throw new Error(error.message);}});CIͰ࣮ߦͯ͠νΣοΫ͢Δ͜ͱ͕Մೳ༗ޮͳAMP͔ݕূ͢Δ
ϦϦʔεޙSearch ConsoleͰ֬ೝՄೳ༗ޮͳAMP͔ݕূ͢Δ
ศརͳAMPίϯϙʔωϯτΛ͏
ศརͳAMPίϯϙʔωϯτΛ͏https://www.ampproject.org/docs/reference/componentsछྨͷ".1ίϯϙʔωϯτ͕ఏڙ͞Ε͍ͯΔ
ྫ͑͜ΜͳίϯϙʔωϯτΛ͍ͬͯ·͢BNQBDDFTT ϩάΠϯػೳBNQJNH ը૾ͷԆಡΈࠐΈΛߦ͏ɻJNHͷΘΓʹ༻BNQTJEFCBS αΠυόʔϝχϡʔΛ؆୯ʹ࡞ΕΔBNQBDDPSEJPO ΞίʔσΟΦϯϝχϡʔΛ؆୯ʹ࡞ΕΔBNQBVEJP ԻΛ࠶ੜͰ͖Δɻ୯ޠͷൃԻԻʹ༻ศརͳAMPίϯϙʔωϯτΛ͏
amp-sidebar amp-accordionamp-imgը૾ͷԆಡΈࠐΈ αΠυόʔϝχϡʔ ΞίʔσΟΦϯϝχϡʔศརͳAMPίϯϙʔωϯτΛ͏
• ඇAMPϖʔδʹAMPίϯϙʔωϯτΛར༻• AMPϖʔδͱͷUI౷Ұ• վળ• ίʔυΛڞ௨ԽศརͳAMPίϯϙʔωϯτΛ͏
௨ৗϞόΠϧϖʔδ AMPྫαΠυόʔϝχϡʔͷ6*Λ౷ҰྫαΠυόʔϝχϡʔͷ6*Λ౷ҰศརͳAMPίϯϙʔωϯτΛ͏
• վળ amp-imgΛͬͯը૾ͷԆಡΈࠐΈ• ίʔυΛڞ௨Խ amp-accessΛͬͯϩάΠϯͷ࣮Λڞ௨Խ• etc…ศརͳAMPίϯϙʔωϯτΛ͏
·ͱΊ• AMPվળʹ༗ޮ• AMPͷͨΊͷपลπʔϧͳͲἧ͍ͬͯΔ• ศརͳίϯϙʔωϯτ͕ଟఏڙ͞Ε͍ͯΔ• ඇAMPϖʔδͰར༻Մೳ
Thanks!