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 #556 In the 556th issue of ProcessWire Weekly we're going to share the latest core development news, highlight a new third party module, and more. Read on!
Weekly.pw / 4 January 2025
Custom Fields Module This week we look at a new ProFields module named Custom Fields. This module provides a way to rapidly build out ProcessWire fields that contain any number of subfields/properties within them.
Blog / 30 August 2024
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