Skip to content

Comment on Leaving JSPs in the dust: moving LinkedIn to dust.js client-side templates

Comments

Doesnt this play havoc with caching - I mean if you had a single UI webapp (that in turn queries all other webservices to render a page), then you could simply heavily cache your UI webapp. But when your client side JS is directly querying individual web services, in that case you would have to cache each individual web service (not sure if this introduces inconsistencies vis-a-vis different web services).

Is this how Amazon - who reputedly has everything as services - renders its webpages as well ?

Not only caching, but right now I suspect this approach could have _serious_ SEO implications. It seems to run directly against the guidelines against cloaking here: http://support.google.com/webmasters/bin/answer.py?hl=en&...

(Not that I suppose LinkedIn are too worried about search engine discoverability of a lot of their "dynamic, login required" content, but I'll bet they're _not_ using this technique on all those highly optimised pages full of people's names - like the 4th Google hit for my name: http://au.linkedin.com/in/iaindchalmers )

It wouldn't have SEO implications because using javascript to load content isn't considered cloaking. (Cloaking is where you present something different to googlebot vs. a live user). It's well known that googlebot does run javascript now:

https://twitter.com/#!/mattcutts/status/131425949597179904

There's also some speculation that googlebot actually runs Chrome and can render anything that Chrome does:

http://ipullrank.com/googlebot-is-chrome/

Yep. I've seen that (and I've seen evidence googlebot executing javascript in my own logfiles).

BUT - If I have a client relying on SEO/organic ranking for their money right now, there's no way I'd be suggesting they move to a "html template with javascript loaded content" style site - not until I've seen a few other similar/competitor sites ranking well with those techniques.

In the blog post it mentioned that is uses node.js to render server side if the templates can't be rendered client side. I'm more interested in how they are able to determine that at load time.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.