Before reading this article, make sure to check out 302 Redirect in Umbraco with umbracoRedirect Routing Property to understand the differences between these two approaches.
What is umbracoInternalRedirectId?
The umbracoInternalRedirectId property is a reserved property alias in Umbraco CMS that enables content nodes to internally serve content from another node.
It does this without changing the URL in the browser, making it useful for internal rewrites rather than external redirections.
Key Features:
-
Keeps the original URL visible in the browser.
-
Ideal for internal content restructuring.
-
Fully integrated into the Umbraco routing pipeline.
-
No external plugins or custom code are required.
Example Use Cases:
-
Serving content from one node while maintaining SEO-friendly URLs.
-
Creating alias pages that display content dynamically without duplication.
-
Implementing localized versions of pages while keeping a clean URL structure.

Destination content: Summer Deals 2026
Practical Example: Serving Content from Another Node
Imagine your website has a generic landing page /best-offers/ that you want to display the content of /summer-deals-2026/, but without changing the URL.
Here's how you can do it:
-
Create a new content node or identify an existing one for Summer Deals 2026.
-
Use the umbracoInternalRedirectId property in the Best Offers node to select the Summer Deals 2026 page as the content source.
-
Publish the Best Offers node.
When users visit /best-offers/, they see the content from /summer-deals-2026/ while the URL remains /best-offers/.

Extending Content Page Document Type with reserved property
Step 1: Extend the Content Page Document Type
In this example, we'll modify the existing Content Page document type in the Umbraco Starter Kit.
However, the same approach applies to any page type.
1. Go to the Settings section in the Umbraco Backoffice.
2. Locate the Content Page document type.
3. Add a new property for internal redirection:
- Property Name: Internal Redirect (can be any name)
- Alias: umbracoInternalRedirectId
- Editor: Content Picker
4. Save and close the Document Type editor.
💡 Pro Tip: Add a field description for editors, such as "Select the page whose content should be displayed here without changing the URL. This creates an internal rewrite instead of a redirect."

Selecting Rewrite Destination (Content Page) - Summer Deals 2026
Step 2: Configure Content Nodes
Navigate to the Content section in the Umbraco Backoffice. You'll need to create two nodes:
-
Rewrite Destination: Create or identify a content node that holds the content you want to display (e.g., Summer Deals 2026).
-
Rewrite Source: Create a new node using the Content Page document type. Name it something like Best Offers.
In the "Internal Redirect" property of the Best Offers node, use the Content Picker to select the Summer Deals 2026 page.
Rewrite Source (Content Page) - Best Offers
Rewrite Destination (Content Page) - Summer Deals 2026
Publish the source node.

The browser should display the content of the Summer Deals 2026 page while keeping /best-offers/ in the address bar
Step 3: Verify the Internal Redirect
Navigate to the URL of the Best Offers node.
-
The browser should display the content of the Summer Deals 2026 page while keeping /best-offers/ in the address bar.
-
Use developer tools to inspect the request and confirm no external redirect (302/301) occurs.
umbracoRedirect vs. umbracoInternalRedirectId
Feature | umbracoRedirect | umbracoInternalRedirectId |
---|---|---|
Type | 302 Temporary Redirect | Internal Rewrite |
URL in Browser | Changes to destination URL | Stays the same |
SEO Impact | Less favorable for SEO, as redirect chains can affect rankings | Preferred for SEO as it preserves URLs |
Use Case | Redirecting users to a different page | Serving content from another node transparently |
When to Use Which?
-
Use umbracoRedirect when you want users and search engines to be redirected to a different URL.
-
Use umbracoInternalRedirectId when you want to serve content from another node without affecting the visible URL.
Troubleshooting Common Issues
Internal Redirect Not Working
-
Check the Alias: Ensure the property alias is exactly umbracoInternalRedirectId.
-
Verify Publishing: Confirm that both the source and destination nodes are published.
-
Confirm Permissions: Ensure the destination node is accessible.
Target Page Content Not Appearing
-
Ensure No Conflicts: Check for any conflicting routing rules that may override the internal redirect.
-
Verify Content Picked: Double-check that the correct page is selected in the Content Picker.