Course launch checklist
Complete this before students are invited. Every access check is done with a real non-administrator account.
1. Platform
- [ ] The POM theme, or a child of it, is active.
- [ ] The License section reports a valid state for this domain.
- [ ] On multisite, POM LMS is active on the main site with its network license configured there.
- [ ] WooCommerce is active if any course is sold or the account area is used.
- [ ] Course and lesson URL slugs are final.
- [ ] Permalinks have been re-saved after the last slug change.
2. Structure
- [ ] The course has sections, named the way students will read them.
- [ ] Every lesson has an Attached course.
- [ ] Every lesson has an Attached section — no dashes in the lesson list's Section column.
- [ ] Lesson order values produce the intended sequence.
- [ ] The outline matches the course you intended to teach.
- [ ] No draft or test lesson is reachable.
3. Content
- [ ] The course description explains what the course teaches and who it is for.
- [ ] The course has a featured image; it is used on the course page and in the student's account area.
- [ ] Every lesson has content, not just a video.
- [ ] Every video URL opens the right video and is embeddable.
- [ ] Estimated times are set, or deliberately left empty on all lessons.
- [ ] Nothing references a lesson or a module that does not exist.
4. Access
- [ ] The course's access model is deliberate: open, login-gated, rule-gated or paid.
- [ ] If a permission rule is used, it exists and was tested.
- [ ] Lesson-level rule overrides, if any, are intentional.
- [ ] Preview lessons are exactly the ones you want to give away.
- [ ] Preview lessons also require login is set deliberately.
- [ ] The Content if no access message is written, useful, and links somewhere.
- [ ] The "Lesson not available" text is written.
- [ ] The login form on the course is enabled or disabled deliberately.
5. Tested with real accounts
- [ ] Signed out: the expected result, for the course and for a lesson URL opened directly.
- [ ] Signed in without access: the no-access message, and no protected content.
- [ ] Signed in with access: everything opens.
- [ ] Preview lessons behave as intended in all three states.
- [ ] Previous/next navigation works through the whole course.
- [ ] The back-to-course link works from a lesson.
6. Progress
- [ ] The completion mode — automatic or manual — is chosen deliberately.
- [ ] Opening or ticking a lesson changes the percentage.
- [ ] The progress bar appears where you configured it.
- [ ] A course with no lessons does not show a misleading percentage.
7. The account area
- [ ] The My courses entry appears in the WooCommerce account menu.
- [ ] Its name and slug are the ones you want.
- [ ] A student with access sees the course, its completion and a sensible access reason.
- [ ] A student with no courses sees the empty-state text you wrote.
- [ ] Access the course opens the course.
8. Paid courses
- [ ] A test purchase grants access end to end.
- [ ] The product name identifies the course clearly.
- [ ] The no-access message points at the right product.
- [ ] The order emails say what the buyer gets and where to start.
- [ ] Refund and cancellation behavior is understood and documented for the team.
9. Presentation
- [ ] The course subheader and layout settings are deliberate.
- [ ] The lesson subheader shows the course name as intended.
- [ ] The page reads well on a phone: outline, video, content and navigation.
- [ ] Videos are responsive and do not overflow.
10. The team
- [ ] Someone owns course content.
- [ ] Someone owns access rules and knows how to test them.
- [ ] The team knows POM LMS sends no emails.
- [ ] The team knows an administrator's view proves nothing about student access.
The course is ready when the right student gets in, the wrong student gets a useful message, and the outline reflects the course you meant to publish.