meteor,seo,prerender, , How can I tell if is running correctly on

How can I tell if is running correctly on


Tag: meteor,seo,prerender,


I am able to install prerender on the modulus server now. BUT there is a problem with where to place the prerender token:

app.use(require('prerender-node').set('prerenderToken', 'YOUR_TOKEN'));

Where in the .demeteorized node app does this line go?

I am running a meteor app on I have installed the package. The tests pass locally to run phantom.js. Meaning, it puts the page together, with all meta tags, alt for imgs, title, page content and links.

Once modulus deploy is run, it shows /.demeteorized/package.json:

{ ...
 "dependencies": {
    "prerender-node": "",
"PrerenderIO": {
    "token": "mYg3n3rAt3dTo0KeN"


In main.js, file contents:

process.argv.splice(2, 0, 'program.json');
process.chdir(require('path').join(__dirname, 'programs', 'server'));

The logs in show:

> [email protected] start /mnt/app
> node main.js

Found package.json: ./package.json
Start script specified in package.json: node main.js
Initializing Node.js 0.10.36
Now using node v0.10.36
Running command: npm start

Is this all that is needed to run prerender service on modulus? What am I missing?


I could not get the app to run properly after it was demeteorized. I was getting multiple errors on various npm packages when I attempted to launch the node app.

I ended up dropping modulus and prerender and used digital ocean with phantomjs and spiderable. Deployed via mup. All good seo works.


TypeError: Cannot read property 'slice' of null

I am using autoform in my project and getting this error when I open the form Not sure if this is because of any versions or dependency, my autoform is not working and I am getting this error, I have the screenshot and the schema code, form code below, template...

How do I make a slight modification to a package locally in Meteor?

I'm using a package that loads Font Awesome from a CDN. However, the CDN used is pretty terrible, often stalling or timing out, so I'd like to switch it out. The source code is incredibly simple, and looking through it I found this: style.href = '//'; Switching to a different...

Meteor: Passing Session values from client to server

I am using the following code on the client side to set the Session variable:{ 'click button': function() { var; UserSession.set("songsearcher", clientid); console.log(clientid + UserSession.get("songsearcher")); I am using the following pacakge: Meteor-User-session, which will explain the use of UserSession in place of Session. Now, this works fine. But...

Testing Meteor packages with Velocity?

Velocity is an amazing testing framework for Meteor and I am currently using it to test my application code. Now I added a local package to the app, but I don't know how (or if) I can test the package with Velocity, too. I would like to drop tinyTest in...

Meteor router and url paramaters

I'm having some trouble trying to use the URL parameters in meteor with iron:router. On the home page if my app, I display a thread of posts. But I want to allow people to select a single thread by specifying its ID in the url. Like that, when someone click...

Access binaries inside docker

I am using Meteor and Meteur Up package to push a bundle to server. It uses docker. The problem is that I cannot access graphicsmagick or imagemagick from inside a docker to use it in my app. However it is installed on the server and I can access it when...

Meteor: onRendered doesn't get fired again after second render iron-route

I have an iron-router route: Router.route('/profiel/bewerken', { subscriptions: function () { return Meteor.subscribe('currentUser'); }, action: function () { if (this.ready()) this.render('profielBewerken', { to: 'container', data: function () { return Meteor.user(); } }); else this.render('profielBewerken', { to: 'container', data: { loading: true } }); } }); It waits until the subscription...

Meteor/MongoDB limiting the result

I am trying to find all documents and publish at most 5 from the results. Following this section of the MongoDB doc, I am trying to do this: Meteor.publish('teams', function () { return Teams.find().limit(5); }); Yet, in the server console, I get an exception: Exception from sub teams id Pm6jKL8Sv3FSDSTfM...

How can I assign data context in onCreated

How can I assign data context in onCreated (replace the whole context)? Following does not work: Template.mine.onCreated(function() { = function() { return "MyData"; } }) While following does: Template.mine.onCreated(function() { = function() { return "MyData"; } }) I would like to replace the whole context. Is this possible?...

MeteorJs mobile-config settings for landscape only?

I am developing an app for tablets (android and iOS), I am looking for some kind of settings in mobile-config that disable landscape orientation. I know how to do that on iOS by changing some settings on XCode but is their any setting that can do it for both android...

Cannot connect to MongoDB inside a template

I'm still a newbie when it comes to Meteor. The following code works, I get the list: <body> <ul> <li>Test</li> {{#each members}} {{> MembersList}} {{/each}} </ul> </body> <template name="MembersList"> <li>{{name}}</li> </template> To use iron:router in need to put this in another page with {{yield}}, so I need to put it...

Passing a parameter into Meteor Template Helper

I am trying to pass a parameter to a template helper. The parameter seems to be passed but then I can't use it as I would like to. I pass the parameter like this: {{#if unitFieldExists 'profile'}} {{profile}} {{/}} Helper in /client/lib/helpers.js Template.registerHelper('unitFieldExists', function(unitField) { var doc = Units.findOne({_id: this._id...

Convert ng-click to Blaze in meteoric

I used ng-click as below in ionic: <div class="list"> <a class="item item-icon-right nav-clear" href="#/app/list1" ng-click="closeMenu()"> <i class="icon ion-ios7-paper"></i> Item 1 </a> .... </div> know I want to use Meteor with Meteoric. I don't know how to convert ng-click to Blaze version. Please guide me. I didn't find anything about this...

How do I do an analog of a page scope in variable in Meteor?

I have this Meteor layout: <template name="layout"> {{> toolbar }} <div class="container"> {{> yield}} </div> </template> Router.configure({ layoutTemplate: 'layout' }); I want to have the toolbar argument display dynamic content based on the page. I could do that by using some reactive variables. However, what happens when more than one...

Meteor collections: how to connect to different collections referring to each other?

I have two collections: Contracts = new Mongo.Collection('contracts'); Reminders = new Mongo.Collection('reminders'); These are structured in the database more or less like this: Contracts: { "id": "4432234", "contract": "C-42432432", "description": "Description of contract", "counterpart": "Company name", "status": "awarded" }, etc. Reminders: { "name": "Contract expiring", "type": "expiring", "contract": "C-42432432", "reminderDate":...

Meteor.users.find() - how to filter by group in alanning:roles package

I'm trying to make an admin section on my website. The admin can go to the admin page and see a table of the users in his group. I only want to publish a the users that are in that admin's group. E.g. he is in the group ['soccer'] but...

Meteor: group documents and publish an object

I would like to know how to group documents according to a condition, and publish to the client. Suppose I have the following documents: [ { name: 'John', createdAt: some_date_value_1 }, { name: 'Jane', createdAt: some_date_value_2 }, { name: 'Bob', createdAt: some_date_value_1 }, { name: 'Jenny', createdAt: some_date_value_2 } ]...

Meteor - Query Embedded Documents

I would like to fetch only specific fields in embedded documents of my collection. One Document of my Collection: "_id" : "fDa9J245hkKnZyipM", "OrderID" : "qPypJCWov79dQ2nc2", "MWLink" : { "LinkType" : "KRF - PPUI - LOO", "LinkID" : "test3", "SiteA" : "placeA", "SiteB" : "placeB" } My helper: linkID: function() {...

Pass router parameters in Router.go()

I have a route to display user parameters: admin/users/details/:userID In the template associated with this route I have "Back" button. What is the best way to pass "return route path" to Router.go() and access it later in{ "click #form-back-button": function(e, t) { e.preventDefault(); Router.go(PARAM.NAME, {}); } ...

MeteorJS Blaze.getData() occasionally returns undefined

I'm currently rendering bootstrap modals on my webpage using MeteorJS's "renderWithData" method to load each template when it's needed. I'm running into an issue where my helper methods which access the data in the modal using "Blaze.getData()" will occasionally return undefined and I'm unsure how to fix that. The only...

Turning the Stripe Checkout into a Synch function

I am trying to use wrapAsync for Stripe.charges call using Stripe Checkout, but I cant seem to get it working Client code{ "click #accept": function(event, template){ event.preventDefault();{ key: 'public_key', amount: 5000, // this is equivalent to $50 name: 'Meteor Tutorial', description: 'On how to use Stripe ($50.00)', panelLabel:...

Meteor Iron Router not loading template

I am trying to load templates using iron router and none of the templates for the routes load. The url will change when the items are clicked but the current page never changes. Lib/router.js - Router.configure({ // we use the appBody template to define the layout for the entire app...

What is cursor?

In discover meteor, posts: function() { return Posts.find(); } is used, not this: posts: function() { return Posts.find().fetch(); } I tried function below, it also works, and can realtime update. What is cursor exactly? And What is the different of above two functions?...

Use a “months” array to perform calculations for each month in a for loop

I have a mongo collection to store "projects", each document stores a project with different calculations for each month of the year a_jan : 10, a_feb : 20, a_mar : 25, a_apr : 70 ... b_jan : 30, b_feb : 10, b_mar : 20, b_apr : 70 ... c_jan :...

Get json values from key-value pair without passing keys in meteor

i am using keys to get the values from json in meteor. My json is in this format. { "_id" : "SXTJBs7QLXoyMFGpK", "Brand" : { "value" : "Nike" }, "Material" : { "value" : "Cooton" }, "Price" : { "value" : "67484" }, "ComboId" : { "value" : "y23" },...

Working with embedded documents in MongoDB

I have a document with the following structure, some fields omitted for brevity; { _id: 1, projectName: name, managers: [ { managerId: manager1, status: false, startDate: startDate, endDate: endDate }, { managerId: manager2, status: false, startDate: startDate, endDate: endDate } { managerId: manager3, status: true, startDate: startDate, endDate: endDate }...

Accessing parent helper in Meteor

I often find myself dividing my work into templates that still could use the same helpers. So, say I have this template structure: <template name="MainTemplate"> <div>{{> FirstTemplate}}</div> <div>{{> SecondTemplate}}</div> <div>{{> ThirdTemplate}}</div> <div>{{> FourthTemplate}}</div> </template> Now each of these templates wants to use the same helper, let's call it dataHelper: Template.MainTemplate.helpers({...

google analytics code on landing page and cookie law

New EU cookie law do not allow page to set cookies on first load and until user make any action, scroll is consider as implicit acceptance I'm not sure if ga('set', 'anonymizeIp', true); is enough to allow google analytics to be considered as non profiling cookie how can i activate...

XMLHttpRequest to Restivus API

I have got a problem when sending a cross domain XMLHttpRequest to a Restivus API. Here my code for the client side script: var xhrurl = ''; var xhr = createCORSRequest('POST', xhrurl); xhr.withCredentials = true; xhr.setRequestHeader("Content-type","application/json"); xhr.setRequestHeader("X-User-Id",object.apiUser); xhr.setRequestHeader("X-Auth-Token",object.apiKey); xhr.send(); Here the function createCORSRequest function createCORSRequest(method, url) { var xhr =...

CKeditor outputs Html. How to format it for displaying properly, not just lame html?

I am using CKeditor, and this is my code: ...othercode.. <div class="input-field col s12"> <textarea id="textarea1" class="materialize-textarea"></textarea> <label for="textarea1">Body of the Post</label> </div> <input type="submit" name="Submit" id="sub"> </form> </div> </div> </div> {{else}} <div>You are not logged in.</div> {{/if}} <script> CKEDITOR.replace('textarea1'); </script> In Javascript, I use the same id to extract...

Disabling for specific server ( or environment )?

While testing my meteor app i keep receiving emails saying my application went offline. How does i disable this feature for an specific environment or hostname ( for instance, "localhost" ) ?...

DB relationship: implementing a conversation

I want to implement a simple conversation feature, where each conversation has a set of messages between two users. My question is, if I have a reference from a message to a conversation, whether I should have a reference the other way as well. Right now, each message has conversationId....

Meteor: Load scss files in a certain order

I'd like to know how to load scss files in order when using Meteor. Not using Meteor, I would make something like application.scss and load .scss files in order so that stylesheets loaded later can depend on mixins/variables loaded earlier. And then I'd load application.scss in my template. application.scss @import...

jQuery component stop working when routing

I'm using Bootstrap Select in Meteor (using this package if relevant:, but everytime I switch page and go back (IronRouter) the select has reverted to a standard HTML select. I initialize it in the rendered callback but it's only called once and breaks when navigating: Template.temp.rendered = function() {...

Meteor - Multiple data contexts with Iron Router

I just started using Meteor and Iron Router. Here I'm trying to use two data contexts but appearantly I'm doing it wrong. I've googled it but it doesn't seem this is a very common problem, but I guess it got to be possible to pass on two or more data...

Using inside a server router

Router.route('/sms/inbound', function () { if (something) {"addUser", { name: "hello", age: 20 }) } }, {where: 'server'}); I want to do something like above. However, since is used on the client to make calls to server-side functions, it doesn't seem right to me. In collections you usually define...

how i add collaborators side-view in atmosphere?

i saw collaborators side-view in some (mrt, tmeasday) atmosphere organisation, is there any way to add like view in other organisations in atmosphere or is it exclusive for them ? ...

Use JSON file to insert data in database

I'm using my JSON file like this to insert data in my collection : var content = JSON.parse(Assets.getText('test.json')); console.log('inserting...'); Profiles.insert({ user: id, data:content }; But I would like to have a "data's tree" like that : [ user: "rtegert23423131", firstname:"test", surname:"test2", // ... ] Not like that : [ user:...

Router path for page navigation

we have the problem with the router when we navigate from one to another page. Suppose when we are in template1 and we need to go to templete2.Then we do Router.go(/templete2) right.I need in the URl templete1/templete2.Please help me....

How do I retain search engine accessibility when loading external file into html

I plan to: $('#main.sidecontent').load('/sidecontent.html'); and insert: <div class="sidecontent" id="main"></div> a div on several html pages since the content of this div is the same and I try to straighten my workflow, basically avoiding editing every single html page when this content div changes. My questions: Is this method recommended for...

How to return value in Meteor.JS from “GET”

I'm writing a meteor method, which should return a Facebook response for on graph api, but has only a callback function to show error/response, so I can't take this data outside, and Method can not return any value. Here's my method code: loadUserFBEvents: function () { var accessToken...

How to reuse layoutTemplate between routes?

Looking at devtools profiling, when I move between two routes with the same layoutTemplate, the layout's helpers are being rerun, and it looks like the HTML is being rerendered as well. How can I have iron router only render the yields and leave the layout alone? EDIT code: ->...

Server side vs client side website

We have to build a website and we have to chose where to manage the content, in the server (PHP or JSP) or on the client (JavaScript). This article: enlighted me a bit but Im still doubting. Good SEO is the most important thing to achieve. Can anyone relate...

Insert data in collection at Meteor's startup

I would like to insert data at Meteor's startup. (And after from a JSON file) At startup, I create a new account and I would like to insert data and link it to this account once this one created. This is the code that creates the new account at startup:...

Meteor file upload with Meteor-CollectionFS giving error method not found

I am using following meteor package to upload the image Code I am using Uploads =new FS.Collection('uploads',{ stores: [new FS.Store.FileSystem('uploads',{path:'~/projectUploads'})] }); if (Meteor.isClient) {{ 'change .fileinput':function(event,template){ FS.Utility.eachFile(event,function(file){ var fileObj=new FS.File(file); Uploads.insert(fileObj,function(err){ console.log(err); }); }) } }); } I am getting error when I try to upload a file...

Using a helper with arguments AS a helper argument in Spacebars

So I am trying use a helper as an argument of another helper in Spacebars. In the example below, 'getResultInfo' is a helper that gets data specific to the arguments passed, and 'formatResult' is a helper that formats its result and the results of other helpers. <template name="example"> {{#each collectionResults}}...

Meteor Iron Router resubscribe on Rights change with meteor-roles

I am writing a meteor application with a user-role-system (alanning:roles) My Roles are group based. When a user knows my group url, it is allowed to access the group an get the role "defaultUser" in this group. localUser is allowed to subscribe to all the local stuff of a group....

Creating meteor autoform w/ array of radio buttons

I'd like to build an autoform in meteor that presents user with a twelve radio buttons and records an entry for each of the 12 buttons. I can get the form working easily enough if I create 12 different buttons—see below, but I'm wondering if it is possible to create...

Filtering records according to dropdownlist

I need to filter the listing or records according to selection in dropdownlists. I have three dropdowns that needs to filter the records reactively in collaboration with each other. i.e value selection in one dropdownlist should filter the records effected by other dropdownlist values. var filterAndLimitResults = function (cursor) {...

Meteor - Requests randomly failing

I have this weird problem where some requests fails randomly. I have no idea what is causing this behavior. Sometimes it is images not loading and sometimes it is ajax request (cfs/severtime or algolia-search) and some other times everything is fine. It also happen in local and online. Here are...