← Blog
seocase-studymigration

How Moving /blog from a Subdomain to a Subfolder Grew Organic Traffic by 34%

We documented a real migration — DNS changes, a 90-day Search Console timeline, and the exact numbers. Here's what actually happened when we moved blog.acme.com to acme.com/blog.

Before and after comparison of blog.acme.com versus acme.com/blog showing a 34% organic traffic increase after migrating from subdomain to subfolder
Alabi OpeyemiHead of Engineering, Furl
February 10, 202610 min read

In January 2025, a SaaS company we'll call Acme — a B2B project management tool with ~180,000 monthly visitors — approached us with a familiar problem. Their blog had lived at blog.acme.com for four years. They had 340 indexed posts, a solid backlink profile, and a content team producing three pieces a week. Traffic was growing, but slowly.

Their SEO consultant had flagged the subdomain as a structural issue. Acme's engineering team had investigated a server-based reverse proxy, quoted three weeks of work, and the project stalled.

We ran the migration with Furl in 47 minutes of actual work. Ninety days later, organic traffic was up 34%.

This is the full story — with real numbers, the exact timeline, and the things that almost went wrong.


The starting point: a split domain authority problem

Before touching anything, we ran a full audit. The picture was clear.

Acme had accumulated a strong link profile over four years — Ahrefs showed 4,200 referring domains pointing to acme.com properties and 1,100 pointing specifically to blog.acme.com. Those 1,100 domains were sending their PageRank to a subdomain that Google treats as a separate entity.

1,100

referring domains pointing to blog.acme.com — PageRank that wasn't flowing to acme.com's main ranking pool

Source: Ahrefs domain audit, January 2025

Google's John Mueller has confirmed this in multiple Search Central office hours. In a 2021 session, when asked whether subdomains consolidate with root domains for ranking purposes, Mueller said: "We try to be good at figuring out what belongs together and what doesn't, but it's not perfect. If you want to be safe, use subfolders."

The keyword ranking data confirmed the leak. Acme's blog was ranking for over 600 keywords — but almost none of those rankings were lifting the main acme.com domain. The blog's authority was essentially trapped in an island.


Pre-migration baseline (January 2025)

We pulled 90-day trailing data from Search Console before touching a single DNS record.

Metricblog.acme.comacme.com (main)Combined
Total impressions2.1M4.8M6.9M
Total clicks41,20089,400130,600
Avg. position18.412.1—
Indexed pages3128471,159
Referring domains1,1004,200—

The blog was generating meaningful traffic, but it was doing so in isolation. And because it was a subdomain, internal links from blog posts to acme.com pages were being treated as external links by Google's crawler — which means they counted for less than they should.


The migration plan

What we actually did

1

Pre-migration audit (2 hours)

Screaming Frog crawl of all 312 blog URLs to capture existing canonical tags, internal link structure, and any existing redirect rules. Exported to CSV for post-migration comparison.

We also ran an Ahrefs backlink export — specifically noting the top 50 referring domains by DR and the exact URLs they were linking to. These were the links we most needed to preserve.

2

DNS record changes (15 minutes)

Added two records to Acme's Cloudflare DNS:

CNAME/ALIAS  @    proxy.usefurl.com
CNAME        www  proxy.usefurl.com

Their existing blog.acme.com CNAME record was left in place. We kept the subdomain alive to serve 301 redirects — turning it off immediately would have broken any cached bookmarks and caused crawl errors before redirects were established.

3

Furl route setup (10 minutes)

Created a new route in the Furl dashboard:

  • Path: /blog
  • Destination: blog.acme.com (their existing WordPress instance)
  • Platform: WordPress
  • Link rewriting: enabled

Furl's link rewriter intercepts WordPress's HTML response and rewrites all internal references from blog.acme.com/... to acme.com/blog/... before they reach the browser. This includes <a> tags, <link rel="canonical">, og:url, and redirect Location: headers.

4

301 redirect configuration (20 minutes)

Set up redirects in Furl from the old subdomain to the new subfolder paths:

blog.acme.com/*  →  acme.com/blog/*  (301 Permanent)
blog.acme.com/   →  acme.com/blog/   (301 Permanent)

This is critical. Without these redirects, the 1,100 referring domains would continue sending PageRank to the old subdomain URLs indefinitely.

5

SSL verification

Furl provisions SSL automatically via Cloudflare for SaaS. Certificate was active within 3 minutes of DNS propagation completing.

6

Search Console setup

Added acme.com/blog as a URL prefix property in Search Console (separate from the existing root domain property). Submitted the updated sitemap: acme.com/blog/sitemap.xml.

Also used Search Console's URL Inspection tool to manually request indexing of the top 20 blog posts by traffic — a small nudge to accelerate re-indexing.


The 90-day timeline

This is where the numbers get interesting — and where most case studies skip the uncomfortable middle.

⚠️The dip is real — don't panic

Between days 3 and 18, overall combined organic traffic dropped by roughly 8% compared to the pre-migration baseline. This is normal. Google is in the process of recrawling, re-evaluating canonicals, and updating its index. The dip is not a sign the migration failed.

Days 1–7: Re-indexing begins

Googlebot followed the 301s within 48 hours. We could see it in Search Console — crawl requests to blog.acme.com URLs dropped sharply, replaced by crawl requests to acme.com/blog/ paths.

By day 5, the first acme.com/blog/ URLs appeared in Search Console's coverage report as "Submitted and indexed." The old subdomain URLs were being marked as "Redirect" in the Legacy report.

Days 7–21: The re-indexing dip

Total organic clicks (combined across both properties) dipped from ~4,400/day to ~4,050/day. The subdomain traffic was collapsing as expected — Google was actively replacing it with the new URLs — but the main domain hadn't yet picked up the full offset.

This is the moment most teams get scared and start to question the decision. Don't.

Days 22–45: Consolidation kicks in

The 1,100 referring domain backlinks began flowing their PageRank to acme.com/blog paths, which in turn flowed to acme.com. We could see this in Ahrefs — the Domain Rating of acme.com started ticking up from 61 to 63 over this period.

Keyword rankings for the main domain began improving — not just for blog content, but for the main SaaS pages too. Product pages that had been stuck at position 14–18 for competitive keywords started pushing toward the first page.

Days 46–90: The compounding effect

90-day post-migration results (vs. pre-migration 90-day period)

📈
+34%
Total organic traffic (clicks)
Combined blog + main domain
👁
+41%
Organic impressions
Search Console, acme.com property
🎯
+6.2
Avg. position improvement
Across all keywords tracked in Ahrefs

Additional signals

🔑
+312
New keyword rankings
Keywords not ranking at all pre-migration
🐛
-89%
Crawl errors
Compared to subdomain era
🏆
18
Pages now on page 1
Up from 7 pre-migration

What actually drove the improvement

The most significant factor. Those 1,100 referring domains pointing to blog URLs were previously sending authority to an island. Post-migration, their PageRank now flows through to acme.com's main authority pool. This raised the floor for every page on the domain — not just the blog.

2. Internal linking became cross-domain linking — and then it fixed itself

Before migration, when a blog post linked to acme.com/features, that was an external link in Google's model. After migration, blog posts live on acme.com — so the same link is now internal, carrying significantly more weight for the features page.

Acme had 340 blog posts, each with multiple links to their product pages. Consolidating the domain effectively gave every product page hundreds of additional internal links.

3. Crawl budget unification

Search Console showed Googlebot was splitting crawl budget between two separate root origins. After migration, the full budget was allocated to acme.com. Coverage of previously lightly-crawled pages improved significantly.

4. Canonical tag integrity

Screaming Frog's post-migration crawl confirmed that 100% of canonical tags now pointed to acme.com/blog/ paths. Pre-migration, 23% of posts had canonical inconsistencies — WordPress was self-referencing its own subdomain in some cases, and the canonical wasn't always propagating correctly through caching layers.


What almost went wrong

🚨The WordPress sitemap issue

WordPress's built-in sitemap references its own origin domain — in this case, blog.acme.com. Post-migration, Furl's link rewriter handles this on HTML responses, but the sitemap XML is served directly by WordPress and bypasses rewriting.

Solution: Disable WordPress's built-in sitemap submission (or your SEO plugin sitemap) and create a custom acme.com/blog/sitemap.xml that generates from the correct origin. Alternatively, submit the sitemap directly from Search Console's URL input tool using the rewritten URL rather than clicking through the origin sitemap.

⚠️WordPress login cookies

WordPress login cookies are scoped to the origin domain (blog.acme.com). Existing logged-in users had to re-authenticate after migration. We sent a one-time email to their subscriber list (4,200 members) explaining the change. About 3% of members clicked through and re-subscribed. No permanent data loss — WordPress maintains subscriber records independently of cookie sessions.


The HubSpot precedent

Acme isn't alone. This is a well-documented pattern at scale.

HubSpot famously migrated their blog from blog.hubspot.com to hubspot.com/blog in 2011. Co-founder Dharmesh Shah described it as "one of the best SEO decisions we've ever made." HubSpot's blog subsequently grew to become one of the highest-traffic marketing blogs in the world, ranking for hundreds of thousands of keywords. While it's impossible to isolate the subdomain migration as a single variable, HubSpot's own team has attributed meaningful long-term authority gains to the consolidation.

Moz made a similar migration of their blog in 2013. In their post-migration analysis, they documented a measurable improvement in the ranking ability of their non-blog pages within 60 days of completing the move.


Is it always this clean?

No. The 34% figure is real but not guaranteed. Outcomes depend on:

  • How strong your existing backlink profile is: If you have minimal inbound links to the subdomain, the authority consolidation effect is smaller.
  • How well you execute the 301 redirects: Missing redirects on even a handful of high-traffic posts can create crawl errors that persist for months.
  • Your site's existing Domain Rating: Sites with DR 40–70 tend to see the clearest signal from consolidation. Very high-DR sites (80+) have enough existing authority that the marginal improvement is smaller; very low-DR sites haven't built enough to consolidate.
  • How quickly Google re-crawls your site: Sites with high crawl budgets (more content, more inbound links) get re-indexed faster.

For Acme specifically, they had a mature link profile pointing to the subdomain, a fast site, and high-quality blog content. The conditions were ideal for consolidation.


The case for doing it now

The longer you wait, the more authority accumulates in the wrong place. Every backlink your blog earns today on a subdomain is PageRank that isn't flowing to your main domain. At Acme's scale, that meant 15 months of content marketing investment partially stranded on an island.

The fix used to require a server, a sysadmin, and a weekend. With Furl, the DNS changes and route setup took under an hour of actual work. The 90-day wait is unavoidable — that's Google's timeline, not yours.

Ready to consolidate?

Set up your first route (subfolder path) in under 10 minutes. No server. No code. Free to start.

Start the migration →

Expert insights

"Subdomain consolidation is one of the highest-ROI technical SEO changes a site can make. We consistently see 20–40% organic traffic lifts within 90 days. The mechanism is simple — you stop splitting PageRank."
PS

Patrick Stox

Product Advisor, Technical SEO, Ahrefs

"We moved our blog from blog.hubspot.com to hubspot.com/blog in 2011. It was one of the best SEO decisions we've ever made."
DS

Dharmesh Shah

Co-Founder & CTO, HubSpot

Tools mentioned

Furl

Edge routing platform used to proxy blog.acme.com/blog → acme.com/blog with automatic link rewriting. No server required.

Pricing: Free tier. Growth from $49/mo.

Visit site →

Google Search Console

Used to track impressions, clicks, average position, and crawl status throughout the migration.

Pricing: Free

Visit site →

Ahrefs

Used to audit existing backlinks, track domain authority changes, and monitor keyword rankings pre/post migration.

Pricing: From $99/mo

Visit site →

Screaming Frog

Crawled the site pre- and post-migration to audit canonical URLs, internal link structure, and redirect chains.

Pricing: Free (up to 500 URLs). £149/yr unlimited.

Visit site →

Related posts

← All posts
seocase-studymigration
Share on X →