--- layout: step title: Deployment position: 10 --- In this final step we'll get the site ready for production. ## Gemfile It's good practice to have a [Gemfile](/docs/ruby-101/#gemfile) for your site. This ensures the version of Jekyll and other gems remains consistent across different environments. Create `Gemfile` in the root with the following: ``` source 'https://rubygems.org' gem 'jekyll' ``` Then run `bundle install` in your terminal. This installs the gems and creates `Gemfile.lock` which locks the current gem versions for a future `bundle install`. If you ever want to update your gem versions you can run `bundle update`. When using a `Gemfile`, you'll run commands like `jekyll serve` with `bundle exec` prefixed. So the full command is: ```bash bundle exec jekyll serve ``` This restricts your Ruby environment to only use gems set in your `Gemfile`. ## Plugins Jekyll plugins allow you to create custom generated content specific to your site. There's many [plugins](/docs/plugins/) available or you can even write your own. There's three official plugins which are useful on almost any Jekyll site: * [jekyll-sitemap](https://github.com/jekyll/jekyll-sitemap) - Creates a sitemap file to help search engines index content * [jekyll-feed](https://github.com/jekyll/jekyll-feed) - Creates an RSS feed for your posts * [jekyll-seo-tag](https://github.com/jekyll/jekyll-seo-tag) - Adds meta tags to help with SEO To use these first you need to add them to your `Gemfile`. If you put them in a `jekyll_plugins` group they'll automatically be required into Jekyll: ``` source 'https://rubygems.org' gem 'jekyll' group :jekyll_plugins do gem 'jekyll-sitemap' gem 'jekyll-feed' gem 'jekyll-seo-tag' end ``` Then add these lines to your `_config.yml`: ``` plugins: - jekyll-feed - jekyll-sitemap - jekyll-seo-tag ``` Now install them by running a `bundle update`. `jekyll-sitemap` doesn't need any setup, it will create your sitemap on build. For `jekyll-feed` and `jekyll-seo-tag` you need to add tags to `_layouts/default.html`: {% raw %} ```liquid