---
title: Partial routing
slug: cms-11/dev-docs/partial-routing
docTags: 
createdAt: 2026-07-22T19:45:19.643Z
---

Partial routing lets you extend routing beyond pages. You can use partial routing to route to data outside Optimizely Content Management System (CMS) or to route to content types other than pages.

For example: `http://site/News/Sports/TheGame/`. The `http://site/News/` part can represent the URL to a page instance of model type `NewsContainer`. Then, by registering a partial router for ModelType `NewsContainer`, the partial router can take care of routing the remaining part of the URL: `Sports/TheGame/`.

## IPartialRouter interface

Each partial router must implement the interface `EPiServer.Web.Routing.IPartialRouter<TContent, TRoutedData>`, which resides in the `EPiServer.dll` assembly. The interface is a generic interface with generic constraints where `TContent`:`EPiServer.Core.IContent`.

The interface contains the following methods:

- `RoutePartial`  – Called when the ordinary page routing has routed to a page of type `TContent` and there is a remaining part of the URL. The implementation can then route the remaining part of the URL.
- `GetPartialVirtualPath`  – Called when you construct an outgoing URL for a content instance of type `TOutgoing`.
