Since start of April, we have many pages such as:


for which Google continues to select this page as canonical:


(Replace "example" with "signalogic" to get the correct link). Our pages all have an https rel=canonical tag, which Search Console correctly shows as User-declared canonical.

Why is Google indexing persisting in this ? The two pages are related only in that they are different products. The first page contains a brief mention and link to the second. They each contain different, unique content; no human would call them identical. Is what we declare as canonical not "credible" or believable in some way ? Somehow Google is compelled to the unrelated page. What method do I need to get past this ?

Update. As of 7Jun19 the problem still persists. It's actually worse, with more and more pages being deemed identical to that one page, such as this one which is even more different:


Clicks are decreasing by the day due to this.

Any advice appreciated on how to "break" Google's attachment to an incorrect canonical page.

Update 2: Per advice in comments, I changed index.pl?page= to gen.pl?p= in case the Google canonical page algorithm was doing something with site indexes or pagination. That produced no change; results still as noted above.

2 Answers 2


Let me start by saying I have no idea what Google is doing. No one does. I think probably not individuals at Google.

With that said, my best-guess would be that Google is misinterpreting your URLs' use of parameters to indicate location, possibly because it's all derived from an index.* page (pretty universally associated with a single homepage).

That shouldn't be a problem, as many websites use this type of convention. Wordpress, for example, often uses index.php?post_id=1234.

I'm pretty sure that gets inserted as a <link rel="permalink" rather than a <rel="canonical" in most cases though. Also, it's Wordpress so Google probably has someone manually checking any issues there.

I don't know what your site is doing under the hood, but a safe play would be to have urls like /index.pl?page=hw simply be /hardware/.

So, "I don't know why it's not working, but that'd almost certainly fix it"


I think re-naming the script to page or something less associative would be a solid approach—though only within the frame of your existing approach.

At the very least, you should generate a sitemap and add that to the Google Search Console to ensure GoogleBot knows where your pages are. For sites built on popular frameworks, that's not as essential a step, but still shouldn't ever be skipped unless you have a reason.

Sitemaps are kind of an "I might be doing something you don't understand Google, so here's everything laid out explicitly for you to find." Provided you adhere to common sitemap structuring conventions.

  • Thanks @theeastcoastwest. I use the index.pl script to generate <head> sections, ensure correct rel canonical tags, add some footer html with copyright info, etc. So it's essential to the site's operation. Do you think renaming the script would accomplish the same thing ? Also I finally got a Google webmasters forum reply, and one of the suggestions was to change the "URL Parameter tool" setting for the "page" parameter (which Google seems to automatically recognize) to index "Every URL" instead of "Let Googlebot decide". Now resubmitting 20 or so pages for indexing, see what happens Jun 8, 2019 at 20:11
  • @Jeff See the UPDATE to my answer
    – alphazwest
    Jun 8, 2019 at 20:17
  • Thanks again @theeastcoastwest. "I think re-naming the script to page or something less associative would be a solid approach" ... do you mean renaming the script or the 'page' parameter ? Or both ? I think you mean something like: example.com/gen.pl?page=xx but I have control over both Jun 8, 2019 at 20:27
  • The point would be to eliminate all mention of the term index since it's so readily-associated with home page. I've got to say though, it's a wild guess as to whether or not that'd work. Having templates for page structures like site.com/page/ and importing the data from your index.pl script would be much safer in terms of SEO. My go-to rule is: imitate formats the majority of well-ranking sites use and don't ever try to be too clever.
    – alphazwest
    Jun 8, 2019 at 20:32
  • yeah for sure I don't want to be too clever. I need the script though because otherwise it's too many pages for me to handle when it comes to keeping up with things like mobile friendly and rel canonical tags. I don't understand your template page comment ... already I have .htaccess redirects for xx.html to index.pl?page=xx, are you saying to somehow rename final output back to xx.html or just xx ? Jun 8, 2019 at 20:45

After a few months time and effort, I have managed to work around Google's canonical page selection problems. I posted a step-by-step procedure here:

Google selecting wrong canonical

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.