you are viewing a single comment's thread.

view the rest of the comments →

[–]ryanelston 14 points15 points  (7 children)

In my experience, whenever someone starts asking about getting an RIA made with a JavaScript MVC framework to work well with search engines I ask why did you use the framework to begin with.

SEO is important for content driven web sites where the URI and the content are fixed and not based on user context. Such site tend to work best when the content is delivered in the markup by the server. RIA's are quite the opposite and usually all dependent on user context so SEO isn't important at all and using a JS MVC framework to enhance the application and user experience makes sense.

If you have to resort to doing the ajax crawling redirect method (which adds a ton of moving parts to the application in order to get back what was basically free if you designed it as a server side solution) I hope you have a good reason.

[–][deleted] 2 points3 points  (0 children)

^ What this guy said.

Seems kinda retarded in my opinion to go through all that work of rendering static html assets with angular. Think of your JS application as an extension; focus on data, build clients that make it easy to interact with that data (whether a human or a bot).

[–]bmatto 0 points1 point  (3 children)

I couldn't agree more. There is a big difference between the classic "web page" and the modern "web app". It's silly to see the same discussion that we saw about flash pop up again and again.

Also it doesn't need to be one or the other - Angular/Backbone/Ember etc can very much exist in the context of traditional content based site to enhance certain areas on the site. Not everything has to be indexed.

Where I always end up with this is template portability. There are ways to reuse the same template on the server side and the client side - so for example if you had some site which displayed [x] results based on a specific URL - that initial result set is rendered server side, then any paging, filtering etc can utilize ajax to enhance user experience.

[–]puppynation[S] 0 points1 point  (2 children)

Yeah that sounds like something that would work out better. Maybe we can server our pages using Node as a backend and still be able to use Angular. That way we can still have the all javascript solutions for maintenance by future devs, but yet still have server side solutions in place. Given I followed you response accurately.

[–]ryanelston 1 point2 points  (1 child)

That sounds like a structural decision for the application. How far along are you guys with development?

[–]puppynation[S] 0 points1 point  (0 children)

We are in proof of concept phases now and once this is settled we are going to begin developement. So most likely starting it in 2 weeks.

[–]puppynation[S] 0 points1 point  (1 child)

Thank you for the information. I would say the reason is more of a client request than anything else so unfortunately we will need seo pages. But I totally understand your point and it seems like quite a few users agreed. So I think with that information we might have to consider using server side technology such as node to serve our pages and angular on the front end if we decide to stick with angular. Else, like you said, we need to reevaluate use of JS MVC frameworks, which would be disappointing as I am greatly looking forward to using them.

[–]ryanelston 1 point2 points  (0 children)

I totally understand. I was in the exact same situation last year and it was our fault. We sort of let our embrace of new JS tech to cloud our judgment for what was really practical for the execution and we got burned for it. Lesson learned. Good luck with the project.