SplatDev.Umbraco.Plugins.HiddenContent
2.5.3
dotnet add package SplatDev.Umbraco.Plugins.HiddenContent --version 2.5.3
NuGet\Install-Package SplatDev.Umbraco.Plugins.HiddenContent -Version 2.5.3
<PackageReference Include="SplatDev.Umbraco.Plugins.HiddenContent" Version="2.5.3" />
<PackageVersion Include="SplatDev.Umbraco.Plugins.HiddenContent" Version="2.5.3" />
<PackageReference Include="SplatDev.Umbraco.Plugins.HiddenContent" />
paket add SplatDev.Umbraco.Plugins.HiddenContent --version 2.5.3
#r "nuget: SplatDev.Umbraco.Plugins.HiddenContent, 2.5.3"
#:package SplatDev.Umbraco.Plugins.HiddenContent@2.5.3
#addin nuget:?package=SplatDev.Umbraco.Plugins.HiddenContent&version=2.5.3
#tool nuget:?package=SplatDev.Umbraco.Plugins.HiddenContent&version=2.5.3
UmbracoCms.Plugins.HiddenContent
Hidden Content plugin for Umbraco 13 (net8.0) and Umbraco 17 (net10.0).



Features
- Hide content nodes from navigation menus and XML sitemaps
- Nodes remain fully accessible by direct URL
- Uses the standard Umbraco
umbracoNaviHideproperty - Bulk hide/show operations
- Backoffice dashboard to manage hidden nodes
- View component for rendering hidden status in Razor views
No EF Core Required
This plugin uses Umbraco's IContentService — no additional database tables needed.
API Endpoints
GET /umbraco/api/hiddencontent/GetHiddenNodesPOST /umbraco/api/hiddencontent/HideNode?nodeId={id}POST /umbraco/api/hiddencontent/ShowNode?nodeId={id}GET /umbraco/api/hiddencontent/IsHidden?nodeId={id}POST /umbraco/api/hiddencontent/BulkHide(body:{ "nodeIds": [1,2,3] })POST /umbraco/api/hiddencontent/BulkShow(body:{ "nodeIds": [1,2,3] })
Usage in Razor
@await Component.InvokeAsync("HiddenContent", new { nodeId = Model.Id })
How It Works
HideNodeAsync sets umbracoNaviHide = "1" and publishes. ShowNodeAsync sets it to "0" and publishes. Standard Umbraco navigation helpers and sitemap generators respect this property automatically.
Changelog
2.5.3 — 2026-08-24
Restores the icon-document-dashed-line icon and the Common group this plugin had on Umbraco 7 and 8, and the Brazilian Portuguese translation that shipped with it.
2.5.2 — 2026-08-24
Removes a dashboard screenshot that showed an error toast. It was captured against a site where this plugin's API was unreachable, so it advertised a broken dashboard. No screenshot is better than a misleading one; a replacement will be taken against a working install.
2.5.1 — 2026-08-24
Package metadata only: the listing now carries an icon and search tags, and the project and repository links point at the organisation that actually hosts this code. No code changes.
2.5.0 — 2026-08-23
The Razor view behind @await Component.InvokeAsync(...) is now compiled into the package. It was previously carried as a loose file that nothing packed, so the component threw "view not found" on every install and the front-end usage shown in this README could not have worked.
2.4.0 — 2026-08-23
- A page can be hidden from navigation on the page itself. The plugin shipped a dashboard listing hidden nodes, so hiding one meant leaving it, finding it in a list, and coming back.
- It calls the plugin's own endpoints rather than writing umbracoNaviHide directly, so whatever the plugin does around hiding happens here too.
- The editor says plainly that hiding is not access control — the page stays published and reachable by its URL.
2.3.3 — 2026-08-21
- A failed request now says so in the dashboard. Previously the dashboard kept its previous (usually empty) state, so a refused or failed call looked identical to having no data.
2.3.2 — 2026-08-21
- Dashboard now sends the backoffice token with its API calls. On Umbraco 17 those calls were arriving unauthenticated and coming back 401, which the dashboard rendered as an empty state rather than an error.
- A failed request now raises a notification instead of leaving the dashboard looking like there is simply no data.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Microsoft.EntityFrameworkCore.Design (>= 10.0.7)
- Microsoft.EntityFrameworkCore.SqlServer (>= 10.0.7)
- Microsoft.Extensions.FileProviders.Embedded (>= 10.0.6)
- Umbraco.Cms.Core (>= 17.3.4)
- Umbraco.Cms.Web.Common (>= 17.3.4)
-
net8.0
- Microsoft.EntityFrameworkCore.Design (>= 8.0.20)
- Microsoft.EntityFrameworkCore.SqlServer (>= 8.0.20)
- Microsoft.Extensions.FileProviders.Embedded (>= 8.0.11)
- Umbraco.Cms.Core (>= 13.12.0)
- Umbraco.Cms.Web.Common (>= 13.12.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.5.3 | 33 | 8/24/2026 |