{"id":142261,"date":"2022-05-19T18:11:22","date_gmt":"2022-05-19T23:11:22","guid":{"rendered":"https:\/\/ahrefs.com\/blog\/?p=142261"},"modified":"2025-03-13T23:18:48","modified_gmt":"2025-03-14T04:18:48","slug":"canonicalization","status":"publish","type":"post","link":"https:\/\/ahrefs.com\/blog\/canonicalization\/","title":{"rendered":"Google Uses ~40 Canonicalization Signals"},"content":{"rendered":"\n<div class=\"intro-txt\">Canonicalization is the process that search engines use to determine the main version of the URL that will be indexed and shown to users when there are duplicate URLs. Clustering creates a cluster of duplicate pages, and canonicalization chooses which version signals consolidate to and what page will be shown in search results. This process involves duplicate detection, duplicate elimination, signal forwarding, error pages, and localization.<\/div>\n\n\n\n<p>According to Google Webmaster Trends Analyst Gary Illyes, ~60% of the internet is duplicate content.<\/p>\n\n<blockquote class=\"twitter-tweet\">\n<p dir=\"ltr\" lang=\"en\">Google\u2019s crawling process is highly focused on removing duplication because 60% of the internet is duplicate <a href=\"https:\/\/twitter.com\/methode?ref_src=twsrc%5Etfw\">@methode<\/a> <a href=\"https:\/\/twitter.com\/hashtag\/seodaydk?src=hash&amp;ref_src=twsrc%5Etfw\">#seodaydk<\/a> <a href=\"https:\/\/t.co\/OJ9OkP74DU\">pic.twitter.com\/OJ9OkP74DU<\/a><\/p>\n\u2014 Lily Ray (@lilyraynyc) <a href=\"https:\/\/twitter.com\/lilyraynyc\/status\/1509176261884747781?ref_src=twsrc%5Etfw\">March 30,&nbsp;2022<\/a><\/blockquote>\n<p><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n\n<p>Canonicalization is complex and often misunderstood. I don\u2019t think most of the duplicates are nefarious. It\u2019s mostly going to be technical issues that cause them. We\u2019ll look at this more in a bit. I\u2019m going to talk about how the canonicalization process works, as well as the following:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"#canonicalization-signals\">Canonicalization signals<\/a><\/li>\n<li><a href=\"#how-to-check-the-canonical\">How to check the canonical<\/a><\/li>\n<li><a href=\"#canonicalization-mistakes\">Common mistakes<\/a><\/li>\n<\/ul>\n\n\n\n<div class=\"post-nav-link clearfix\" id=\"section1\"><a class=\"subhead-anchor\" data-tip=\"tooltip__copielink\" rel=\"#section1\"><svg width=\"19\" height=\"19\" viewBox=\"0 0 14 14\" style><g fill=\"none\" fill-rule=\"evenodd\"><path d=\"M0 0h14v14H0z\" \/><path d=\"M7.45 9.887l-1.62 1.621c-.92.92-2.418.92-3.338 0a2.364 2.364 0 0 1 0-3.339l1.62-1.62-1.273-1.272-1.62 1.62a4.161 4.161 0 1 0 5.885 5.884l1.62-1.62L7.45 9.886zM5.527 5.135L7.17 3.492c.92-.92 2.418-.92 3.339 0 .92.92.92 2.418 0 3.339L8.866 8.473l1.272 1.273 1.644-1.643A4.161 4.161 0 1 0 5.897 2.22L4.254 3.863l1.272 1.272zm-.66 3.998a.749.749 0 0 1 0-1.06l2.208-2.206a.749.749 0 1 1 1.06 1.06L5.928 9.133a.75.75 0 0 1-1.061 0z\" style \/><\/g><\/svg><\/a><div class=\"link-text\" data-anchor=\"Canonicalization signals\" data-section=\"canonicalization-signals\">\n\n\n\n<h2 class=\"wp-block-heading\">Canonicalization signals<\/h2>\n\n\n\n<\/div><\/div>\n\n\n\n<p>A lot of different signals go into the canonicalization process. According to Google\u2019s Allan Scott, there are ~40 different canonical selection signals. These include:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Duplicates<\/li>\n<li>Canonical link elements<\/li>\n<li>Sitemap URLs<\/li>\n<li>Internal links<\/li>\n<li>External links<\/li>\n<li>Redirects<\/li>\n<li>Hreflang<\/li>\n<li>X-default hreflang<\/li>\n<li>PageRank<\/li>\n<li>HTTPS pages over&nbsp;HTTP<\/li>\n<li>Shorter URLs over longer URLs<\/li>\n<li>Where content was first published \/&nbsp;seen<\/li>\n<li>Site level signals like a history of scraped content<\/li>\n<li>Pages over&nbsp;PDFs<\/li>\n<\/ul>\n\n\n\n<p>Google looks at all the different signals and weighs them to determine what the canonical version should be. That\u2019s the version of the page it will index and what it usually shows to users. This process is handled by a machine learning system and managed by a team called Dups at Google, which they say should be spelled Dupes.<\/p>\n<div id=\"attachment_142293\" style=\"width: 1810px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-142293\" class=\"wp-image-142293 size-full\" src=\"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2022\/05\/1-weighing-canonicalization-signals.png\" alt=\"Weighing scale. &quot;URL in Sitemap&quot; and &quot;Duplicate content&quot; on lighter side; &quot;Internal Links&quot; and &quot;Canonical URL&quot; on heaver side\" width=\"1800\" height=\"1733\" srcset=\"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2022\/05\/1-weighing-canonicalization-signals.png 1800w, https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2022\/05\/1-weighing-canonicalization-signals-441x425.png 441w, https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2022\/05\/1-weighing-canonicalization-signals-768x739.png 768w, https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2022\/05\/1-weighing-canonicalization-signals-1536x1479.png 1536w\" sizes=\"auto, (max-width: 1800px) 100vw, 1800px\"><p id=\"caption-attachment-142293\" class=\"wp-caption-text\">A potential scenario when Google decides on the canonical based on internal links and the canonical URL.<\/p><\/div>\n\n\n\n\n\n<h3 class=\"wp-block-heading\">Duplicates<\/h3>\n\n\n\n<p>With <a href=\"https:\/\/ahrefs.com\/blog\/duplicate-content\/\">duplicate content<\/a>, Google will pick a canonical version to index. All the eligible pages form a cluster of pages, and the signals that go to the pages in that cluster will consolidate at the chosen canonical. That canonical may even change over time. In some really bad scenarios, a page on the wrong domain may be shown. This is referred to as hijacking.<\/p>\n<p>Note: Only HTTP status code 200 pages can get clustered.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-142294\" src=\"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2022\/05\/2-duplicate-signals-consolidate.png\" alt=\"How duplicate signals consolidate\" width=\"1800\" height=\"2361\" srcset=\"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2022\/05\/2-duplicate-signals-consolidate.png 1800w, https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2022\/05\/2-duplicate-signals-consolidate-324x425.png 324w, https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2022\/05\/2-duplicate-signals-consolidate-768x1007.png 768w, https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2022\/05\/2-duplicate-signals-consolidate-1171x1536.png 1171w, https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2022\/05\/2-duplicate-signals-consolidate-1561x2048.png 1561w\" sizes=\"auto, (max-width: 1800px) 100vw, 1800px\"><\/p>\n\n\n\n\n\n<p>Some SEOs believe there is a <a href=\"https:\/\/ahrefs.com\/blog\/seo-myths\/\">duplicate content penalty<\/a>, but that\u2019s not true. Generally, you\u2019re going to have one version or another indexed. It may not be the version you want to be indexed, but it will be indexed and rank just as well as any other version of the same&nbsp;page.<\/p>\n\n\n\n<p>Here are some examples of what can cause duplicate pages and sometimes canonicalization issues:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>HTTP and <\/strong><a href=\"https:\/\/ahrefs.com\/blog\/what-is-https\/\"><strong>HTTPS<\/strong><\/a><strong> variants <span style=\"font-weight: 400;\">\u2013<\/span><\/strong> Examples: http:\/\/www.example.com and https:\/\/www.example.com. There are multiple canonicalization criteria to handle this.<\/li>\n<li><strong>Non-www and www variants <span style=\"font-weight: 400;\">\u2013 Examples: <\/span><\/strong>http:\/\/example.com and http:\/\/www.example.com.<\/li>\n<li><strong>URLs with and without <\/strong><a href=\"https:\/\/ahrefs.com\/blog\/trailing-slash\/\"><strong>trailing slashes<\/strong><\/a> <strong><span style=\"font-weight: 400;\">\u2013 Examples: <\/span><\/strong>https:\/\/example.com\/page\/ and https:\/\/example.com\/page.<\/li>\n<li><strong>URLs with and without capital letters<\/strong> <strong><span style=\"font-weight: 400;\">\u2013 Examples:<\/span><\/strong> https:\/\/example.com\/page\/ and https:\/\/example.com\/Page\/.<\/li>\n<li><strong>Default versions of the page, such as index pages<\/strong> <strong><span style=\"font-weight: 400;\">\u2013 Examples:<\/span><\/strong> https:\/\/www.example.com\/, https:\/\/www.example.com\/index.htm, https:\/\/www.example.com\/index.html, https:\/\/www.example.com\/index.php, https:\/\/www.example.com\/default.htm, etc.<\/li>\n<li><strong>Alternate versions of pages<\/strong> <strong><span style=\"font-weight: 400;\">\u2013 <\/span><\/strong>This could include mobile versions (e.g., example.com and m.example.com), AMP versions (e.g., example.com\/page and amp.example.com\/page), print versions (e.g., example.com\/page and example.com\/page\/print), alternate versions meant for other countries but containing the same content (e.g., example.com\/en-us\/, example.com\/en-gb\/, example.com\/en-au\/), or versions in a dev or staging site (e.g., dev.example.com).<\/li>\n<li><a href=\"https:\/\/ahrefs.com\/blog\/url-parameters\/\"><strong>URL parameters<\/strong><\/a> <strong><span style=\"font-weight: 400;\">\u2013 <\/span><\/strong>Examples: example.com?parameter=whatever. These may exist because of tracking codes, faceted navigation, sorting content, session IDs, etc. There are some instances where parameters may change the page\u2019s content so that it\u2019s not a duplicate.<\/li>\n<li><strong>Other pages showing the full content <span style=\"font-weight: 400;\">\u2013 <\/span><\/strong>Google may choose the wrong canonical when another page displays the content in full. This may include the main blog page, paginated pages, tag pages, category pages, or feed&nbsp;pages.<\/li>\n<li><strong>Scraped or syndicated content <span style=\"font-weight: 400;\">\u2013<\/span><\/strong>&nbsp;<a href=\"https:\/\/ahrefs.com\/blog\/content-syndication\/\">Content syndication best practices<\/a> generally recommend having a canonical tag back to the original content or at least a link to the original content. That\u2019s because the canonical chosen can be a completely different domain. They try to select the original source as the canonical but, in some cases, they choose the wrong&nbsp;page.<\/li>\n<li><strong>Boilerplate translations<\/strong>. This is where things like menus and text that appears on every page may be translated, but the main content is not. These will be clustered together. However, if the price or currency is different, then they will try to put them in different clusters.<\/li>\n<li><strong>Error pages<\/strong>. Error pages can cluster with each other, including soft 404s \/ crypto 404s, pages with JavaScript dependencies that didn\u2019t load or didn\u2019t get rendered, bot detection error pages, etc.<\/li>\n<\/ul>\n\n\n\n<p>Most of these aren\u2019t usually issues. As I mentioned, Google will usually choose one version or another as the canonical. There are a few exceptions to&nbsp;this.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Sometimes with content syndication, the original source isn\u2019t chosen as the canonical. This is a real problem. How would you feel if someone else started ranking for an article you&nbsp;wrote?<\/li>\n<li><a href=\"https:\/\/ahrefs.com\/blog\/hreflang-tags\/\">Hreflang<\/a> does not solve duplication on international sites. Google will generally try to swap to show the correct version. But it\u2019s not guaranteed, and this setup often breaks. When this happens, users see pages from the wrong country. It\u2019s best to avoid having the same content on multiple pages for international websites.<\/li>\n<li>With some JavaScript sites (typically app shell models), the initial code for the pages can look like other pages or even the code from other websites. Sometimes, these pages get canonicalized to other pages on the same or even different websites.<\/li>\n<\/ol>\n\n\n\n<p>I believe part of the problem with both hreflang and the JavaScript content is that Google may be running the duplicate detection via crawl algorithms that detect duplication patterns, again after just seeing the code and yet again after rendering the&nbsp;pages.<\/p>\n<div id=\"attachment_142295\" style=\"width: 1810px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-142295\" class=\"wp-image-142295 size-full\" src=\"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2022\/05\/3-duplicate-detection.png\" alt=\"Flowchart showing process of duplication detection \" width=\"1800\" height=\"1905\" srcset=\"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2022\/05\/3-duplicate-detection.png 1800w, https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2022\/05\/3-duplicate-detection-402x425.png 402w, https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2022\/05\/3-duplicate-detection-768x813.png 768w, https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2022\/05\/3-duplicate-detection-1451x1536.png 1451w\" sizes=\"auto, (max-width: 1800px) 100vw, 1800px\"><p id=\"caption-attachment-142295\" class=\"wp-caption-text\">Google\u2019s render path marked up where I believe duplicate detection systems are&nbsp;run.<\/p><\/div>\n\n\n\n\n\n\n\n<p>With the pages using hreflang, if it decides that the pages are duplicates without crawling them, it may not be able to swap them properly.<\/p>\n\n\n\n<p>Before a page is even rendered, it may \u201clook\u201d like another page based on the HTML content. Google may choose the canonical based on this initial version and may not prioritize it for rendering because it\u2019s already deemed a duplicate page. This usually resolves itself after rendering, but it can take some time to clear&nbsp;up.<\/p>\n\n\n\n<p>Google has a couple of rules it generally follows when it comes to canonicalization of duplicates.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">1. It prefers HTTPS pages over HTTP&nbsp;pages.<\/h4>\n\n\n\n<p>Google will generally index the HTTPS version, but there are a few issues or conflicting signals that may cause it to choose the HTTP version instead, such&nbsp;as:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Having an invalid security certificate.<\/li>\n<li>HTTPS page links to HTTP resources on the page (excludes images).<\/li>\n<li>HTTPS redirecting to&nbsp;HTTP.<\/li>\n<li>HTTPS page having a rel=\u201ccanonical\u201d link element pointing to the HTTP&nbsp;page.<\/li>\n<li>HTTPS page redirects to HTTP page which redirects to HTTPS page. It\u2019s not secure, so it might lead to an HTTP canonical.<\/li>\n<\/ul>\n<p>The key point here is that they will choose the HTTP page when it\u2019s not secure.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">2. It prefers shorter URLs over longer URLs.<\/h4>\n\n\n\n<p>This has been misconstrued over the years by SEOs to say that all your URLs should be shorter. But that\u2019s not what was meant by the original statement. What Google said was that if you had, for instance, a clean, short version of a URL and a longer version with parameters attached, it would generally choose the shorter version of the URL without the parameter as the canonical version.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Canonical link element<\/h3>\n\n\n\n<p>This is also commonly referred to as a <a href=\"https:\/\/ahrefs.com\/blog\/canonical-tags\/\">canonical tag<\/a>. It looks like&nbsp;this:<\/p>\n\n\n\n<p><code>&lt;link rel=\"canonical\" href=\"https:\/\/www.example.com\" \/&gt;<\/code><\/p>\n\n\n\n<p>The canonical tag is sometimes referred to as a hint because it\u2019s just one canonicalization signal, but it is considered a strong signal. Google ignores it if other signals are stronger.<\/p>\n<p>The canonical link element serves multiple purposes. It\u2019s used for clustering and to determine which version is the canonical.<\/p>\n\n\n\n<p>If the canonical tag is respected, all signals like links will pass. However, if the canonical is ignored, no value is passed. The value isn\u2019t lost; it stays with the original page or goes to whatever page Google chooses as the canonical.<\/p>\n\n\n\n<p>A canonical link element can be implemented in two different ways. It can be in the &lt;head&gt; section or the HTTP header.<\/p>\n\n\n\n<p>A fun anecdote. Google\u2019s SEO Starter Guide used to be a PDF. It didn\u2019t have a canonical tag set in the HTTP header, and people used to \u201csteal\u201d the listing with their own duplicate version.<\/p>\n\n\n\n<p>Sometimes the &lt;head&gt; section of a page will end before it should. This is usually caused by a tag in the &lt;head&gt; not closed out properly. When that happens, a canonical tag may be put into the &lt;body&gt; section instead. If that happens, your canonical tag won\u2019t be respected.<\/p>\n<div id=\"attachment_142296\" style=\"width: 722px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-142296\" class=\"wp-image-142296 size-full\" src=\"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2022\/05\/4-canonical-body.png\" alt=\"Example of invalid canonical tag\" width=\"712\" height=\"130\" srcset=\"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2022\/05\/4-canonical-body.png 712w, https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2022\/05\/4-canonical-body-680x124.png 680w\" sizes=\"auto, (max-width: 712px) 100vw, 712px\"><p id=\"caption-attachment-142296\" class=\"wp-caption-text\">Invalid canonical tag located in the &lt;body&gt; section.<\/p><\/div>\n<p>If a blank canonical link element \u201c\u201d (gets treated as \u201c\/\u201d) is used on a bunch of pages, it may be ignored. Same with variables in the canonical that weren\u2019t filled in when the page loaded. Google is trying to help you because you got it&nbsp;wrong.<\/p>\n\n\n\n\n\n<h3 class=\"wp-block-heading\">Sitemap URLs<\/h3>\n\n\n\n<p>The URLs you include in your <a href=\"https:\/\/ahrefs.com\/seo\/glossary\/sitemap\">sitemap<\/a> are also a canonicalization signal. Most of the time, you only want to include URLs of pages that you want to be indexed.<\/p>\n\n\n\n<p>There are some exceptions to this because sitemap URLs also help with crawling. After a <a href=\"https:\/\/ahrefs.com\/blog\/website-migration\/\">website migration<\/a>, you should create a sitemap that still lists the old pages, even though they aren\u2019t canonical. This will help the redirects be processed faster. You\u2019ll want to delete this sitemap after most of the redirects have been picked up and processed.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Internal links<\/h3>\n\n\n\n<p>It matters how you link to pages. <a href=\"https:\/\/ahrefs.com\/blog\/internal-links-for-seo\/\">Internal links<\/a> are another canonicalization signal.<\/p>\n\n\n\n<p>Generally, you should link to the version of a page you want to be canonical and update the links to any URLs that may have changed. However, there are exceptions to this, such as with <a href=\"https:\/\/ahrefs.com\/blog\/faceted-navigation\/\">faceted navigation<\/a>. In some cases like this, what is best for users may trump what is best for&nbsp;SEO.<\/p>\n<h3>External links<\/h3>\n<p>It matters how others link to your pages. If you can have external links updated to point to the latest version of your page, that helps to show that you want the latest version of the page indexed.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Redirects<\/h3>\n\n\n\n<p>There are several different types of redirects, and they\u2019re all canonicalization signals. Redirects are generally a pretty strong canonicalization signal. They pass <a href=\"https:\/\/ahrefs.com\/blog\/google-pagerank\/\">PageRank<\/a> and help determine which URL gets shown in Google\u2019s index.<\/p>\n\n\n\n<p>Permanent redirects such as 301s send signals forward to the new URL. Temporary redirects such as 302s and some 307s send signals backward to the redirected URL. If a temporary redirect is left in place long enough or the URL it\u2019s redirected to already exists, it may be treated as a permanent redirect and send signals forward instead. It requires enough signals to flip the scale we saw earlier for canonicalization signals. As links build up, internal links are changed, sitemap URLs are updated, etc., more signals point to the new URL than the old URL, and the flip occurs.<\/p>\n<div id=\"attachment_142297\" style=\"width: 1810px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-142297\" class=\"wp-image-142297 size-full\" src=\"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2022\/05\/5-redirect-canonicalization.png\" alt=\"Example of scale flipping for 302s\" width=\"1800\" height=\"2183\" srcset=\"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2022\/05\/5-redirect-canonicalization.png 1800w, https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2022\/05\/5-redirect-canonicalization-350x425.png 350w, https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2022\/05\/5-redirect-canonicalization-768x931.png 768w, https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2022\/05\/5-redirect-canonicalization-1267x1536.png 1267w, https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2022\/05\/5-redirect-canonicalization-1689x2048.png 1689w\" sizes=\"auto, (max-width: 1800px) 100vw, 1800px\"><p id=\"caption-attachment-142297\" class=\"wp-caption-text\">At some point, the scale flips for temporary redirects like&nbsp;302s.<\/p><\/div>\n\n\n\n\n\n<p>A 307 has two different cases. In cases where it\u2019s a temporary redirect, it will be treated the same as a 302 and attempt to consolidate backward. When web servers require clients to only use HTTPS connections (HSTS policy), Google won\u2019t see the 307 because it\u2019s cached in the browser. The initial hit (without cache) will have a server response code that\u2019s likely a 301 or a 302. But your browser will show you a 307 for subsequent requests.<\/p>\n\n\n\n<h4>Types of permanent redirects<\/h4>\n<ul>\n<li>HTTP 301<\/li>\n<li>HTTP 308<\/li>\n<li>Meta refresh 0<\/li>\n<li>HTTP refresh 0<\/li>\n<li>JavaScript location<\/li>\n<li>Crypto redirect<\/li>\n<\/ul>\n<h4>Types of temporary redirects<\/h4>\n<ul>\n<li>HTTP 302<\/li>\n<li>HTTP 303<\/li>\n<li>HTTP 307 (server side, not the browser cached one)<\/li>\n<li>Meta refresh &gt;0<\/li>\n<li>HTTP refresh &gt;0<\/li>\n<\/ul>\n<h4>Signal consolidation<\/h4>\n<p>Signals are usually consolidated permanently after 1 year. If a redirect is removed after that period, signals will stay at the page that was redirected to. If the original page is restored, any new signals will go to the restored page, but old signals will still consolidate at the page that was redirected to.<\/p>\n<h3>Hreflang<\/h3>\n<p>Hreflang is another signal for canonicalization. Pages included in hreflang tags are more likely to be selected as canonical. X-default in particular is used, not for clustering, but for canonical selection.<\/p>\n<p>This is also complicated when it comes to duplicate pages since generally one page may be indexed and signals consolidate there, but they may still swap the page shown to a more appropriate one for users in the search results. Fully translated pages are not duplicates, and signals will not consolidate for&nbsp;those.<\/p>\n<p>This part is complicated and I\u2019d recommend reading <a href=\"https:\/\/ahrefs.com\/blog\/hreflang-tags\/\">Hreflang: The Easy Guide for Beginners<\/a>&nbsp;for more&nbsp;info.<\/p>\n<h3>PageRank<\/h3>\n<p><a href=\"https:\/\/ahrefs.com\/blog\/google-pagerank\/\">PageRank<\/a> is also confirmed as a canonicalization signal. The page with a higher PageRank will have a higher weight and is more likely to be the canonical.<\/p>\n\n\n\n<div class=\"post-nav-link clearfix\" id=\"section1\"><a class=\"subhead-anchor\" data-tip=\"tooltip__copielink\" rel=\"#section1\"><svg width=\"19\" height=\"19\" viewBox=\"0 0 14 14\" style><g fill=\"none\" fill-rule=\"evenodd\"><path d=\"M0 0h14v14H0z\" \/><path d=\"M7.45 9.887l-1.62 1.621c-.92.92-2.418.92-3.338 0a2.364 2.364 0 0 1 0-3.339l1.62-1.62-1.273-1.272-1.62 1.62a4.161 4.161 0 1 0 5.885 5.884l1.62-1.62L7.45 9.886zM5.527 5.135L7.17 3.492c.92-.92 2.418-.92 3.339 0 .92.92.92 2.418 0 3.339L8.866 8.473l1.272 1.273 1.644-1.643A4.161 4.161 0 1 0 5.897 2.22L4.254 3.863l1.272 1.272zm-.66 3.998a.749.749 0 0 1 0-1.06l2.208-2.206a.749.749 0 1 1 1.06 1.06L5.928 9.133a.75.75 0 0 1-1.061 0z\" style \/><\/g><\/svg><\/a><div class=\"link-text\" data-anchor=\"How to check the canonical\" data-section=\"how-to-check-the-canonical\">\n\n\n\n<h2 class=\"wp-block-heading\">How to check the canonical<\/h2>\n\n\n\n<\/div><\/div>\n\n\n\n<p>Your main source of truth for what Google chose as the canonical will be the URL Inspection tool in Google Search Console. Enter the URL, and it will show what the declared canonical is and what Google chose as the canonical.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-142298\" src=\"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2022\/05\/6-url-inspection-tool.png\" alt=\"The declared and Google-selected canonical via Google Search Console\" width=\"1372\" height=\"737\" srcset=\"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2022\/05\/6-url-inspection-tool.png 1372w, https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2022\/05\/6-url-inspection-tool-680x365.png 680w, https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2022\/05\/6-url-inspection-tool-768x413.png 768w\" sizes=\"auto, (max-width: 1372px) 100vw, 1372px\"><\/p>\n\n\n\n\n\n<p>If you don\u2019t have access to Google Search Console, the recommended way to check the version of a page Google has indexed is to paste the URL into Google. The top result is usually the canonical.<\/p>\n\n\n\n<p>Similarly, if you check the cached version of a page in Google and a different page is shown, then Google has selected a different version of the&nbsp;page.<\/p>\n\n\n\n<p><strong>Warning:<\/strong> Don\u2019t use site: searches for checking canonicals. It shows what Google knows about, not necessarily what\u2019s indexed or the selected canonical.<\/p>\n\n\n\n<p>Within Ahrefs\u2019 <a href=\"https:\/\/ahrefs.com\/site-audit\">Site Audit<\/a>, we show many issues related to canonicalization. Keep in mind that we\u2019re flagging best practices in most cases. Because the canonical is a hint, Google and other search engines will have to choose which version of a page to&nbsp;index.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-142299\" src=\"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2022\/05\/7-canonicalization-issues.png\" alt=\"Canonicalization issues in Ahrefs' Site Audit\" width=\"657\" height=\"860\" srcset=\"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2022\/05\/7-canonicalization-issues.png 657w, https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2022\/05\/7-canonicalization-issues-325x425.png 325w\" sizes=\"auto, (max-width: 657px) 100vw, 657px\"><\/p>\n\n\n\n\n\n<p>Even if your website has lots of issues related to canonicalization, search engines may be able to figure out what version should be indexed and where they should consolidate signals. It may not create any real problems for&nbsp;them.<\/p>\n\n\n\n<p>Fun fact. When running a site audit, we only count the canonical version of pages as crawl credits. Some other tools count every version of a page toward the credits. On many sites, this can eat multiple credits per&nbsp;page!<\/p>\n\n\n\n<div class=\"post-nav-link clearfix\" id=\"section1\"><a class=\"subhead-anchor\" data-tip=\"tooltip__copielink\" rel=\"#section1\"><svg width=\"19\" height=\"19\" viewBox=\"0 0 14 14\" style><g fill=\"none\" fill-rule=\"evenodd\"><path d=\"M0 0h14v14H0z\" \/><path d=\"M7.45 9.887l-1.62 1.621c-.92.92-2.418.92-3.338 0a2.364 2.364 0 0 1 0-3.339l1.62-1.62-1.273-1.272-1.62 1.62a4.161 4.161 0 1 0 5.885 5.884l1.62-1.62L7.45 9.886zM5.527 5.135L7.17 3.492c.92-.92 2.418-.92 3.339 0 .92.92.92 2.418 0 3.339L8.866 8.473l1.272 1.273 1.644-1.643A4.161 4.161 0 1 0 5.897 2.22L4.254 3.863l1.272 1.272zm-.66 3.998a.749.749 0 0 1 0-1.06l2.208-2.206a.749.749 0 1 1 1.06 1.06L5.928 9.133a.75.75 0 0 1-1.061 0z\" style \/><\/g><\/svg><\/a><div class=\"link-text\" data-anchor=\"Canonicalization mistakes\" data-section=\"canonicalization-mistakes\">\n\n\n\n<h2 class=\"wp-block-heading\">Common mistakes<\/h2>\n\n\n\n<\/div><\/div>\n\n\n\n<p>There\u2019s a lot that can go wrong with canonicalization. Let\u2019s look at some common mistakes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Mistake #1. Blocking the canonicalized URL via robots.txt<\/h3>\n\n\n\n<p>Blocking a URL in <a href=\"https:\/\/ahrefs.com\/blog\/robots-txt\/\">robots.txt<\/a> prevents Google from crawling it, meaning that it cannot see any canonical tags on that page. That, in turn, prevents it from transferring any \u201clink equity\u201d from the non-canonical to the canonical.<\/p>\n\n\n\n<p>Unless you have a <a href=\"https:\/\/ahrefs.com\/blog\/crawl-budget\/\">crawl budget<\/a> issue, it\u2019s probably better to let all the signals consolidate. Even if you\u2019re going to block or noindex some versions, you may still want to check for versions with links that you should canonicalize instead. However, as Google tends to crawl non-canonical pages less over time, you may just want to&nbsp;wait.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Mistake #2. Setting the canonicalized URL to \u201cnoindex\u201d<\/h3>\n\n\n\n<p>Never mix noindex and rel=canonical. They\u2019re contradictory instructions.<\/p>\n\n\n\n<p>As John Mueller <a href=\"https:\/\/www.reddit.com\/r\/TechSEO\/comments\/8yahdr\/2_questions_about_the_canonical_tag\/e2dey9i\/?context=1\">states<\/a>, Google will usually prioritize the canonical tag over the \u201cnoindex\u201d tag.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Mistake #3. Setting a 4XX HTTP status code for the canonicalized URL<\/h3>\n\n\n\n<p>Setting a <a href=\"https:\/\/ahrefs.com\/blog\/http-status-codes\/\">4XX HTTP status code<\/a> for a canonicalized URL has the same effect as using the \u201cnoindex\u201d tag: Google will be unable to see the canonical tag and transfer \u201clink equity\u201d to the canonical version.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Mistake #4. Canonicalizing all paginated pages to the root&nbsp;page<\/h3>\n\n\n\n<p>Paginated pages should not be canonicalized to the first paginated page in the series. Instead, self-referencing canonicals should be used on all paginated pages.<\/p>\n\n\n\n<p>Why? As John <a href=\"https:\/\/www.reddit.com\/r\/TechSEO\/comments\/ag77vi\/canonicals_and_angular_js\/\">stated on Reddit<\/a>, this is improper use of the rel=canonical.<\/p>\n\n\n\n<blockquote class=\"small\"><div class=\"quote-content\"> The main thing to avoid, since this post is about canonicalization, is to use the rel=canonical on page 2 pointing to page 1. Page 2 isn\u2019t equivalent to page 1, so the rel=canonical like that would be incorrect.&nbsp;<\/div><div class=\"quote-info clearfix\"><div class=\"quote-photo\"><img decoding=\"async\" alt=\"John Mueller\" src=\"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2022\/02\/john-mueller-google.png\"><\/div><div class=\"extra-box\"><span class=\"quote-author\">John Mueller,<\/span> <span class=\"quote-author-job\">Webmaster Trends Analyst <a href=\"https:\/\/twitter.com\/JohnMu\" target=\"_blank\">Google<\/a><\/span><\/div><\/div><\/blockquote>\n\n\n\n<p>We have a <a href=\"https:\/\/ahrefs.com\/blog\/rel-prev-next-pagination\/\">guide on pagination for SEO<\/a> and best practices if you\u2019re interested.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Mistake #5. Using the URL removal tool in Google Search Console for canonicalization<\/h3>\n\n\n\n<p>This can remove all versions of a URL, effectively deindexing your page from search.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Mistake #6. Not keeping canonicalization signals consistent<\/h3>\n\n\n\n<p>As we talked about earlier, there are many different canonicalization signals.<\/p>\n\n\n\n<p>Having different signals suggest different canonicals means that you will be relying on Google to select a canonical for you. The more consistent signals you show Google with your preferred version, the more likely it is that version will be the chosen canonical.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Mistake #7. Not using canonical tags with hreflang<\/h3>\n\n\n\n<p><a href=\"https:\/\/ahrefs.com\/blog\/hreflang-tags\/\">Hreflang tags<\/a> specify the language and geographical targeting of a webpage.<\/p>\n\n\n\n<p>Google <a href=\"https:\/\/support.google.com\/webmasters\/answer\/139066?hl=en\">states<\/a> that when using hreflang, you should \u201cspecify a canonical page in the same language, or the best possible substitute language if a canonical doesn\u2019t exist for the same language.\u201d<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Mistake #8. Having multiple rel=canonical tags<\/h3>\n\n\n\n<p>Having multiple rel=canonical tags will usually cause Google to ignore them. In many cases, this happens because tags are inserted into a system at different points, such as by the CMS, the theme, and plugin(s). This is why many plugins have an overwrite option meant to ensure they are the only source for canonical tags.<\/p>\n\n\n\n<p>Another area where this may be a problem is with canonicals added with JavaScript. If you have no canonical URL specified in the HTML response and then add a rel=canonical tag with JavaScript, it should be respected when Google renders the page. However, if you have a canonical specified in HTML and swap the preferred version with JavaScript, you send mixed signals to Google.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Mistake #9. Rel=canonical in the &lt;body&gt;<\/h3>\n\n\n\n<p>Rel=canonical should only appear in the &lt;head&gt; of a document. A canonical tag in the &lt;body&gt; section of a page will be ignored.<\/p>\n\n\n\n<p>Where this can become a problem is with the parsing of a document. Even if the page\u2019s source code has the rel=canonical tag in the correct place, many different things, such as unclosed tags, JavaScript injected, or &lt;iframes&gt; in the &lt;head&gt; section, can cause the &lt;head&gt; to end prematurely while rendering. In these cases, a canonical tag may be accidentally thrown into the &lt;body&gt; of a rendered page where it will not be respected.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Final thoughts<\/h2>\n\n\n\n<p>Many of the tools SEOs had for handling canonicalization have been taken away, such as the URL Parameters Tool and Preferred Domain setting in Google Search Console. However, there are still plenty of other signals to help Google choose a canonical.<\/p>\n<p>Signals can change over time. For instance, there used to be a signal for redirecting to shorter URLs, but it was deprecated because it had conflicts with HTTPS\/HTTP signals. It was trying to force shorter URLs while Google wanted the HTTPS versions.<\/p>\n\n\n\n<p>If you have questions, message me <a href=\"https:\/\/twitter.com\/patrickstox\">on Twitter<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>According to Google Webmaster Trends Analyst Gary Illyes, ~60% of the internet is duplicate content. Google\u2019s crawling process is highly focused on removing duplication because 60% of the internet is duplicate @methode #seodaydk pic.twitter.com\/OJ9OkP74DU \u2014 Lily Ray (@lilyraynyc) March 30,&nbsp;2022<span class=\"ellipsis\">\u2026<\/span><\/p>\n<div class=\"read-more\">Read more \u203a<\/div>\n<p><!-- end of .read-more --><\/p>\n","protected":false},"author":150,"featured_media":142289,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"wp_typography_post_enhancements_disabled":false,"footnotes":""},"categories":[329],"tags":[],"coauthors":[377],"class_list":["post-142261","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technical-seo","odd"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Google Uses ~40 Canonicalization Signals<\/title>\n<meta name=\"description\" content=\"Canonicalization is the process that search engines use to determine the main version of a page, which is what&#039;s indexed and shown to users.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/ahrefs.com\/blog\/canonicalization\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Google Uses ~40 Canonicalization Signals\" \/>\n<meta property=\"og:description\" content=\"It&#039;s commonly misunderstood.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ahrefs.com\/blog\/canonicalization\/\" \/>\n<meta property=\"og:site_name\" content=\"SEO Blog by Ahrefs\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Ahrefs\/\" \/>\n<meta property=\"article:author\" content=\"patrickstox\" \/>\n<meta property=\"article:published_time\" content=\"2022-05-19T23:11:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-03-14T04:18:48+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2022\/05\/fb_canonicalization.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Patrick Stox\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"It&#039;s commonly misunderstood.\" \/>\n<meta name=\"twitter:creator\" content=\"@patrickstox\" \/>\n<meta name=\"twitter:site\" content=\"@ahrefs\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/canonicalization\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/canonicalization\\\/\"},\"author\":{\"name\":\"Patrick Stox\",\"@id\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/#\\\/schema\\\/person\\\/14bf754248f3c561786477e4e5fd2067\"},\"headline\":\"Google Uses ~40 Canonicalization Signals\",\"datePublished\":\"2022-05-19T23:11:22+00:00\",\"dateModified\":\"2025-03-14T04:18:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/canonicalization\\\/\"},\"wordCount\":3389,\"publisher\":{\"@id\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/canonicalization\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/05\\\/fb_canonicalization.png\",\"articleSection\":[\"Technical SEO\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/canonicalization\\\/\",\"url\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/canonicalization\\\/\",\"name\":\"Google Uses ~40 Canonicalization Signals\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/canonicalization\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/canonicalization\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/05\\\/fb_canonicalization.png\",\"datePublished\":\"2022-05-19T23:11:22+00:00\",\"dateModified\":\"2025-03-14T04:18:48+00:00\",\"description\":\"Canonicalization is the process that search engines use to determine the main version of a page, which is what's indexed and shown to users.\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/ahrefs.com\\\/blog\\\/canonicalization\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/canonicalization\\\/#primaryimage\",\"url\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/05\\\/fb_canonicalization.png\",\"contentUrl\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/05\\\/fb_canonicalization.png\",\"width\":1200,\"height\":630},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/\",\"name\":\"SEO Blog by Ahrefs\",\"description\":\"Link Building Strategies &amp; SEO Tips\",\"publisher\":{\"@id\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/#organization\",\"name\":\"Ahrefs\",\"url\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/06\\\/ahrefs-logo.png\",\"contentUrl\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/06\\\/ahrefs-logo.png\",\"width\":2048,\"height\":768,\"caption\":\"Ahrefs\"},\"image\":{\"@id\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/Ahrefs\\\/\",\"https:\\\/\\\/x.com\\\/ahrefs\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/ahrefs\\\/\",\"https:\\\/\\\/www.youtube.com\\\/c\\\/ahrefscom\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/#\\\/schema\\\/person\\\/14bf754248f3c561786477e4e5fd2067\",\"name\":\"Patrick Stox\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/Screenshot-2019-11-06-at-00.57.29.pngbade1fd182f70b6825c334271c12533e\",\"url\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/Screenshot-2019-11-06-at-00.57.29.png\",\"contentUrl\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/Screenshot-2019-11-06-at-00.57.29.png\",\"caption\":\"Patrick Stox\"},\"description\":\"Patrick Stox is a Product Advisor, Technical SEO, &amp; Brand Ambassador at Ahrefs. He was the lead author for the SEO chapter of the 2021 Web Almanac and a reviewer for the 2022 SEO chapter. He also co-wrote the SEO Book For Beginners by Ahrefs and was the Technical Review Editor for The Art of SEO 4th Edition. He\u2019s an organizer for the Triangle SEO Meetup, the Tech SEO Connect conference, he runs a Technical SEO Slack group, and is a moderator for \\\/r\\\/TechSEO on Reddit.\",\"sameAs\":[\"https:\\\/\\\/patrickstox.com\\\/\",\"patrickstox\",\"https:\\\/\\\/x.com\\\/patrickstox\"],\"url\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/author\\\/patrick-stox\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Google Uses ~40 Canonicalization Signals","description":"Canonicalization is the process that search engines use to determine the main version of a page, which is what's indexed and shown to users.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/ahrefs.com\/blog\/canonicalization\/","og_locale":"en_US","og_type":"article","og_title":"Google Uses ~40 Canonicalization Signals","og_description":"It's commonly misunderstood.","og_url":"https:\/\/ahrefs.com\/blog\/canonicalization\/","og_site_name":"SEO Blog by Ahrefs","article_publisher":"https:\/\/www.facebook.com\/Ahrefs\/","article_author":"patrickstox","article_published_time":"2022-05-19T23:11:22+00:00","article_modified_time":"2025-03-14T04:18:48+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2022\/05\/fb_canonicalization.png","type":"image\/png"}],"author":"Patrick Stox","twitter_card":"summary_large_image","twitter_description":"It's commonly misunderstood.","twitter_creator":"@patrickstox","twitter_site":"@ahrefs","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/ahrefs.com\/blog\/canonicalization\/#article","isPartOf":{"@id":"https:\/\/ahrefs.com\/blog\/canonicalization\/"},"author":{"name":"Patrick Stox","@id":"https:\/\/ahrefs.com\/blog\/#\/schema\/person\/14bf754248f3c561786477e4e5fd2067"},"headline":"Google Uses ~40 Canonicalization Signals","datePublished":"2022-05-19T23:11:22+00:00","dateModified":"2025-03-14T04:18:48+00:00","mainEntityOfPage":{"@id":"https:\/\/ahrefs.com\/blog\/canonicalization\/"},"wordCount":3389,"publisher":{"@id":"https:\/\/ahrefs.com\/blog\/#organization"},"image":{"@id":"https:\/\/ahrefs.com\/blog\/canonicalization\/#primaryimage"},"thumbnailUrl":"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2022\/05\/fb_canonicalization.png","articleSection":["Technical SEO"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/ahrefs.com\/blog\/canonicalization\/","url":"https:\/\/ahrefs.com\/blog\/canonicalization\/","name":"Google Uses ~40 Canonicalization Signals","isPartOf":{"@id":"https:\/\/ahrefs.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/ahrefs.com\/blog\/canonicalization\/#primaryimage"},"image":{"@id":"https:\/\/ahrefs.com\/blog\/canonicalization\/#primaryimage"},"thumbnailUrl":"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2022\/05\/fb_canonicalization.png","datePublished":"2022-05-19T23:11:22+00:00","dateModified":"2025-03-14T04:18:48+00:00","description":"Canonicalization is the process that search engines use to determine the main version of a page, which is what's indexed and shown to users.","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ahrefs.com\/blog\/canonicalization\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ahrefs.com\/blog\/canonicalization\/#primaryimage","url":"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2022\/05\/fb_canonicalization.png","contentUrl":"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2022\/05\/fb_canonicalization.png","width":1200,"height":630},{"@type":"WebSite","@id":"https:\/\/ahrefs.com\/blog\/#website","url":"https:\/\/ahrefs.com\/blog\/","name":"SEO Blog by Ahrefs","description":"Link Building Strategies &amp; SEO Tips","publisher":{"@id":"https:\/\/ahrefs.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ahrefs.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/ahrefs.com\/blog\/#organization","name":"Ahrefs","url":"https:\/\/ahrefs.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ahrefs.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2023\/06\/ahrefs-logo.png","contentUrl":"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2023\/06\/ahrefs-logo.png","width":2048,"height":768,"caption":"Ahrefs"},"image":{"@id":"https:\/\/ahrefs.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Ahrefs\/","https:\/\/x.com\/ahrefs","https:\/\/www.linkedin.com\/company\/ahrefs\/","https:\/\/www.youtube.com\/c\/ahrefscom"]},{"@type":"Person","@id":"https:\/\/ahrefs.com\/blog\/#\/schema\/person\/14bf754248f3c561786477e4e5fd2067","name":"Patrick Stox","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2019\/11\/Screenshot-2019-11-06-at-00.57.29.pngbade1fd182f70b6825c334271c12533e","url":"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2019\/11\/Screenshot-2019-11-06-at-00.57.29.png","contentUrl":"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2019\/11\/Screenshot-2019-11-06-at-00.57.29.png","caption":"Patrick Stox"},"description":"Patrick Stox is a Product Advisor, Technical SEO, &amp; Brand Ambassador at Ahrefs. He was the lead author for the SEO chapter of the 2021 Web Almanac and a reviewer for the 2022 SEO chapter. He also co-wrote the SEO Book For Beginners by Ahrefs and was the Technical Review Editor for The Art of SEO 4th Edition. He\u2019s an organizer for the Triangle SEO Meetup, the Tech SEO Connect conference, he runs a Technical SEO Slack group, and is a moderator for \/r\/TechSEO on Reddit.","sameAs":["https:\/\/patrickstox.com\/","patrickstox","https:\/\/x.com\/patrickstox"],"url":"https:\/\/ahrefs.com\/blog\/author\/patrick-stox\/"}]}},"as_json":null,"json_reviewers":[149],"_links":{"self":[{"href":"https:\/\/ahrefs.com\/blog\/wp-json\/wp\/v2\/posts\/142261","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ahrefs.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ahrefs.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ahrefs.com\/blog\/wp-json\/wp\/v2\/users\/150"}],"replies":[{"embeddable":true,"href":"https:\/\/ahrefs.com\/blog\/wp-json\/wp\/v2\/comments?post=142261"}],"version-history":[{"count":0,"href":"https:\/\/ahrefs.com\/blog\/wp-json\/wp\/v2\/posts\/142261\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ahrefs.com\/blog\/wp-json\/wp\/v2\/media\/142289"}],"wp:attachment":[{"href":"https:\/\/ahrefs.com\/blog\/wp-json\/wp\/v2\/media?parent=142261"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ahrefs.com\/blog\/wp-json\/wp\/v2\/categories?post=142261"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ahrefs.com\/blog\/wp-json\/wp\/v2\/tags?post=142261"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/ahrefs.com\/blog\/wp-json\/wp\/v2\/coauthors?post=142261"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}