skip to Main Content

I’m working on a Meteor app which uses ms-seo package. I was wondering if there is a way to make URLs more SEO friendly?

Router.route('/item/:_id', {
  name: 'item.detail',
  controller: 'ItemsController',
  action: 'detail',
  where: 'client',
  onAfterAction: function() {
    var data =;
    if (data) {
      title: data.title + ' - ' + + ' (' + + ')',
      meta: {
        'description': data.descriptionHTML

While this works perfect, the URL it produces is /item/5RTxofPPn3LwifP24, I would like to push data.title up in the url, so I can get /item/i-am-a-lower-case-dash-replaced-unique-title/

Are there packages for that?



  1. You need to create a slug. So your collection will have fields like:

    • _id
    • title
    • slug
    • content

    Then to make your slug you can use something like to convert your title into a slug. Basically what it does is convert a title called “Unique Shopping Cart Item” to “unique-shopping-cart-item.”

    Then in your router you pass the slug in as your parameter.

        waitOn: function() { return Meteor.subscribe('collection'); },
        data: function(){
            var slug = this.params.slug;
            return Collection.findOne({slug:slug});
            // this is saying search the collection's slug for the passed in parameter which we're also calling "slug"
    Login or Signup to reply.
  2. You can try slugify to push the data.title as a pretty url.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top