In this article, discover how you can optimise the SEO of an iframe when your Qualifio campaign is embedded in your website via iframe.
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 a Qualifio campaign).
Search engines recognise 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.
Source: About the Robots <META> tag
What is the "noindex, nofollow" mention placed in the source code of my embedded campaign?
You can see this type of tag in the source code of both HTML iframes and JavaScript (JS) integrations:
This is a special tag to tell robots not to index nor scan the content of the frame for links to follow.
Why do we use those tags?
The address of a campaign page contains a specific game ID that is unique to each participant. This 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 lifespan. (So that’d be like trying to index a temporary page.)
What would happen if we deleted the "noindex, nofollow" tag?
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 was 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 had a limited life duration.
What’s more, if the participant completes an identification form to validate their participation in 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 reason why we don’t authorise the indexation of our frames.
Qualifio's SEO optimisation feature
In the Parameters of your account > Websites, there’s a box you can tick called ‘Optimise 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 authorised by Google or other crawling robots/indexing services (unlike hidden divs containing fake information, for instance).
What about minisites?
A minisite 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?
1- You can put a specific meta description on this "header+footer template" page, but beware that this description will be the same for all your campaigns.
2- If you give no description (and thus there are no meta tags for this page), your campaign’s virality elements (title and description given in the ‘Virality’ step) will be used instead.
What else can I do to optimise my 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).
Read more: