---
title: "Goodbye Hashnode, Hello Vercel: Migrating My Blog to Next.js and Vercel"
date: "2025-12-28"
slug: "migrating-from-hashnode-to-vercel-nextjs"
author: "Dany Paredes"
canonical: "https://danywalls.com/migrating-from-hashnode-to-vercel-nextjs"
description: "I moved my blog from Hashnode to a custom Next.js site on Vercel. Here is why I did it, how I moved my entire content library, and why Vercel is the best home for my posts."
---


I used Hashnode for many years, but I decided it was time for a change. Hashnode is a great platform for developers, but as my blog and community of **13.8K followers** grew, I wanted to own my content, my design, and the technology I use.

In this post, I will show you how I moved everything. I will explain the technical problems I solved (like fixing broken links and image paths) and why my blog is now much faster using **Vercel**, **Next.js**, **MDX**, and **Kit**.

## 1. Why I moved: Freedom and Ownership

The main reason was **ownership**. When you use a platform, you have to follow their rules. By building my own site, I gained:

*   **Custom Design (UX/UI):** I can add special parts, like my new follower counter, exactly where I want them.
*   **Technical Control:** I decide how to make images smaller (optimize), how my RSS feed works, and how my code is built.
*   **Content in Git:** All my articles are now `.mdx` files in a GitHub folder (repo). This means I have a history of all my changes and can use my favorite code editor to write.

## 2. The Tools I Used: Vercel, Next.js, and Kit

Choosing the right tools was very important. I didn't just move my blog; I made it better.

*   **Vercel:** Vercel created Next.js, so it is the best place to host it. It makes my blog load very fast for everyone around the world. I also use **Vercel Analytics** and **Speed Insights**. They show me how many people visit my site and how fast it is, without making the site slow.
*   **Next.js & MDX:** I needed a tool that could handle many articles and still be fast. Next.js does this very well. Using **MDX** means my articles are like code. I can put interactive parts, like demos or videos, directly inside my tutorials.
*   **[Kit](https://kit.com):** A newsletter is very important for a creator. Kit's technology is excellent. Now, I can build a custom signup box and use a "Full Content RSS Feed." This means my weekly newsletter is sent automatically with the full text of my articles.

## 3. Seeing Everything: Analytics and Speed

A big advantage of Vercel is that it has analytics built-in. Before, I had to use heavy tools that made the site slow. Now, everything is integrated:

*   **Vercel Analytics:** I can see which articles people like the most in real-time. It respects the privacy of my readers and does not slow down the site.
*   **Speed Insights:** This tool is amazing. it monitors how fast the site is for real users. If an article becomes slow because of a big image, I see it immediately and can fix it.
*   **Easy Setup:** I don't need to add complicated code. It is part of the platform, so it doesn't make my website "heavy."

## 4. Moving My Content Without Breaking Links

Moving the text is easy; keeping your visitors is hard. I didn't want to break the links that Google already had in its search results.

### Fixing "Double Name" Errors
During the move, I found an error where image names were doubled (like `/images/posts/name-name/cover.png`). I had to use a script to fix all my files so the images would show up correctly.

### Handling Redirects
To prevent "Page Not Found" (404) errors, I created a list of redirects. For example, **I sent everyone looking for old "tag" pages to my new "series" pages**. This way, old links still work.

### Cleaning Up MDX
Moving all my posts from a CMS (like Hashnode) to MDX is not just copying and pasting. I had to fix many small errors and replace old codes with new React components. It took some time, but it was necessary to make the site work.

### Google Search and YouTube
I wanted my content to be easy to find on Google.
*   **YouTube:** I made a special tool for YouTube videos. It tells Google exactly what is in the video so it can show up in search results.
*   **Unsplash Images:** To give credit to photographers, I made a tool that automatically shows the photographer's name for Unsplash images.

## 5. Automating My Newsletter with [Kit](https://kit.com)

A blog needs a newsletter. Moving to **Kit** was very easy. **I moved all my subscribers without any problems**, so my 13.8K readers still get my updates.

I also fixed the "RSS Feed." Most blogs only show a small part of the article in the email. I changed mine so the **entire article** is sent to my readers' inboxes. This is much better for the user.



## 6. Professional Email & Automation: Cloudflare + Kit

One big challenge of "going solo" is email. I didn't want to pay for Google Workspace, but I needed a professional email address to avoid ending up in spam.

*   **Cloudflare Email Routing:** I set up `hola@danywalls.com` to forward emails to my personal Gmail. It's free and works perfectly.
*   **Kit Domain Auth:** I authenticated my domain in Kit using Cloudflare DNS. Now, my newsletters come from `hola@danywalls.com`, giving me professional deliverability without the monthly cost.
*   **GitHub Actions Automation:** I built a custom script that runs on GitHub Actions. Every time I push a new post, it automatically checks the date. If it's a new article, it **creates a draft campaign in Kit** for me using their API. I just have to click "Send".

This ecosystem (Vercel + Cloudflare + Kit + GitHub Actions) gives me a powerful, automated media company setup for $0/month.

## Conclusion

Moving everything was a lot of work, but now my blog is **faster, more personal, and 100% mine**. If you want to move your blog to your own platform, remember: focus on your links first, and the design second.

**Are you planning to move your blog? Let me know on Twitter!**

_Photo by [Isaac Maffeis](https://unsplash.com/@isaacmaffeis?utm_source=unsplashx&utm_medium=referral) on [Unsplash](https://unsplash.com/?utm_source=unsplashx&utm_medium=referral)_

