Canonicalization is Determined on Per-page Basis not Sitewide
Google ignoring the canonical tags across an entire site because of incorrect implementation would be very rare and something that a Google engineer would need to do manually. Canonicalization is determined on a page-by-page basis and uses a number of other factors than just the canonical tag, including URL information and on-page content.
Google Takes Several Factors into Consideration When Selecting a Canonical When Multiple Variations Exist
If you have a large number of variations of one URL, for example multiple parameters, Google will take into consideration a number of factors including canonical tags, internal linking and the sitemap file, before picking a canonical version.
Hreflang Not Necessary For Non-Canonical Pages
It isn’t necessary to implement hreflang on the non-canonical version of a page because it won’t be shown in search, therefore any hreflang annotation won’t be used by Google.
Canonical Tag Can be on Either AMP Page or Legacy Page within an AMP HTML Pair
If you have the rel=amphtml tag set up correctly, Google can pick up the canonical tag from either page in the pairing.
Self-referencing Canonical Tags Are Best Practice But Not Critical
It’s best practice to have self-referencing canonical tags as the canonical tag is one of the signals that Google uses for selecting the primary page in a group of detected duplicates, however, it is not essential.
Google Will Use Other Canonicalization Factors If the Canonical Is Noindex
Google would receive conflicting signals if a canonical points to a noindex page. John suggested that Google would rely on other canonicalization factors in this scenario to decide which page should be indexed, such as internal links.
Soft 404s Cannot Be Passed to Other Pages via Redirects or Canonicals
A soft 404 cannot be passed on to another page via a canonical or redirect. Google ignores the content on a page if it detects that it is a 404 or soft 404.
Use Hreflang & Canonical Tags to Handle Partially Translated Websites
John recommends using canonical tags and hreflang tags to tell Google which language version is preferred if you only have parts of a website that are translated, instead of the entire site.
Canonical Tag May Be Ignored If Pages Aren’t Equivalent
Google will ignore canonical tags where the target page and canonicalized page are different. Canonicalization is meant to be used for identical or equivalent pages only.