{"id":224685,"date":"2026-06-16T12:09:47","date_gmt":"2026-06-16T12:09:47","guid":{"rendered":"https:\/\/wpmu-dev.pro\/blog\/?p=224685"},"modified":"2026-06-08T13:17:51","modified_gmt":"2026-06-08T13:17:51","slug":"one-month-of-emdash-hosting-heres-what-weve-sorted","status":"publish","type":"post","link":"https:\/\/wpmu-dev.pro\/blog\/one-month-of-emdash-hosting-heres-what-weve-sorted\/","title":{"rendered":"One month of EmDash hosting: here&#8217;s what we&#8217;ve sorted"},"content":{"rendered":"<p>So it&#8217;s been a few weeks since we launched EmDash on Unlimited Hosting, and you good people have been doing exactly what we hoped: spinning up sites, kicking the tires, and (very politely) letting us know when things went sideways.<\/p>\n<p>When we shipped this, I openly said it was going to be a bit Wild West. EmDash is bleeding edge, Cloudflare are pushing new releases at a pretty serious clip, and we wanted to get you hands-on quickly, rough edges and all.<\/p>\n<p>So, in true WPMU DEV style, we&#8217;ve been sanding those edges down. Here&#8217;s a quick run-through of what we&#8217;ve already fixed.<\/p>\n<h2>1. New pages and projects don&#8217;t 404 anymore<\/h2>\n<p>Yeah, this one was a doozy.<\/p>\n<p>In the default EmDash template, creating a new page or project, publishing it, then visiting the URL would land you on a glorious 404. Not exactly the thrilling first impression we were going for.<\/p>\n<p>Why does this happen? Unlike WordPress, EmDash templates handle their own routing (it&#8217;s built on Astro under the hood). The official template wasn&#8217;t accounting for newly created content, so pages and projects existed in the editor but had no public route to live on.<\/p>\n<p>We&#8217;ve patched the official template on our end so new pages and projects show up the moment you hit publish.<\/p>\n<h2>2. Email, configured out of the box<\/h2>\n<p>EmDash handles email differently to WordPress, so we wanted to make sure all the usual transactional bits (passkey login links, user invites, that kind of thing) just work the moment your site spins up.<\/p>\n<p>We&#8217;ve built a small plugin that pre-configures email on every new EmDash site on Unlimited Hosting. It sends everything through <em>noreply@yourwpsite.email<\/em>, exactly like our WordPress hosting does. So, if email works on your WP sites, it works here too. Bundled by default, nothing for you to set up.<\/p>\n<h2>3. Tightened up security<\/h2>\n<p>A bit of routine hardening, but worth doing.<\/p>\n<p>EmDash ships with a <strong><em>\/_emdash\/api\/setup\/dev-bypass<\/em><\/strong> endpoint that&#8217;s handy during local development. Unfortunately, it\u2019s a delicious target for opportunistic bots once a site is in production. We&#8217;ve blocked it at the server level on Unlimited Hosting. You&#8217;d never notice it was gone unless you went looking for it. Bots, however, are going to have a less interesting time.<\/p>\n<h2>4. Snappier media delivery<\/h2>\n<p>A nice little performance win, too.<\/p>\n<p>Media files on your EmDash sites are now served directly by nginx straight from your uploads, instead of routing through Node for every request. Fewer hops, faster images, less load on your site&#8217;s runtime. You don&#8217;t have to do anything, it&#8217;s just quicker now.<\/p>\n<h2>5. Hub polish<\/h2>\n<p>We&#8217;re making the Hub even more responsive and improving the UI\/UX behind the scenes. For example, actions like Reset and Rebuild are getting clearer, real-time progress feedback so you&#8217;ll see exactly where things are at and know the moment a job&#8217;s done. Small touches like these make the whole experience feel that bit slicker.<\/p>\n<p>In case you missed it: we also bundle a <a href=\"https:\/\/github.com\/wpmudev\/emdash-contact-form\" rel=\"noopener\" target=\"_blank\">contact form<\/a> with every new EmDash site, pre-wired to the default template&#8217;s contact page. There\u2019s nothing to install and nothing to configure. It just works.<\/p>\n<h2>So what&#8217;s next?<\/h2>\n<p>The big one: broader template support.<\/p>\n<p>Right now, new EmDash sites spin up on a single default template. We&#8217;re working on extending support to a wider range of official EmDash templates so you&#8217;ll be able to pick whichever one suits your project and still get everything above (the 404 fix, the email plugin, and the rest) humming out of the box from day one.<\/p>\n<p>Beyond that, everything is still very much guided by you. Keep spinning up sites and telling us what you&#8217;d like to see, and we&#8217;ll keep shipping fixes and bundled improvements as the EmDash ecosystem matures.<\/p>\n<p>(And yes, I am still very much hoping someone, somewhere, is secretly working on a DooCommerce. A man can dream.)<\/p>\n<p>Happy Dashing \ud83d\ude03<\/p>\n","protected":false},"excerpt":{"rendered":"<p>So it&#8217;s been a few weeks since we launched EmDash on Unlimited Hosting, and you good people have been doing exactly what we hoped: spinning up sites, kicking the tires, and (very politely) letting us know when things went sideways. When we shipped this, I openly said it was going to be a bit Wild [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":224687,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"blog_reading_time":"","wds_primary_category":0,"wds_primary_tutorials_categories":0,"footnotes":""},"categories":[4161],"tags":[],"tutorials_categories":[],"class_list":["post-224685","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wpmudev"],"_links":{"self":[{"href":"https:\/\/wpmu-dev.pro\/blog\/wp-json\/wp\/v2\/posts\/224685","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wpmu-dev.pro\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wpmu-dev.pro\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wpmu-dev.pro\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/wpmu-dev.pro\/blog\/wp-json\/wp\/v2\/comments?post=224685"}],"version-history":[{"count":5,"href":"https:\/\/wpmu-dev.pro\/blog\/wp-json\/wp\/v2\/posts\/224685\/revisions"}],"predecessor-version":[{"id":224688,"href":"https:\/\/wpmu-dev.pro\/blog\/wp-json\/wp\/v2\/posts\/224685\/revisions\/224688"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wpmu-dev.pro\/blog\/wp-json\/wp\/v2\/media\/224687"}],"wp:attachment":[{"href":"https:\/\/wpmu-dev.pro\/blog\/wp-json\/wp\/v2\/media?parent=224685"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wpmu-dev.pro\/blog\/wp-json\/wp\/v2\/categories?post=224685"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wpmu-dev.pro\/blog\/wp-json\/wp\/v2\/tags?post=224685"},{"taxonomy":"tutorials_categories","embeddable":true,"href":"https:\/\/wpmu-dev.pro\/blog\/wp-json\/wp\/v2\/tutorials_categories?post=224685"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}