Limiting first level pages

I noticed I can create first level pages like these:

  • articles
  • article
  • products
  • product

But I expected to be presented only with these:

  • articles
  • products

Because I expect plural to be parent, and singular to be subpages.
Subpages shouldn’t be available from top level.
I want to have access to subpages until I create the matching parent page.

I guess I’m missing something.
How can I do that?

Sorry if I’m not clear.

I checked here but didn’t find options to address my need:

The parent blueprint for first level pages is the site.php blueprint, which you have to create if it does not exist. Then you can limit the templates that may be used in the same way as for subpages, as described here;

To restrict templates available when adding a top-level page, you can do the same in the site options blueprint at site/blueprints/site.php.

I see now.

This means every time I create a page template, and its subpage template, I would have to remember to manually add it by name to site.php (or it would just disappear from panel). That’s a potential headache (for me).

But that’s the only way?

It would be easier to have any subpage removed from top level once it’s labeled as subpage. Of course I’m not sure how hard it would be to accomplish that.

Also, as you mention, the “Subpages settings” docs contain the snippet I needed.
But I think it makes more sense to have this snippet at “Page settings” docs.
Because that’s exactly what the example snippet addresses:

To restrict templates available when adding a top-level page, you can do the same in the site options blueprint at site/blueprints/site.php.

It applies to both, though. Maybe a shared reference would work.

Well, that would work for the top level, but not for levels deeper down. For those deeper down you would have to invent different labels.

A subpage is always a subpage with regard to it’s parent page, and that is why these settings are called subpage settings.