# What is the closest thing to a primary id in Zola? (for a page)

**URL:** <https://zola.discourse.group/t/what-is-the-closest-thing-to-a-primary-id-in-zola-for-a-page/1145>\
**Category:** Support\
**Created:** [January 22, 2022, 9:23pm UTC](https://zola.discourse.group/t/what-is-the-closest-thing-to-a-primary-id-in-zola-for-a-page/1145 "2022-01-22T21:23:16Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![sshine](https://avatars.discourse-cdn.com/v4/letter/s/71c47a/32.png) [@sshine](https://zola.discourse.group/u/sshine)\
**Post date:** [January 23, 2022, 5:59pm UTC](https://zola.discourse.group/t/what-is-the-closest-thing-to-a-primary-id-in-zola-for-a-page/1145/2 "2022-01-23T17:59:29Z")

</div>

You’re not the first to start thinking of a comment system. When searching this forum, the following solutions based on Javascript pop up:

> [@Blog comments for Zola: Talkyard](https://zola.discourse.group/t/blog-comments-for-zola-talkyard/87):
>
> Hi Zola people / Vincent, I built a commenting system and made it work with Zola. Could be of interest for people who want to add comments to their Zola blog, but don’t want to use Disqus, because of ads and tracking. Also, maybe it makes the Zola blogs out there, look better than what Disqus does? Here’s how it looks: It's called [Talkyard Blog Comments](https://www.talkyard.io/blog-comments), is open source ([GitHub repo](https://github.com/debiki/talkya…

> [@Anyone using Staticman with a Zola blog site?](https://zola.discourse.group/t/anyone-using-staticman-with-a-zola-blog-site/638/3):
>
> No, not at the moment, thanks. I want to use it after I get the rest of my site going, so I’m interested in knowing if it has already been done successfully. I am a complete novice with this process.

But that doesn’t exactly make the comments static.

I don’t like the idea of CSVs. The CSV format is quite fragile wrt. escape sequences.

The best idea I’ve heard for static comments, that I liked, is to use the GitHub API to create comments based on creating web-based pull requests. Then have a CI check that validates that it’s a valid comment (i.e. does not delete anything and only appends in allowed places). This approach solves authentication (you need a GitHub account to comment), and it solves where to host the submit form and the server-side validation, and it integrates neatly with re-publishing the site; and you can decide whether to auto-merge if CI approves that it’s a legal comment, or moderate every comment, or something in-between.

---

_[View the full topic](https://zola.discourse.group/t/what-is-the-closest-thing-to-a-primary-id-in-zola-for-a-page/1145)._
