Generate canonical URL for current page and request
Canonical URL includes full scheme, hostname, path and optionally: URL segments, page numbers and query string.
Available since version 3.0.155.
Usage
// basic usage$string = $input->canonicalUrl();
// usage with all arguments$string = $input->canonicalUrl(array$options= []);
Arguments
Name
Type(s)
Description
options (optional)
array
scheme(string|bool): Scheme "https", "http", or omit to auto-detect (default='').
host(string): Hostname or omit to use current http host (default='').
page(Page): Page to use for URL or omit for current Page (default=$page).
urlSegments(array|string|bool): True to include current URL segments, false to disable, or specify array or string of URL segments to use (default=true).
notSegments(array|string): Full URL segments or patterns (wildcard or regex) to exclude from canonical URL (default=[])
pageNum(bool|int): True to include current page/pagination number, false to disable, or specify pagination number (int) to use (default=true).
queryString(bool|string|array): True to use current whitelist query string, false to disable,
or specify array of query string vars, or actual query string as string (default=true).
language(bool|Language): True for current language, false to force default or no language,
or specify Language object to use that language. (default=true)
ProcessWire Weekly #574 The 574th issue of ProcessWire Weekly brings in all the latest news from the ProcessWire community. Modules, sites, and more. Read on!
Weekly.pw / 10 May 2025
New ProcessWire admin redesign When you upgrade to ProcessWire 3.0.248 or newer (currently the dev branch), you’ll immediately notice something new and beautiful…
Blog / 9 May 2025
Subscribe to weekly ProcessWire news
“ProcessWire is like a breath of fresh air. So powerful yet simple to build with and customise, and web editors love it too.” —Margaret Chatwin, Web developer