Gemini Executive Synthesis
URL customization and routing flexibility in a CMS. Specifically, the ability to define custom, clean URLs (e.g., /about instead of /pages/about).
Technical Positioning
EmDash as a flexible, SEO-friendly, and user-centric CMS. The current URL structure limits this positioning.
SaaS Insight & Market Implications
This issue highlights a fundamental requirement for any modern CMS: flexible URL customization. The default /pages/{slug} structure is restrictive and negatively impacts SEO and user experience. Developers and content managers expect the ability to create clean, semantic URLs like /about. This limitation suggests a gap in EmDash's routing capabilities, which is critical for a product positioned as a WordPress successor. The market demands CMS platforms that offer granular control over URL structures to optimize for search engines and provide intuitive navigation, directly influencing adoption and perceived professionalism.
Proprietary Technical Taxonomy
Raw Developer Origin & Technical Request
GitHub Issue
Apr 1, 2026
Repo: emdash-cms/emdash
How to customize page URLs?
I see on the demo, all pages sit at URLs formatted like: /pages/{slug}. How to move the About page for example to just /about?
Developer Debate & Comments
The simplest way is to create `src/pages/about.astro` as a regular Astro page. You can still pull content from the CMS if you want it editable: ```astro --- import { getEmDashEntry } from "emdash"; const { entry: page } = await getEmDashEntry("pages", "about"); --- {page.data.title} ``` EmDash from my understanding is still headless by design so there is no centralized way to do it. It's up to the developer. I'm not exactly sure if that is by design. Currently it's hardcoded in all the templates like the `Base.astro` layout file. The `/pages/{slug}` route in the blog template is just a convention, not a requirement. Astro's file-based routing decides where pages live, EmDash mainly just stores / manages the content. What you're asking is more like a singleton than a collection as well which raises another question of how that's going to work with file based routing.
Using the Blog example I moved `src/pages/pages/[slug].astro` to `src/pages/[slug].astro` and updated the directory of the Base layout import in that file. This removes the `/pages/` part of the URL for every page. Doing this though will interfere with the preview option when previewing a page as it still defaults to `/pages/about` for example.
Closing -- this is answered in the comments. Page URLs are controlled by Astro's file-based routing, not EmDash. Move `src/pages/pages/[slug].astro` to `src/pages/[slug].astro` to drop the `/pages/` prefix. If the preview-URL fallback for relocated pages needs improvement, please open a separate issue focused on that.
Adjacent Repository Pain Points
Other highly discussed features and pain points extracted from emdash-cms/emdash.
Extracted Positioning
Authentication flexibility for local development and production environments. Specifically, the mandatory passkey requirement hindering initial setup and broader adoption.
EmDash as an accessible, developer-friendly CMS. The current passkey enforcement creates significant friction for setup and deployment.
Top Replies
Same here. I don't have the ability to initiate a passkey on my laptop.
That makes absolute no sense to enforce that even for Production, should at least have alternative methods.
I completely agree, there should be alternative methods like traditional email + password with TOTP.
Extracted Positioning
CSS architecture refinement and framework adoption for a CMS. Specifically, integrating Lism CSS to improve consistency and simplify development.
EmDash as a modern, efficient, and developer-friendly CMS, surpassing WordPress's architectural complexities. Adopting a streamlined CSS framework like Lism CSS aligns with this goal by offering consistency and ease of use.
Top Replies
``` ``` What are `p`, `ar`, `bgc`, `g`, `lv`, `fz`, `ff`? Are we coding or learning piano chords? 🎹 This isn’t better than what we already have—it’s just opinionated chaos. We already have HTML5 a...
> Development began because the creator was fed up with the complex and tangled CSS of WordPress creator introduces complex and tangled attributes
Thank you for responding! I understand. At first glance, it might feel like the syntax is a bit strange or even off-putting. But think back for a moment. Tailwind was also heavily criticized when i...
Extracted Positioning
Headless CMS capabilities. Specifically, the ability to consume content via an API (e.g., JSON RPC style).
EmDash as a versatile, modern CMS, potentially supporting decoupled architectures.
Top Replies
I'd like to bump this too. Headless support would be awesome.
Yes, there is API access. You can easily generate a key in the admin with custom permissions.
Closing -- as covered in the comments, EmDash already supports headless usage via the REST API and the MCP server. You can generate API tokens with custom permissions in the admin. If you're hittin...
Extracted Positioning
Real-time data persistence and UI responsiveness in a CMS's SEO module. Specifically, the issue of PUT requests firing on every keypress, causing data corruption and visual glitches.
A robust, user-friendly CMS experience, particularly for content editing and SEO management. The current behavior undermines data integrity and user experience.
Top Replies
Found the location. index.js line 7265 There appears to be some kind of debounce on line 7242-7244, but it's not working.
ive fixed it here: https://github.com/emdash-cms/emdash/pull/87
Frequently Asked Questions
Market intelligence mapped to URL customization and routing flexibility in a CMS. Specifically, the ability to define custom, clean URLs (e.g., /about instead of /pages/about)..
What is the technical positioning of URL customization and routing flexibility in a CMS. Specifically, the ability to define custom, clean URLs (e.g., /about instead of /pages/about).?
Based on our AI analysis of the original developer request, its primary technical positioning is: EmDash as a flexible, SEO-friendly, and user-centric CMS. The current URL structure limits this positioning.
How is the developer community reacting to URL customization and routing flexibility in a CMS. Specifically, the ability to define custom, clean URLs (e.g., /about instead of /pages/about).?
Yes, we have tracked 2 direct responses and active debates regarding this specific topic originating from GitHub Issue.
What architecture is tied to URL customization and routing flexibility in a CMS. Specifically, the ability to define custom, clean URLs (e.g., /about instead of /pages/about).?
Our proprietary extraction maps URL customization and routing flexibility in a CMS. Specifically, the ability to define custom, clean URLs (e.g., /about instead of /pages/about). to adjacent architectural concepts including page URLs, slug, routing, customize.
Engagement Signals
Cross-Market Term Frequency
Quantifies the cross-market adoption of foundational terms like routing and demo by tracking occurrence frequency across active SaaS architectures and enterprise developer debates.
SaaS Metrics