A migration that feels personal

Following my recent design revamp, I took the opportunity to do another major change: migrate my blog to a new domain name.

If you’re reading this you’re probably not coming from a search engine and probably know me and my work at least little. I started blogging in 2014 when I was still in high school. At that time, I was writing in french on angristan.fr.

Two years ago, I decided to be more coherent with the fact that English is ubiquitous in my life and moved here to write in English.

The story of a dumb nickname

Angristan is a pseudonym I found myself a decade ago. It isn’t special by any means, its origins are very unimpressive. I don’t like how it looks nor how it sounds. Moreover, everyone seems unable to pronounce it correctly.

I didn’t find anything better, so it became my de facto username on basically every online service. I can’t word how much I hate this nickname and I hate even more the fact that it represents me online: as expected, some people refer me as angristan.

Fun fact: my only major social account where I use another username is Twitter, where I use @fuolpit. This word is the reverse() of Tiplouf, the french name for Piplup, a Pokémon.

However, I also own @angristan. I started using Twitter in 2012 when I was in middle school, so my history with Twitter goes a long way back. My original Twitter account was, I think, using that handle. It had like 40k tweets which I would probably be ashamed of today, but it doesn’t exist anymore.

For personal reasons, around 2014, I started Twitter from scratch using a private account, @fuolpit. I had another public account, @angristan, which I used only for tweeting about my french blog posts. In 2016, my main account wasn’t private anymore and I realised it didn’t make any sense to keep a separate account for my personal blog, although I already had a personal account. I locked it and stopped using it.

I could transfer the @angristan handle on my main account now, but two reasons prevent me to do it. First, with 120k tweets and 1.7k followers, I exist on Twitter as @fuolpit, as weird as it may sound. It would be bothersome for everyone if I changed handles now. What’s more, I simply like @fuolpit. It sounds weird, but it’s short and it looks nice. Also, it does not have any connotation or connection to anything (besides a Pokémon). For some reason, I can’t bring myself to use it anywhere else, though.

So yeah, I digress, but by now you may have understood that I really dislike my usual username. It’s probably too late to change it, but even if it wasn’t, I still didn’t find anything better.

When I created this blog, I wanted it to be in the same spirit as my french blog. So it made sense to have a domain name like angristan dot something. I did a lot of thinking back then to find a better name, but I couldn’t find something. My real name isn’t the kind you can easily turn into a short and neat domain.

angristan.com or angristan.net didn’t look very good, and I wanted something untied to a specific country. I had angristan.xyz lying around because I bought it for fun for like 3€, so I ended up using that.

Okay, so we now have a terrible nickname with one of the most obnoxious TLDs. Good job, Stan. 🙄

A new start

As the years passed, I got more and more frustrated with that name. It didn’t look serious. I’ll admit a domain name isn’t that important. It doesn’t change anything. But I see it every single day, so it matters to me. I cherish my blog because it is my own place of expression and a testimony of my growth over the years. angristan.xyz doesn’t do it justice.

I suddenly had the urge to search for some domains last weekend, again. At least, I wanted to get rid the .xyz TLD.

I realised the .blog TLD is a thing, and thought to myself that stan.blog looked kinda cool. Short, symmetric and all. However, being a “premium” domain, it would have cost me over $7000. A bit much.

I settled on stanislas.blog. For some reason, that domain name showed up as unavailable on OVH, which is probably why I didn’t consider it before. Fortunately, this time, I was searching on Namecheap. Too bad Cloudflare still doesn’t provide registration.

I took a step back and bought it a few hours later for a whopping $7.

Here I am, two days later, with my blog already live on that new domain. I hope I won’t regret this, but I am pretty confident about the change.

So, why stanislas.blog?

I don’t recall when I made the change, but more than a year ago, I stopped blogging here under my nickname and started using my real name (check the author box under the post). This is my blog, my experiences, my stories, and I’m willing to support them with my name and not an online persona. The next step of that change was the domain name.

I find it unique. It may be… surprising, for those unfamiliar with the name Stanislas. It’s a Polish name, so quite uncommon. (I’m 100% french and 0% polish, go ask my parents). I shall use that to my advantage.

This website is a blog, my blog. So: stanislas.blog. It’s simple and dumb, but I like it. I’m not hiding behind a terrible nickname anymore, and it feels good. Combining the redesign and this new domain name feels like a fresh start.

I don’t expect anyone to like it. Some may, others probably won’t. But it matters to me, so that’s alright.

The migration process

After boring explanations, let’s go through some of the technical changes I had to properly move to a new domain.

First off, I started by setting up the domain on Cloudflare, my favourite provider. Besides the quality DNS hosting, I usually take advantage of many more features like the CDN or the Firewall. After configuring all the parameters to my taste and enabling things like DNSSEC and HSTS, I was ready for the next steps.

I use caddy as my reverse proxy so I simply added a new vhost:

www.stanislas.blog {
    redir https://stanislas.blog{uri}
stanislas.blog {
  proxy / varnish:6081 {
  realip {
    from cloudflare

Caddy is plugged to the Cloudflare API, so it generated Let’s Encrypt certificates automatically with the DNS challenge.

Next, I set up Mailgun in case I ever want to send emails from that domain. Then, Brave Publishers, since I was receiving some BAT here and there. Then, Keybase.

I made sure my theme didn’t have any outdated hardcoded URLs, and updated my GitHub action settings for its deployment.

Finally, I added the new domain to my list of authorised domains on Matomo, to keep the same website id and preserve my analytics history.

When everything was ready, I updated my Ghost domain with ghost config url https://stanislas.blog.

ghost config url https://stanislas.blog

After a restart, Ghost was ready for a new life.

I added a permanent redirect on angristan.xyz with a Cloudflare page rule. Thus, I’ll be able to redirect old backlinks reliably, forever, even without any backend.

From then on, the new domain was live!

To oversee the migration of Google’s index, I added it to the Search Console and used the move domain feature, which will help, alongside the redirects, to update Google’s index to my new URLs. Hopefully, it should have little to no impact on my SEO, but we’ll see.

I then updated my monitoring services to the new endpoints.

To minimise internal redirections, I checked for internal backlinks to angristan.xyz. It turns out that, somehow, Ghost is smart enough to have updated almost all of the internal backlinks to the new domain, even though they seemed to be “hardcoded” from a user point of view. I am impressed.

I still ran some SQL queries and updated about 20 of my posts because some backlinks weren’t updated, mostly old articles using the old markdown format.

That’s it. Here we are, live on a new domain. I think it’s great! ✨

The header image is a shot of the Han River, in Seoul, that I took during the sunrise.