My website is no longer shown in Google Search after using canonical urls

About a month ago, I thought it was good practice to use canonical URLs for all my blog posts. Because I thought Google would be creating them anyways. However, I found out that as soon as you create a canonical URL for any of your blog posts, that post will be removed from your sitemap.xml. I found this out 5 days later after I already added canonical URLs for every blog post.

For your information, I gave every post a unique canonical URL, so they were not linking to the same post. So the sitemap-posts was empty for over 5 days. After I noticed it I fixed it immediately.

Now when I check Google Search Console, all my pages are indexed. However, my posts have not been visible in Google Search for about a month. I am really clueless on why this is taking so long and I am wondering if there is still something wrong with my website. My website exists for about 2-3 years and I had top-ranked Google Search results before. So I am certain that setting the canonical URL mistake removed my posts from Google Search. Any help would be much appreciated because I am not sure what to do anymore.

Oh that’s what was happening to me. After reading this post I just removed my canonical urls. Immediately the sitemap got updated. Wow. I started publishing on ghost recently, and I always used canonical urls, and that’s why my sitemap never showed sitemap-posts.xml url, or any posts including the tags of the posts. I hade to generate custom sitemap for my site, and serve it under mysite.tld/sitemap.xml using a very complex method. Now it is all good.
I would still need to serve some custom sitemap because I have some pages serving as my site.tld/service … Which are custom html sites. So ghost doesn’t generate sitemap for those part of the website.

1 Like

I am glad that I was able to help you out! For the others reading this, my problem still persists.

Your site does appear in Google search. But it might be getting ranked low

1 Like

Even with wrong search

1 Like

Generally, you should never manually set your canonical URL in the editor, as it will be automatically set to the post’s URL.

The major reason to set a custom canonical URL different from the post’s URL is when you’re publishing content that’s syndicated from a different source. For example, your write for another publication but share the same content on your site. In this case, the other publication is the content’s source of truth (canonical), and your site is just a second version of it.


But this only applies when you add site: in front of it. Otherwise, it is not showing up. Before I made the mistake some of my posts were ranked on the first page, some even on the first place. So, perhaps Google started seeing my website as a new website, because I lost all my posts in the sitemap.

I think this graph will give you some insight:

1 Like

Thank you, for your response and explanation. Yes, that makes sense, but because the canonical URL is hinted inside the input field I thought I might as well fill it in. It was a mistake on my end, however, it would be nice if there was a warning message telling you that this would remove the post from your sitemap.


I hope the problem will be resolved soon, but I really do not know what to do since the problem already exists for over a month now. The best thing I can find on the internet is to be patient and wait.