Context
Noqode designs B2B websites and keeps improving them with its clients over time. Our own website, noqode.fr, had been built on Webflow since the agency was founded. Its 2026 redesign had turned it into our main sales tool.
Within a few months, it grew considerably. It now has 476 pages in French and English, including 186 articles, 128 tool pages and 32 case studies. On top of that come a chatbot, a free AEO audit and the forms our prospects use to contact us.
The rest of our ecosystem was already running on Vercel, from the client portal to the AEO audit and the chatbot. The website was the last isolated piece. On November 2, 2026, we started migrating it to Astro, with Sanity as a headless CMS and hosting on Vercel. The new site has been live since the evening of November 10.
This case study is for companies considering a change of technology for their website without losing their search rankings, or connecting it to their sales tools.


"Our website had to reflect the standard of what we deliver. By migrating it to Astro and Sanity, we kept all our content and all our search rankings, with pages three times lighter. Requests now arrive sorted in Attio and my replies wait for me as drafts in Gmail, with my availability already offered. We apply the same method to companies that want to change technology without starting from scratch."
Challenges
The first challenge was search visibility. The site was well established on Google, with 775 clicks and nearly 1.4 million impressions in the four weeks before the switch. Changing technology could not alter a single title, canonical tag or link between the French and English versions. The 36 existing redirects and the old addresses from the first version of the site had to keep working.
The second challenge was speed. On mobile, the homepage weighed 8.5 MB and required 102 requests. On the day of the switch, PageSpeed Insights measured its Largest Contentful Paint at 10 seconds. For an agency that delivers high-performance websites, this gap had to be closed.
The third challenge concerned incoming requests. On Webflow, every form submission arrived by email and had to be copied by hand into Attio, our CRM. An analysis of the 62 requests received over a year showed that about two out of three did not come from prospects. They mixed vendor outreach, spam and job applications in with real projects.
Finally, the migration had to stay invisible. Visitors had to find the same site, with the same animations and the same journeys. The team needed to keep publishing during the work, then manage content without relying on a developer.
Objectives
We set four goals before the first line of code. Each had a success criterion checked before launch.
1. Keep every page identical, for visitors and for Google
The live site was the absolute reference, ahead of the Figma designs and the Webflow export. Every page had to keep its URL, its copy, its SEO tags and its animations. No text was rewritten during the migration. Every improvement idea was logged separately, in a register submitted to Amaury de Luca.
2. Lighten pages and speed up rendering on mobile
The gain had to be measured on the same pages, under the same conditions, before and after the switch. PageSpeed Insights was the reference for the homepage, and Lighthouse for sixteen representative pages. Mobile came first, as that is where the gap was widest.
3. Get every real lead into Attio, ready to handle
A qualified request had to create the person, the company and the opportunity in the CRM, with its declared source and the origin of the visit. The reply had to be drafted so that Amaury only needs to review it. Other messages had to be filtered out without any risk of losing a real project.
4. Make content editable in a structured CMS
Articles, tool pages, case studies, FAQs and page sections had to become typed content in Sanity. Each one stays linked to its French version. Publishing in the Studio is enough to update the site, with no developer involved.
Solutions
The project followed the method we use for our clients' migrations, with a full audit before any development.
Treat the live site as the absolute reference
The audit started with an exhaustive survey of the Webflow site. It covers 503 crawled addresses, 480 pages rendered in a browser and 142 pages captured at four screen widths. The 185 behaviors of the site, from menus to animations, were inventoried one by one. The CMS export delivered 1,016 items in two languages, and all 2,044 media files were moved off the Webflow CDN.
Improvement ideas spotted along the way were never applied by default. They were gathered into 35 proposals that Amaury decided on one by one before launch.
Structure the content in Sanity
Content now lives in a Sanity Studio in French, organized into 21 document types and 25 page sections. Each item is linked to its translation, making 497 French and English pairs.
The import was checked field by field. All 1,024 rich text fields are identical to the character and the 3,081 links point to the same destinations, with no unexplained difference from Webflow.

Rebuild every page in Astro, section by section
Each section of the site became an Astro component, and the 476 pages are generated in advance, then served from the Vercel network. A comparison tool checked the new site against the live one across 2,783 sections. Visible text and headings are identical on every template.
Search optimization went through the same check. Titles, descriptions, canonical tags, language links and structured data are identical to the live site on all 479 pages compared, as are the sitemap and the llms.txt file. The 36 redirects are carried over and the site has no broken internal links.
Develop with Claude Code under Noqode's direction
The migration was developed with Claude Code, Anthropic's coding agent, under the direction of Amaury de Luca. The agent only had read-only access to Webflow. The technical decision log held 57 entries at launch.
Amaury approved the site page by page on a preview version, until all 59 points of the acceptance review were compliant. This way of working is part of our AI production workflows, where the team keeps the final say.
Connect the forms to Attio, Gmail and Cal.com
Every request first goes through triage, combining rules with Claude's assessment. Tested on the history of 62 requests, it filters out 88% of off-topic messages without losing a single real lead. When in doubt, a request is always treated as a lead.
A real lead creates the person, the company and the opportunity in Attio, with the declared source and where the visit came from, whether Google, an AI engine or a campaign. Amaury receives a notification with three replies drafted in his tone. The chosen reply lands as a draft in his Gmail, with time slots read from his calendar, and he sends it himself after reviewing it.
If the prospect does not reply, a follow-up goes out from Amaury's mailbox three business days later, then a second one after eight days, in the same thread. They stop as soon as the prospect replies. A booking on Cal.com moves the opportunity forward in the CRM, and the AEO audit feeds Attio as well.

Switch over in under an hour
On November 10, Webflow content was frozen at 7:56 pm. The articles published since the start of the project were imported, then the site was published on Vercel and checked on its temporary address. The DNS change put the new site live at 8:48 pm, and the forms went live at 9:06 pm.
Rolling back to Webflow remained possible within five minutes and was never needed.
Impact / Results
The new noqode.fr has been live since November 10, 2026. The next day, Vercel had recorded no errors in 24 hours. The 86 pages checked again were identical to the Webflow site.
A faster homepage, measured by PageSpeed Insights
On the homepage, the mobile performance score goes from 60 to 72 and the Largest Contentful Paint from 10.0 to 5.6 seconds. Total Blocking Time drops from 160 milliseconds to zero. On desktop, the score goes from 83 to 98 and accessibility from 89 to 100.
PageSpeed Insights also assesses agentic browsing, which measures how well an AI agent can navigate the site. It goes from 2 to 3 criteria out of 3, a result in line with our work on SEO and visibility in AI search.

Pages three times lighter across the site
To assess the whole site, both versions were measured with Lighthouse on 16 representative pages, under the same conditions. Median values improve on every metric.
- Page weight goes from 2.7 MB to 0.8 MB, 70% less.
- The performance score goes from 60 to 75 on mobile and from 81 to 97 on desktop.
- First Contentful Paint on mobile goes from 3.3 to 2.3 seconds.
- Total Blocking Time on mobile goes from 305 to 109 milliseconds.
The homepage goes from 8.5 MB to 0.9 MB. Some pages gain even more, like the Christine case study, which goes from 9.8 MB to 0.6 MB.
Search visibility carried over without disruption
Everything Google and AI engines read on the old site is identical on the new one, from titles to structured data. The sitemap was resubmitted to Search Console and Bing the day after the switch.
Requests sorted and ready to handle
Amaury no longer copies any request by hand. Real leads reach Attio with their budget, language and source. The reply is ready in Gmail. Vendor outreach and spam no longer create fake opportunities, so sales metrics stay reliable.
A team in control of its content
Publishing in the Sanity Studio updates the site within minutes, with no technical help. The day after the switch, 129 internal links and several dozen pieces of content were corrected, reviewed and republished this way.
The same method for our clients' websites
We apply this method whenever a website needs new foundations. It already served the migration of Framboise Consulting, which moved from WordPress to Webflow with 65 redirects and no loss of visibility.
The technology follows the project. Webflow remains a good choice for many websites. Astro and Sanity take over when a site has to handle a large volume of content, connect to business tools or gain performance. To discuss it, book a call with our team.





