If SEO is important to you, then you probably already know about rel=”canonical” links, which we'll refer to as canonical URLs. Introduced in 2009, canonical URLs signal to search engines as a “very strong hint” toward which URL a page’s contents should be credited. It is located in the <head> of a web document, and looks something like this:
<link rel=”canonical” href=”http://example.com/page.html”/>
Traditionally, canonical URLs have been used to prevent duplicate content. If you have multiple variations of a page or syndicate content to other sites, you’ll use canonical URLs to tell search engines which page is the main version. Google’s Panda update in 2014 cracked down hard on duplicate content, so canonical URLs have been used to say to Google and other search engines that 1) This is my content! and 2) This specific URL is the original content.
Since many Ceros clients embed their interactive content using iFrames, we wanted to find a way to pass credit to the page on which each experience is embedded. While Google's support documentation on canonical URLs suggests a wide variety of uses for dynamic URLs, multiple URLs, multiple subdomains, and syndication, there is nothing listed about iFrames (in fact, the top Google search result for rel canonical iframe is a forum question we asked back in June 2015).
To add a canonical URL to your Ceros experience, open the Settings panel in the Studio. You'll find the Canonical URL field under the SEO tab.
Rel=Canonical: The Experiment
So we ran an experiment to understand: what happens if you place an iframe on a page, then point the iframe’s canonical URL to the parent page URL? Will Google view the iframe as part of the page it is embedded on?
We created 2 pages:
- Parent Page: a web page with a unique page title and no text
- Iframe Page: a web page with a unique page title and body copy, both completely different from the Parent Page
Then, we pointed the canonical URL of the Iframe Page to the URL of the Parent Page, and embedded Iframe Page on Parent Page. Next, we submitted both pages to the Google Index via Google Webmaster Tools. After a few days, our suspicions were confirmed: querying the Iframe Page’s unique page title showed a Google result for the Parent Page, but included the Iframe page’s unique page title.
Our experiment confirmed that Google and other search engines will typically honor canonical URLs, even in the case of an iFrame pointing to the page it is on. Armed with this knowledge, we decided to provide the ability for Ceros users to customize the canonical URL on any of their Ceros Experiences.
Canonical URLs in the Wild
There are a few important notes to keep in mind before using canonical URLs. They are powerful, so please remember the following:
- Any page that has rel=canonical pointing to another page will be de-indexed by search engines. It will be crawled, but the page rank will be passed to the canonical URL.
- Canonical URLs are received as a strong hint by significant search engines and social networks, but may not work 100%. That said, we’ve seen a 100% success rate so far.
- Typically, 301 redirects are preferred over canonical URLs, but that won’t work for iFrames, as it would create an infinite loop.
So, what happens when you add a canonical URL in an embedded Ceros Experience? Let’s take a look at a live example.
On the Ceros Blog, we wrote a blog post that includes an embedded Ceros Experience. The experience is part of the blog post, and we want Google to see the content that way. Without a canonical URL pointing from the Experience to the blog post, Google will see 2 separate pages.
Embedded Ceros Experience:
Canonical URL added in Experience Settings:
Using canonical URLs, we now see Google giving the blog post credit for the crawlable content inside the embedded Experience. Keep in mind that crawlable content primarily applies to everything rendered in the NoScript tags of your Experience, so make sure to include image alt tags where applicable, or even customize the NoScript of your Experience to be more descriptive of the content inside.
By default, Ceros Experience’s canonical URLs will point to themselves or to the experience located on your vanity domain, but sometimes you may want to customize them as described.
When does it make sense to customize your Ceros Experience’s canonical URLs? There are several use cases for customization and other times when you should leave them untouched.
- Duplicate content: You clone an experience and change a few things, keeping both experiences live. Point the canonical URL of all the clones to the main experience, so that only one experience is indexed by Google. E.g. if URLs are
“https://view.ceros.com/example/p/1” & “https://view.ceros.com/example-variant/p/1”, then the canonical URL would be “https://view.ceros.com/example/”.
- Embedded content: You have a Ceros Experience on your domain and want credit for it. Just point the canonical URL to the respective parent page on your domain. E.g. if the experience “https://view.ceros.com/example/p/1” lives at “https://www.example.com/”, then the canonical URL is “https://www.example.com/”.
- Gated content: Instead of disabling SEO for your gated content, use canonical URLs to point the content to the relevant landing page. E.g. if the gated content in Ceros is “https://view.ceros.com/example/p/1” and the landing page is at “https://www.example.com/landing-page”, then the canonical URL would be “https://www.example.com/landing-page” and all SEO credit from the Ceros experience will be passed to the landing page.
- Social sharing: You create various URLs with UTM parameters on them or other URL parameters; to make sure that these are all viewed as the same page by Google, you’ll want the canonical URL to point to the main page. For e.g. if the URL is “https://view.ceros.com/example/p/1?utm_source=facebook”, then the canonical URL would be “https://view.ceros.com/example/”.