Canonical from HTTP to HTTPS issue means that HTTP page has a rel=canonical attribute that points to the HTTPS page.
The importance of the issue
Search engines make all efforts to ensure website security, so applying the HTTPS protocol is currently highly preferable, though not required. HTTPS’s application is considered a good practice and the criteria of the website’s favorable ranking.
When the HTTP protocol is applied, the Chrome browser that is preferred by 61% of the Internet users, according to w3counter, sends an insecurity notification able to affect the user’s impression about your website, as well as its conversion and search positioning.
The value of the href attribute for the link tag with a rel=canonical attribute <link rel=” canonical” href=” https://site.com”> forwards a search engine to a page with a similar or backup content you consider as the main one. In its turn, the search engine defines the main version of the page. For this, it might consider or ignore the meaning of the canonical tag. As a rule, the canonical tag can be ignored only when the contents of both pages differs significantly.
To put it simply, you notify the search engine that the main version of your page is not the current page applying the HTTP protocol, but the one applying the HTTPS protocol. A search engine defines pages using different protocols as separate pages. There might be various reasons for this and, consequently, multiple ways of fixing the issue.
How to check the issue
Using any browser is enough to check the issue. Open the source code of the flawed page. To do this, click the right mouse button at any spot of the page and choose “browse the code” option, or apply an online tool https://codebeautify.org/source-code-viewer
Find the link tag with the following rel=canonical attribute <link rel=”canonical” href=” https://site.com “>. Check the protocol specified in the href attribute.
How to fix this issue
Note that the specification of the https version in the rel attribute with the canonical value of the link tag can be made intentionally.
If a HTTPS version of the website is set, it is necessary to add an option for automatic forwarding. Various hostings can apply various options. When generating an option, it is necessary to find out what kind of a server is used. Generally, apache or nginx are used. Read the guideline before starting a migration from http to https https://www.searchenginejournal.com/https-migration-guide/195103/
If the https website version is not set or is displayed incorrectly, change the protocol specified in the href attribute to http.
current value: <link rel=”canonical” href=”https://site.com”>.
new value: <link rel=”canonical” href=”http://site.com”>.
Detect HTTP pages with HTTPS canonical
Crawl the website to collect all HTTP pages that have HTTPS canonicals