Internal Redirect for Umbraco Node with umbracoInternalRedirectId Routing Property

The umbracoInternalRedirectId property in Umbraco CMS allows you to serve content from another node transparently without performing a URL redirect. Unlike umbracoRedirect, which issues a 302 Temporary Redirect, umbracoInternalRedirectId functions as a rewrite, keeping the original URL intact while displaying content from a different node. This guide will show you how to implement this using a practical example with the existing Content Page document type from the Umbraco Starter Kit.

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

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:

  1. Create a new content node or identify an existing one for Summer Deals 2026.

  2. Use the umbracoInternalRedirectId property in the Best Offers node to select the Summer Deals 2026 page as the content source.

  3. 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

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

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:

  1. Rewrite Destination: Create or identify a content node that holds the content you want to display (e.g., Summer Deals 2026).

  2. 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

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.

↑ Top â†‘