15 Must-Have Jekyll Plugins for 2026
The essential Jekyll plugins every site needs — from SEO and sitemaps to image optimisation, search, and performance. All compatible with the latest Jekyll versions.
Jekyll’s plugin ecosystem is smaller than WordPress’s, but it has everything you need. These 15 plugins cover SEO, performance, content management, and quality of life — and all are compatible with the latest Jekyll 4.x releases.
How to Install Jekyll Plugins
Add plugins to your Gemfile:
group :jekyll_plugins do
gem "jekyll-seo-tag"
gem "jekyll-sitemap"
end
And to _config.yml:
plugins:
- jekyll-seo-tag
- jekyll-sitemap
Then run bundle install.
GitHub Pages note: GitHub Pages only supports a specific list of plugins. If you use GitHub Actions for deployment, you can use any plugin.
SEO Plugins
1. jekyll-seo-tag
What it does: Generates all the SEO meta tags you need — <title>, meta description, Open Graph, Twitter Cards, and JSON-LD structured data — automatically from your page’s front matter.
gem "jekyll-seo-tag"
Add `
` to your <head>. That’s it. Essential for every Jekyll site.
2. jekyll-sitemap
What it does: Automatically generates a sitemap.xml at your site root. Submit it to Google Search Console to ensure all pages are indexed.
gem "jekyll-sitemap"
No configuration needed. Exclude pages with sitemap: false in front matter.
3. jekyll-feed
What it does: Generates an Atom feed at /feed.xml. Useful for RSS readers, and some search engines use feeds to discover new content faster.
gem "jekyll-feed"
4. jekyll-redirect-from
What it does: Creates 301 redirect pages for URLs that have changed. Essential when you rename posts or change your permalink structure.
gem "jekyll-redirect-from"
Usage in front matter:
redirect_from:
- /old/url/
- /another/old/url/
Content and Organisation Plugins
5. jekyll-archives
What it does: Automatically generates archive pages for categories, tags, and dates. Without this plugin, your tag links go nowhere.
gem "jekyll-archives"
# _config.yml
jekyll-archives:
enabled:
- categories
- tags
layouts:
category: archive-taxonomy
tag: archive-taxonomy
permalinks:
category: /category/:name/
tag: /tag/:name/
6. jekyll-paginate-v2
What it does: Pagination for posts, collections, or any data source. The v2 version is significantly more powerful than the deprecated jekyll-paginate.
gem "jekyll-paginate-v2"
# _config.yml
pagination:
enabled: true
per_page: 10
permalink: '/page/:num/'
title: ':title - page :num'
7. jekyll-toc
What it does: Generates a table of contents from your post’s headings automatically.
gem "jekyll-toc"
Usage in layout:
{{ content | toc_only }}
{{ content | inject_anchors }}
8. jekyll-last-modified-at
What it does: Reads a file’s Git commit history to set an accurate last_modified_at date. Useful for structured data and SEO freshness signals.
gem "jekyll-last-modified-at"
In templates:
Last updated: {{ page.last_modified_at | date: "%B %d, %Y" }}
Performance Plugins
9. jekyll-minifier
What it does: Minifies HTML, CSS, and JavaScript in your built site — reducing page size and improving load times.
gem "jekyll-minifier"
# _config.yml
jekyll-minifier:
compress_javascript: true
compress_css: true
remove_comments: true
10. jekyll-assets (or sassc)
What it does: For advanced CSS processing — Sass compiling, autoprefixing, and asset fingerprinting for cache-busting.
Built-in Sass support is usually sufficient for most sites:
# _config.yml
sass:
style: compressed
sourcemap: never
Images and Media
11. jekyll-picture-tag
What it does: Generates responsive <picture> elements with multiple image sizes and WebP conversion automatically.
gem "jekyll-picture-tag"
Usage in templates:
{% picture assets/images/hero.jpg alt="Hero image" %}
This generates a <picture> element with WebP sources, multiple sizes, and a fallback — everything Google PageSpeed loves.
12. jekyll-cloudinary
What it does: Integrates with Cloudinary for on-the-fly image resizing, format conversion, and CDN delivery.
Good choice if you have many images and want to optimise without managing them locally.
Development Quality of Life
13. jekyll-compose
What it does: Adds draft, post, and page commands to the Jekyll CLI for creating new content without manually typing front matter.
gem "jekyll-compose"
# Create a new post with pre-filled front matter
bundle exec jekyll post "My New Post"
# Create a draft
bundle exec jekyll draft "My Draft"
# Publish a draft
bundle exec jekyll publish _drafts/my-draft.md
14. jekyll-include-cache
What it does: Caches Liquid includes that don’t change between pages (navigation, sidebar, footer). Can dramatically speed up builds on large sites.
gem "jekyll-include-cache"
Replace {% include navigation.html %} with {% include_cached navigation.html %} for includes that don’t use page-specific variables.
15. html-proofer
What it does: Validates your built HTML — checks for broken links, missing alt text, invalid HTML, and missing images. Run it as part of your CI pipeline.
gem "html-proofer", group: :test
bundle exec htmlproofer ./_site --disable-external
Add to your GitHub Actions workflow to catch broken links before they go live.
Recommended Starter Set
For a new Jekyll site, install these five to get the most value immediately:
group :jekyll_plugins do
gem "jekyll-seo-tag"
gem "jekyll-sitemap"
gem "jekyll-feed"
gem "jekyll-paginate-v2"
gem "jekyll-redirect-from"
end
That covers SEO, content discovery, pagination, and URL management — the foundations of any real site.
Browse Jekyll themes on JekyllHub — all themes in our collection are tested with these plugins for compatibility.