get-canonical-url
v1.1.0
Published
🔗 Determines the current page's canonical URL and optionally normalizes it for consistency.
Downloads
76
Maintainers
Readme
🔗 get-canonical-url
Determines the current page's canonical URL and optionally normalizes it via normalize-url for consistency.
Install
npm install get-canonical-url
# or...
yarn add get-canonical-url
Or pull directly from unpkg in-browser:
<script src="https://unpkg.com/get-canonical-url/dist/get-canonical-url.min.js"></script>
Usage
With <link rel="canonical">
<!doctype html>
<html>
<head>
<link rel="canonical" href="https://www.example.com/this/doesnt/exist.aspx?no=really&it=doesnt#gocheck">
</head>
</html>
import canonicalUrl from "get-canonical-url";
canonicalUrl();
//=> 'https://www.example.com/this/doesnt/exist.aspx?no=really&it=doesnt#gocheck'
canonicalUrl({
normalize: true,
normalizeOptions: {
stripProtocol: true,
stripWWW: true,
stripHash: true
}
})
//=> 'example.com/this/doesnt/exist.aspx?it=doesnt&no=really'
Without <link rel="canonical">
import canonicalUrl from "get-canonical-url";
canonicalUrl({
guess: true,
normalize: true
});
//=> Determined via the individual user's window.location.href or other similar browser hints. Normalizing is recommended.
API
canonicalUrl(options?)
options
Type: object
normalize
Type: boolean
Default: false
Clean-up and normalize the determined canonical URL.
normalizeOptions
Type: NormalizeOptions
Default:
{
stripWWW: false,
stripHash: true,
removeQueryParameters: true,
removeTrailingSlash: false
}
Options passed directly to normalize-url
.
Requires options.normalize = true
.
guess
Type: boolean
Default: false
Make an educated guess using other clues if canonical isn't explicitly set in the page's <head>
.
License
MIT