[{"data":1,"prerenderedAt":706},["ShallowReactive",2],{"blog-/en/jimdo-to-neleto-migration":3,"blog-related-/en/jimdo-to-neleto-migration":537},{"id":4,"title":5,"author":6,"body":7,"date":521,"description":522,"extension":523,"image":524,"meta":525,"navigation":526,"path":527,"seo":528,"stem":529,"tags":530,"__hash__":536},"blog/en/jimdo-to-neleto-migration.md","We migrated a Jimdo site to Neleto with a few Claude prompts, and the Lighthouse scores tell the whole story","Martin Swoboda",{"type":8,"value":9,"toc":512},"minimark",[10,14,23,28,31,116,119,122,126,129,135,148,151,154,158,161,243,246,249,252,296,299,303,306,325,328,331,461,464,467,471,474,477,488,491,494,497,502],[11,12,13],"p",{},"Most \"we migrated a website\" posts skip the part where something breaks. This one doesn't, because the part that broke is the interesting part, along with how a couple of follow-up prompts fixed it.",[11,15,16,17,22],{},"The short version: we took a live Jimdo one-pager and rebuilt it 1:1 on Neleto using Claude and our ",[18,19,21],"a",{"href":20},"/blog/mcp-connectors","MCP connector",". The first pass was fast and looked great, but Lighthouse caught an accessibility regression we didn't expect. Two prompts later, the site scored a near-perfect 99 / 100 / 100 / 100. We didn't hand-code anything or open the page builder. Just prompts.",[24,25,27],"h2",{"id":26},"the-starting-point-a-decent-jimdo-site","The starting point: a decent Jimdo site",[11,29,30],{},"The site was a typical Jimdo build, a clean one-pager that does its job. Before we touched anything, we ran Lighthouse on the live version so we'd have a real baseline instead of a gut feeling. Desktop, June 10:",[32,33,34,47],"table",{},[35,36,37],"thead",{},[38,39,40,44],"tr",{},[41,42,43],"th",{},"Metric",[41,45,46],{},"Jimdo (live)",[48,49,50,62,71,81,92,100,108],"tbody",{},[38,51,52,56],{},[53,54,55],"td",{},"Performance",[53,57,58],{},[59,60,61],"strong",{},"88",[38,63,64,67],{},[53,65,66],{},"Accessibility",[53,68,69],{},[59,70,61],{},[38,72,73,76],{},[53,74,75],{},"Best Practices",[53,77,78],{},[59,79,80],{},"100",[38,82,83,86],{},[53,84,85],{},"SEO",[53,87,88],{},[89,90,91],"em",{},"incomplete",[38,93,94,97],{},[53,95,96],{},"Largest Contentful Paint",[53,98,99],{},"1.9 s",[38,101,102,105],{},[53,103,104],{},"First Contentful Paint",[53,106,107],{},"1.3 s",[38,109,110,113],{},[53,111,112],{},"Total page weight",[53,114,115],{},"~1.18 MB",[11,117,118],{},"Not bad. An 88 on performance is the kind of number a lot of small-business sites would be happy with. But there's headroom everywhere: LCP near two seconds, an accessibility score with four broken audits hiding behind it, and an SEO category that didn't even come back complete. That's the reality of most hosted site builders. Fine on the surface, but you don't control the stack, so you can't fix what's underneath.",[11,120,121],{},"That's the whole reason Neleto exists, so we migrated the site.",[24,123,125],{"id":124},"the-migration-one-prompt-the-whole-site","The migration: one prompt, the whole site",[11,127,128],{},"We didn't open a builder and start dragging boxes. We pasted a single, front-loaded prompt into Claude, the same reusable one we use for every \"copy a site to Neleto\" job. In plain terms:",[130,131,132],"blockquote",{},[11,133,134],{},"Replicate this Jimdo site 1:1 on our Neleto CMS as a fully component-driven site. Every piece of text, image, link and color editable through the CMS, nothing hard-coded in templates. Build all pages, then verify everything yourself before reporting.",[11,136,137,138,142,143,147],{},"A few things make that prompt do real work instead of producing a rough approximation. It pulls the real design rather than a guess: Claude drives a headless Chrome to screenshot every page and extract the computed styles (font family, weight, size, line-height, colors, padding, border-radius, section heights, button styles) and matches those exact values instead of eyeballing them. It builds the way Neleto wants to be built, with one Layout, one component per section, and one Page per route, so the owner can ",[18,139,141],{"href":140},"/blog/html-to-editable-cms","edit any word, image, or color"," later without touching code. And it checks its own work: the prompt tells Claude to run axe-core on every page and fix issues before reporting back, so ",[18,144,146],{"href":145},"/blog/self-verifying-ai","accessibility is a build requirement"," rather than an afterthought.",[11,149,150],{},"Claude talks to Neleto over our MCP connector, a stateless JSON-RPC endpoint, so the entire build (layout, components, pages, content) happens through the same interface a developer would use, just driven by natural language. The site went up on a Neleto staging domain.",[11,152,153],{},"Then we ran Lighthouse again.",[24,155,157],{"id":156},"the-honest-part-the-first-pass-regressed-accessibility","The honest part: the first pass regressed accessibility",[11,159,160],{},"Here's the result of that first migration, June 11, 9:00:",[32,162,163,175],{},[35,164,165],{},[38,166,167,169,172],{},[41,168,43],{},[41,170,171],{},"Jimdo",[41,173,174],{},"Neleto (first pass)",[48,176,177,188,199,209,219,231],{},[38,178,179,181,183],{},[53,180,55],{},[53,182,61],{},[53,184,185],{},[59,186,187],{},"97",[38,189,190,192,194],{},[53,191,66],{},[53,193,61],{},[53,195,196],{},[59,197,198],{},"81",[38,200,201,203,205],{},[53,202,75],{},[53,204,80],{},[53,206,207],{},[59,208,80],{},[38,210,211,213,215],{},[53,212,85],{},[53,214,91],{},[53,216,217],{},[59,218,80],{},[38,220,221,224,226],{},[53,222,223],{},"LCP",[53,225,99],{},[53,227,228],{},[59,229,230],{},"1.1 s",[38,232,233,236,238],{},[53,234,235],{},"FCP",[53,237,107],{},[53,239,240],{},[59,241,242],{},"0.7 s",[11,244,245],{},"Performance jumped nine points. LCP nearly halved. SEO went from \"didn't complete\" to a clean 100. Good so far.",[11,247,248],{},"But accessibility dropped, from 88 to 81. That's the part most case studies would quietly crop out of the screenshot. We're keeping it in, because it's the most useful part of the story.",[11,250,251],{},"Lighthouse flagged exactly four things, and axe-core named them:",[253,254,255,271,277,290],"ol",{},[256,257,258,262,263,266,267,270],"li",{},[259,260,261],"code",{},"html-has-lang",": the ",[259,264,265],{},"\u003Chtml>"," element had no ",[259,268,269],{},"[lang]"," attribute, so screen readers didn't know the page was in German.",[256,272,273,276],{},[259,274,275],{},"label",": a form element had no associated label.",[256,278,279,282,283,285,286,289],{},[259,280,281],{},"heading-order",": headings weren't in a sequentially descending order (a jump from, say, an ",[259,284,24],{}," to an ",[259,287,288],{},"h4",").",[256,291,292,295],{},[259,293,294],{},"color-contrast",": foreground and background colors didn't hit the WCAG AA contrast ratio.",[11,297,298],{},"None of these are exotic. They're four of the most common accessibility failures on the web, and a 1:1 visual clone will happily reproduce or introduce them, because matching pixels is not the same as matching semantics. That's exactly why the build prompt runs axe-core, and why we re-check with Lighthouse instead of trusting the first green-ish dashboard.",[24,300,302],{"id":301},"the-fix-a-couple-of-prompts-not-a-couple-of-days","The fix: a couple of prompts, not a couple of days",[11,304,305],{},"This is where owning the stack pays off. On Jimdo, three of those four issues are things you simply cannot reach. On Neleto, every section is a component and every value is editable, so the fixes are small, targeted prompts. In plain language:",[307,308,309,316,319,322],"ul",{},[256,310,311,312,315],{},"Add the ",[259,313,314],{},"lang"," attribute to the layout. One change in the Layout, applied site-wide.",[256,317,318],{},"Give the form input a proper associated label. One component edit.",[256,320,321],{},"Fix the heading hierarchy so it descends in order. A couple of heading levels adjusted in the components.",[256,323,324],{},"Bump the text color until it clears AA contrast, and ask me before changing any brand color.",[11,326,327],{},"That last clause matters. Contrast fixes can quietly mangle a brand, so the prompt is built to flag a conflict rather than silently darken the palette.",[11,329,330],{},"Twenty minutes later, June 11, 9:20, we ran the final Lighthouse:",[32,332,333,346],{},[35,334,335],{},[38,336,337,339,341,343],{},[41,338,43],{},[41,340,171],{},[41,342,174],{},[41,344,345],{},"Neleto (optimized)",[48,347,348,363,377,391,405,418,431,446],{},[38,349,350,354,356,358],{},[53,351,352],{},[59,353,55],{},[53,355,61],{},[53,357,187],{},[53,359,360],{},[59,361,362],{},"99",[38,364,365,369,371,373],{},[53,366,367],{},[59,368,66],{},[53,370,61],{},[53,372,198],{},[53,374,375],{},[59,376,80],{},[38,378,379,383,385,387],{},[53,380,381],{},[59,382,75],{},[53,384,80],{},[53,386,80],{},[53,388,389],{},[59,390,80],{},[38,392,393,397,399,401],{},[53,394,395],{},[59,396,85],{},[53,398,91],{},[53,400,80],{},[53,402,403],{},[59,404,80],{},[38,406,407,409,411,413],{},[53,408,223],{},[53,410,99],{},[53,412,230],{},[53,414,415],{},[59,416,417],{},"0.9 s",[38,419,420,422,424,426],{},[53,421,235],{},[53,423,107],{},[53,425,242],{},[53,427,428],{},[59,429,430],{},"0.5 s",[38,432,433,436,439,442],{},[53,434,435],{},"Total Blocking Time",[53,437,438],{},"30 ms",[53,440,441],{},"0 ms",[53,443,444],{},[59,445,441],{},[38,447,448,451,454,457],{},[53,449,450],{},"Cumulative Layout Shift",[53,452,453],{},"0.006",[53,455,456],{},"0",[53,458,459],{},[59,460,456],{},[11,462,463],{},"Three of four categories at a perfect 100, performance at 99, and an accessibility score that went from quietly broken on the original Jimdo site to genuinely perfect. First Contentful Paint dropped from 1.3 s to 0.5 s, so the page now paints in roughly a third of the time it used to.",[11,465,466],{},"The original Jimdo site scored 88 on accessibility, but that 88 was hiding the same kinds of issues. The migration didn't create accessibility debt out of nowhere. It surfaced it, named it, and then let us actually fix it. You can't say that about a closed builder.",[24,468,470],{"id":469},"why-this-is-the-whole-pitch","Why this is the whole pitch",[11,472,473],{},"Strip away the specifics and a hosted site builder, fine but capped, became a fully editable, component-driven Neleto site scoring 99 / 100 / 100 / 100, driven entirely by prompts, with a human only making the judgment calls (like \"don't wreck the brand color for contrast\").",[11,475,476],{},"That's the argument for Neleto in one example:",[307,478,479,482,485],{},[256,480,481],{},"You own the stack. The three accessibility issues that were unreachable on Jimdo took one prompt each on Neleto, because nothing is hard-coded in a template you can't touch.",[256,483,484],{},"The AI does the labor, you make the calls. Claude pulled the real design, built every component, ran axe-core, and applied the fixes. We approved the brand-color decision.",[256,486,487],{},"Speed without the usual tradeoff. Most fast-migration stories trade quality for speed. Here the whole loop, migrate, measure, regress, fix, re-measure, was a single afternoon, and the end state beats the original on every metric that matters.",[11,489,490],{},"One caveat so the numbers stay honest: these are desktop Lighthouse runs, and Lighthouse is a lab tool, so real-world field data varies with device and network. We'd rather show you the actual reports, regression and all, than a single cherry-picked screenshot.",[11,492,493],{},"If you're sitting on a Jimdo, Wix, or Squarespace site and wondering what it'd look like on a stack you actually control, this is what it looks like. A few prompts, an honest before-and-after, and an accessibility score you can stand behind.",[495,496],"hr",{},[11,498,499],{},[89,500,501],{},"Want us to run the same migration on your site? Reply with your URL and we'll show you the before-and-after in Lighthouse, four broken audits and all.",[11,503,504,511],{},[59,505,506,507],{},"Start free at ",[18,508,510],{"href":509},"/pricing","neleto.io",", the only CMS with a native MCP server, hosted in the EU.",{"title":513,"searchDepth":514,"depth":514,"links":515},"",2,[516,517,518,519,520],{"id":26,"depth":514,"text":27},{"id":124,"depth":514,"text":125},{"id":156,"depth":514,"text":157},{"id":301,"depth":514,"text":302},{"id":469,"depth":514,"text":470},"2026-09-14","We rebuilt a live Jimdo one-pager on Neleto using Claude and our MCP connector. The first pass regressed accessibility. Two more prompts took it to 99 / 100 / 100 / 100 on Lighthouse. Here is the honest before-and-after, broken audits and all.","md","/img/blog/jimdo-to-neleto-migration.svg",{},true,"/en/jimdo-to-neleto-migration",{"title":5,"description":522},"en/jimdo-to-neleto-migration",[531,532,171,66,533,534,535],"Case Study","Migration","Lighthouse","MCP","Neleto","MvLk3y9tfZ5f3ozaV9vmFbpZGsYsJBNCOkCC3TNIzn4",[538,540,550,561,568,578,587,597,607,616,625,634,644,654,662,672,681,691,698],{"path":527,"title":5,"description":522,"date":521,"author":6,"image":524,"tags":539},[531,532,171,66,533,534,535],{"path":541,"title":542,"description":543,"date":544,"author":6,"image":545,"tags":546},"/en/mcp-server-faster-image-ingest","The same AI build went from 30 minutes to 4 — here's what we changed in our MCP server","Uploading images was the slowest, most fragile part of building a site with an AI agent. We fixed it at the protocol level. Here's what changed in Neleto's MCP server, and the before/after numbers.","2026-09-07","/img/blog/mcp-server-faster-image-ingest.svg",[535,534,547,548,549,55],"AI","Agents","Build in Public",{"path":551,"title":552,"description":553,"date":554,"author":6,"image":555,"tags":556},"/en/full-cms-vs-headless","Full CMS vs Headless: Why All-in-One Wins for Most of the Web","Headless earned its reputation for real reasons. Here's the honest trade-off — and why, for most sites, a complete CMS is the better deal.","2026-08-31","/img/blog/full-cms-vs-headless.svg",[557,558,559,534,560,535],"Comparison","CMS","Headless","EU Hosting",{"path":562,"title":563,"description":564,"date":565,"author":6,"image":566,"tags":567},"/en/self-verifying-ai","The AI That Checks Its Own Work","Most AI-plus-CMS setups write content through an API and hope it rendered. Neleto closes the loop three ways — typed structured output, LSP template checks before publish, and the agent opening your live page to see what it actually built. Here's how each layer works, and where a human still has to look.","2026-08-24","/img/blog/self-verifying-ai.svg",[535,547,534,548,549,558],{"path":569,"title":570,"description":571,"date":572,"author":6,"image":573,"tags":574},"/en/five-plugins-built-in","Five New Neleto Plugins — Built In, Not Bolted On","Search, comments, Google reviews, SEO/accessibility audits, and galleries — five new plugins that run inside your Neleto instance on your EU server, with no third-party scripts and no extra subscriptions. Here's what each does, and where the edges are.","2026-08-17","/img/blog/five-plugins-built-in.svg",[535,575,558,549,85,576,577],"Plugins","Search","DSGVO",{"path":579,"title":580,"description":581,"date":582,"author":6,"image":583,"tags":584},"/en/why-neleto-runs-on-rust","Why Neleto Runs on Rust (And the Benchmarks to Prove It)","The honest story behind choosing Rust for a CMS backend — real single-instance benchmarks (11 ms TTFB, ~9,400 req/s, 78 MB RAM) and the parts that actually cost us: slower dev, harder hiring, younger libraries.","2026-08-10","/img/blog/why-neleto-runs-on-rust.svg",[535,585,55,586,549],"Rust","Benchmarks",{"path":588,"title":589,"description":590,"date":591,"author":6,"image":592,"tags":593},"/en/page-builder-walkthrough","Building a Landing Page in Neleto: A Real Walkthrough (Mouse and Prompt)","I built the same landing page twice — once by hand in our visual builder, once by prompting Claude through our MCP server — and timed both. Here's exactly what happened, including the bits that were slower than I'd like.","2026-07-27","/img/blog/page-builder-walkthrough.svg",[535,594,558,534,595,596],"Page Builder","AI CMS","No-Code",{"path":598,"title":599,"description":600,"date":601,"author":6,"image":602,"tags":603},"/en/mcp-connectors","Connect Neleto to Anything: The Native MCP Server and Connector Ecosystem","Your CMS shouldn't be an island. Here's how Claude, Cursor, and Windsurf talk to your content directly — and where it goes next.","2026-07-20","/img/blog/mcp-connectors.svg",[534,604,547,605,606,535,558],"Connectors","Claude Code","Cursor",{"path":608,"title":609,"description":610,"date":611,"author":6,"image":612,"tags":613},"/en/wordpress-migration-walkthrough","Migrating a 40-Page Site Off WordPress: An Honest, Start-to-Finish Walkthrough","The content migration took under an hour. The full cutover — domain, DNS, redirects, forms, QA — took the better part of a day. Here's every step, every gotcha, and the parts the migration guides skip.","2026-07-13","/img/blog/wordpress-migration-walkthrough.svg",[614,532,558,615,560,535],"WordPress","GDPR",{"path":617,"title":618,"description":619,"date":620,"author":6,"image":621,"tags":622},"/en/html-to-editable-cms","I turned a static HTML page into an editable CMS site with one prompt","Web designers lose days rebuilding finished designs as a CMS. Here's how Neleto's native MCP server does it from a single prompt — animations, custom cursor and all.","2026-07-06","/img/blog/html-to-editable-cms.svg",[534,623,624,605,558,535],"AI Agents","Web Design",{"path":626,"title":627,"description":628,"date":629,"author":6,"image":630,"tags":631},"/en/console-launch-free-tier","Neleto Console Is Live — and the Free Tier Is Open","Sign up at console.neleto.io, get a real CMS, and pay us nothing. Here's why we built it that way.","2026-06-29","/img/blog/console-launch-free-tier.svg",[549,535,632,633,560,558],"Free Tier","Self-Serve",{"path":635,"title":636,"description":637,"date":638,"author":6,"image":639,"tags":640},"/en/mcp-server-explained","MCP Server Explained: The Deep Dive","How the Model Context Protocol enables secure, native AI agent interaction with your applications — and why native implementation matters.","2026-06-22","/img/blog/mcp-server-explained.svg",[534,641,642,623,643],"MCP Server","Model Context Protocol","AI Integration",{"path":645,"title":646,"description":647,"date":648,"author":6,"image":649,"tags":650},"/en/neleto-vs-contentful","Neleto vs Contentful: Which CMS Should You Choose in 2026?","A practical comparison for developers, agencies, and growing businesses — covering pricing, performance, AI integration, editor experience, and EU compliance.","2026-06-16","/img/blog/neleto-vs-contentful.svg",[535,651,652,653,595],"Contentful","Headless CMS","CMS Comparison",{"path":655,"title":656,"description":657,"date":658,"author":6,"image":659,"tags":660},"/en/agentic-traffic-surpassed-humans","Bots Just Out-Numbered Us: What the Agentic Web Means for Your CMS","Cloudflare says AI agents now drive the majority of web traffic — 18 months early. Here's why that changes how you publish content, and what to do about it.","2026-06-08","/img/blog/agentic-traffic-surpassed-humans.svg",[661,623,534,558,535],"Agentic Web",{"path":663,"title":664,"description":665,"date":666,"author":6,"image":667,"tags":668},"/en/glw-gmbh-case-study","Modernizing a 40-Year Family Business: GLW GmbH's New Website with Neleto","How we delivered a fast, multilingual, and CRM-integrated website for a leading German cable processing specialist — in close collaboration with agency Inhalt.","2026-06-05","/img/blog/glw-gmbh-case-study.svg",[531,669,535,670,671],"Customer Story","CRM Integration","Custom Plugin",{"path":673,"title":674,"description":675,"date":676,"author":6,"image":677,"tags":678},"/en/eu-hosting-compliance","Why EU Hosting Compliance Matters for Your Website","Data sovereignty, GDPR, and choosing the right infrastructure in 2026","2026-06-01","/img/blog/eu-hosting-compliance.svg",[615,560,679,680,535],"Data Compliance","Privacy",{"path":682,"title":683,"description":684,"date":685,"author":6,"image":686,"tags":687},"/en/buergerstiftung-ravensburg","Bürgerstiftung Ravensburg: A Modern Website for Community Impact with Neleto","How we built a clear, fast, and emotionally engaging website for a regional community foundation using Neleto CMS — in close collaboration with agency Inhalt.","2026-05-29","/img/blog/buergerstiftung-ravensburg.svg",[531,688,689,535,690],"Nonprofit","Foundation","Website",{"path":692,"title":693,"description":694,"date":695,"author":6,"image":696,"tags":697},"/en/what-is-mcp","What is the Model Context Protocol (MCP)?","The new standard connecting AI agents to your tools and data","2026-05-25","/img/blog/what-is-mcp.svg",[534,547,642,623,558],{"path":699,"title":700,"description":701,"date":702,"author":6,"image":703,"tags":704},"/en/why-neleto-exists","Why Neleto Exists","The CMS Built for Speed, Simplicity, and the AI Era","2026-05-18","/img/blog/why-neleto-exists.svg",[558,547,705,55,535],"Web Development",1789567187653]