The purpose of this post is to discuss an SEO issue surrounding the use of the SWFAddress deeplinking library usually found with Flash and Ajax websites. If you only have a moment to stay, the gist of the article is that SWFAddress is not a magic bullet fix for SEO, although it is a wonderful enhancement for usability. We examine the use of SWFAddress with Flash applications, and discuss why virtual URLs with a # tag such as those generated by SWFAddress present problems for SEO even when supported with static HTML pages for search engines. The main reason given for the SEO problem has to do with search engines not crawling past the # tag in URLs, typically causing websites using SWFAddress to suffer from a lack of deeplinks because the # tag appears early in the URL. Subpages of sites using SWFAddress can have trouble ranking because deeplinks are important to a balanced link profile in SEO and help to denote page importance to search engines.
First, what is SWFAddress?
SWFAddress is a small but powerful library that provides deep linking for Flash and Ajax. It’s a developer tool, allowing creation of unique virtual URLs that can point to a website section or an application state. SWFAddress enables a number of important capabilities which are missing in today’s rich web technologies including:
- Bookmarking in a browser or social website
- Sending links via email or instant messenger
- Finding specific content with the major search engines
- Utilizing browser history and reload buttons
What types of SEO problems exist with using SWFAddress?
Perhaps the biggest SEO issue with SWFAddress arises from the use of # tags (also known as ‘sharp’ or ‘pound’ symbols) in virtual URLs. To a search engine crawler, any part of a URL that appears after a hash ‘#’ tag will not be indexed and is essentially invisible.
Let’s have a look at a real life example using the SWFAddress SEO demonstration website so that we can see this problem in action.
Heading on over to the homepage and it’s good news all around: no URL problems discovered.
And now, let’s navigate to the ‘Portfolio’ page. Uh-oh, what is that # tag doing in my URL?
We’ve just discovered an SEO problem. As discussed earlier, search engines will only crawl up to the # tag, which we’ve pointed to with a red arrow above (as if you needed me to tell you that).
You may be thinking: what about if a static HTML equivalent content page created specifically for search engines? In the case above, that’s exactly what is happening – and you would have an excellent point as a static HTML page is a best practice in this instance. However, static HTML substitute pages are not absolutely ideal for SEO, and to explain why, let’s have a look at the static HTML page for the above example:
Here’s why static HTML substitute pages are not ideal for SEO:
Any natural links earned to the SWFAddress page will use the # tag in the URL. Search engines will not index past the # in the URL, therefore, what tends to happen is the site fails to receive deeplinks properly.
For example, let’s say we want to link to:
Search engines would only see a link to:
As a result, the link to the ‘Portfolio’ page is treated like a link to the SEO folder, hindering the ability of the ‘Portfolio’ page to rank as well as it could have by not properly receiving link equity. To address this, manual link building for the static HTML pages would need to take place.
Hope you enjoyed the article, and that you found it helpful for your Flash and SWFAddress SEO projects.