Subpage Layout

The Subpage Layout turns a set of NationBuilder pages into one flexible landing page. It lets editors change each section separately and reorder the page without editing theme code.

#How the page is assembled

Landing page: Home
├── home_header_banner            → layout:page-header
├── home_button_links             → layout:button-links
│   ├── home_button_link_3        → one button
│   ├── home_button_link_4        → one button
│   └── home_button_link_5        → one button
├── home_image_right              → layout:image-right
├── home_content                  → default layout
└── home_testimonials             → layout:testimonial-carousel
    ├── testimonial_1             → one slide
    ├── testimonial_2             → one slide
    └── ...

The landing page must be tagged subpage_layout. The theme loops through that page's published children which have Include in supporter nav enabled. Each direct child becomes a visible module.

Create a new landing page

  1. Create a Basic page for the public landing page.
  2. Add the tag subpage_layout.
  3. Add hide_main_page_content when all visible content will come from modules. This prevents the parent page's own headline and content from rendering above them.
  4. Create a Basic subpage for each section.
  5. On each module subpage, enable Include in supporter nav and publish it.
  6. Add the required layout:... or module_... tag.
  7. Add any nested child pages needed by that component.
  8. Open the parent page's Subnav pages settings and drag the modules into the required order.

Naming module slugs

Prefix module slugs with their parent page slug. This keeps a large NationBuilder site understandable and ensures every slug remains unique.

Examples:

Nested item slugs should continue that pattern where practical, for example home_button_link_3.

Visibility and search behaviour

Direct and nested component pages are supporting records, not standalone destinations. The theme automatically adds noindex,follow and hides them from internal search when they are published supporter-nav descendants of a subpage_layout page.

This happens automatically for supporter-nav component pages, so those pages do not each need page_noindex. Nested Logo Grid records using automatic alphabetical order are intentionally not in supporter nav and therefore need an explicit page_noindex unless they should have their own searchable URL. The exception tag page_allow_index should only be used when an automatically hidden child page genuinely needs its own public/searchable URL.