Adding h-entry markup to posts on your site allows computers to understand them as easily as humans can, without publishing separate copies. All you need to do is add microformats2 h-entry classnames, for example:
<article class="h-entry">
  <div class="e-content p-name">Hello world! This is my first indieweb post.</div>
  <a class="u-url" href="https://example.com/my-first-post">
    Published <time class="dt-published">2025-10-31 03:56:28+0000</time>
  </a>
</article>Your h-entries should have, at minimum, the following properties:
e-content — the main content of the postp-name — if your post is an article with a name, use this classname.dt-published — the datetime the post was published at, in ISO8601 format, with a timezoneu-url — the canonical URL of the post, especially important on pages listing multiple postsIt’s a common convention for the published datetime to be a link to the post itself, but they can be separate if you want.
There should also be some way to discover the author of the post — either link to your homepage (which should have your h-card on it) from anywhere within the body of the page with rel=author, or optionally embed a p-author h-card in the h-entry.
The web is an expressive medium, and as such there are many other properties which you can add to your posts. Check out the h-entry documentation for a full list.
Want to be able to use h-entry data in your code? Check out the open-source implementations.