The Differences Between Various URL Formats for a Confluence Page
Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Background
There are a couple of different ways to link to a given Confluence page, and this KB aims to explain when and how each format is generated. Three of the most common formats are:
Page title ("pretty") format
PageId format
Shortened ("tiny link") format
Confluence page URL is generated automatically each time a Confluence page is created. By design, it is not possible to disable certain formats as outlined in the improvement request CONFSERVER-28491 - Getting issue details... STATUS
Page Title ("Pretty") Format
https://confluence.example.com/display/SPACEKEY/Page+Title
Whenever possible, Confluence will default to using this format to link to pages. This format contains the space key where the page resides, as well as the title of the page itself with some minor substitutions and URL encoding (e.g. spaces are replaced with "+" signs). This type of link allows users to identify what the linked content is about without needing to click on it. If the page title changes, the URL will likewise be updated to reflect the new title. If a user then tries to accesses a page with the old title in the URL, they will encounter a "Page not found" with a suggestion that the page may have been renamed, including a link to the new page.
As this URL format is based on the page title, there are conditions in which can prevent the pretty format from being generated. These conditions include either:
If the page title contains a URL reserved or unsafe character, such as (but not limited to):
% & ? / \ ; " § + :
- if the page title contains non-latin characters such as (but not limited to):
- German Umlauts
- CJK Characters
- if the final character of the page title is of any non-alphanumeric character
If either of these are true, Confluence will default to using the pageId URL format instead of trying to generate a pretty URL with the page title.
PageId Format
https://confluence.example.com/pages/viewpage.action?pageId=123456
Unlike the pretty format, the PageId format can be used to refer to any page in Confluence, since each page has a unique pageId value (stored in the database). As long as the pageId is known, a user can substitute the value to the end of the URL and access the page directly. The URL for a given page is static and will retain the same pageId reference even the page is renamed or moved to a different location.
To get PageID follow steps described in KB article: How to get Confluence page ID
Shortened ("Tiny Link") Format
https://confluence.example.com/x/a4OcE
Typically not seen in the UI, users can request a shortened URL to be generated for any given page by accessing the page and clicking "..." > Page Information. The resulting page will have the tiny link generated. This format is useful if character count is a restriction when sharing the link. It is generated based on the PageId after converting to byte array and encoded to base64. You can find the technical details here: How to programmatically generate the Tiny link of a Confluence page
Related Feature Requests
There are a couple of feature requests you may wish to follow, relating to page URL formatting:
- Always generate links with "Pretty URL" format even with special characters in the title: CONFSERVER-11285 - Getting issue details... STATUS
- Always generate links with "PageId" format (some organizations prefer this for privacy or consistency reasons): CONFSERVER-45898 - Getting issue details... STATUS
Anchor Links
The Confluence Anchor Links will still be working in any of the formats above, such as:
https://confluence.example.com/display/PROJ/page+one#pageone-afterline3
https://confluence.example.com/pages/viewpage.action?pageId=98404#pageone-afterline3
https://confluence.example.com/x/ZIAB#pageone-afterline3