Much to my embarrassment, I discovered an error with one of my sites recently when I was looking at what Bing had indexed. I don't often pay a lot of attention to Bing and once a site is indexed by Bing I have very little reason to go back to Bing and see what it tells me. After all, Google is the biggest search engine so we don't need to bother much with Bing right?
Well on this occasion Bing spotted that my rel=canonical tags were pointing back to my Home page on my three 'service' pages for want of a better term. My videography site has three wedding videography packages called: Gold, Silver and Magic.
Bing reported that these three pages were all saying that the Home page was the canonical page, consequently, Bing decided it didn't need to index them!
My limited understanding of canonicalisation is that it tells search engines which version of the page you would like the search engine to index. There are versions of any page with and without 'www' and with and without the 's' in HTTPS and you typically only want to index one of those. I use the 'www' version with HTTPS.
So why was this wrong? In Foundation 6 stack SEO Meta Tags/SEO Basics, the default for the rel='canonical' is auto-detect-on-publish meaning that on publishing it will find the current URL for the page and use that in the canonical tag. But this only works if the page filename is set up as index.php or index.html within a unique folder name. What I have had (for years) is a filename of gold.php, silver.php and magic.php and all this time Bing hasn't been indexing these pages.
The solution was to rename these 3 pages (all others were correctly named) and 'republish all'. I also removed the original pages using FileZilla to avoid any confusion or duplication as well.