Why You Should Build a JAMstack Website?
Tags: jamstack, frontend
Published: 2021-01-12 15:42:35

<!-- wp:paragraph -->
<p>Isn’t it frustrating to see <strong>clients leaving your website with no purchase</strong>, nor contact made, and never coming back?</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>What about the ones you missed because of low Google rank? How many of them went to your competition? Or maybe you seem to have nice traffic, yet still no one is buying?</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Reasons may be different, but most of the time, it’s all coming down to <strong>user experience</strong>, <strong>SEO performance</strong> and the <strong>feeling of trust</strong> you present on your page.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Taking care of all seems to be a challenge. Yet it’s much easier when you actually have full control over the experience you deliver (instead of using plugins you cannot edit) and modern technology that you can trust (to do its job with uncle Google and his engine).</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>That’s exactly what <a href="https://pagepro.co/jamstack-development.html" target="_blank" rel="noreferrer noopener"><strong>JAMStack</strong> <strong>development</strong></a> offers – super-fast, user-friendly, totally customized, and extremely SEO efficient websites.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ready to give your business another breathe?&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:separator {"className":"is-style-dots"} -->
<hr class="wp-block-separator is-style-dots"/>
<!-- /wp:separator -->

<!-- wp:heading -->
<h2><strong>What is JAMstack?</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>In the words of Mathias Billmann, Netlify CEO and Co-founder, JAMstack stands for "a modern web development architecture based on client-side <strong>J</strong>avaScript, reusable <strong>A</strong>PIs and pre-built <strong>M</strong>arkup".</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>This combination gives developers a chance to get benefits of a static website and the ability to connect the website to a dynamic CMS.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":4756,"sizeSlug":"large","className":"is-style-rounded"} -->
<figure class="wp-block-image size-large is-style-rounded"><img src="https://pagepro.co/blog/wp-content/uploads/2020/11/jam.png" alt="Circles with JAM word inside" class="wp-image-4756"/><figcaption><a href="https://strapi.io/blog/jamstack" target="_blank" rel="noreferrer noopener nofollow">https://strapi.io/blog/jamstack</a></figcaption></figure>
<!-- /wp:image -->

<!-- wp:heading {"level":3} -->
<h3><strong>JavaScript</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>JavaScript handles dynamic functionalities. The good thing is that you can use whatever framework or library you want.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3><strong>APIs</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>JavaScript accesses reusable APIs – abstracted from server-side operations – through HTTPS. You can use either third-party services or develop a custom function.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3><strong>Markup</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Websites are static since they are served as static HTML files. These can be generated with a Static Site Generator like <a href="https://pagepro.co/gatsby-development.html" target="_blank" rel="noreferrer noopener">Gatsby</a> or Next JS.</p>
<!-- /wp:paragraph -->

<!-- wp:separator {"className":"is-style-dots"} -->
<hr class="wp-block-separator is-style-dots"/>
<!-- /wp:separator -->

<!-- wp:heading -->
<h2><strong>Differences between static and dynamic websites</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>To better understand how JAMstack works,&nbsp; let’s have a look on the differences between static websites and dynamic websites.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3><strong>What is a dynamic site?</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Dynamic websites make it possible for users to make interactions with the website content, which is being generated in real-time. What it means is that the content can change depending on users' location, device, time zone, or even network.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>A dynamic website may use either client-side rendering, server-side rendering, or both. Client-side rendering is when the browser executes code, and in the case of server-side rendering, the server is responsible for that.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>There are many great examples of dynamic websites such as websites built on <a href="https://pagepro.co/blog/tag/wordpress/" target="_blank" rel="noreferrer noopener">WordPress</a> or Drupal which both are Content Management Systems (CMS).</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3><strong>What is a static site?</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>On the contrary, the content on a static website doesn't change regardless of the user's actions, the browser's language, or other preferences. Every page has a dedicated HTML file containing this page's content. Since it's necessary to have some HTML knowledge to edit these source files, they are not meant to update them on a regular basis.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>For example, to create a simple business website, you could use a Static Site Generator (SSG) like Gatsby or Next.js.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3><strong>Dynamic or static: what Google would choose?</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Since the goal is to build a website, it's important to take Google into consideration when deciding between dynamic and static websites. The more Google will like our site, the higher it will rank in search results which may lead to getting new customers easier.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4,"textColor":"vivid-red"} -->
<h4 class="has-vivid-red-color has-text-color"><strong>Static sites load faster.</strong></h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Page load speed not only affects user experience but it's also one of the most important SEO ranking factors. In other words, the faster the website, the higher it ranks.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Static sites are pre-rendered – which means that the content is generated in advance, not in real-time. Because of that, they are faster than dynamic ones.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4,"textColor":"vivid-red"} -->
<h4 class="has-vivid-red-color has-text-color"><strong>Static sites are easier to index.</strong></h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Static websites are generated from HTML and CSS files which makes them easy to ready and index for Google crawlers. A simple sitemap also helps with indexation and not only Google recommends it, but also all search engines.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4,"textColor":"vivid-red"} -->
<h4 class="has-vivid-red-color has-text-color"><strong>Static sites are easier to optimise.</strong></h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Choosing a static website equals total control over SEO. You can modify and optimise any page on your website however you want to. On the contrary, you may need a plugin or two to help you with SEO efforts on a dynamic website.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4,"textColor":"vivid-red"} -->
<h4 class="has-vivid-red-color has-text-color"><strong>Static sites are cheaper to host and maintain.</strong></h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>As static websites are built of simple HTML files, they don't need as much space on the hosting server as dynamic sites. Heck, hosting of a static website can even be free.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Also, such a website won’t use much of the monthly transfer limit (if there is any).</p>
<!-- /wp:paragraph -->

<!-- wp:separator {"className":"is-style-dots"} -->
<hr class="wp-block-separator is-style-dots"/>
<!-- /wp:separator -->

<!-- wp:heading -->
<h2><strong>Best technologies to build a JAMstack website</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>The choice of <strong>JAMstack</strong> website technologies is huge and quite difficult.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>First, you need to choose tools and technologies for:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><li>Front-end layer</li><li><a href="https://pagepro.co/blog/category/headless/" target="_blank" rel="noreferrer noopener">Headless</a> CMS</li><li>Hosting and deployment</li></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>At Pagepro, we have some preferences regarding the technologies we use in projects for clients, and you can find them below. We believe that they will be a great choice for you, too.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4,"textColor":"vivid-red"} -->
<h4 class="has-vivid-red-color has-text-color"><strong>Front-end technologies</strong></h4>
<!-- /wp:heading -->

<!-- wp:table {"hasFixedLayout":true,"className":"is-style-regular"} -->
<figure class="wp-block-table is-style-regular"><table class="has-fixed-layout"><tbody><tr><td class="has-text-align-center" data-align="center"><a href="https://pagepro.co/gatsby-development.html" target="_blank" rel="noreferrer noopener nofollow">Gatsby.js</a></td><td class="has-text-align-center" data-align="center"><a href="http://nextjs.org/" target="_blank" rel="noreferrer noopener nofollow">Next.js</a></td><td class="has-text-align-center" data-align="center"><a href="https://pagepro.co/react-development.html" target="_blank" rel="noreferrer noopener nofollow">React.js</a></td><td class="has-text-align-center" data-align="center"><a href="https://www.typescriptlang.org/" target="_blank" rel="noreferrer noopener nofollow">TypeScript</a></td></tr><tr><td class="has-text-align-center" data-align="center"><img src="https://pagepro.co/blog/wp-content/uploads/2020/11/gatsby-logo.png" style="width: 100px;" alt="Technologies to build a JAMstack website: Gatsby;"></td><td class="has-text-align-center" data-align="center"><img src="https://pagepro.co/blog/wp-content/uploads/2020/11/next-js-logo.png" style="width: 100px;" alt="Technologies to build a JAMstack website: Next.js;"></td><td class="has-text-align-center" data-align="center"><img src="https://pagepro.co/blog/wp-content/uploads/2020/11/react-logo.png" style="width: 100px;" alt="Technologies to build a JAMstack website: React;"></td><td class="has-text-align-center" data-align="center"><img src="https://pagepro.co/blog/wp-content/uploads/2020/11/typescript-logo.png" style="width: 100px; align: center;" alt="Technologies to build a JAMstack website: TypeScript;"></td></tr></tbody></table></figure>
<!-- /wp:table -->

<!-- wp:heading {"level":4,"textColor":"vivid-red"} -->
<h4 class="has-vivid-red-color has-text-color"><strong>Headless CMS</strong></h4>
<!-- /wp:heading -->

<!-- wp:table {"hasFixedLayout":true,"className":"is-style-regular"} -->
<figure class="wp-block-table is-style-regular"><table class="has-fixed-layout"><tbody><tr><td class="has-text-align-center" data-align="center"><a href="https://www.contentful.com/" target="_blank" rel="noreferrer noopener nofollow">Contentful</a></td><td class="has-text-align-center" data-align="center"><a href="https://www.sanity.io/" target="_blank" rel="noreferrer noopener nofollow">Sanity</a></td><td class="has-text-align-center" data-align="center"><a href="https://strapi.io/" target="_blank" rel="noreferrer noopener nofollow">Strapi</a></td><td class="has-text-align-center" data-align="center"><a href="https://wordpress.org/" target="_blank" rel="noreferrer noopener nofollow">WordPress</a></td></tr><tr><td class="has-text-align-center" data-align="center"><img src="https://pagepro.co/blog/wp-content/uploads/2020/11/contentful-logo.png" style="width: 100px;"></td><td class="has-text-align-center" data-align="center"><img src="https://pagepro.co/blog/wp-content/uploads/2020/11/sanity-logo.png" style="width: px;"></td><td class="has-text-align-center" data-align="center"><img src="https://pagepro.co/blog/wp-content/uploads/2020/11/strapi-logo.jpg" style="width: px;"></td><td class="has-text-align-center" data-align="center"><img src="https://pagepro.co/blog/wp-content/uploads/2020/07/Wordpress.png" style="width: 100px;"></td></tr></tbody></table></figure>
<!-- /wp:table -->

<!-- wp:heading {"level":4,"textColor":"vivid-red"} -->
<h4 class="has-vivid-red-color has-text-color"><strong>Hosting and deployment</strong></h4>
<!-- /wp:heading -->

<!-- wp:table {"hasFixedLayout":true,"className":"is-style-regular"} -->
<figure class="wp-block-table is-style-regular"><table class="has-fixed-layout"><tbody><tr><td class="has-text-align-center" data-align="center"><a href="https://www.netlify.com/" target="_blank" rel="noreferrer noopener nofollow">Netlify</a></td><td class="has-text-align-center" data-align="center"><a href="https://vercel.com/" target="_blank" rel="noreferrer noopener nofollow">Vercel</a></td><td class="has-text-align-center" data-align="center"><a href="https://aws.amazon.com/" target="_blank" rel="noreferrer noopener nofollow">AWS</a></td><td class="has-text-align-center" data-align="center"><a href="https://firebase.google.com/" target="_blank" rel="noreferrer noopener nofollow">Firebase</a></td></tr><tr><td class="has-text-align-center" data-align="center"><img src="https://pagepro.co/blog/wp-content/uploads/2020/11/netlify-logo.png"></td><td class="has-text-align-center" data-align="center"><img src="https://pagepro.co/blog/wp-content/uploads/2020/11/vercel-logo.png"></td><td class="has-text-align-center" data-align="center"><img src="https://pagepro.co/blog/wp-content/uploads/2020/11/aws-logo.png" style="width: 120px;"></td><td class="has-text-align-center" data-align="center"><img src="https://pagepro.co/blog/wp-content/uploads/2020/11/firebase-logo.png"></td></tr></tbody></table></figure>
<!-- /wp:table -->

<!-- wp:separator {"className":"is-style-dots"} -->
<hr class="wp-block-separator is-style-dots"/>
<!-- /wp:separator -->

<!-- wp:heading -->
<h2><strong>Why build a JAMstack website?</strong></h2>
<!-- /wp:heading -->

<!-- wp:heading {"level":3,"textColor":"vivid-red"} -->
<h3 class="has-vivid-red-color has-text-color"><strong>Speed and Performance</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>The page load speed of the website is not only an important SEO ranking factor but it also affects user experience and conversion rate. JAMstack website pre-generates specific pages at a build time instead of request time.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Because of that, all the website pages are stored on a Content Delivery Network that's closest to the user visiting a website. It ensures high performance without a need for investing in expensive solutions.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3,"textColor":"vivid-red"} -->
<h3 class="has-vivid-red-color has-text-color"><strong>SEO efficiency</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>JAMstack website means getting full control over the website’s content and structure, and consequently, over the SEO of such a website. You can easily add custom metadata like page titles, meta descriptions and alt text. It helps search engines to read and index the content on your website.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Website built on JAMstack consists of HTML files which also helps with indexation and dealing with typical problems with improving search engine optimisation.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Be aware that Google rewards high-performant and fast websites with higher rankings in search results with ultimately leads to more visitors and more sales.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3,"textColor":"vivid-red"} -->
<h3 class="has-vivid-red-color has-text-color"><strong>User Experience</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Would you come back to the place where you have had a terrible experience? It’s doubtful. The same thing applies to websites — the first impression makes all the difference. If your user experience is awful, the probability that you will revisit such a website is low.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>User experience is also important from the perspective of Google. While it’s not clear how Google measures user’s satisfaction from visiting websites, they gave some suggestions about what’s essential from the UX perspective:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><li>Easy to read and useful content</li><li>Responsive design</li><li>Site architecture that’s clear and well-organised&nbsp;</li></ul>
<!-- /wp:list -->

<!-- wp:heading {"level":3,"textColor":"vivid-red"} -->
<h3 class="has-vivid-red-color has-text-color"><strong>Greater security</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Traditional server-side and CMS applications are vulnerable to attacks because of a number of different APIs and services they use. Although it's necessary so administrators can manage data and content, such applications need to be looked after on a daily basis.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Such a risk does not apply to static websites, because they consist of read-only files. There is no active connection between a static site and any database or server-side software. Consequently, there are no vulnerabilities for hackers to exploit.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3,"textColor":"vivid-red"} -->
<h3 class="has-vivid-red-color has-text-color"><strong>Resistance to high traffic</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Popular websites try to cope with increasing traffic by caching pages which doesn't happen by default. On the contrary, JAMstack website makes it done without any involvement. These sites can be served entirely from CDN (Content Delivery Network) so there is no need for additional logic or workflow.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Using CDN means also simpler deployments, built-in redundancy and awesome load capacity.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3,"textColor":"vivid-red"} -->
<h3 class="has-vivid-red-color has-text-color"><strong>Maintainability</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>If hosting becomes less demanding, the same applies to maintenance. A static website doesn't require an administrator 24/7 to keep running without any troubles since it's being served directly from a host or CDN.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>JAMstack website is stable because the most important work was done during the development process. The necessity of server patching, updating and maintaining practically vanishes.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3,"textColor":"vivid-red"} -->
<h3 class="has-vivid-red-color has-text-color"><strong>Portability</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>If you have a JAMstack website, you can put it on a favourite hosting because there are no limitations. And even if you won't like a hosting provider of your choice, you can change it quickly and effortlessly.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3,"textColor":"vivid-red"} -->
<h3 class="has-vivid-red-color has-text-color"><strong>Scalability</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>If you have a ready website, you can scale it easily by copying and pasting pre-made blocks and components. Therefore, if you have some coding knowledge, you can build next pages without worrying about the developer's availability.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3,"textColor":"vivid-red"} -->
<h3 class="has-vivid-red-color has-text-color"><strong>Developer Experience</strong></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Availability of highly-skilled developers to build JAMstack websites is huge because of the number of technologies that they can choose. Instead of learning new frameworks or tools, they can use what they already know.</p>
<!-- /wp:paragraph -->

<!-- wp:separator {"className":"is-style-dots"} -->
<hr class="wp-block-separator is-style-dots"/>
<!-- /wp:separator -->

<!-- wp:heading -->
<h2><strong>Examples of a JAMstack website</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><a href="https://www.otakuchan.com/" target="_blank" rel="noreferrer noopener nofollow">Otakuchan</a> (<a href="https://pagepro.co/otakuchan.html" target="_blank" rel="noreferrer noopener">check our case study</a>)</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":4730,"sizeSlug":"large"} -->
<figure class="wp-block-image size-large"><img src="https://pagepro.co/blog/wp-content/uploads/2020/11/otakuchan-1-1024x575.jpg" alt="Example of JAMstack website: Otakuchan" class="wp-image-4730"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>LBI Financial (<a href="https://pagepro.co/lbi-financial.html" target="_blank" rel="noreferrer noopener">check our case study</a>)</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":4731,"sizeSlug":"large"} -->
<figure class="wp-block-image size-large"><img src="https://pagepro.co/blog/wp-content/uploads/2020/11/lbi-financial-screen-1024x696.png" alt="Example of JAMstack website: LBI Financial" class="wp-image-4731"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p><a href="https://autoloadit.com/" target="_blank" rel="noreferrer noopener nofollow">AutoloadIT</a> (<a href="https://pagepro.co/autoloadit.html" target="_blank" rel="noreferrer noopener">check our case study</a>)</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":4732,"sizeSlug":"large"} -->
<figure class="wp-block-image size-large"><img src="https://pagepro.co/blog/wp-content/uploads/2020/11/autoloadit-screen-1024x519.jpg" alt="Example of JAMstack website: AutoloadIT" class="wp-image-4732"/></figure>
<!-- /wp:image -->