Managing a static site with Meteor

I am planning a new site, which like many start-up sites, has several pages of static “sales” content, maybe a blog and then a dashboard.mydomain.com subdomain which is the true web app, where Meteor becomes really powerful.

For the home, about, features, pricing etc. pages, Meteor and Angular (as I am considering) seems like overkill, but to avoid mixing technologies, it is probably worth using them. However, is there a SEO impact, or indeed any other issue doing this?

2 Likes

Just letting you know that I am also wondering about best-practises about this simple- and more seo-oriented wordpress-style stuff.

This is a topic I have opened about how to do whole-punching in meteor: SSR Rendering & wholepunching?. Maybe someone has some news about this?

It would be really cool to have meteor as a foundation for seo-stuff. :slight_smile:

At the moment, SSR is only available with React and Flow-Router-SSR. For other cases you have to use Prerender or Spiderable. In this case, Googles request the rendered version of your homepage (with a special parameter in the URL) and Prerender or Spiderable take care of it. This works also with other modern bots like facebook ones.

I started with using a separate landing page that linked to the actual app.MyApp.com. It was more of a hassle then it was worth. I switched to just coding the landing page up as part of the app.

Unless you expect ungodly amounts of traffic from day 1, I would just code up the landing pages in meteor. Then worry about separating the landing page later if the traffic is so much it runs up your hosting bill.

If you don’t get crazy traffic, well you saved yourself from worthless premature optimization. If you get crazy traffic, congratulations! You now have a problem that most people would love to have. You can spend a couple days moving the landing pages to a separate site at that point… no harm done what-so-ever.

TLDR: JUST GET TO MARKET! The code is 1/10 the battle.

As for SEO, I thought MDG had a solution for this with prerender.io or something?

@gassense, just to clarify - do you mean that your site is client-only and does not require server side at all? If so, I have a nice receipt for this case.

Either use the site map package, add dynamic title,desc tags and http://prerender.io for proper SEO or just make a static site and throw it on github pages and be done with it. Doing it properly will still require work with either option.

Example:
http://badger-app.com
https://github.com/badger-app/badger-website/tree/gh-pages

You can use a simple generator or for a few pages… copy/paste does the job just fine. Google will also rank you higher with fast page responses.

Here are the main steps of my script, which generates static sites:

1. copy the full project to tmp;
2. remove webapp and hot-code-push modules;
3. build the project;
4. add webapp module;
5. run the project (with production settings);
6. grab index file (or a set of files if the app is router-enabled) by PhantomJS;
7. replace paths to .js and .css files and the value of __meteor_runtime_config__ within grabbed files. DDP_DEFAULT_CONNECTION_URL is set to https://none here;
8. put the resulting html files together with .css, .js and content of public directory into the output directory.

The full description of the approach is here in two posts.