# Hide pages from the panel

**URL:** <https://forum.getkirby.com/t/hide-pages-from-the-panel/30321>\
**Category:** Questions\
**Created:** [December 17, 2023, 9:04pm UTC](https://forum.getkirby.com/t/hide-pages-from-the-panel/30321 "2023-12-17T21:04:04Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![ponchoelastic](https://avatars.discourse-cdn.com/v4/letter/p/4bbf92/32.png) [@ponchoelastic](https://forum.getkirby.com/u/ponchoelastic)\
**Post date:** [December 17, 2023, 9:04pm UTC](https://forum.getkirby.com/t/hide-pages-from-the-panel/30321/1 "2023-12-17T21:04:04Z")

</div>

the page blueprint option “read: false” cand hide pages from the panel but the docs says this will be deprecated. Altough this seems to work, I will prefer to not need to create one blueprint file per each page I need to hide. Is there any config option or solution via code to achieve the same?

---

<div class="post-metadata">

**Author:** ![texnixe](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.getkirby.com/texnixe/32/5754_2.png) [@texnixe](https://forum.getkirby.com/u/texnixe)\
**Post date:** [December 17, 2023, 9:07pm UTC](https://forum.getkirby.com/t/hide-pages-from-the-panel/30321/2 "2023-12-17T21:07:23Z")

</div>

> [@ponchoelastic](#):
>
> I will prefer to not need to create one blueprint file per each page

If you use the Panel, I would expect that you have a blueprint for each page anyway (or if not, then Kirby will fall back to the default.yml blueprint anyway). Therefore I don’t really understand what you mean here.

And no, there is no config setting. Just general user permissions, or the option to use hooks to prevent access to certain pages for certains roles.

---

<div class="post-metadata">

**Author:** ![ponchoelastic](https://avatars.discourse-cdn.com/v4/letter/p/4bbf92/32.png) [@ponchoelastic](https://forum.getkirby.com/u/ponchoelastic)\
**Post date:** [December 17, 2023, 9:21pm UTC](https://forum.getkirby.com/t/hide-pages-from-the-panel/30321/3 "2023-12-17T21:21:45Z")

</div>

For instance I have a “login”, “signup”, etc pages. Those pages doesn‘t require any panel blueprint definition. Adding one file per each of those pages feels like adding complexity while I was wondering having a setting or something will be “cleaner”.

---

<div class="post-metadata">

**Author:** ![texnixe](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.getkirby.com/texnixe/32/5754_2.png) [@texnixe](https://forum.getkirby.com/u/texnixe)\
**Post date:** [December 17, 2023, 10:44pm UTC](https://forum.getkirby.com/t/hide-pages-from-the-panel/30321/4 "2023-12-17T22:44:00Z")

</div>

As I wrote above, options could be using the default blueprint, a route.before hook, not listing those pages in any section in the panel, or page models.

---

<div class="post-metadata">

**Author:** ![GB\_DESIGN](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.getkirby.com/gb_design/32/14956_2.png) [@GB\_DESIGN](https://forum.getkirby.com/u/GB_DESIGN)\
**Post date:** [December 18, 2023, 6:29am UTC](https://forum.getkirby.com/t/hide-pages-from-the-panel/30321/5 "2023-12-18T06:29:13Z")

</div>

This section lists and describes the options, followed by examples:

> **[Page blueprint](https://getkirby.com/docs/reference/panel/blueprints/page#options)**
>
> Page blueprints are located in /site/blueprints/pages and control the Panel setup and form fields for pages.

This allows you as an admin to see all blueprints and hide them for editors, for example.

```auto
# Page is not accessible and not visible for all roles except admins.
options:
  access:
    *: false
    admin: true
  list:
    *: false
    admin: true

```

I would recommend a separate blueprint for pages like “login” or “setup”, otherwise they will fall back to the “default” blueprint, as Sonja mentioned. And the default blueprint in particular should not be hidden for editors.

> Adding one file per each of those pages feels like adding complexity while I was wondering having a setting or something will be “cleaner”

Whether you assign roles to each blueprint or in a hook: a one-off effort is still required. In addition, these settings are only required for blueprints that you want to hide from other users. And therefore not for all blueprints. The effort will be manageable.

---

<div class="post-metadata">

**Author:** ![texnixe](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.getkirby.com/texnixe/32/5754_2.png) [@texnixe](https://forum.getkirby.com/u/texnixe)\
**Post date:** [December 18, 2023, 7:58am UTC](https://forum.getkirby.com/t/hide-pages-from-the-panel/30321/6 "2023-12-18T07:58:35Z")

</div>

> [@GB\_DESIGN](#):
>
> And the default blueprint in particular should not be hidden for editors.

Hm, this is not about hiding the blueprints, but the pages, and if you don’t need the default blueprint for anything else (because you have made sure that pages cannot be created with the default blueprint), I think this approach would be totally fine.

But I agree, simple separate blueprints with just the options set are not that much of an extra effort. And if you want to get them out of the way so as not to clutter your blueprints’ folder, you can register them in a plugin.
