On the simplest level, an iframe is a page within a page. Iframes provide you with a way to embed content from another website inside your own website. Thus, you avoid sending a user to a different website while still providing content (such as maps, videos, PDFs… or Qualifio campaigns).
Search engines recognize the content in iframes as coming from a different source, so your page doesn’t receive any SEO content credit. So basically, iframes don’t really help or hurt your search ranking.
In this article, discover how you can optimize the SEO of an iframe when your Qualifio campaign is embedded in your website via iframe.
How it works with Qualifio campaigns
This is a special tag to tell robots not to index nor scan the content of the frame for links to follow.
Why is this tag used?
The address of a Qualifio campaign page contains a specific game ID that is unique to each participant. Which means that this address changes with each new session/participation. So if you take part in a quiz, your game ID will be different from that of your friend who’ll play right after you — thus modifying the address of the page.
This is why the page can’t be indexed: because Google would be indexing an ‘in session’ page that has a limited life-span. (So that’d be like trying to index a temporary page, which makes no sense.)
What would happen if the tag were deleted?
If you use a JS integration, deleting the tag won’t make any difference, because Google cannot execute JS. It wouldn’t make any sense to index a JS integration as Google wouldn’t be able to read the link anyway.
If you use an HTML iframe, it’s possible for Google to follow the link and execute it.
So let’s just say the page were indexed, OK? If someone clicked on the link, they’d get an error message because a lot of information would be missing from the page… since the link has a limited life duration.
What’s more, if the participant completes an identification form to validate their participation to your quiz, personal information related to their participation could be indexed by Google. Obviously, that’d be a huge data privacy issue. So that’s yet another another reason why we don’t authorize the indexation of our frames.
Qualifio’s SEO optimization feature
In the Parameters of your account > Websites Management, there’s a box you can tick called ‘Optimize SEO’.
This little feature represents an easy and simple solution for browsers that don’t support JS. It automatically adds alternate, hidden content (such as the questions of your campaign) and wraps it in a <noscript> tag — a technique that basically turns your frame into something readable and indexable by Google. (Any text within the <noscript> tag is ignored if the browser can execute JS.)
That technique is totally legal and authorized by Google or other crawling robots/indexing services (unlike hidden divs containing fake information, for instance).
What about mini-sites?
A mini-site is basically like a template that is read and saved on our server. This template is made of a header and a footer, between which we can place a widget (so an HTML iframe or a JS integration).
As stated above, the widget itself cannot be indexed. But the ‘template’ page can. How?
- You can put a specific meta description in this ‘header+footer template’ page, but beware that this description will be the same for all the campaigns published on that mini-site.
- If you give no description (and thus there’s no meta tags for the page), your Qualifio campaign’s virality elements (given in the ‘Virality’ step) will be used instead. Which is why it is very important that you properly complete this step when creating your campaign!
What else can I do to optimize my iframe’s SEO?
If you use the HTML iframe
What will come out in Google is a link to the parent page on which your iframe is integrated, and not a link to the iframe itself (the reasons why have been explained above). What you can do is ensure the quality of your parent page’s meta tags, by giving it a good title and an accurate description to be read by Google.
If you use the JS integration
Add a <noscript> tag under your JS tag and put an alternative descriptive content there (as outlined above).