Google Webmaster Central Blog - Official news on crawling and indexing sites for the Google index

Best uses of Flash

Thursday, July 05, 2007 at 3:15 PM



We occasionally get questions on the Webmaster Help Group about how webmasters should work with Adobe Flash. I thought it would be worthwhile to write a few words about the search considerations designers should think about when building a Flash-heavy site.

As many of you already know, Flash is inherently a visual medium, and Googlebot doesn't have eyes. Googlebot can typically read Flash files and extract the text and links in them, but the structure and context are missing. Moreover, textual contents are sometimes stored in Flash as graphics, and since Googlebot doesn't currently have the algorithmic eyes needed to read these graphics, these important keywords can be missed entirely. All of this means that even if your Flash content is in our index, it might be missing some text, content, or links. Worse, while Googlebot can understand some Flash files, not all Internet spiders can.

So what's an honest web designer to do? The only hard and fast rule is to show Googlebot the exact same thing as your users. If you don't, your site risks appearing suspicious to our search algorithms. This simple rule covers a lot of cases including cloaking, JavaScript redirects, hidden text, and doorway pages. And our engineers have gathered a few more practical suggestions:

  1. Try to use Flash only where it is needed. Many rich media sites such as Google's YouTube use Flash for rich media but rely on HTML for content and navigation. You can too, by limiting Flash to on-page accents and rich media, not content and navigation. In addition to making your site Googlebot-friendly, this makes you site accessible to a larger audience, including, for example, blind people using screen readers, users of old or non-standard browsers, and those on limited low-bandwidth connections such as on a cell phone or PDA. As a bonus, your visitors can use bookmarks effectively, and can email links to your pages to their friends.
  2. sIFR: Some websites use Flash to force the browser to display headers, pull quotes, or other textual elements in a font that the user may not have installed on their computer. A technique like sIFR still lets non-Flash readers read a page, since the content/navigation is actually in the HTML -- it's just displayed by an embedded Flash object.
  3. Non-Flash Versions: A common way that we see Flash used is as a front page "splash screen" where the root URL of a website has a Flash intro that links to HTML content deeper into the site. In this case, make sure there is a regular HTML link on that front page to a non-Flash page where a user can navigate throughout your site without the need for Flash.

If you have other ideas that don't violate these guidelines that you'd like to ask about, feel free to ask them in the Webmaster Help Group under Crawling, Indexing, and Ranking. The many knowledgeable webmasters there, along with myself and a cadre of other Googlers, will do our best to clear up any confusion.
The comments you read here belong only to the person who posted them. We do, however, reserve the right to remove off-topic comments.

47 comments:

Karol Krizka said...

This is probably the most important thing for any web designer to know, flash is not for entire webpages! It's also hard to navigate through, slow and for those of us with 64bit Linux computers, it's non-existent.

Thank you for this post! Hopefully people will listen to Google :)

SEO Content Pros said...

working in a company where many of our sites are flash-heavy, it scares me to think of how many sites out there are not getting their content properly indexed, or possibly pulled from serps after being mistaken for spammy garbage. spread the word!

Universal Web Services said...

Designers should also weigh the advantages of Flash against the compatibility of animated GIFs. Wherever it is acceptable to use an animated gif, you'll be able to offer alt text on the img tag to help out the spiders. The ability to read animated gifs is also built directly into all popular web browsers. All that said, flash certainly is far more powerful. It's always good to know what's available though.

Jason said...

I think the best use of flash is to use SWFObject http://blog.deconcept.com/swfobject/ because it starts with the plain HTML alternative and your HTML content is only replaced if the user has the proper version of flash player installed using javascript. Not only does this allow you to give alternative content to those who don't have the version you have programmed for, but is extremely spider friendly, since the typical spider won't run the javascript. (Similar concepts used with sIFR). Just make sure that your alternative content matches the content within your flash movie as accurately as possible without using flash, this way you are not being biased to those who don't have flash and you aren't being deceitful to spiders.

Fili said...

Thanks Jason, I agree completely.
However this could be considered as cloaking:

Serving a page of HTML text to search engines, while showing a page of images or Flash to users.
http://www.google.com/support/webmasters/bin/answer.py?answer=66355

webmaster said...

Isn't it time to accept that there are sites (e.g. depending on audiences) for which it perfectly make sense to offer full flash sites? The same is true for AJAX based sites. All the old arguments about inaccessibility are proven wrong by now (all depends on craftsmanship of the designer) and there are ways to support things like browser button support, deep linking etc (although I would expect browser makers to make things a little easier in the future, now that there are so much AJAX and Flash sites enriching the Web)

And if we all could agree to that, well at least to some extend ;-), that then maybe Google (and the other SE comps) could come up with a simple method that would allow designers/owners of Flash sites to simply offer non-flash enabled visitors a location to read the (same) content without the flash layer and without them being forced to use any tricks that might get them (undeserving) in trouble by the SE algos.

I am thinking on something like the alt attribute of an image tag, e.g. an altsrc attribute that could be added to the object and embed tags. Another option would be to add an entry to robots.txt stating the location (entry-point) of the alt content. Or maybe this could (also) be achieved by introducing an meta tag that tells the location off the alt content.

Why doesn't Google (or others) come up with such a solution?
Then everybody could be happy and every web designer could start making choices based on what's the best solutions for their customers and their target audience; maybe being an old school (X)HTML site, an AJAX based site, Full Flash site, a combination or even a text only site, or whatever. For every audience there is a fitting solution. Search Engine indexing shouldn't be a criteria in the choice for which technology to choose.

Dear Google Peeps, I beg you, give us a real solution and please let *US* make the choice of which technology we should and shouldn't use!

...please ;-)


Regards to all,
Benny

sixside said...

Thanks for posting this. I just tried to resurrect an old thread I started about making Flash sites accessible and SEO friendly on on the Crawling, indexing, and ranking Group.

The post is related to our recently published technique on how we optimize Flash sites for search engines.

If someone in the know could comment on our methods I'd greatly appreciate it. Most everything I've heard thus far on the topic seems to indicate that what we are doing is legit (not to mention effective).

PanKap said...

Are we saying that web application developed in flex is not going to be liked by google search?

Fulippo said...

@fili

what Jason said is not so evil. Indeed this tecnique could be used within a noscript tag instead of a plain div. Thus, the replacement is semantically correct and it shouldn't be considered cloaking by googlebot.

The important is that the same content as flash is provided.

Rob McKeown said...

As far as Flex goes, rememeber that Web Applications are different than web sites. Not all web apps need to be searched.

As far as flash sites go, one method is to store your content outside of the flash site in xml files for example. Then check for the flash plugin using something like the scripts that flash and flex builder generate and give the flash site (which loads the xml) to those users. You can also transform that xml with an XSLT and output it in the NOSCRIPT tag for use by search engines. So you get the exact same content visible by everyone who matters.

James said...

I tend to use a deep link method which allows me to call up any page within my flash site. I then actually create a pseudo html page for each page in the site, embedding the swf & deep linking to the specific page. I can then add meta tags etc that are specific to each page within the flash site, but still retain the benefits.

kapouer said...

Another original way is to make your site in html, then render it in flash... it's the step after sifr... have a look at
the selmer web site
There you can desactivate flash in the "Outils" drop down menu.

Carlos said...

Well,

I do like Flash. It creates some great grafics. But, I Avoid it, since the seo method´s sugest it´s bad pratice.

Sorry about my sad English.

beussery said...

Adam & Mark,

Perhaps it is also worth mentioning that "alternative" content is a function of the ALT attribute and not the DIV. Either way, thanks again for your time as well as personally addressing this critical issue!

-Brian

Natural said...

There are three search engine friendly solutions to using Flash on a site:

1. Create a HTML version of the site. This is normally only done if an entire website is built using Flash as it is quite resource intensive.
2. Use a Noscript tag to display the unindexable content. This means that users will see the Flash file, but search engines will index the content within the Noscript tag. You must be very careful to only replicate the content in the Flash file and DO NOT try to stuff keywords in here.

3. Use the SWFObject method which is similar to the above Noscript method. If the user arriving at your site (be it search engine or person) has flash installed they will be displayed the Flash, but if they don't have Flash then they will be shown the text mark-up in the same div as the Flash file.

None of the above methods are seen as cloaking to search engines and you will not be penalised unless you try and add additional keywords, links, etc. into the Flash replacement. Cloaking refers to the whole of a webpage being cloaked and then redirecting users to another page, but methods 2 + 3 only replace the div where the flash was. The rest of the webpage is displayed correctly.

Matt said...

In my experience, mixing Flash with HTML is the way to go, just like described here. Use flash for pictures/slideshows, video, audio, etc. Keep it to multimedia, and build your HTML page w/ the important text around it for maximum accessibility.

WorldMaster said...

I like flash,Thanks.

song's webdesign said...

Glad that I read this post. I do work with a lot of Flash heavy sites. Now I can say a little bit more specific with my co-workers and my to my clients. It was really helpful. Also I will blog this post so I can share it with my co-workers.

Bhupendra said...

How would Google treat the sIFR? similar as Cloaking?

I have seen some Webmasters using sIFR to display text in Heading tags to the spiders while rendering flash to the users? Isn't it cloaking?

laurentsj said...

THere isn't any mention of Googlebots actually reading the metadata embedded inside Flash.

Does Google read it or not ?

Many thanks for any info.

Jason said...

Here's the deal...
posting non-flash content that is equal to the flash that replaces it should not be counted by Google as cloaking. Google can't see flash, we've already established that. So in the end, what google sees and what the average viewer sees will always be different even if there is no alternative content. By adding alternative content for those without flash (including google) you are actually making the user experience and googlebot experience more similar (not less, which is what cloaking is).

If google counts flash alternative HTML as cloaking it's google's fault, not the webmaster's and google needs to fix it.

Tom Foley said...

Thanks for the thought process on using Flash and not turning off the googlebot or customers. I am going to make sure that my designer has that openess on our page.
comments welcomed
www.thebanksofsaline.com
Tom@thebanksofsaline.com

kolomontreal said...

Hello Team Google webmaster:

I am really happy for all your move, all your step. I am one of the old generation using Computer since 1986.

No one didn't predict where we are now. And because of it's a Network of Network, the possibility it's unlimited , like sky. Our responsibility to support the Google project. Now it's not only a search engine. It's a portal for connected to connector...
I have a quick question. I Have a web site designed with Flash some version browser didn't accept flash...
Flash put the design of web sit in an other way.

Thanks for any help.

Best regards,

M. Aulida Valery alias Kolo
CEO, Founder Multicoaching
Nun's Island, Quebec, Canada

JMay said...

so, if the links Google grabs out of the swf file are equivalent to the links in the noscript section, then the page is deemed "legal". However, I never hard-code the links in my flash They are created from xml downloaded by the flash. They might even be created by concatenating various strings in actionscript. I don't think the googlebot can see them. Does this means my web pages will be considered suspicious?

Should I put some hard-coded links in my flash file that match the links in my noscript, then make them invisible in the flash (assuming they're not the normal content I want to display)? In other words, do I need to cheat in order to appear not to be cheating? Should I take the exact content in the noscript section and plop it into a hidden field in the flash and bingo, I'm good?

Also, I wish Google had a tool where I could submit a page, it would immediately test that page and tell me whether it is kosher.

The Zen of SEO said...

Flash can be such an Xtra for your website if it is done by a flash wizard. I used to build flash websites and now not anymore. With millions of new websites coming on the net everyday, I want be found in the first 3 search results... flash just doesn't get my sites there.

Jurgen Kleykamp
CEO ZenDesign

James said...

Just make sure that your alternative content matches the content within your flash movie as accurately as possible without using flash, this way you are not being biased to those who don't have flash and you aren't being deceitful to spiders.

Posted By: James Shirley - Blackpool Web Design

FunWadi said...

Thank you. That's great tips. I use flash on my website www.funwadi.com and now will try the flash part search engine friendly to be crawled in better manner.

etoxin said...

my two cents;

i'm a flash designer, i feel that google is holding the advancement of the internet BACK. There are some amazing flash sites out there i'm talking ground breaking in script and creativity. these sites struggle on the serp's and its googles fault. I think google should pull its finger out of it robotic a*** and fix this problem. Flash is no longer a small thing its huge(massive) medium. Please google show us the light. Google see flash it reads everything inside it. use the swf2html tool from adobe to see what google see's inside your flash. What google needs to do is give these sites a keyword handicap. who's going to create a flash spam site really. from that we can establish that flash is pretty trust worthy. so rank it. they rank pdf's highly. bring on the Flash.

My solution. Keyword Handicap on flash files.

keep swfing,
Adam,
etoxin design
(struggling to be indexed flash designer)

Cristopher said...

Hi!!!
I would like to thank for the website, it's wonderful, I am web designer (begining) and work on BH Site www.bhsite.com.br - Hospedagem de Sites (Web Hosting) and this site is very good to me, I'm brazilian and always I can I come here to learn a lot...
Congratulations

yellow said...

i think this article could be interesting for you all:

http://blog.space150.com/2007/1/11/faust-flash-augmenting-standards

thank you

SEO chat said...

I've got a client who requires a to show a disclaimer for certain pages on the site to ensure that the people looking at the content are eligible.
how could this be done in a search engine friendly way without being seen as cloaking?
Please help!

Snazzy said...

I don't understand what is actually wrong with having an html based website. Are you trying to fool arround with your customer by giving your website a fancy look? I would say, we customer are not that stupid anymore. We wan't EASE not FANCY looks.

Thanks Google

Jex Analytics said...

I have just finished turning a site that I did back in 1998 from Flash into HTML because the company is showing virtually NOTHING in the Search Engines.

*Sigh* If we'd have known then what we know now.

HMJust said...

Thank you for a good post, however a couple of friends and I are discussing some of the possible uses of Flash to display headlines.

I was wondering how Googlebot (and you :) view the practice where an HTML element contains text perfectly visible to the user, but that text is replaced by a Flash representation of exactly the same text?

Like

[h1 id="replacethis"]A Headline[/h1]
[script]replacewithflash('replacethis', 'urlforflash')[/script]

etoxin said...

RE:Javascript swap and replace

I have used this practice a lot. and seems to work very well. my own personal rule is. "if the text is not in the flash file don't place it behind the flash"

STREETPIMPS said...

Was on the converse site just the other day and i must say its one of the best flash sites on the net and on my computer it was a bit fast. looking at my site www.streetpimps.co.uk i put just a trickle bit of flash and the site just put all my work into shame so i decided to redo my site but the moment that i read THIS well indexing is important and my question and worry is such Flash heavy sites as the one that converse has........how are they Google indexed???

Catfish said...

JMAY, you should hard code the links in your Flash alternative because if you don't, Google will not see that link connectivity. Link connectivity is a big driver of search rankings so you are doing yourself a disservice by not making the links accessible.

Steven said...

Hi, we are a company mainly creating flash games for other non-internet related companies. Not the kind of games you can find everywhere around the web but real campagnes based on a flash game. Of course we don't have a lot of written content.
Is it ok to leave a description of the game along with details about our client for the search robots to find or is this also seen as cloaking? It is the only way we can be found on the web.
Also, if it is allowed wich way does Google approve of more? Using the SWFObject en putting the description in a div, or loading the swf in javascript using the Javascriptflashgate and putting the description in a noscript tag.
It would be much appreciated if someone of the Google team itself could clear this up for me.
Regards, Steven

Susan Moskwa said...

Hi Steven:

As etoxin said above: "If the text is not in the Flash file, don't place it behind the Flash."

Replacing a Flash game with textual content that isn't found in the Flash could be considered cloaking and a violation of our Webmaster Guidelines ("Don't present different content to search engines than you display to users"). But there must be a lot of relevant text that you could put on the page itself—visible to both human users and search engines—such as a description of the game, instructions on how to play, etc.

SimoensS said...

An interesting question was raised in a forum topic concerning this issue. In the SWFObject example found on the SWFObject website the text being replaced by the swf is 'This text is replaced by the Flash movie.' A lot of people don't change this, they just put their swfname in the code and upload it to their webspace. This results in 491.000 hits when you search that phrase on Google.
Shouldn't that be seen as cloaking as well? Why is this allowed but putting a description of your site (wich is far more accurate and useful) not?

SimoensS said...

Another question, is it allowed to put al the content in the replaced div. What I mean is, for example I have a flash website with 3 pages :home,products,contact. Is it allowed to put the content of all tree pages in the div or is it only allowed to put the content in the div of the page that is shown first (in this example the content of the home page) ?

etoxin said...

RE:

"...is it allowed to put al the content in the replaced div. ... 3 pages :home,products,contact. Is it allowed to put the content of all tree pages in the div or is it only allowed to put the content in the div of the page that is shown first (in this example the content of the home page) ?"

What i suggest is split your flash movie into 3 separate but same movies. And make the home page on each swf of one of these pages. eg. home -> page1.swf
products -> page2.swf
contact --> page3.swf

make sure that all these clips still have all the other pages. place them in their own html page. linking to the other html pages in the swf replacement content.

this will mean you will rank for each page rather than a single home page. And when a user click say "company" in google they will be greeted with the company page. and they won't have to launch a new instance of flash either.

make sure that you don't put any content in the swf replacement that is not in the swf. and style it with CSS. People still see the replacement text. so make it pretty. you can pretty much have a fully functional html site if you disable flash. once flash is installed "bam" flash site. this is what this replacement JS is for. not seo.

cheers etoxin
etoxin.net

joshstrike said...

"Many rich media sites such as Google's YouTube use Flash for rich media but rely on HTML for content and navigation."

Well, maybe that's why most rich media sites like YouTube and Google look like crap designed by a three year old. Where do you people get the gall to tell us how we should split our flash up onto separate pages, or keep our interface design bland and simple?

I realize that your goal in creating a site is purely delivering and manipulating content, but why should interface designers have to work to your incredibly low standards? In short, why should creative developers be forced to make sites navigable by a blind algorithm, just to conform to the unfinished piece of hackery that's your spider? Google's sense of self importance is staggering. Who appointed you guys the lowest common denominator?

The problem is that Google is coded and run by essentially non-creative people who are not visual designers. I'm sick to death of hearing from people that they want "web 2 looking" sites that "look like google" because that's what's hip. Your site looks cheap and crappy and it's your engine that people want, that's all. If your engine can't do the work of navigating richer content, then it's a technical problem on your end, and it's offensive for you to turn that around and try to restrain designers from building new experiences because of constraints imposed by your own lack of imagination.

Creative interface design is the next frontier in web development. Look at the enormous popularity of SecondLife or WoW...bringing experiences like that into the browser is going to take creative people ignoring your constructs and thinking in entirely different ways. By explicitly attempting to punish that, you're trying to hold back the flood. But hopefully if you guys can't write a more intelligent crawler, one of your competitors can.

Josh Dintzer
Strike Productions
Bespoke Web Design
joshstrike.com

etoxin said...

i agree entirely. as i said before. google and google only is holding the advancement of the internet back. And the sad fact is that they will probably never be able to index Rich media sites properly unless us designers follow guidelines (which i might add, don't exist).

No one ever went up to Picasso and said you have to use this 'lead pencil' for get that colour paint.

Its one of those situations that will probably never be fixed.

i've come to this solution. here it is:

-:Screw the crawler. Priority number 1 is your creative thinking.

-:If your work is that good people will find it by other means.

-:Don't make your site simply for a search engine. I've tried to make Search Engine Friendly Sites, They just look so basic and scream for something more.

-:If your making an online shop or an online library. for gods sake Flash is not the solution.

-:Creative industries work best with flash eg. Photographers, Artists, Graphic Designers, Designers in general. So make their sites flash.

-:The true reason people hate flash is because they can't create flash. Saviour the moment anybody bags out flash knowing that your a better designer than them. let them go back to their powerpoint.

-:If your want to be indexed don't use flash. Simple and clear.

-: flash is the only way to get animation on the internet successfully. Like it or lump it.

-:Silverlight will never dominate. So rest assured your years of experience with flash are safe.

lastly:

-:Don't Mix Flash and HTML. its a waste.

Dolphie said...

Hi,
Remember, websites are meant to be useful and easy to navigate - otherwise why go there? Flash sites are annoying. If someone has a flash only site - I move to another place for that which I seek. If someone does not want my business enough to create a user friendly approach - they are not worthy of my time or money. My clients are of the same approach.
Why annoying?
Once you have seen the flash it is old news - why waste time re-hashing old stuff.
Flash frequently lags a system down during the load process - once again, a client is sitting their tapping their toes - wasting their valuable time.
Flash lags systems down in general. Most people are looking at multiple sites at any given time - all of that weight and movement is resource heavy.
Flash sites are low on rich content and high on fluff. Information that can be easily found and re-found is important to many.

I may not like google - but I do appreciate that they have retained some of their more grounded personnel when it comes to spider bots. In this case, they are more in step with the majority of the internet users than some of the flash artists on this site.

joshstrike said...

The majority of internet users are no more interested in the design of the websites they visit than they are in the design of magazines they read or tv shows they watch. Meaning, they are there for the content, and in most cases, completely unaware of the design. But if you take away the design of a magazine, you have a fringe / cult product. Take away the design of a TV show and you have public access. Take away the design of a website and you have... Google? Craigslist? Something's not right here. It's a holdover from the old portals that were meant to be browsed with Lynx or Gopher. Hell, I've seen ANSI-color WWIV BBS's that looked better than iGoogle.
Yes. A lot of artists and musicians abuse Flash to slap cheap coatings on content-poor experiences that are less interactive than they should be, too preplanned, take too long to load, or run too slowly. But those intro animations and annoying menu systems are not really the point -- and would require very little indexing anyway, since there isn't much content there. What is the point is that at this moment, AS3 is far superior to any exisiting AJAX solution for providing high interactivity with content-heavy database sites. I know because I've written a huge amount of business software and db-related code in Flash that's all about serving content and giving the user a desktop-like experience in the browser. I submit that gmail, for instance, would look and run a lot better in Flash than it does in Javascript (and would have taken far less time to develop -- and be much less bug-ridden -- and probably be out of beta by now -- without having to worry about cross-browser compatability, which is an enormous issue with rich media sites in Javascript). And I believe the only reason we don't see that and a lot more real content sites done in Flash at this point is precisely because search engines are strangling the development of that content by digging their heels in and refusing to invest a relatively small amount in developing an intelligent way to index it. If they can write an engine to index PDFs, and run OCR on a million books, they ought to be able to decompile and/or blind-click and/or OCR scan Flash content, too. That the nature of this content is to be extremely flexible and interactive obviously makes this more of a challenge. But in that case, human keywording and elevated ranking of content-driven flash sites should be the norm. And what should NOT be taking place is the creation or imposition of false "standards" by which one behemoth company like Google gets to impose their restrictions on developers all and sundry simply by throwing their weight around the marketplace. This is the wrong path to take for Google, which built its company by finding better techniques to index other peoples' content that was already out there. I think it shows a Microsoft-like arrogance from them that's come along with their success, and that's why I find it so offensive.

Luke said...

I'd just like to applaud JoshStrike's comments above, I agree totally.

I'm waiting patiently for the day that Google (and my colleagues) realise that Flex is a superior presentation language to HTML.

Stop holding back the web!