<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Punit Sethi</title>
    <description>The latest articles on DEV Community by Punit Sethi (@geekybiz).</description>
    <link>https://dev.to/geekybiz</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F115433%2F3c0d9e6b-f548-4153-b640-f9adf7a16d81.jpg</url>
      <title>DEV Community: Punit Sethi</title>
      <link>https://dev.to/geekybiz</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/geekybiz"/>
    <language>en</language>
    <item>
      <title>How to check Server Side Rendering</title>
      <dc:creator>Punit Sethi</dc:creator>
      <pubDate>Thu, 03 Jul 2025 05:34:00 +0000</pubDate>
      <link>https://dev.to/geekybiz/how-to-check-server-side-rendering-53b0</link>
      <guid>https://dev.to/geekybiz/how-to-check-server-side-rendering-53b0</guid>
      <description>&lt;p&gt;Okay, imagine you are super hungry and you order a pizza online. Now, two things can happen. One: the pizza guy shows up with the full, hot pizza ready to eat - that's server-side rendering. Two: he shows up with raw dough, sauce, cheese, and a tiny oven, and says, "Hey, you make it" - that's client-side rendering (you are the browser in this case 😃).&lt;/p&gt;

&lt;p&gt;With server-side rendering, the website is pretty much ready when it gets to your browser. So it loads faster, search engines can read it easily, and people with slow devices or internet connections have a smoother experience.&lt;/p&gt;

&lt;p&gt;Client-side rendering is useful as well. It's like a customizable pizza kit. But it takes more time. But for sites where speed and loading experience matters, it can be slow. Also for sites where SEO matters, it can be complicated for search bots to decipher.&lt;/p&gt;

&lt;p&gt;So for websites that need massive customizations (say administration dashboards), client-side rendering works well. But for SEO sensitive websites (say eCommerce platforms), server-side rendering is name of the game!&lt;/p&gt;

&lt;p&gt;Alright, here are five ways to check for server-side rendering for your web pages:&lt;/p&gt;

&lt;h1&gt;
  
  
  1. Turn off JavaScript and reload
&lt;/h1&gt;

&lt;p&gt;Open DevTools in Chrome, type "disable JavaScript", hit enter, and reload the page.&lt;/p&gt;

&lt;p&gt;If stuff still shows up, like text, images, content — then boom, it's probably server-side rendered. If you see a blank page or a spinner, it's not.&lt;/p&gt;

&lt;h1&gt;
  
  
  2. Use the Online SSR Checker
&lt;/h1&gt;

&lt;p&gt;Open this &lt;a href="https://www.crawlably.com/ssr-checker/" rel="noopener noreferrer"&gt;online SSR checker&lt;/a&gt; and enter the URL you want to verify. It displays the output of a server-side rendered version next to the regular version for a visual comparison. Parts of the page that don't appear in the server-side rendered version can be considered not rendered on the server-side.&lt;/p&gt;

&lt;h1&gt;
  
  
  3. View Page Source
&lt;/h1&gt;

&lt;p&gt;Right-click anywhere and hit "View Page Source" (or enter in the browser url bar &lt;code&gt;view-source:https://&amp;lt;your-webpage-url&amp;gt;&lt;/code&gt;). &lt;/p&gt;

&lt;p&gt;You'll see HTML code. Now the part of your content that is appearing within this HTML can be considered served from the server. So, you can search for the parts you want to check for in this wall of HTML.&lt;/p&gt;

&lt;h1&gt;
  
  
  4. Check via Network tab in DevTools
&lt;/h1&gt;

&lt;p&gt;Open DevTools → Network tab → reload the page.&lt;/p&gt;

&lt;p&gt;Click the first file (should be your main HTML). If that first HTML already has the content you are looking for, SSR is working. But if it doesn't contain the content you are looking for, the content isn't being server-side rendered.&lt;/p&gt;

&lt;h1&gt;
  
  
  5. Use curl
&lt;/h1&gt;

&lt;p&gt;Open your terminal and type:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;curl -L https://&amp;lt;your-webpage-url&amp;gt; &amp;gt; output.html
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now, open up output.html and search for the content that you want to check for server-side rendering.If it has the content right there in the response, nice - SSR. If not, you need to solve it.&lt;/p&gt;

&lt;h1&gt;
  
  
  What content should be server side rendered
&lt;/h1&gt;

&lt;p&gt;Each of the means above described verifying the content for server side rendering. But, what content on your web pages should generally be server side rendered? Let's decipher:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Stuff search engines need to see
&lt;/h3&gt;

&lt;p&gt;Think: blog posts, product descriptions, article content, page titles, meta tags. This is because Google (and others) are better at crawling pre-rendered content. If your content only shows up after JavaScript runs, it might get missed or delayed in indexing.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Stuff you want to load super fast
&lt;/h3&gt;

&lt;p&gt;Like your main content above the fold — hero section, key headlines, maybe even some initial product listings. Server-side rendering gets that content on screen ASAP, which feels snappy and helps with performance scores.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Stuff that doesn't change based on the user
&lt;/h3&gt;

&lt;p&gt;Like a blog homepage, pricing page, or landing page. If it's the same for everyone, why wait for the browser to build it? Just send it ready-to-go.&lt;/p&gt;

&lt;h1&gt;
  
  
  What content should not be server side rendered
&lt;/h1&gt;

&lt;p&gt;In general, most content for B2C sites can be server side rendered. But, there's still some content that shouldn't be:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Stuff that is personalized
&lt;/h3&gt;

&lt;p&gt;Things like below items are better left to client-side rendering — load them after the main page is up:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“You recently viewed” widgets&lt;/li&gt;
&lt;li&gt;Real-time chat windows&lt;/li&gt;
&lt;li&gt;Notifications&lt;/li&gt;
&lt;li&gt;Anything after user login that's unique to them&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's like setting the table before guests arrive — get the basics ready, and bring out the custom drinks and desserts once they are seated. 😃&lt;/p&gt;

&lt;h1&gt;
  
  
  Wrapping Up
&lt;/h1&gt;

&lt;p&gt;Server side rendering is practical way to make your site faster, more visible to search engines, and more friendly to users (even the ones on slow connections or older devices).&lt;/p&gt;

&lt;p&gt;Use the simple checks we talked about to see if your pages are actually server rendered. If they aren't and they should be, now you know where to start.&lt;/p&gt;

&lt;p&gt;And remember - it's not about SSR vs CSR. It's about using both smartly, so your site works great and feels fast.&lt;/p&gt;

</description>
      <category>ssr</category>
      <category>javascript</category>
      <category>frontend</category>
      <category>seo</category>
    </item>
    <item>
      <title>What is Hydration &amp; why does it concern us?</title>
      <dc:creator>Punit Sethi</dc:creator>
      <pubDate>Fri, 16 Dec 2022 13:24:16 +0000</pubDate>
      <link>https://dev.to/geekybiz/what-is-hydration-why-does-it-concern-us-377j</link>
      <guid>https://dev.to/geekybiz/what-is-hydration-why-does-it-concern-us-377j</guid>
      <description>&lt;p&gt;&lt;a href="https://punits.dev/jargon-free-intros/hydration/#slide-2"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ijnsNjOX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iyxb2brrkmkkfn77uq9u.png" width="880" height="746"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://punits.dev/jargon-free-intros/hydration/#slide-3"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jU5RMO-t--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/njzw04mhb3pcallhxjlm.png" width="880" height="746"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://punits.dev/jargon-free-intros/hydration/#slide-4"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wuwUiglb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vznono96fh4pd5t1lk27.png" width="880" height="746"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://punits.dev/jargon-free-intros/hydration/#slide-5"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ISkyZ72p--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cu5m3up794yorkl3p1la.png" width="880" height="746"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://punits.dev/jargon-free-intros/hydration/#slide-6"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--G-2ACX2t--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o56ikvq60qd2kzwo2wri.png" width="880" height="746"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://punits.dev/jargon-free-intros/hydration/#slide-7"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9VjGrGCu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4h0b3eso4ugaw1j9x3g3.png" width="880" height="746"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://punits.dev/jargon-free-intros/hydration/#slide-8"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9lUgm7Ie--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1usnfk7kodf5f5trsll5.png" width="880" height="746"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://punits.dev/jargon-free-intros/hydration/#slide-9"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZvBZJ8yV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/feiomlkrgq3vg600667r.png" width="880" height="746"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://punits.dev/jargon-free-intros/hydration/#slide-10"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Ccbv-voe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vi26x8s1godcvw9ciajm.png" width="880" height="746"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;br&gt;&lt;br&gt;
I create jargon-free infographics explaining the fundamentals of things I've been working on for last few years. If you have questions or feedback, please let know.&lt;br&gt;&lt;br&gt;
Carousel version of this explainer (for better readability) &lt;a href="https://punits.dev/jargon-free-intros/hydration/"&gt;here&lt;/a&gt;.&lt;br&gt;&lt;br&gt;
Other similar explainers &lt;a href="https://punits.dev/jargon-free-intros/"&gt;here&lt;/a&gt;.

</description>
      <category>react</category>
      <category>javascript</category>
      <category>webdev</category>
      <category>webperf</category>
    </item>
  </channel>
</rss>
