5

I've started learning ExtJS 4 and Sencha Touch 2, and i really like it.

The main difference between Sencha products and jQuery(& others) is that instead of enhancing preexisting HTML, it generates its own DOM based on objects created in JavaScript.

Apps developed like this are great as intranet apps, but can you create a consumer oriented website using Sencha?(like an online store)

I see that you don't write any HTML code in ExtJS or Sencha Touch so i am wondering how can fully generated Javascript page be indexed by Search Engines like Google. As i know, the Google Bot only sees the plain HTML code.

Is there anyway to SEO a Sencha WebApp?

Kind Regards,

Dan Cearnau

Dan Cearnau
  • 817
  • 1
  • 10
  • 15

4 Answers4

1

Nothing is impossible. You just need to do some work.

1. Generate standard static page using PHP or smth else. The page should look like the page of your ExtJS app. But all links must have GET params in URL. Also PHP should aggregate input GET params.

2. Add your ExtJS app to the page. In the app you have to take into an account GET params and make proper request.

2a. If a real user opens your page: PHP generates the output, then ExtJS app starts and hides the static page and generates the dynamic output.

2b. If a crawler opens your page so JS is disabled, PHP aggregates the request according to GET params and generates the output.

You can add params to URL like #param1&param2&param3 in ExtJS when clicking on links, so real users will be able to share their links. Just learn the router on PHP-side to understand URLs like this.

There is no way to make SEO-friendly pages using JavaScript only.

4orever
  • 105
  • 6
0

Getting any kind of SEO out of a Sencha app is impossible since it builds everything on the fly. Even if you use the history support in Sencha Touch, thats also done on the fly and has no effect on SEO.

For consumer-facing websites, Sencha is not the answer. For back-end (for maybe managing the shopping cart), its a different story.

andyjv
  • 583
  • 1
  • 8
  • 24
0

Using a full blown app it would be close to impossible to SEO. They are far too dynamic. Search engines work of indexing pages. They can deal with some Ajax stuff by supporting pages with #s but imagine how many pages a fully functional app will have. Every view you have has 100s of options that would constitute a new page, which also has 100s of options. All these virtual pages would most likely be just slight variations from other pages. different sort order, different filter, moved panel, search option.

If you use ExtJs to enhance a website like jQuery is often used, then that's a different story. You will have html for the spiders to read and then you enhance how the content works via javascript (see progressive enhancement).

Tony McCreath
  • 2,882
  • 1
  • 14
  • 21
0

Actually in Touch 2 you can define paths and use history support. This will treat sections of your app as actual pages in the browser w/ standard functionality like going back in the browser etc... this will be your best bet when working with mobile SEO

Jeff Wooden
  • 5,339
  • 2
  • 19
  • 24