Checking for Friendly URL Conflicts
Liferay DXP 2026.Q3+
The Server Administration panel includes a Friendly URLs tab that scans your instance for friendly URL conflicts. Run the check before you remove the /web fragment from public friendly URLs by setting the layout.friendly.url.public.servlet.mapping.enabled portal property to false.
The /web fragment distinguishes public site URLs from page URLs, so removing it can expose friendly URLs that were previously unambiguous. This check reports those conflicts so you can resolve them first.
-
Navigate to Control Panel → System → Server Administration, then click the Friendly URLs tab.
-
Click Run Check. After the first run, the button label changes to Run Check Again.
-
Review the results:
-
If no conflicts exist, a success message appears:
No conflicts were found. The public friendly URL mapping can be safely disabled.You can set the property tofalse. -
If conflicts exist, a warning message names the number found, and a table of the conflicts follows it. Resolve every conflict before setting the property to
false.
-
A clean result doesn’t rule out every conflict. Cross-Site and Self conflicts among non-default sites aren’t evaluated, so review those manually on an instance with multiple sites.
Reading the Conflicts Table
Each row represents one friendly URL conflict.
| Column | Description |
|---|---|
| Path | The conflicting friendly URL. |
| Subject | The type and title of the conflicting object, such as a page. |
| Type | The kind of conflict. See the list below. |
| Conflicts With | The name of the other site involved, when applicable. Otherwise a dash. |
The Type column reports one of three conflict kinds:
-
Cross-Site: A default site page’s friendly URL matches another site’s top-level friendly URL. Removing
/webmakes the two URLs identical. -
Reserved Keyword: A friendly URL matches one of the reserved system paths in the
sites.friendly.url.keywordsportal property, such asweb,group, ordocuments. Entries ending in*match by prefix, so a friendly URL of/api-docsconflicts with theapi*keyword. -
Self: A default site page’s friendly URL matches its own site’s top-level friendly URL. Removing
/webmakes it ambiguous whether the URL refers to the site or to that page.
Reserved Keyword conflicts are checked across every site’s friendly URL as well as the default site’s pages. Cross-Site and Self conflicts are checked only for the default site’s pages.
Running the Check from the Gogo Shell
You can also run this check from the Gogo shell with the friendlyURL:checkPublicMappingConflicts command. With no arguments, the command checks every company (instance) in the system. Pass a companyId argument to check a single instance.