CMS item pages: page title, meta description and canonical are the same for every item

Hi all,

I’m using the Elements CMS for a blog on my site (Elements version: 3.1.2). The item page works fine visually, but the SEO data is the same for every item:

  • Page title: with the Browser title field empty, every item gets the page Title (“Post”). The frontmatter docs say the item title is used as the default page title, but that doesn’t happen for me. Putting {{item.title}} in the Browser title field outputs it literally.
  • Meta description: every item gets the same page-level description. I’d expect the excerpt to be usable here.
  • Canonical: every item points to /post/ instead of /post/?item=.... So Google sees all articles as duplicates of the empty template page.

Example: Presentatie voorbereiden: waarom goede voorbereiding juist vrijheid geeft

Is there a setting I’m missing, or is per-item SEO not supported yet? If not, is it on the roadmap? Without it, CMS blog posts can’t really be indexed separately.

Thanks!
Marcoen

I tried to fill in the meta tags fields but that doesn’t work either. The code is visible but no info for Google. Anyone?

@ben

Hi,

Look at the third video on this documentation page : Quickstart | CMS | RapidWeaver Elements Docs.

Perhaps, you’ll find the solution.

This should work, here’s a screenshot from the Microblog project that’s working in the latest release…

Double check your settings and if you’re still having issues can you “upload” your project" via the Help menu so we can take a look?

Thanks! That’s exactly what I tried: {{item.title}} | Beter Presenteren in the Browser title field of the post page. On my published site it was output literally (<title>{{item.title}} | Beter Presenteren</title>). Same for {{item.excerpt}} in Meta description and {{item.canonicalUrl}} in Canonical URL.

I’m on Elements version 3.1.2… . Which version are you using? Is this a recent addition?

And does it also work for the canonical URL? That’s the bigger issue for me: by default every post gets /post/ as canonical, so Google treats all articles as duplicates. For now I’ve solved it with a small PHP snippet in Page Start that rewrites title, description and canonical per item, but a built-in solution would be cleaner.

I uploaded the project

First of all, the output of {{item.title}}, {{item.excerpt}}, and other similar fields generally works correctly. The same applies to {{item.canonicalUrl}}, which is also output correctly.

Of course, this assumes that the frontmatter is set up properly. Based on my experience with my own projects, I can confirm that everything is displayed correctly and works as expected.

I also had a look at your website, and from what I could see, both the title and the description are being output correctly. The canonical URL also appears to be correct.

So I assume you’ve already managed to fix the issue?

Thanks for looking! What you see on the live site is my workaround: a PHP snippet in Page Start of the post page that rewrites the title, description and canonical per item. That’s why it looks correct now.

Before that, with {{item.title}} | Beter Presenteren in Browser title, {{item.excerpt}} in Meta description and {{item.canonicalUrl}} in Canonical URL, the published page literally showed {{item.title}} | Beter Presenteren. The canonical became …/{{item.canonicalUrl}} (URL-encoded). So the Twig in those fields wasn’t processed at all. A missing frontmatter key would give an empty value, not the literal tag.

You can see this in the project I uploaded if you remove the PHP from Page Start on the post page. Any idea what could cause this? I’m on Elements version 3.1.2

That was the missing part. Thanks a lot for this!!

you are welcome