When working with Statamic's static site generation (SSG), one of the challenges you might encounter is generating static pages for category taxonomies. By default, Statamic generates static pages for entries but may not create static pages for categories. In this short note, I'll share how I overcame this hurdle by adding a URL to the
ssg.php configuration file, allowing me to generate a static archive page containing all category taxonomy terms.
The Challenge: A Category archive page in Statamic SSG
In Statamic, category taxonomies are a powerful way to organize and categorize your content. However, when you embark on static site generation, you might notice that static pages are generated only for your entries. The category taxonomy archive page, which play a crucial role in structuring your content, is left out.
The Solution: Adding an URL to
The solution to generating static pages for category taxonomies is surprisingly straightforward. You can achieve this by adding a URL to the
ssg.php configuration file in your Statamic project. Here's how to do it:
1. Locate Your
ssg.php Configuration File
In your Statamic project, navigate to the
config directory. Inside this directory, you'll find the
ssg.php configuration file. Open it in your preferred code editor.
2. Configure the URL for Category Taxonomies
To generate static pages for category taxonomies, you'll need to add a URL pattern that corresponds to your taxonomy structure. In the
ssg.php file, look for the
'urls' => ['/feed','/feed/atom','/categories'],php
In this example, we've added a URL pattern
/categories that maps to the category archive page in my blog.
3. Create the needed templates for the archive page and terms
We need to tell Statamic which template to use for the category archive, and the terms. To do this, in your views directory, create a
categories directory. Within that directory create two files:
index.antlers.htmlwhich will be used for the category archive page,
show.antlers.htmlwhich will be used to show content associated with the selected term.
4. Regenerate your static site
After making these configurations, it's time to regenerate your static site. Open your terminal and run the Statamic CLI command:
php please ssg:generatebash
Statamic will now generate a static page for your category taxonomy archive according to the URL pattern you've defined, making your static site even more comprehensive and structured.
Photo by Maarten van den Heuvel