A few years ago Google posted a proposal for making ajax crawlable [1]. You'll need to read it to get the details but basically if you used a special URL it would return only the data result not the view. To quote,
In summary, starting with a stateful URL such as http://example.com/dictionary.html#AJAX , it could be available to both crawlers and users as http://example.com/dictionary.html#!AJAX which could be crawled as http://example.com/dictionary.html?_escaped_fragment_=AJAX which in turn would be shown to users and accessed as http://example.com/dictionary.html#!AJAX End quote. Here is my comment [2]. I think SEO search results come down to popularity. Is everyone linking to your page? It might have something to do with Google analytics. How long people stay on your page. But as a content creator I think it's up to the search engine to find and index my site. I'm not going to do the search engines job. It's their job to find my site and index it. That doesn't mean I won't help them. I think if we focused on making amazing Flash and Flex websites that people want to visit the search engine companies would spend more time on making their search engines work with it. Solutions • Link Manager type of support with some or all of the below [3] [4] [5] • Site map that has user URL and content URL • Site map that has flash / ajax enabled URL, html page URL and content URL With both of the above solutions we could create or have a gui to create a sitemap.xml file that defines the fragments our apps listen for and the redirect links to get the raw content. We could also have the compiler or ant task support the creation of multiple HTML wrapper pages that are identical to the main wrapper page except in their name and / or the option of embedding the content into the page (if html) or if dynamic content it would point to a dynamic page. Example sitemap.xml <site> <page name="home" url="http://example.com/main/#home" rawcontent=" http://example.com/main.php?page=home" html="http://example.com/home.html" /> <page name="products" url="http://example.com/main/#products" rawcontent=" http://example.com/main.php?page=products" html="http://example.com/products.html"/> </site> Site.xml ex 2 <site> <page name="home" url="http://example.com/main/#home" ajax=" http://example.com/main.php?p=10" /> <page name="products" url="http://example.com/main/#p=10" ajax=" http://example.com/main/main.php?p=10" /> </site> If we supported something like this and just started using and uploading it in our projects it might remove the complexities for the search engines. [1] http://googlewebmastercentral.blogspot.com/2009/10/proposal-for-making-ajax-crawlable.html [2] http://googlewebmastercentral.blogspot.com/2009/10/proposal-for-making-ajax-crawlable.html?showComment=1256080765377#c3966241161139678970 [3] http://www.assembla.com/wiki/show/flexcapacitor [4] http://www.youtube.com/watch?v=dnrx30KahIc [5] http://www.youtube.com/watch?v=KmIz6Upc6dY