First, I want to say that I’ve spent the past week rebuilding my expert witness website using Elements CMS, and I’m genuinely impressed with what you’ve built. After a bit of a learning curve, I now have a CMS-driven site that I’m very happy with.
My site uses:
A Collection for the home page
Filtered Collections on five separate expertise pages
A Collection on an Expert Insights page that displays all articles
Individual Item pages that display each article and embedded YouTube video
The CMS architecture itself is working very well.
However, I’ve run into what appears to be an SEO limitation and I’m wondering whether I’m misunderstanding how the CMS is intended to work.
When I click on an article card, the URL is something like:
When I inspect my sitemap, it contains the template page:
/expert-insights/insight/
but it does not appear to contain the individual CMS article URLs generated by the ?item= parameter.
My questions are:
Are individual CMS Item pages intended to be indexed by Google?
If so, how are search engines expected to discover those URLs if they aren’t listed in the sitemap?
Is there a recommended SEO strategy for CMS-driven article sites built with Elements?
Are SEO-friendly article URLs (rather than query-string URLs) planned for a future release?
For context, my site isn’t a traditional blog. It’s a growing knowledge base that will eventually contain dozens of long-form articles and videos demonstrating my expertise as an expert witness. Discoverability of the individual articles is therefore extremely important.
Overall, I’m very pleased with the CMS and the flexibility it provides. I’m simply trying to understand the intended SEO strategy so I can build the site correctly from the outset.
I would say that I can fairly call myself an expert when it comes to the Elements CMS. I run more than a handful of websites that all work entirely in combination with the Elements CMS. From an SEO perspective, all of these websites are pushed as far as currently possible with Elements — and even a little beyond that.
Regarding your questions:
1. Are individual CMS Item pages intended to be indexed by Google?
Yes, absolutely.
2. If so, how are search engines expected to discover those URLs if they aren’t listed in the sitemap?
Usually, this should work the “natural” way: through internal linking. Alternatively, the pages can also be indexed through a sitemap or, as I do it, through the RSS file.
Both options are already available in the Collection component under RSS & Sitemap.
3. Is there a recommended SEO strategy for CMS-driven article sites built with Elements?
What exactly do you have in mind here? What are your expectations? In general, you should be very flexible with Elements.
4. Are SEO-friendly article URLs instead of query-string URLs planned for a future release?
This is already possible as well. You can already use Pretty URLs.
You should find all the information you need here:
Otherwise, feel free to ask your questions here in the forum as well.
Thanks for your helpful reply. I think I’ve narrowed this down further.
My CMS folder currently contains eight published articles.
My Expert Insights page displays all eight articles correctly.
However:
sitemap.xml only contains the item template (/expert-insights/insight/) rather than the eight individual article URLs.
feed.xml only contains the three articles displayed by the homepage collection rather than all eight published CMS items.
Is the RSS feed generated from the Collection component instead of the CMS folder?
If so, is there currently any way to generate an RSS feed or sitemap that includes every published CMS item automatically?
From an SEO standpoint this seems important because search engines would otherwise only discover the featured articles rather than the complete article library.
I took a closer look at your site and also found the articles.
The main reason why your articles are currently not being found by Google is that the correct canonical tag is not being set for the article pages. Instead, each article uses the canonical URL of the article collection page.
Once this is fixed, the article pages should also be indexed by Google over time.
To fix this, you need to add the following to your article post page:
{{ item.canonicalUrl }}
Add this Twig syntax here:
Meta Tags → Canonical URL
After that, publish everything again. The correct canonical URL should then be output for your article pages, giving Google the possibility to index them properly.
I added {{ item.canonicalUrl }} to Meta Tags → Canonical URL on the Insight item template.
After publishing, the page source still outputs the Twig literally:
Also, the metadata remains template-level:
Insight
The item body variables render correctly on the page, so the Item template itself works. It appears only the Meta Tags panel is not evaluating item variables.
Is there a setting I’m missing, or is this a bug in Elements 2.4.4?
In principle, you can store almost any data you want in the frontmatter and then output it again wherever needed.
Here is an example of the frontmatter I use:
# ======================================================
# PUBLISHING INFO
# ======================================================
published: true
featured: true
draft: false
status: "published"
date_published: "2026-05-22"
date_modified: "2026-05-22"
author: "john"
site_name: "mydomain.com"
# ======================================================
# HEADLINES
# ======================================================
meta:
title: "More than just Ballermann – Where Mallorca is most beautiful"
description: "Mallorca – more than just Ballermann"
subtitle: ""
# ======================================================
# CATEGORIES & TAGS
# ======================================================
category:
name: "News"
slug: "news"
tags: [travel]
categories: []
# ======================================================
# MEDIA ( HEADER / LOGOS)
# ======================================================
media:
header:
960x540:
src: "/0200-images/0200-header/0100-blog/mallorca/mallorca_001-960x540.webp"
alt: ""
copyright: ""
type: "remote"
logo:
src: ""
alt: ""
type: "remote"
---
Please note that your frontmatter does not need to be this extensive. Also, this setup is currently not suitable if you are using the ECMS online editor. However, you can still structure the frontmatter very individually.
Ben would probably say “keep it simple” — and he would most likely be right, because it makes problems easier to find and helps avoid them in the first place.
For your frontmatter, I would simply add the following:
metaDescription: "Add the meta description you want to output here"
metaTitle: "Add the meta title you want to display here"
The corresponding Twig syntax would then look like this:
{{ item.metaDescription }}
{{ item.metaTitle }}
You can then simply add this syntax to the corresponding fields in the Inspector. After publishing, the correct values should be output there.