{"id":14075,"date":"2022-11-17T10:34:35","date_gmt":"2022-11-17T09:34:35","guid":{"rendered":"https:\/\/pagepro.co\/blog\/?p=14075"},"modified":"2026-09-14T10:44:56","modified_gmt":"2026-09-14T08:44:56","slug":"ssr-csr-ssg","status":"publish","type":"post","link":"https:\/\/pagepro.co\/blog\/ssr-csr-ssg\/","title":{"rendered":"Server-Side Rendering vs Client-Side Rendering vs Static Site Generator"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">The rendering approach you choose for your project may strongly influence its performance, user experience, and Google ranks. <strong>It depends on the type of the project, how often you change the content, do you want the users to interact with your website, and if you care about the SEO ranks<\/strong>. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So if you&#8217;re hesitating between Server-Side Rendering vs Client-Side Rendering vs Static Site Generator, you are in a good place. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In most cases, as an experienced <a href=\"https:\/\/pagepro.co\/services\/web-app-development\" target=\"_blank\" rel=\"noreferrer noopener\">web app development agency<\/a>, we offer hybrid solutions, so you can benefit from the highest web performance. Hybrid means that the rendering method is selected separately for each part of your application or website.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Let\u2019s learn more about each approach, its advantages and disadvantages, and use cases.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"client-side-rendering\">Client-Side Rendering<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>CSR indicates that the apps or websites are rendered on the client side &#8211; the browser. <\/strong>It downloads a minimal HTML page from the server and fetches a JavaScript file, executes it, and fills the content into the page.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this approach, the initial load can be a little slow, because the browser has to prepare the page for the user. However, on further request, <strong>there is no need to reload the whole site<\/strong> &#8211; only the element with the changed data is re-rendered, which improves the user experience.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"683\" src=\"https:\/\/pagepro.co\/blog\/wp-content\/uploads\/2022\/11\/Client-Side-Rendering.png\" alt=\"Client Side Rendering \" class=\"wp-image-14077\" srcset=\"https:\/\/pagepro.co\/blog\/wp-content\/uploads\/2022\/11\/Client-Side-Rendering.png 1024w, https:\/\/pagepro.co\/blog\/wp-content\/uploads\/2022\/11\/Client-Side-Rendering-300x200.png 300w, https:\/\/pagepro.co\/blog\/wp-content\/uploads\/2022\/11\/Client-Side-Rendering-768x512.png 768w, https:\/\/pagepro.co\/blog\/wp-content\/uploads\/2022\/11\/Client-Side-Rendering-500x334.png 500w, https:\/\/pagepro.co\/blog\/wp-content\/uploads\/2022\/11\/Client-Side-Rendering-324x216.png 324w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"benefits-of-client-side-rendering\"><span class=\"underline-accent\">Benefits of Client-Side Rendering<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>High-performance thanks to generating HTML on demand without refreshing the whole website&nbsp;<\/li>\n\n\n\n<li>Lower costs of website hosting than in server-side rendering&nbsp;<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"best-use-cases-for-client-side-rendering\"><span class=\"underline-accent\">Best use cases for Client-Side Rendering<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>SEO is not the most important for you&nbsp;<\/li>\n\n\n\n<li>Websites serving different content for the users&nbsp;<\/li>\n\n\n\n<li>Apps with user authorization and access to customer accounts<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"cons-of-client-side-rendering\"><span class=\"underline-accent\">Cons of Client-Side Rendering&nbsp;<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Not SEO-friendly&nbsp;<\/li>\n\n\n\n<li>The initial load can be slower&nbsp;<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-code-mind-cta c-cta-block\" style=\"background-color:#00141F;color:#FFFFFF\"><div class=\"c-cta-block__content\"><p class=\"c-cta-block__title\">Want to start a new web development project?<\/p><div class=\"c-cta-block__action\"><a href=\"https:\/\/pagepro.co\/consultation\" class=\"c-cta-block__button ga-cta ga-cta-consultation theme-bg-3\">SCHEDULE A FREE CALL WITH OUR EXPERT. <\/a><\/div><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-is-server-side-rendering\">What is Server-Side Rendering&nbsp;<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>SSR means that HTML is filled with the content from JavaScript and CSS on the server<\/strong>, after the request, so the browser gets a fully generated page. Thanks to that, Google bots can detect, crawl and index the website prior the delivery to the client, which influences SEO efficiency.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">There are obviously weight differences between applications, therefore reaction and rendering times are also different. When the app becomes very heavy (not by the content, but by functionalities), <strong>SSR may make your loading times longer.<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"683\" src=\"https:\/\/pagepro.co\/blog\/wp-content\/uploads\/2022\/11\/Server-Side-Rendering.png\" alt=\"Server Side Rendering \" class=\"wp-image-14078\" srcset=\"https:\/\/pagepro.co\/blog\/wp-content\/uploads\/2022\/11\/Server-Side-Rendering.png 1024w, https:\/\/pagepro.co\/blog\/wp-content\/uploads\/2022\/11\/Server-Side-Rendering-300x200.png 300w, https:\/\/pagepro.co\/blog\/wp-content\/uploads\/2022\/11\/Server-Side-Rendering-768x512.png 768w, https:\/\/pagepro.co\/blog\/wp-content\/uploads\/2022\/11\/Server-Side-Rendering-500x334.png 500w, https:\/\/pagepro.co\/blog\/wp-content\/uploads\/2022\/11\/Server-Side-Rendering-324x216.png 324w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"benefits-of-server-side-rendering-ssr\"><span class=\"underline-accent\">Benefits of Server-Side Rendering SSR:<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Faster loading time even for outdated devices and with a slow internet connection<\/li>\n\n\n\n<li>Better SEO Ranks thanks to the page indexing prior to the delivery to the client<\/li>\n\n\n\n<li>The rendered data is always up-to-date<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"best-use-cases-for-server-side-rendering\"><span class=\"underline-accent\">Best use cases for Server-Side Rendering<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>When you want your app to rank high on Google&nbsp;<\/li>\n\n\n\n<li>When the website has less dynamic content&nbsp;<\/li>\n\n\n\n<li>When the number of users is limited&nbsp;<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"cons-of-server-side-rendering\"><span class=\"underline-accent\">Cons of Server-Side Rendering&nbsp;<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Slower loading time because the page is reloaded on each request&nbsp;<\/li>\n\n\n\n<li>Can decrease the performance of a big and heavy web applications<\/li>\n<\/ul>\n\n\n\n<div class=\"c-newsletter-block-acf\">\n    <p class=\"c-newsletter-block-acf__title c-newsletter__header\">\n        EXPERT INSIGHTS, FRICTIONLESSLY DELIVERED!    <\/p>\n    <p class=\"c-newsletter-block-acf__desc c-newsletter__header\">\n        Curated tech news delivered straight to your inbox every month.    <\/p>\n    <form method=\"post\" class=\"c-newsletter-block-acf__form js-newsletter-form c-newsletter__action\" name=\"newsletter-block-form\">\n        <input name=\"newsletter-email\" id=\"newsletter-email\" type=\"text\" class=\"c-newsletter-block-acf__input js-newsletter-input\" placeholder=\"Company Email\" \/>\n        <input name=\"newsletter-campaign\" id=\"newsletter-campaign\" type=\"hidden\" value=\"\" \/>\n        <div class=\"c-newsletter-block-acf__group\">\n            <input name=\"consent\" id=\"consent\" type=\"checkbox\" class=\"js-newsletter-consent\" \/>\n            <label class=\"c-newsletter-block-acf__label\" for=\"consent\">I accept the <a href=\"https:\/\/pagepro.co\/privacy-policy\">Privacy Policy<\/a> and agree to process my personal data by Pagepro for marketing purposes.<\/label>\n        <\/div>\n        <input type=\"submit\" class=\"c-newsletter-block-acf__button button js-newsletter-sub ga-newsletter-form-content\" value=\"Sign up\" \/>\n        <p class=\"theme-size-1 js-message-valid is-hidden is-invalid\"><\/p>\n    <\/form>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-is-a-static-site-generator\">What is a Static Site Generator<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>SSG is a tool that pre-builds the HTML file for each URL with the content and data ahead of time.<\/strong> That means that whenever a user requests the page, gets it with no delays, as the page is generated in the build time and served to him from the nearest CDN.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Since they\u2019re so easily accessible, search engines like Google can easily index and access them. Since they pay close attention to your website\u2019s load time, the quicker, the better.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"683\" src=\"https:\/\/pagepro.co\/blog\/wp-content\/uploads\/2022\/11\/Static-Site-Generator.png\" alt=\"Static Site Generator \" class=\"wp-image-14076\" srcset=\"https:\/\/pagepro.co\/blog\/wp-content\/uploads\/2022\/11\/Static-Site-Generator.png 1024w, https:\/\/pagepro.co\/blog\/wp-content\/uploads\/2022\/11\/Static-Site-Generator-300x200.png 300w, https:\/\/pagepro.co\/blog\/wp-content\/uploads\/2022\/11\/Static-Site-Generator-768x512.png 768w, https:\/\/pagepro.co\/blog\/wp-content\/uploads\/2022\/11\/Static-Site-Generator-500x334.png 500w, https:\/\/pagepro.co\/blog\/wp-content\/uploads\/2022\/11\/Static-Site-Generator-324x216.png 324w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"benefits-of-static-site-generators\"><span class=\"underline-accent\">Benefits of Static Site Generators&nbsp;<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Super-fast websites&nbsp;<\/li>\n\n\n\n<li>Improved User Experience because of fast load&nbsp;<\/li>\n\n\n\n<li>High Google Ranks&nbsp;<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"best-use-cases-for-static-site-generation\"><span class=\"underline-accent\">Best use cases for Static Site Generation&nbsp;<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Websites that are not changed very often&nbsp;<\/li>\n\n\n\n<li>Websites that serve the same content for each user&nbsp;<\/li>\n\n\n\n<li>Websites that are focused on high Google Ranks&nbsp;<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"cons-of-static-site-generator\"><span class=\"underline-accent\">Cons of Static Site Generator&nbsp;<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Need to trigger a rebuild after each modification in the content<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Static Site Generator is usually the best way to render the website because it provides the highest performance and usually the highest Google ranks.&nbsp;<\/p>\n\n\n\n    \n    <div class=\"c-poll-block\">\n        <div class=\"c-poll-block__icon\">\n            <svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n            <path d=\"M19.125 1.12503C16.3182 1.12098 13.5615 1.86815 11.1408 3.28899C8.72023 4.70983 6.72396 6.75258 5.3592 9.20524C3.99443 11.6579 3.31089 14.4311 3.37953 17.2371C3.44816 20.043 4.26646 22.7795 5.7495 25.1625L1.125 34.875L10.836 30.249C12.907 31.5372 15.2489 32.3268 17.6771 32.5556C20.1052 32.7843 22.5534 32.4461 24.8286 31.5674C27.1037 30.6888 29.1438 29.2938 30.7879 27.4923C32.432 25.6909 33.6353 23.5322 34.3029 21.1864C34.9706 18.8406 35.0843 16.3718 34.6352 13.9746C34.186 11.5774 33.1863 9.31722 31.7148 7.37223C30.2432 5.42723 28.3401 3.85056 26.1554 2.76646C23.9706 1.68236 21.5639 1.12046 19.125 1.12503V1.12503Z\" stroke=\"white\" stroke-width=\"2.25\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n            <path d=\"M19.5 22C19.2033 22 18.9133 22.088 18.6666 22.2528C18.42 22.4176 18.2277 22.6519 18.1142 22.926C18.0006 23.2001 17.9709 23.5017 18.0288 23.7926C18.0867 24.0836 18.2296 24.3509 18.4393 24.5607C18.6491 24.7704 18.9164 24.9133 19.2074 24.9712C19.4983 25.0291 19.7999 24.9994 20.074 24.8858C20.3481 24.7723 20.5824 24.58 20.7472 24.3334C20.912 24.0867 21 23.7967 21 23.5C21 23.1022 20.842 22.7206 20.5607 22.4393C20.2794 22.158 19.8978 22 19.5 22Z\" fill=\"white\"\/>\n            <path d=\"M14.625 14.625C14.625 13.735 14.8889 12.865 15.3834 12.1249C15.8779 11.3849 16.5807 10.8081 17.4029 10.4675C18.2252 10.1269 19.13 10.0378 20.0029 10.2115C20.8758 10.3851 21.6776 10.8137 22.307 11.443C22.9363 12.0724 23.3649 12.8742 23.5385 13.7471C23.7122 14.62 23.6231 15.5248 23.2825 16.3471C22.9419 17.1693 22.3651 17.8721 21.6251 18.3666C20.885 18.8611 20.015 19.125 19.125 19.125\" stroke=\"white\" stroke-width=\"2.25\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n            <\/svg>\n        <\/div>\n        <p class=\"c-poll-block__heading\">Quick poll<\/p>\n        <p class=\"c-poll-block__question\">Which rendering method are you using right now? <\/p>\n\n        <form method=\"POST\" action=\"https:\/\/pagepro.co\/blog\/wp-admin\/admin-ajax.php\" class=\"js-poll-form\">\n            <input type=\"hidden\" class=\"js-poll-action\" id=\"action\" name=\"action\" value=\"poll_ajax\">\n            <input type=\"hidden\" class=\"js-poll-id\" id=\"poll_id\" name=\"poll_id\" value=\"14090\">\n            \n            <div class=\"c-poll-block__answer-list js-poll-answers\">\n                 \n                                            <div class=\"c-poll-block__answer\">\n                            <input type=\"button\" name=\"1\" value=\"Server-Side Rendering \" class=\"js-poll-answer \" >\n                        <\/div>\n                                                         \n                                            <div class=\"c-poll-block__answer\">\n                            <input type=\"button\" name=\"2\" value=\"Client-Side Rendering \" class=\"js-poll-answer \" >\n                        <\/div>\n                                                         \n                                            <div class=\"c-poll-block__answer\">\n                            <input type=\"button\" name=\"3\" value=\"Static Site Generator\" class=\"js-poll-answer \" >\n                        <\/div>\n                                                                    <\/div>\n            <div class=\"c-poll-block__total-votes\"><span class=\"js-poll-total\">66<\/span> votes<\/div>\n        <\/form>\n    <\/div>\n\n\n\n\n<h2 class=\"wp-block-heading\" id=\"using-different-rendering-methods-within-one-web-app\">Using different rendering methods within one web app&nbsp;<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Since you now understand what are the differences between those approaches you may be wondering which one is the best for you: do you need fast rendering time, change content regularly or build an app with a customer account? And what if you want to include all of this in one project? What should you do then?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Don\u2019t worry! <strong>You don\u2019t have to compromise the quality and performance of your app.<\/strong> You can use different approaches at once. Of course, it requires dividing the app into a few parts, but no worries. As an experienced front-end development company, we\u2019ve been there and done that many times.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here\u2019s an example: Recently, we were building a selling platform for a big insurance company in the UK. It was divided into three parts:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A marketing website&nbsp;<\/li>\n\n\n\n<li>An app that allows the customer to choose and buy the right product&nbsp;<\/li>\n\n\n\n<li>A customer app that gives the user access to their personal account&nbsp;<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Which approaches did we choose?&nbsp;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"marketing-website\">Marketing website&nbsp;<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">As we love React js, and it was a technological match for the project, we used it across the project. But in this part, <strong>SEO and high website performance played a very important role <\/strong>&#8211; so client-side rendering (which is the basic rendering method in React) was rejected from the beginning. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The customer wanted to build a fast site and didn\u2019t plan to change the content frequently, so we decided to use Next.JS as the Static Site Generator.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Next.js supports both Server Side Rendering and Static Site Generation, and what&#8217;s more, gives developers the ability to make the choice for each route. For example, <em>pagepro.co\/about<\/em> could be static but <em>pagepro.co\/shop<\/em> could be server-rendered, even though they existed on the same site.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But in this case, <strong>the content is not changing very often<\/strong> and the page doesn\u2019t provide any dynamic content that users can interact with, <strong>so using Next.js as Static Site Generator was more than enough.&nbsp;<\/strong><\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"app-to-choose-and-buy-the-right-product\">App to choose and buy the right product<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">This part of the platform didn\u2019t have to rank high on Google but <strong>was about to display different content depending on the customer&#8217;s preference<\/strong> and allow him to fill out the form. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And since the SEO wasn\u2019t that important, and there were more dynamic elements enabling the users to write their answers, we decided to use plain React here, <strong>with the client-side rendering, as it lowers the hosting costs for the customer<\/strong>, and works perfectly in cases like this.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"customer-accounts-app\">Customer Accounts app&nbsp;<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">The Customer Account doesn\u2019t have to rank high on Google, but <strong>requires user authorization<\/strong> and shows different content for the users, so a <strong>client-side rendering was a no-brainer here.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>The whole platform works perfectly and provides the highest possible user experience.&nbsp;<\/strong><\/p>\n\n\n\n<div class=\"c-case-study-block js-sticky-wide\">\n    <div class=\"c-case-study-block__content\">\n        <div class=\"c-case-study-block__text\">\n                            <p class=\"c-case-study-block__subtitle\">TOOLBOX CASE STUDY<\/p>\n                                        <p class=\"c-case-study-block__title\">Front-end Development for Web App MVP for Insurance Industry<\/p>\n                                        <a href=\"https:\/\/pagepro.co\/case-studies\/toolbox\" class=\"c-case-study-block__button\" target=\"_blank\">\n                    READ THE CASE STUDY                 <\/a>\n                    <\/div>\n                    <figure class=\"c-case-study-block__media\">\n                <img decoding=\"async\" class=\"c-case-study-block__image\" src=\"https:\/\/pagepro.co\/blog\/wp-content\/uploads\/2022\/11\/toolbox-bg-cs.png\" alt=\"A smartphone and a laptop display a business insurance website, built with Server-Side Rendering vs Client-Side Rendering for optimal speed. Screens show a worker with tools and options for Liability and Tools Insurance in blue, white, and orange accents.\" \/>\n            <\/figure>\n            <\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"server-side-rendering-vs-client-side-rendering-vs-static-site-generator-wrap-up\">Server-Side Rendering vs Client-Side Rendering vs Static Site Generator &#8211; Wrap up<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Choosing the right rendering approach can improve your SEO ranks, and website performance, and lower hosting costs. The decision is most often based on the project type, i.e. Client-Side Rendering is the most popular for web applications, while Static Site Generation is commonly used for websites that are about to rank high in Google.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>We often recommend hybrid solutions, because we believe that it is the best way to meet all the customer&#8217;s requirements.<\/strong> Choosing this approach allows you to achieve all your goals, without compromising SEO with the app performance.&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-code-mind-cta c-cta-block\" style=\"background-color:#00141F;color:#FFFFFF\"><div class=\"c-cta-block__content\"><p class=\"c-cta-block__title\">Want to start a new web development project?<\/p><div class=\"c-cta-block__action\"><a href=\"https:\/\/pagepro.co\/consultation\" class=\"c-cta-block__button ga-cta ga-cta-consultation theme-bg-3\">SCHEDULE A FREE CALL WITH OUR EXPERT. <\/a><\/div><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"read-more\">Read More<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/pagepro.co\/blog\/what-is-nextjs\/\">What Is Next Js And Why Should You Use It In 2024?<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/pagepro.co\/blog\/how-to-use-next-js-static-site-generator\/\">How To Use Next.Js As A Static Site Generator<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/pagepro.co\/blog\/next-js-pre-rendering-and-data-fetching\/\">Next.Js Pre-Rendering And Data Fetching Methods<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Not sure which rendering method to choose for your website or web app? Check out this comparison between three most popular approaches. <\/p>\n","protected":false},"author":30,"featured_media":14081,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"rop_custom_images_group":[],"rop_custom_messages_group":[],"rop_publish_now":"initial","rop_publish_now_accounts":[],"rop_publish_now_history":[],"rop_publish_now_status":"pending","footnotes":""},"categories":[84,318],"tags":[],"class_list":["post-14075","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-react","category-web-development"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Server-Side Rendering vs Client-Side Rendering vs Static Site Generator - Pagepro<\/title>\n<meta name=\"description\" content=\"Check out our comparison between Server-Side Rendering vs Client-Side Rendering vs Static Site Generator to decide which one is best for you.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/pagepro.co\/blog\/ssr-csr-ssg\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Server-Side Rendering vs Client-Side Rendering vs Static Site Generator - Pagepro\" \/>\n<meta property=\"og:description\" content=\"Check out our comparison between Server-Side Rendering vs Client-Side Rendering vs Static Site Generator to decide which one is best for you.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/pagepro.co\/blog\/ssr-csr-ssg\/\" \/>\n<meta property=\"og:site_name\" content=\"Pagepro\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/thisispagepro\" \/>\n<meta property=\"article:published_time\" content=\"2022-11-17T09:34:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-14T08:44:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/pagepro.co\/blog\/wp-content\/uploads\/2022\/11\/ssr-csr-ssg.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1032\" \/>\n\t<meta property=\"og:image:height\" content=\"576\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Rafa\u0142 D\u0105browski\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Rafa\u0142 D\u0105browski\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/pagepro.co\\\/blog\\\/ssr-csr-ssg\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/pagepro.co\\\/blog\\\/ssr-csr-ssg\\\/\"},\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/pagepro.co\\\/blog\\\/ssr-csr-ssg\\\/\"},\"headline\":\"Server-Side Rendering vs Client-Side Rendering vs Static Site Generator\",\"datePublished\":\"2022-11-17T09:34:35+00:00\",\"dateModified\":\"2026-09-14T08:44:56+00:00\",\"inLanguage\":\"en-US\",\"breadcrumb\":{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/pagepro.co\\\/blog\\\/ssr-csr-ssg\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog\",\"item\":\"https:\\\/\\\/pagepro.co\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Web Dev\",\"item\":\"https:\\\/\\\/pagepro.co\\\/blog\\\/category\\\/web-development\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Server-Side Rendering vs Client-Side Rendering vs Static Site Generator\"}]},\"publisher\":{\"@id\":\"https:\\\/\\\/pagepro.co\\\/#organization\"},\"description\":\"Check out our comparison between Server-Side Rendering vs Client-Side Rendering vs Static Site Generator to decide which one is best for you.\",\"articleSection\":\"Web Dev\",\"wordCount\":1332,\"image\":{\"@id\":\"https:\\\/\\\/pagepro.co\\\/blog\\\/ssr-csr-ssg\\\/#primaryimage\"},\"author\":{\"@id\":\"https:\\\/\\\/pagepro.co\\\/blog\\\/author\\\/rafal_dabrowski\\\/#person\",\"name\":\"Rafa\u0142 D\u0105browski\"}},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/pagepro.co\\\/#organization\",\"name\":\"Pagepro\",\"url\":\"https:\\\/\\\/pagepro.co\\\/\",\"foundingDate\":\"2016\",\"description\":\"Pagepro is a Next.js, Sanity and Expo development agency. We build and migrate web and mobile products for scale-ups and enterprises, from technical discovery to post-release support.\",\"logo\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/pagepro.co\\\/#logo\",\"url\":\"https:\\\/\\\/a.storyblok.com\\\/f\\\/214201\\\/300x132\\\/d4cf8715da\\\/pagepro-full-color.svg\",\"width\":300,\"height\":132,\"caption\":\"Pagepro\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/company\\\/pagepro\\\/\",\"https:\\\/\\\/x.com\\\/pagepro_agency\",\"https:\\\/\\\/www.facebook.com\\\/thisispagepro\",\"https:\\\/\\\/www.instagram.com\\\/pagepro_\\\/\",\"https:\\\/\\\/www.youtube.com\\\/@Pagepro_agency\",\"https:\\\/\\\/clutch.co\\\/profile\\\/pagepro\"],\"knowsAbout\":[\"Next.js development\",\"React development\",\"React Native and Expo development\",\"Sanity CMS development\",\"Headless CMS architecture\",\"Web and mobile application development\",\"Website and CMS migration\",\"Team augmentation\"],\"areaServed\":[{\"@type\":\"Country\",\"name\":\"United Kingdom\"},{\"@type\":\"Country\",\"name\":\"United States\"},{\"@type\":\"Country\",\"name\":\"Poland\"}],\"subOrganization\":[{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/pagepro.co\\\/#ltd\",\"name\":\"Pagepro LTD\",\"legalName\":\"Pagepro LTD\",\"foundingDate\":\"2016\",\"vatID\":\"GB296396248\",\"taxID\":\"10030163\",\"identifier\":{\"@type\":\"PropertyValue\",\"propertyID\":\"CRN\",\"name\":\"Company Registration Number\",\"value\":\"10030163\"},\"email\":\"hello@pagepro.co\",\"telephone\":\"+447783125260\",\"address\":{\"@type\":\"PostalAddress\",\"name\":\"UK Office\",\"streetAddress\":\"7 Bell Yard\",\"addressLocality\":\"London\",\"postalCode\":\"WC2A 2JR\",\"addressCountry\":\"GB\"},\"contactPoint\":{\"@type\":\"ContactPoint\",\"contactType\":\"sales\",\"telephone\":\"+447783125260\",\"email\":\"hello@pagepro.co\",\"areaServed\":[\"GB\",\"US\"],\"availableLanguage\":[\"en\"]}},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/pagepro.co\\\/#spzoo\",\"name\":\"Pagepro Sp. z o.o.\",\"legalName\":\"Pagepro Sp. z o.o.\",\"foundingDate\":\"2017\",\"vatID\":\"PL5423270057\",\"taxID\":\"5423270057\",\"email\":\"hello@pagepro.co\",\"telephone\":\"+48883782000\",\"address\":{\"@type\":\"PostalAddress\",\"name\":\"Polish Office\",\"streetAddress\":\"D\u0105browskiego 28\",\"addressLocality\":\"Bia\u0142ystok\",\"postalCode\":\"15-872\",\"addressCountry\":\"PL\"},\"contactPoint\":{\"@type\":\"ContactPoint\",\"contactType\":\"sales\",\"telephone\":\"+48883782000\",\"email\":\"hello@pagepro.co\",\"areaServed\":\"PL\",\"availableLanguage\":[\"pl\",\"en\"]}}]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Server-Side Rendering vs Client-Side Rendering vs Static Site Generator - Pagepro","description":"Check out our comparison between Server-Side Rendering vs Client-Side Rendering vs Static Site Generator to decide which one is best for you.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/pagepro.co\/blog\/ssr-csr-ssg\/","og_locale":"en_US","og_type":"article","og_title":"Server-Side Rendering vs Client-Side Rendering vs Static Site Generator - Pagepro","og_description":"Check out our comparison between Server-Side Rendering vs Client-Side Rendering vs Static Site Generator to decide which one is best for you.","og_url":"https:\/\/pagepro.co\/blog\/ssr-csr-ssg\/","og_site_name":"Pagepro","article_publisher":"https:\/\/www.facebook.com\/thisispagepro","article_published_time":"2022-11-17T09:34:35+00:00","article_modified_time":"2026-09-14T08:44:56+00:00","og_image":[{"width":1032,"height":576,"url":"https:\/\/pagepro.co\/blog\/wp-content\/uploads\/2022\/11\/ssr-csr-ssg.png","type":"image\/png"}],"author":"Rafa\u0142 D\u0105browski","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Rafa\u0142 D\u0105browski","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/pagepro.co\/blog\/ssr-csr-ssg\/#article","isPartOf":{"@id":"https:\/\/pagepro.co\/blog\/ssr-csr-ssg\/"},"mainEntityOfPage":{"@id":"https:\/\/pagepro.co\/blog\/ssr-csr-ssg\/"},"headline":"Server-Side Rendering vs Client-Side Rendering vs Static Site Generator","datePublished":"2022-11-17T09:34:35+00:00","dateModified":"2026-09-14T08:44:56+00:00","inLanguage":"en-US","breadcrumb":{"@type":"BreadcrumbList","@id":"https:\/\/pagepro.co\/blog\/ssr-csr-ssg\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog","item":"https:\/\/pagepro.co\/blog\/"},{"@type":"ListItem","position":2,"name":"Web Dev","item":"https:\/\/pagepro.co\/blog\/category\/web-development\/"},{"@type":"ListItem","position":3,"name":"Server-Side Rendering vs Client-Side Rendering vs Static Site Generator"}]},"publisher":{"@id":"https:\/\/pagepro.co\/#organization"},"description":"Check out our comparison between Server-Side Rendering vs Client-Side Rendering vs Static Site Generator to decide which one is best for you.","articleSection":"Web Dev","wordCount":1332,"image":{"@id":"https:\/\/pagepro.co\/blog\/ssr-csr-ssg\/#primaryimage"},"author":{"@id":"https:\/\/pagepro.co\/blog\/author\/rafal_dabrowski\/#person","name":"Rafa\u0142 D\u0105browski"}},{"@type":"Organization","@id":"https:\/\/pagepro.co\/#organization","name":"Pagepro","url":"https:\/\/pagepro.co\/","foundingDate":"2016","description":"Pagepro is a Next.js, Sanity and Expo development agency. We build and migrate web and mobile products for scale-ups and enterprises, from technical discovery to post-release support.","logo":{"@type":"ImageObject","@id":"https:\/\/pagepro.co\/#logo","url":"https:\/\/a.storyblok.com\/f\/214201\/300x132\/d4cf8715da\/pagepro-full-color.svg","width":300,"height":132,"caption":"Pagepro"},"sameAs":["https:\/\/www.linkedin.com\/company\/pagepro\/","https:\/\/x.com\/pagepro_agency","https:\/\/www.facebook.com\/thisispagepro","https:\/\/www.instagram.com\/pagepro_\/","https:\/\/www.youtube.com\/@Pagepro_agency","https:\/\/clutch.co\/profile\/pagepro"],"knowsAbout":["Next.js development","React development","React Native and Expo development","Sanity CMS development","Headless CMS architecture","Web and mobile application development","Website and CMS migration","Team augmentation"],"areaServed":[{"@type":"Country","name":"United Kingdom"},{"@type":"Country","name":"United States"},{"@type":"Country","name":"Poland"}],"subOrganization":[{"@type":"Organization","@id":"https:\/\/pagepro.co\/#ltd","name":"Pagepro LTD","legalName":"Pagepro LTD","foundingDate":"2016","vatID":"GB296396248","taxID":"10030163","identifier":{"@type":"PropertyValue","propertyID":"CRN","name":"Company Registration Number","value":"10030163"},"email":"hello@pagepro.co","telephone":"+447783125260","address":{"@type":"PostalAddress","name":"UK Office","streetAddress":"7 Bell Yard","addressLocality":"London","postalCode":"WC2A 2JR","addressCountry":"GB"},"contactPoint":{"@type":"ContactPoint","contactType":"sales","telephone":"+447783125260","email":"hello@pagepro.co","areaServed":["GB","US"],"availableLanguage":["en"]}},{"@type":"Organization","@id":"https:\/\/pagepro.co\/#spzoo","name":"Pagepro Sp. z o.o.","legalName":"Pagepro Sp. z o.o.","foundingDate":"2017","vatID":"PL5423270057","taxID":"5423270057","email":"hello@pagepro.co","telephone":"+48883782000","address":{"@type":"PostalAddress","name":"Polish Office","streetAddress":"D\u0105browskiego 28","addressLocality":"Bia\u0142ystok","postalCode":"15-872","addressCountry":"PL"},"contactPoint":{"@type":"ContactPoint","contactType":"sales","telephone":"+48883782000","email":"hello@pagepro.co","areaServed":"PL","availableLanguage":["pl","en"]}}]}]}},"_links":{"self":[{"href":"https:\/\/pagepro.co\/blog\/wp-json\/wp\/v2\/posts\/14075","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pagepro.co\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pagepro.co\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pagepro.co\/blog\/wp-json\/wp\/v2\/users\/30"}],"replies":[{"embeddable":true,"href":"https:\/\/pagepro.co\/blog\/wp-json\/wp\/v2\/comments?post=14075"}],"version-history":[{"count":26,"href":"https:\/\/pagepro.co\/blog\/wp-json\/wp\/v2\/posts\/14075\/revisions"}],"predecessor-version":[{"id":24273,"href":"https:\/\/pagepro.co\/blog\/wp-json\/wp\/v2\/posts\/14075\/revisions\/24273"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/pagepro.co\/blog\/wp-json\/wp\/v2\/media\/14081"}],"wp:attachment":[{"href":"https:\/\/pagepro.co\/blog\/wp-json\/wp\/v2\/media?parent=14075"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pagepro.co\/blog\/wp-json\/wp\/v2\/categories?post=14075"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pagepro.co\/blog\/wp-json\/wp\/v2\/tags?post=14075"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}