Skip to main content
All CollectionseCommerce
Internal CMS Links
Internal CMS Links

This article will explain the difference between internal and external links, as well as how to use them in the CMS Editor.

Paul Holland avatar
Written by Paul Holland
Updated over 5 months ago

An internal link is a link on your website to another CMS page, rather than external site (e.g. www.example.com). The CMS uses Menu IDs as its internal links, but there are usually URL rewrites in place to generate and process a more user-friendly URL.

URL Rewrites

When you create a new page in the CMS Editor, it's automatically given a default URL based on the page's name. URL rewrites are then automatically created - a  'Replace' record, which changes any links in HTML or plug-in outputs to the user-friendly URL, and a 'rewrite' record, which tells the CMS engine which page (Menu_ID) to load based on the given URL.

As an example, you may have created a View Basket page which uses menu ID 12345. You will see a URL Rewrite of:

In URL: /view-basket
Out URL: cms/cms.jsp?menu_id=12345
Type: Mirror 

This tells the CMS to load page 12345 any time page /view-basket is requested, and a a URL Replace record of:

Match URL:
cms.jsp?menu_id=12345
Replace URL: /view-basket

Which tells the CMS to replace any links that go to page 12345 with a more user-friendly URL of /view-basket any time it renders the page.

Using Internal URLs

In Plug-ins

Many plug-ins will have one, if not multiple, text entry fields to specify different pages to go to. Depending on the plug-in, this may be the Checkout page (if you're on the Basket plug-in), or the Registration page (if you're on the login plug-in).

These text entry fields will usually have a small icon that you can click on to open a tree-view of your site:

Selecting this will pop open the Site Map so you can select the page you want to use. If the text field currently has an ID set, the site map will highlight the currently-specified page:

In some .NET plug-ins, the text field will show the page name, and when you click on the field it will swap to the menu ID:

In HTML

If you need to manually write HTML in a CMS content block, it's advisable to use the friendly URL and let the CMS rewrite take care of loading the correct page. This is so changes to the menu IDs don't affect the links you've created.

For example, if you were to link directly to page 12345, which the CMS would rewrite to /view-basket/, then this page was deleted and replaced with page 67890, your URL would no longer function correctly.

The syntax for an internal URL would be similar to:

<a href="/view-basket">View Basket</a>

Did this answer your question?