One thing I became recently interested in was how long it would take for a canonical URL to signal to search engines—specifically Google—which article is the original or source article. Naturally, I had about 11 articles ranking for the wrong site, so I figured I’d give it to try.
As it turns out, it took roughly two weeks for the appropriate article to rank. Part of my test including syndicating content a second time to speed up indexing process. In that case, I found that the source articles would rank about a week faster. In some cases, I saw proper ranking within 24 hours.
In the remainder of this article, I’ll talk about why I ran this experiment, what the data collection process looked like, some of the limitations of this kind of exploration, and how things turned out.
Table of Contents
Backstory
A little while back, I was growing frustrated as my website growth was declining. After all, I was under the assumption that if I just kept writing, the content would compound. Of course, that’s not always true, but I felt like I was writing quality content.
Then, I realized that some of the articles I had been writing over the last 6 months or so hadn’t been ranking. Well, they had but not for my site. See, I had been syndicating my content over the last couple years to build up my network, and it had been working. However, one thing I overlooked was the impact of that content ranking on the wrong site.
Now, I had been syndicating content on two sites: one in which I had full control over the content and one in which I didn’t. For the first site, I always made sure I had the canonical URL in the header, so Google would know which site was the original. As far as I can tell, that hint has worked for every article I have ever syndicated.
On the site in which I didn’t have control, I had asked the content managers to add the canonical URL for me. On some articles, they did. On others, they did not.
Now, if you read my update on this, you’d know that I found about 11 articles that were showing up on Google for that second site. Naturally, I was quite upset about this, so I decided to take matters into my own hands. Specifically, I reached out to the content managers on the second site to get those URLs updated.
To my surprise, all the canonical links we fixed overnight. At that point, I just had to wait.
Experimental Data
To make things interesting in the meantime, I decided to document just how long I had to wait in the following table:
Article | Date Published | Date Syndicated | Date Resyndicated | Date Indexed |
---|---|---|---|---|
How to Convert a String to Lowercase in Python (query) | 03/30/2020 | 04/01/2020 | N/A | 07/06/2020 |
How to Obfuscate Code in Python (query) | 03/09/2020 | 03/16/2020 | N/A | 07/08/2020 |
How to Increment a Number in Python (query) | 03/06/2020 | 03/11/2020 | N/A | TBD |
How to Comment Code in Python (query) | 01/17/2020 | 01/21/2020 | N/A | TBD |
8 Coolest Python Programming Language Features (query) | 01/13/2020 | 01/16/2020 | 03/03/2020 | 06/28/2020 |
How to Check if a String Contains a Substring in Python (query) | 01/06/2020 | 01/15/2020 | 06/26/2020 | 06/26/2020 |
How to Add an Item to a List in Python (query) | 01/10/2020 | 01/14/2020 | N/A | 06/28/2020 |
How to Perform a Reverse Dictionary Lookup in Python (query) | 01/03/2020 | 01/10/2020 | 06/23/2020 | 06/28/2020 |
71 Python Code Snippets for Everyday Problems (query) | 12/27/2019 | 01/09/2020 | 01/29/2020 | 07/06/2020 |
How to Performance Test Python Code (query) | 12/02/2019 | 12/10/2019 | 06/23/2020 | 06/25/2020 |
How to Format a String in Python (query) | 09/06/2019 | 09/10/2019 | 11/05/2019 | 06/28/2020 |
Now, I don’t think it’s fair to just drop some data without any explanation, so here’s what went down. On June 23rd, 2020, I got all the canonical URLs switched over.
Unfortunately, I also muddied the data a bit because I decided to syndicate some of those articles on the first site after the URLs were changed. After all, I figured that would make the process go a bit faster.
I should also mention that I didn’t check other search engines; I only checked Google. In other words, I have no idea which articles are considered the original in other search engines. I would hope that search engines would be smart enough to attribute link me to my website and my content. That said, I haven’t checked, so I have no idea if they’re faster or slower.
Data Analysis
With all that said, let’s talk about what I found. First, let’s talk about the big ticket item: how long it took for the original articles to rank. If we take a look at that table above, we’ll find that it took about two weeks for Google to start ranking my website over the syndicated website.
That said, I should warn that at the time of writing (07/16/2020), I still had two articles ranking on the wrong site. I suspect that these articles aren’t very popular, so Google has no need to crawl them. However, it’s possible that this is pretty normal. I’m not really sure.
Regardless, I think another interesting finding is how quickly the original article ranked when I syndicated the content a second time with the proper canonical URL. I assume this triggered some sort of update to the index as Google had to find a place for the new article.
At any rate, for all the articles that I syndicated a second time, I found that Google began ranking the original in less than a week—sometimes as quick as the same day! At this point, I’m tempted to syndicate the one of the two missing articles to see if there’s an effect.
If I had some time, I’d consider charting all this data out in Python, but I’m on a bit of a time crunch with grad school these days. Hopefully, this article was helpful to you!
With all that said, I’m interested what others have experienced. Have you tried adding canonical URLs to syndicated content? How did it go?
Plan Moving Forward
While the links on the first site are updated, I’m not quite happy with how things shook out. I feel like it hurt my growth in the long term. As a result, I decided to suspend my syndication agreement with the first site.
I ended up making this decision for two reasons:
- I wanted more control over my content. After all, I wrote it.
- I’m worried that I signed some weird agreement that gives them ownership over my work for free. If I pull out now, I should be safe, right?
At any rate, I’m really just bummed with how things turned out. Writing a blog is already a bit of a rough experience because you don’t see the return on your time for awhile—sometimes up to 8 months after an article is published. For someone like me that is seeing really slow growth (or rather a gradual decline), it’s a bit frustrating to lose out on that progress.
Oh well, if you’d like to help the site grow a bit, feel free to check out my list of ways to do that. There, you can find my Patreon as well as other fun things like the newsletter and my YouTube channel. Alternatively, check out some of these related articles:
Thanks again for stopping by!
Recent Posts
One of the core features of modern programming languages is functions, but did you know Python has them too? Let's take a look!
Python has a cool feature that allows you to overload the operators. Let's talk about what that means and how you might use it!