ããã«ã¡ã¯ïŒçŸåœ¹ãšã³ãžãã¢å
Œããã¯ããã¬ãŒã®@YushiYamamotoã§ãã
ä»åã¯ãRuby on Railsã§æ§ç¯ãããããŒã¿ã«ãµã€ãã®ãã¶ã€ã³æ¹ä¿®ãšãã©ã³ãã£ã³ã°ããŒãžïŒLPïŒã®CVRïŒã³ã³ããŒãžã§ã³çïŒæ¹åã«ææŠãããããžã§ã¯ãããåå¿è
ã«ãåããããããå±ãããŸãïŒð
ãã«ãªã¢ãŒãã§ãããŒã±ã¿ãŒããã£ã¬ã¯ã¿ãŒãšé£æºããªããé²ãããã®ãããžã§ã¯ããã³ãŒãããã¶ã€ã³ã®è£åŽããã£ã·ã解説ããã®ã§ãæåŸãŸã§æ¥œããã§ãã ãããïŒð
ð ãããžã§ã¯ãæŠèŠãšç®ç
å€ãã®WebãµãŒãã¹ãçŽé¢ãã課é¡ã£ãŠããããªæãã§ãããïŒ
- èªã¿èŸŒã¿é床ãé ã â³
- ãŠãŒã¶ãŒã®é¢å¿ãåŒããªã ð
- CVRãäœã ð
ä»åã®ããã·ã§ã³ã¯ãRuby on Railsã§åãããŒã¿ã«ãµã€ãã®ãã¶ã€ã³ãå·æ°ããLPã®CVRãæ¹åããããšã§ãŠãŒã¶ãŒäœéšïŒUXïŒãåäžãããããšãå ·äœçã«ã¯ïŒ
- ããŒã±ã¿ãŒãšååããŠã广çãªæ¹åæœçãæã¡åºãïŒ3幎以äžã®å®çžŸããã®ãèšãïŒïŒ
- HTML/CSSïŒSCSSïŒãšJavaScriptã§ã现éšãŸã§ãã ãã£ãã³ãŒãã£ã³ã°
- Git/GitHubã§ããŒã éçºãã¹ã ãŒãºã«ç®¡ç
ãããäžç·ã«CVRãåå¢ãããç§èš£ãè§£ãæãããŠãããŸãããïŒð¡
ð¯ CVRæ¹åã®ããã®LPãã¶ã€ã³æŠç¥
LPã®CVRãäžããã«ã¯ãæŠç¥ãè¶ éèŠïŒããã§ã¯ãå®è·µãã3ã€ã®ãã€ã³ããã玹ä»ããŸãã
1. ãã¡ãŒã¹ããã¥ãŒã®æé©å
ãŠãŒã¶ãŒãæåã«ç®ã«ããããã¡ãŒã¹ããã¥ãŒãã¯ãLPã®åœéãæ¡ããŸããé¢è±ãããªãããã«ã¯ïŒ
-
ãã£ããã³ããŒã匷å
â çããŠãã³ãã®ããèšèã§ãŠãŒã¶ãŒã®å¿ãã€ããïŒ -
ããžã¥ã¢ã«ã掻çš
â é«å質ãªç»åãåç»ã§èŠèŠã«èšŽããã -
CTAïŒCall To ActionïŒãã¿ã³ã®é
眮
â ãä»ããè¡åããŠïŒããšèªç¶ã«ä¿ãäœçœ®ã«èšçœ®ã
äŸãã°ããç¡æã§å§ããããã¿ã³ãç®ç«ã€è²ã§ããŒã³ãšçœ®ããšå¹æçã§ããðš
2. ã³ã³ãã³ãã®æŽçãšæ å ±èšèš
ãŽãã£ãŽãã£ããLPã¯ãŠãŒã¶ãŒãæ··ä¹±ãããŸããã·ã³ãã«ã§å¹æçãªèšèšã®ããã«ïŒ
-
ãŠãŒã¶ãŒã€ã³ãµã€ããåæ
â ã€ã³ã¿ãã¥ãŒããã¢ãªã³ã°ã§ãäœã欲ãããããææ¡ã -
ãã©ãŒã ã®æé©å
â å¿ èŠæäœéã®å ¥åé ç®ã«ããŠãé¢è±ãé²ãã
äŸãã°ãã¡ãŒã«ã¢ãã¬ã¹ãšååã ãã§OKã«ãããšãCVRãã°ããšäžããããšãïŒâš
3. ã€ã³ã¿ã©ã¯ã·ã§ã³ãšã¢ãã¡ãŒã·ã§ã³ã®æŽ»çš
åãããããšããµã€ããçãçãããŠããŸããå ·äœçã«ã¯ïŒ
-
é
å»¶èªã¿èŸŒã¿ïŒLazy LoadingïŒ
â ç»åãåç»ãå¿ èŠãªã¿ã€ãã³ã°ã§ããŒãããŠé«éåã -
ãã©ã³ãžã·ã§ã³å¹æ
â ãã¿ã³ãç»åãã¹ã ãŒãºã«åããšãçŽæçãªæäœæã«ã
ããã§ããŠãŒã¶ãŒããæ¥œããïŒããšæããLPã«ä»äžãããŸãããð
ðšð» å®è£ äŸïŒã·ã³ãã«ãªLPã»ã¯ã·ã§ã³ã®ã³ãŒãã£ã³ã°
ã§ã¯ãå®éã®ã³ãŒããèŠãŠã¿ãŸãããïŒä»¥äžã¯ããã¡ãŒã¹ããã¥ãŒéšåã®ãµã³ãã«ã§ããåå¿è ã§ãåããããã解説ä»ãã§ãå±ãããŸãã
HTML & SCSS
<!-- index.html -->
<section class="hero">
<div class="hero-content">
<h1 class="hero-title">ä»ããå§ãããïŒ</h1>
<p class="hero-desc">ããªãã®ã©ã€ãã¹ã¿ã€ã«ãè±ãã«ãããµãŒãã¹ãäœéšããŸãããïŒ</p>
<button class="cta-button">詳现ãèŠã</button>
</div>
</section>
// styles.scss
.hero {
background: url('/images/hero-bg.jpg') no-repeat center center/cover;
padding: 100px 20px;
text-align: center;
color: #fff;
.hero-content {
max-width: 800px;
margin: 0 auto;
.hero-title {
font-size: 3rem;
margin-bottom: 20px;
}
.hero-desc {
font-size: 1.25rem;
margin-bottom: 40px;
}
.cta-button {
background-color: #ff7f50;
border: none;
padding: 15px 30px;
font-size: 1.1rem;
cursor: pointer;
transition: background-color 0.3s;
&:hover {
background-color: #ff5722;
}
}
}
}
解説
- HTML: ã·ã³ãã«ãªæ§é ã§ãã¿ã€ãã«ã説æãCTAãã¿ã³ãé 眮ã
-
SCSS: èæ¯ç»åã䜿ãããããŒæã®è²å€åã§ã€ã³ã¿ã©ã¯ãã£ãã«ã
transition
ã§åããæ»ããã«ããŠãã®ããã€ã³ãïŒ
JavaScriptïŒã¯ãªãã¯ã€ãã³ãïŒ
// main.js
document.querySelector('.cta-button').addEventListener('click', () => {
window.location.href = '/details';
});
解説
ãã¿ã³ãã¯ãªãã¯ãããšè©³çްããŒãžãžãžã£ã³ãïŒç°¡åã ãã©ããŠãŒã¶ãŒã¢ã¯ã·ã§ã³ãä¿ã倧äºãªäžæã§ãã
ãã®ã³ãŒããããŒã¹ã«ãããã«ã¢ãã¡ãŒã·ã§ã³ããã©ãŒã ã远å ããã°ãCVRæ¹åã®å¹æãæåŸ ã§ããŸããïŒðª
ð ãããžã§ã¯ãã®ãããŒ
LPãã¶ã€ã³ãšã³ãŒãã£ã³ã°ã¯ãããŒã ã¯ãŒã¯ãéµã以äžã¯ãããžã§ã¯ãã®æµããã·ã³ãã«ãªãããŒãã£ãŒãã§è¡šãããã®ã§ãã
ãã€ã³ã
ãã®æµãã§PDCAãµã€ã¯ã«ãåãã®ã倧äºïŒåæâå®è£
âæ€èšŒãç¹°ãè¿ããŠãã©ãã©ãæ¹åããŠãããŸããð
ð ãŸãšããšæ¬¡ã®ã¹ããã
ä»åã®ãããžã§ã¯ãã§åŠãã ãCVRæ¹åã®éµã¯ããïŒ
-
ãã¡ãŒã¹ããã¥ãŒã®åŒ·å
â æåã®å°è±¡ã§ãŠãŒã¶ãŒãåŒã蟌ãã -
ã³ã³ãã³ãé
çœ®ã®æé©å
â è¿·ããè¡åã§ããèšèšã«ã -
ã€ã³ã¿ã©ã¯ãã£ããªUI
â ã¢ãã¡ãŒã·ã§ã³ã§æ¥œãããå¿«é©ãªäœéšãã
æè¡åã ãã§ãªãããã¶ã€ã³ãããŒã±ãã£ã³ã°ã®èŠç¹ãåãå
¥ããããšã§ããŠãŒã¶ãŒã«ãããžãã¹ã«ã䟡å€ããLPãäœããŸãã
次ã¯ãããªãããã®ææ³ã詊ããŠã¿ãçªã§ãïŒð¡ ãã²å®è·µããŠãææ³ãã³ã¡ã³ãã§æããŠãã ããããHappy Coding! ðšâð»ð©âð»
ããŸã
ãã£ãšç¥ãããæ¹ã¯ãã¡ãããã§ãã¯ïŒ
質åãã¢ã€ãã¢ãããã°ãæ°è»œã«ãåãåãããã ãããäžç·ã«WebãçãäžããŸãããïŒâš
æåŸã«ïŒæ¥åå§èšã®ãçžè«ãæ¿ããŸã
ç§ã¯ãæ¥åå§èšãšã³ãžãã¢ãšããŠWEBå¶äœãã·ã¹ãã éçºãè«ãè² ã£ãŠããŸããææ°æè¡ã掻çšããã¬ã¹ãã³ã·ããªWebãµã€ããã€ã³ã¿ã©ã¯ãã£ããªã¢ããªã±ãŒã·ã§ã³ãAPI飿ºãªã©ãå¹ åºãããŒãºã«å¯Ÿå¿å¯èœã§ãã
ã課é¡è§£æ±ºã«åãã峿Šåãæ¬²ããããé«å質ãªWebå¶äœãäŸé Œãããããšããæ¹ã¯ããã²ãæ°è»œã«ãçžè«ãã ãããäžç·ã«ããžãã¹ã®æé·ãç®æããŸãããïŒ