Course URL structure

Course and lesson addresses are configurable, and changing them later breaks every link already shared. Decide this before publishing.

What you can set

Three options, on Settings → Permalinks, in the Custom post types section:

Option Effect Default
"Course" Custom slug The base segment for course URLs course
"Lesson" Custom slug The base segment for lesson URLs lesson
Enable child structure Nests lesson URLs under their course Off

The two structures

Flat — the default:

/course/introduction-to-baking/
/lesson/making-a-starter/

Courses and lessons are separate branches. A lesson's address says nothing about which course it belongs to.

Nested — with the child structure enabled:

/course/introduction-to-baking/
/course/introduction-to-baking/making-a-starter/

A lesson lives under its course. The address itself communicates the structure.

Which to choose

Nested is the better default for a course platform:

  • the address tells a student — and a search engine — what the lesson belongs to;
  • a shared lesson link carries its context;
  • the URL matches the mental model of a course containing lessons.

Flat is worth keeping when:

  • lessons will move between courses;
  • the site already has published lesson URLs you cannot break;
  • something else on the site depends on the existing structure.

Choosing the slugs

Use the word your audience uses. course and lesson are fine; training, programme, module, curso, leccion may fit better.

Two constraints:

  • lowercase, no spaces;
  • do not collide with an existing page or another content type's slug.

Change it before you publish

Whichever you choose, do it before students have links. After a change:

  1. Save the slug settings.
  2. Open Settings → Permalinks and save once, to refresh the rewrite rules.
  3. Open a course and a lesson and confirm both resolve.

If URLs return not-found errors after any structural change, re-saving permalinks is the fix.

Changing it later

If you must, treat it as a migration:

  • every existing course and lesson URL changes;
  • links in emails, messages and documents break;
  • search engines drop the old addresses until they re-index;
  • any redirect from old to new is your responsibility, using whatever redirect tooling the site has.

See Migrate course URLs.

What is not configurable

  • There is no course archive URL. Courses have no automatic listing page; you build one with the theme's own tools. See The course archive.
  • Courses and lessons are excluded from the site's menu selection, so you link them from pages and content rather than adding them to a navigation menu directly.

Verify

  1. Set the slugs and the child-structure option.
  2. Re-save permalinks.
  3. Open a course and confirm its address.
  4. Open a lesson and confirm its address matches the structure you chose.
  5. Confirm the back link from a lesson returns to the course.
  6. Confirm the outline's lesson links open the right lessons.