Eleventy generates the URL of each page from its file location and configuration. You can also define a custom URL using the permalink property in the front matter.
Posts
The post date is taken from the Markdown filename and Eleventy generates the URL as follow:
posts/
└── 2026-09-23-my-first-post.md
The generated post is available at:
/posts/2026-09-23-my-first-post/
Pages
A page can define its URL using the permalink property:
---
title: 'About'
metaDesc: 'About this website'
layout: 'layouts/page.html'
permalink: 'about.html'
---
This generates the page:
/about.html
Blog
The Blog uses Eleventy's pagination feature to display the post collection:
---
title: 'Blog'
layout: 'layouts/feed.html'
pagination:
data: collections.posts
size: 9
permalink: 'blog/index.html'
paginationPrevText: 'Older'
paginationNextText: 'Newer'
paginationAnchor: '#post-list'
---
In this example, 9 posts are displayed per page and the permalink automatically generates the URL for each Blog page.
The first page is available at:
/blog/index.html
Additional pages are generated using the page number:
/blog/page/1/index.html
/blog/page/2/index.html
/blog/page/3/index.html
The paginationPrevText and paginationNextText properties define the labels used for navigating between Blog pages.