<?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: Ricardo Morais</title>
    <description>The latest articles on DEV Community by Ricardo Morais (@ricardomorais).</description>
    <link>https://dev.to/ricardomorais</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%2F1960161%2F2a7b0953-f623-4b7c-86cf-ce66b5199e00.png</url>
      <title>DEV Community: Ricardo Morais</title>
      <link>https://dev.to/ricardomorais</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ricardomorais"/>
    <language>en</language>
    <item>
      <title>How to Host Your Application on Vercel with a Custom Domain</title>
      <dc:creator>Ricardo Morais</dc:creator>
      <pubDate>Sat, 23 May 2026 13:16:38 +0000</pubDate>
      <link>https://dev.to/ricardomorais/how-to-host-your-application-on-vercel-with-a-custom-domain-25on</link>
      <guid>https://dev.to/ricardomorais/how-to-host-your-application-on-vercel-with-a-custom-domain-25on</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;In this guide, we’ll walk through exactly how to host your application on &lt;a href="https://vercel.com" rel="noopener noreferrer"&gt;&lt;strong&gt;Vercel&lt;/strong&gt;&lt;/a&gt;, connect a custom domain, and configure DNS the right way. No hand-wavy steps. No skipped details. Just a clear, practical walkthrough from deployment to a live, secure URL.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;Before we jump in, there’s one important thing to understand:&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;You don’t actually need a custom domain to publish your website.&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Most hosting providers (including &lt;strong&gt;Vercel&lt;/strong&gt;), automatically generate a default subdomain for you. That means your project can go live immediately, without touching DNS or buying a domain. It usually looks something like this:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;your-project-name.vercel.app&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;It’s fast, It works, and for many projects, it’s completely fine.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step-by-step instructions
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;We’ll be using &lt;a href="https://github.com" rel="noopener noreferrer"&gt;&lt;strong&gt;GitHub&lt;/strong&gt;&lt;/a&gt; as the Git provider and &lt;a href="https://www.godaddy.com" rel="noopener noreferrer"&gt;&lt;strong&gt;GoDaddy&lt;/strong&gt;&lt;/a&gt; as the domain registrar where we’ll configure DNS.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Go to &lt;a href="https://vercel.com/signup" rel="noopener noreferrer"&gt;https://vercel.com/signup&lt;/a&gt; and create an account, after that, you will redirected to &lt;a href="https://vercel.com/new" rel="noopener noreferrer"&gt;https://vercel.com/new&lt;/a&gt;, that screen has the option to import a Git Repository.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fazkdp1md16famf5y744i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fazkdp1md16famf5y744i.png" alt="Vercel Import Git Repository" width="616" height="487"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;Continue with GitHub&lt;/strong&gt; and then grant &lt;strong&gt;Vercel&lt;/strong&gt; permission to access your repositories.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;After that, &lt;strong&gt;Vercel&lt;/strong&gt; will ask you to install their GitHub application. After installing, &lt;strong&gt;you should have an list of all your repositories&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1gqcwm69wuye0an70c6g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1gqcwm69wuye0an70c6g.png" alt="Github Install Application Request" width="593" height="470"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftc6kbqn3qvpowbwl67zn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftc6kbqn3qvpowbwl67zn.png" alt="Github Permissions Request" width="607" height="751"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Import&lt;/strong&gt; on the repository you want to deploy.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You’ll be greeted with a simple setup screen where you define the type of project you want to deploy.&lt;/p&gt;

&lt;p&gt;There’s an &lt;strong&gt;Application Preset&lt;/strong&gt; dropdown that includes several common frameworks, each with pre-configured build and output settings. If you’re using something standard like Next.js, React, or another popular framework, you can simply select the appropriate preset and Vercel will handle the rest.&lt;/p&gt;

&lt;p&gt;If your project requires custom build commands or a specific output directory, you can manually configure those settings instead.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;After clicking &lt;strong&gt;Deploy with a successful build&lt;/strong&gt; (even if it doesn't, you are still allowed to visit your project dashboard), you will be greeted with this:&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6ayrsunz4kpstvfjsxns.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6ayrsunz4kpstvfjsxns.png" alt="Vercel Congratulations Deploy Screen" width="733" height="846"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  And that's it.
&lt;/h2&gt;

&lt;p&gt;You now have a project live on the world wide web 🎉&lt;/p&gt;

&lt;p&gt;From this point forward, every time you push to your main branch, &lt;strong&gt;Vercel&lt;/strong&gt; will automatically trigger a new build and deployment. No manual uploads. No FTP. Just push your code and it ships.&lt;/p&gt;

&lt;p&gt;I won’t go deep into the Vercel Project Dashboard here, but inside it you’ll find your live site under the &lt;strong&gt;Production Deployment&lt;/strong&gt; card. You can click the &lt;strong&gt;“Visit”&lt;/strong&gt; button to open it, or view the default domain listed in the &lt;strong&gt;Domains&lt;/strong&gt; section of that same card.&lt;/p&gt;

&lt;p&gt;Now let’s talk about what we’re really here for: &lt;strong&gt;configuring your custom domain.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Adding Your Domain in Vercel
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Go to your &lt;strong&gt;Project Dashboard&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Domains&lt;/strong&gt; in the left sidebar.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Add Existing&lt;/strong&gt;, enter your domain name, and click &lt;strong&gt;Save&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Vercel will now display two DNS records you need to configure for your domain: one &lt;strong&gt;A record&lt;/strong&gt; pointing your root domain (&lt;code&gt;@&lt;/code&gt;) to Vercel’s IP address, and one &lt;strong&gt;CNAME record&lt;/strong&gt; that routes the &lt;code&gt;www&lt;/code&gt; subdomain to your Vercel deployment URL.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Keep this tab open we’ll use those values in the next steps.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Configuring Your Domain
&lt;/h2&gt;

&lt;p&gt;Now let’s connect your domain to your hosting provider.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;For this walkthrough, we’ll use &lt;strong&gt;GoDaddy&lt;/strong&gt; to demonstrate the setup steps. This process is nearly identical across most domain registrars.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;In GoDaddy, click your profile in the top-right corner and go to &lt;strong&gt;My Products&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Locate your domain and click &lt;strong&gt;DNS&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You’ll now see your domain’s DNS management screen.&lt;/p&gt;




&lt;h3&gt;
  
  
  Step 1: Configure the A Record
&lt;/h3&gt;

&lt;p&gt;We’re going to point your root domain (e.g., &lt;code&gt;yourdomain.com&lt;/code&gt;) to your hosting provider.&lt;/p&gt;

&lt;p&gt;Look for an existing record with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Type:&lt;/strong&gt; A&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Name:&lt;/strong&gt; @&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If it exists:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Edit&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Replace the &lt;strong&gt;Value&lt;/strong&gt; with the A record value provided by &lt;strong&gt;Vercel&lt;/strong&gt; here&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Save&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If it doesn’t exist:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Add&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Enter the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Type:&lt;/strong&gt; A&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Name:&lt;/strong&gt; @&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Value:&lt;/strong&gt; (the A record value from Vercel here)&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;TTL:&lt;/strong&gt; Leave as default&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Save&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  Step 2: Configure the CNAME Record (www)
&lt;/h3&gt;

&lt;p&gt;Next, we’ll connect the &lt;code&gt;www&lt;/code&gt; version of your domain. This will make the traffic from &lt;code&gt;www.yourdomain.com&lt;/code&gt; to be routed correctly without needing to expose a direct IP address.&lt;/p&gt;

&lt;p&gt;What we’re essentially saying is: &lt;code&gt;www.yourdomain.com → yourproject.vercel.app&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;To configure it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Add&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Enter:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Type:&lt;/strong&gt; CNAME&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Name:&lt;/strong&gt; www&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Value:&lt;/strong&gt; (the CNAME value provided by Vercel)&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;TTL:&lt;/strong&gt; Leave as default&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Save&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  Done! 🎉
&lt;/h3&gt;

&lt;p&gt;We’ve updated &lt;strong&gt;GoDaddy’s&lt;/strong&gt; DNS records to tell the internet where our website lives.&lt;/p&gt;

&lt;p&gt;This DNS changes usually propagate &lt;strong&gt;within 5–10 minutes&lt;/strong&gt;, but in some cases it can take up to an hour. Once propagation completes, your custom domain will be fully connected to your &lt;strong&gt;Vercel&lt;/strong&gt; project, with &lt;strong&gt;automatic SSL handled&lt;/strong&gt; for you.&lt;/p&gt;

&lt;h3&gt;
  
  
  Your app is now live, on your own domain.
&lt;/h3&gt;

</description>
      <category>vercel</category>
      <category>github</category>
      <category>godaddy</category>
    </item>
  </channel>
</rss>
