middleman-alias is a small extension for Middleman that allows you to add alias information to the frontmatter of any page or post. SEO friendly redirect pages are generated at the alias URL.

Installation

Add the gem to your Gemfile:

gem 'middleman-alias'

And then execute:

$ bundle

Or install it directly with:

$ gem install middleman-alias

Usage

First you need to activate the module in your config.rb. Make sure that it is the LAST thing activated. It's important that other modules have the opportunity to do their own URL manipulations before the alias redirect pages are generated.

activate :alias

Then you can add an alias to the frontmatter for a page or post and middleman-alias will generate a SEO friendly redirect page at that location.

Say that you have a page at /foo.html, but that the page used to live at /old-foo.html. In the frontmatter for foo.html you can alias it to the old address.

title : "A post about foo"
alias : /old-foo.html

Now someone can visit your middleman site at /old-foo.html and they'll be redirected to /foo.html.

If you end an alias with a / that alias will be treated as a virtual directory.

title : "A post about foo"
alias : /old-foo/

The example above will result in a redirect file being generated at /old-foo/index.html, which will be accessible to browsers at /old-foo/.

You can find the code on GitHub.