← Back to AI Insights
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
page URLs slug routing customize demo

Raw Developer Origin & Technical Request

Source Icon 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

thejackshelton • Apr 2, 2026
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.
joshuaHallee • Apr 2, 2026
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.
ascorbic • Apr 29, 2026
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
endymion1818 • Apr 1, 2026
Same here. I don't have the ability to initiate a passkey on my laptop.
Octolus • Apr 1, 2026
That makes absolute no sense to enforce that even for Production, should at least have alternative methods.
stayhc • Apr 1, 2026
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
wildfiremedia • Apr 2, 2026
``` ``` 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...
xavortm • Apr 2, 2026
> Development began because the creator was fed up with the complex and tangled CSS of WordPress creator introduces complex and tangled attributes
ddryo • Apr 2, 2026
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
wengel-eth • Apr 1, 2026
I'd like to bump this too. Headless support would be awesome.
BlackDahlia313 • Apr 2, 2026
Yes, there is API access. You can easily generate a key in the admin with custom permissions.
ascorbic • Apr 29, 2026
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
lightyearsagency • Apr 2, 2026
Found the location. index.js line 7265 There appears to be some kind of debounce on line 7242-7244, but it's not working.
txhno • Apr 2, 2026
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

2
Replies
open
Issue Status

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.