indexing.canonical-targetA canonical link points at a page that can't be indexed
Why it matters
A canonical link says "index that address instead of this one". If that address is missing or is itself set to noindex, the instruction can't be followed: you have told search engines not to index this page, and pointed them at one they can't index either. Google's advice, from its post on common canonical mistakes: "Double-check that your rel=canonical target exists (it's not an error or 'soft 404'). Verify the rel=canonical target doesn't contain a noindex robots meta tag." A canonical that points at an address which redirects sends two signals that disagree, which Google's current guidance warns against in general terms; that one is our reading, so it is a warning. The usual cause is a canonical written before a redesign or a move to https, still pointing at the old address.
Sources: 5 common mistakes with rel=canonical (Google, 2013: the current documentation doesn't repeat it, and nothing contradicts it); How to specify a canonical URL. Google treats a canonical as a hint and may disregard a broken one; it states no other consequence.
How to fix it
Point each canonical at the final, live address of the page: the one that answers 200 with no redirect, exactly as it appears in the address bar (https, with or without www and the trailing slash, whichever your site uses).
<link rel="canonical" href="https://www.example.com/cakes/" />If many pages are affected, the address is built wrongly in one place: the site's base URL setting in the CMS, or the SEO plugin's canonical template.