Custom slugs

The URL segments used by courses and lessons, and how to change them safely.

The defaults

/course/course-name/
/lesson/lesson-name/

Those segments — course and lesson — are what the slug settings change.

Changing them

The fields are on Settings → Permalinks, in the Custom post types section — alongside the slug fields for every other content type the site registers:

Field Effect
"Course" Custom slug Replaces course in course URLs
"Lesson" Custom slug Replaces lesson in lesson URLs

Common choices: courses, training, academy, formacion, curso. The plural often reads better than the singular default.

Use lowercase letters, numbers and hyphens only. No spaces, no accents, no slashes.

Saving

Use Save Changes at the bottom of the permalink screen. That stores the slugs and rebuilds the rewrite rules in one step.

If course or lesson URLs return not found afterwards, open the same screen and save it again without changing anything. Rebuilding the rules is what that button does, and it fixes the great majority of 404s that appear after a URL change.

Old URLs break

Changing a slug changes every course and lesson URL on the site. Nothing redirects automatically.

What breaks:

  • Links in emails you have already sent.
  • Students' bookmarks.
  • Links from your own pages and menus.
  • Search engine results, until they are recrawled.

If the site is live, set up redirects from the old paths to the new ones with a redirect plugin before announcing anything, and update your own links.

Decide the slugs before launch. This is a five-minute job on a new site and a project on an established one.

The child structure option

Enable child structure changes lesson URLs so the course appears in the path:

/course/course-name/lesson-name/

Instead of the flat form. It makes lesson URLs self-describing, and it makes the hierarchy visible in analytics.

It is on the same screen, and saving applies it. Expect every existing lesson URL to change.

See Course URL structure for choosing between the two.

Avoiding collisions

The slug you choose must not clash with an existing page. If you have a page at /courses/ and you set the course slug to courses, one of them will win and the other will not be reachable.

Check before saving:

  • Your pages, including the catalogue page.
  • WooCommerce's shop and account pages.
  • The My courses endpoint slug, which is separate — see My courses.

If you want a catalogue page at the same address as the course base, rename one of them: catalogue at /training/, courses at /course/.

Verify

  1. Set the slugs and save.
  2. Re-save the permalink settings.
  3. Open a course and confirm the URL and the page.
  4. Open a lesson from the outline and confirm the same.
  5. Confirm no existing page has been shadowed by the new base.
  6. If the site was live, test a redirect from an old URL.