Live data from Hacker News

Meteor 0.3.9 adds search engine optimization

meteor.com

11–20 of 46 posts

Re: Meteor 0.3.9 adds search engine optimization

#11
post #9

Their technique for generating the HTML representation of deep-link into a Meteor app is to run the entire client app in a headless browser and serialize the generated DOM?! This is an area of vital importance to public, JS-based RIAs, and needs some real innovation. Why even bother delivering this half-baked solution? The processing cost makes it untenable for all but the tiniest of URL-spaces.

Seems like this would be a very easy way to DoS a Meteor app, if it's really spawning a PhantomJS process for each request.

Re: Meteor 0.3.9 adds search engine optimization

#12
post #11
post #9

Their technique for generating the HTML representation of deep-link into a Meteor app is to run the entire client app in a headless browser and serialize the generated DOM?! This is an area of vital importance to public, JS-based RIAs, and needs some real innovation. Why even bother delivering this half-baked solution? The processing cost makes it untenable for all but the tiniest of URL-spaces.

Seems like this would be a very easy way to DoS a Meteor app, if it's really spawning a PhantomJS process for each request.

It is. And the server doesn't even feed PhantomJS the HTML that it can generate, PhantomJS has to make another request to the server. I wonder if it can be made to recurse? https://github.com/meteor/meteor/blob/master/packages/spider...

Re: Meteor 0.3.9 adds search engine optimization

#14
post #9

Their technique for generating the HTML representation of deep-link into a Meteor app is to run the entire client app in a headless browser and serialize the generated DOM?! This is an area of vital importance to public, JS-based RIAs, and needs some real innovation. Why even bother delivering this half-baked solution? The processing cost makes it untenable for all but the tiniest of URL-spaces.

Agreed that it needs some real innovation, something better than this. Consider it just a start: the fact that the spiderable package is one of the first ones out means that it is something the Meteor team cares about trying to solve. It's certainly not perfect, but it paves the way for future iterations.

Re: Meteor 0.3.9 adds search engine optimization

#15
post #9

Their technique for generating the HTML representation of deep-link into a Meteor app is to run the entire client app in a headless browser and serialize the generated DOM?! This is an area of vital importance to public, JS-based RIAs, and needs some real innovation. Why even bother delivering this half-baked solution? The processing cost makes it untenable for all but the tiniest of URL-spaces.

Never mind the cost. They are proposing that you run your app, with its 3rd-party jquery/facebook/twitter/google code loaded dynamically over non-SSL connections on a platform with filesystem-write-access to your server.

Re: Meteor 0.3.9 adds search engine optimization

#16
post #9

Their technique for generating the HTML representation of deep-link into a Meteor app is to run the entire client app in a headless browser and serialize the generated DOM?! This is an area of vital importance to public, JS-based RIAs, and needs some real innovation. Why even bother delivering this half-baked solution? The processing cost makes it untenable for all but the tiniest of URL-spaces.

Yeah, it's definitely the kind of solution that makes you twitch a bit. The reason we wrote it is because we needed it now for meteor.com, and it wasn't too much engineering work (I think Nick wrote the first version over a weekend, and then it was a couple days of packaging it up). The reason we released it is, well, why not? :)

The "real solution" is coming, and we will get it right. It's connected to URL routing, and sending down initial HTML on page load. We're all excited for the day when Meteor apps initialize the client session on the server. It will look at first glance like a traditional server-side app. :)

Re: Meteor 0.3.9 adds search engine optimization

#18
Who really needs this for their web app? Nearly 99% of heavy web apps require a login, so Google is out of the picture anyway.

Anyone who is building a content site with DOM-manipulating Javascript doing all the work have completely lost their way. Seriously, just render your templates on the server and deliver them to the client. Why does the world want app-ify everything?

Re: Meteor 0.3.9 adds search engine optimization

#19
post #6

Why is this interesting? Because 1) search engine crawlability matters and 2) the more AJAXy web apps get, the harder it is to make them crawlable. The more we move away from traditional web "pages" to rich web apps that do everything through DOM manipulations on a single page, the harder it is for the search engine robots to crawl what we build.

Google's making moves towards having their crawler essentially be a headless Chrome instance. Crawling AJAXy apps is rapidly going to get easier for Google et al.

Re: Meteor 0.3.9 adds search engine optimization

#20
post #18

Who really needs this for their web app? Nearly 99% of heavy web apps require a login, so Google is out of the picture anyway. Anyone who is building a content site with DOM-manipulating Javascript doing all the work have completely lost their way. Seriously, just render your templates on the server and deliver them to the client. Why does the world want app-ify everything?

Because server architecture and rendering is really expensive to scale whereas a client-side-dependent app could be supported for much less. It is a trade-off.

The presentation layer has been moving to the client-side for the past few years, where have you been?

Post reply on HN