Medium Custom Domain: Setup, Cost, and the Catch


Yes, Medium supports a custom domain, and setting one up takes a paid Medium membership plus two DNS records at your registrar. You point a top-level domain like yourdomain.com or a subdomain like blog.yourdomain.com at Medium, verification runs for up to three days, and after that your stories load on your address instead of a medium.com URL. What you cannot do is put the blog at yourdomain.com/blog, and what you should understand before you start is how little of the arrangement you actually control.
This post covers both halves. First the working setup, in the order Medium's own help center puts it, including the two failure modes that account for most of the "my Medium custom domain is not working" threads. Then the case for a domain that answers to you instead, with the redirects, the URLs and the archive on your side of the line. Everything about Medium below was checked against Medium's help center in September 2026.
How a Medium Custom Domain Works
Medium's custom domain guide sets out the requirements before the steps, and they are worth reading in that order because two of them stop people cold.
You need an active Medium membership. A custom domain is a paid feature, tied to a membership subscription on the account that owns the profile or publication. As of September 2026, Medium membership costs $5 a month, or $50 if you pay for the year. The point that matters structurally is that the domain you bought stays connected only while somebody keeps paying Medium.
You need to own the domain already. Medium does not sell you one. Buy it at any registrar and keep the DNS panel open.
You get one domain per profile or publication. Medium is explicit that there is no way to attach a second custom domain, and no way to point one at specific pages inside a profile or publication. One address, one destination.
Profile or publication, decide first
A custom domain connects either to your personal profile page or to a publication. The distinction is not cosmetic.
A profile is one person's stream of stories under one byline. A publication is the multi-writer container, with an owner, Editors who review and publish, and Writers who submit drafts.
Note whose account this hangs off. A publication is owned by an individual Medium account with an individual membership attached, not by a company entity. When that person leaves, the domain, the publication and the subscription all sit behind their login.
The DNS records
Once you request setup inside Medium, the records go in at your registrar. As of September 2026, Medium documents two A records on the root host @:
The same page also publishes the IPv6 equivalents, 2606:4700:7::a29f:9804 and 2606:4700:7::a29f:9904, for AAAA records.
Medium's help center adds two conditions that break setups quietly:
- Proxies must be disabled. If your DNS sits behind Cloudflare, the orange cloud on those records has to be grey.
- CAA records have to permit Medium's certificate authorities. If you already publish CAA records, add entries for
pki.googandletsencrypt.org, or remove CAA from the zone. Otherwise certificate issuance fails and the domain never finishes verifying.
Then you wait. Medium says verification can run up to three days. While that runs, the domain may resolve intermittently or not at all. That is normal and it is also why the setup stories read the way they do. One writer documented a six-day struggle getting a domain live, which is a long time to have a blog address in an unknown state.
Once verification finishes, your existing medium.com addresses do not break. Medium states that old URLs start redirecting automatically to the custom domain, and that search engines pick up the change on their own over a few weeks.
Why a Medium Custom Domain Is Not Working
Two failure patterns come up repeatedly, and both are diagnosable from the symptom.
Symptom: the homepage loads on your domain, individual posts stay on medium.com. This is the Cloudflare community thread that people find at 1am. Start with the two conditions the documentation actually names. Medium's setup page states, under its own heading, that proxies must be disabled for a custom domain to work. Cloudflare's page on Error 1000 lists the matching cause from its side: an A record that points to a Cloudflare IP address, or a DNS record referencing another reverse proxy that sends the request back to Cloudflare. Medium's A records sit inside Cloudflare's own range, so proxying them puts you in exactly that state. Grey-cloud both records and remove any forwarding or page rule that rewrites the root, because the front page can look correct while every story path still resolves to medium.com.
Symptom: Cloudflare Error 1000, DNS points to prohibited IP. Documented in this thread. It is the same misconfiguration in a louder costume, and the same fix: turn the proxy off on the records Medium gave you.
A third issue is not a bug at all. Medium does not support adding any code to your pages, so there is no Google Analytics, no Tag Manager and no verification snippet on the custom domain. You have your address and you still cannot measure what happens on it.
The Limit No Configuration Fixes: yourdomain.com/blog
Medium accepts a top-level domain or a subdomain. It rejects a subdirectory, and its help center names the exact case: a custom URL that is a folder, like yourdomain.com/blog, cannot be connected.
For a personal blog that is a footnote. For a company it is the whole decision. A blog on blog.yourcompany.com is a separate host as far as search engines are concerned, so the links your posts earn build a property beside your marketing site rather than the marketing site itself. A blog at yourcompany.com/blog compounds into the domain your pricing page lives on. Teams that care about that usually run the blog through a reverse proxy on the /blog path, and Medium has no route to it. More on why that matters in Medium for a business blog.
Medium Removed Custom Domains Once Before
In 2017 Medium withdrew the feature. The notice John Gruber quoted in September 2018 said new custom domains were no longer on offer, and directed people to run a publication on a medium.com URL instead. It came back later, attached to membership. Gruber's reaction in 2018 has aged into a fair description of the risk: with your own domain name you can keep old URLs working in perpetuity, and that is the thing a platform decision can take away from you.
Which raises the exit question, and it is the reason to think about all of this before you publish rather than after. If you ever leave Medium, what happens to your URLs depends entirely on whether you had a custom domain at the time. With one, the addresses are yours, you repoint DNS, and you serve redirects from the new host, so links and rankings survive. Without one, your posts live on medium.com paths. Content Powered walks through both cases and is blunt about the second one: you have no way to implement a redirect from medium.com URLs to your new ones, because Medium does not give you that kind of control, which makes transferring SEO value nearly impossible. Links out of Medium are nofollowed, so you cannot recover the value that way either. The workaround it recommends is to cut each Medium post short, roughly a quarter of the way in, and replace the rest with a link to the full version on your site. That avoids a duplicate-content problem and sends some referral traffic. It does not move the ranking.
Getting the content out is a separate job. You request an account export and receive your stories as HTML files in a zip, delivered by email link.
The Way Out: A Blog on a Domain You Actually Own
If you are setting up a custom domain because the blog is a business asset, the domain is the smaller half of what you are after. The larger half is control of the URLs, the archive, the measurement and the page itself. That is where Superblog sits.
The domain is included on every plan, and the subdirectory is on the table. Custom domain and free SSL ship on every plan. Run the blog at yourcompany.com/blog through a reverse proxy alongside the marketing site you already have, at blog.yourcompany.com, or on a root domain. The arrangement Medium rules out is the default one here.
Redirects are yours. Old paths map to new ones from Settings in the dashboard, so a restructure, a migration or a slug change does not cost you the traffic that URL had earned. Nothing about that depends on a subscription staying current at a company you do not run.
There is nothing to manage. No server, no plugins, no update queue, no security patches. Pages are pre-built static files served from a CDN. There is no database and no runtime code on the page, so the attack surface a self-hosted blog spends its life patching does not exist.
More than one person can work on it. The editor autosaves as you type. Pro and above add scheduled publishing and a review step where a colleague comments and approves before anything ships. Permissions come in three levels: Admin, Editor and Writer. Team size runs five seats on Pro, ten on Super, twenty-five on Business. Basic is a single seat, so put a team blog on Pro.
Structured data is written at publish time. Each story goes out with JSON-LD for BlogPosting and WebPage, and Organization, ImageObject and FAQ markup alongside it. The XML sitemap rebuilds itself. IndexNow tells Bing and Yandex about the new URL the moment it exists. Canonical tags, meta titles, meta descriptions and Open Graph fields are filled per post without you opening a settings panel. The llms.txt index updates too, and every story has a plain-markdown twin at its own URL, which is what ChatGPT and Claude read when they cite you. Hreflang across 41 languages arrives on Super.
The page can be measured and can capture leads. Pirsch reports traffic on Pro and above without cookies, so no consent banner is needed, and Google Analytics works on any plan. Native forms sit below a post, in the sidebar, or as a pop-up, with custom fields and real-time lead webhooks on Super. Every item in that list is code on the page, the exact category Medium forbids.
Business tier hands two jobs to the dashboard. Featured and Open Graph images are generated from the post itself at a credit apiece. A keyword tool in the same tier returns as many as 25 keywords per search with live volume, competition and CPC.
Performance is not a project. Images become WebP without being asked, the CDN handles delivery, and a 90+ Lighthouse score is the baseline rather than the reward for a tuning sprint.
Bringing Medium content across is honest work rather than one click. Medium exposes no API Superblog can pull from, so the route runs through the export zip: request it, upload the archive, then pick the posts worth keeping in a preview screen. The slug comes out of each exported post's canonical link, along with its title and publish date, which is why URLs usually survive intact. Where an exported post carries no canonical link, the slug is built from the title and will not match the old Medium address, so check those before you deploy. One import handles up to 20,000 posts. None of this is theoretical at size: as of September 2026 the platform serves upwards of 150,000 posts, and 23 of the blogs on it hold at least 1,000 each.
Pricing as of September 2026: Pro at $49 per month, Super at $99. Either one starts with a free 7-day trial, no card required, and there is a 30-day money-back guarantee. Full tiers on pricing.
And keep Medium. Publish on your domain first, then republish to Medium with the canonical link pointing home, and the reader graph keeps working for you without the archive living there. The detail on that is in Medium SEO.
The three options side by side
Verified September 2026.
Medium Custom Domain FAQ
Does a Medium custom domain cost extra beyond the domain itself?
It requires an active Medium membership on the account that owns the profile or publication. That membership runs $5 monthly or $50 annually as of September 2026. There is no separate per-domain fee today, though there was one before: in February 2017 Medium charged a one-time $75 to connect a custom domain, which users on Hacker News discussed at the time.
Can I use Cloudflare with a Medium custom domain?
Yes, but the records must not be proxied. Medium requires proxies disabled, and Cloudflare will return Error 1000 if you try to proxy records pointing at its own IP range. Set the cloud to grey on both A records.
Can I put my Medium blog on mysite.com/blog?
No. Medium accepts a top-level domain or a subdomain only, and states that a subdirectory like yourdomain.com/blog cannot be connected. A reverse proxy in front of a platform that supports subdirectory hosting is the way to get that URL.
What happens to my URLs if I leave Medium later?
With a custom domain, the URLs are yours and you can redirect them from the new host. Without one, your posts sit on medium.com paths that you cannot redirect, so the links and rankings those pages earned stay with Medium.
Is my Medium custom domain safe long term?
The domain is, because you own the registration. The mapping is not guaranteed, since Medium withdrew custom domains once in 2017 and reinstated them as a membership feature later.
Where to Go From Here
If the blog is a hobby and the goal is a nicer address, follow the setup above, keep the proxy off, and give verification three days before you worry.
If the blog is how your company gets found, the address is the small win and the ownership is the real one. Compare the field in 12 best Medium alternatives, read the three-way breakdown in Medium vs WordPress vs Superblog, or start a 7-day trial with no card at pricing and see the blog running on your own domain before you decide anything.
Own your blog, not a Medium page
Your domain, your readers, your analytics. Import from Medium and keep publishing.
Sai Krishna is the Founder and CEO of Superblog. Having built multiple products that scaled to tens of millions of users with only SEO and ASO, Sai Krishna is now building a blogging platform to help others grow organically.
superblog
Superblog is a blazing fast blogging platform for beautiful reading and writing experiences. Superblog takes care of SEO audits and site optimizations automatically.