<?xml version="1.0" encoding="utf-8" standalone="yes"?><?xml-stylesheet type="text/xsl" href="/pretty-feed-v3.xsl"?>
<rss
  version="2.0"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:source="https://source.scripting.com/"
>
  <channel>
    <title>Paul Tibbetts</title>
    <link>https://paultibbetts-uk-feat-cooks.preview.lab.paultibbetts.uk/tags/indieweb/</link>
    <description>Posts by Paul Tibbetts about IndieWeb</description>
    <generator>Hugo</generator>
    <language>en-gb</language>
    <atom:link href="https://paultibbetts-uk-feat-cooks.preview.lab.paultibbetts.uk/tags/indieweb/feed.xml" rel="self" type="application/rss+xml" /><item>
      <title>Liked: On the quiet pleasures of the small web — Paulo Pinto</title>
      <link>https://paulopinto.xyz/notes/2026/05/2026-05-17-on-the-small-web/</link>
      <pubDate>Wed, 20 May 2026 21:42:11 +0100</pubDate>
      <guid>https://paultibbetts-uk-feat-cooks.preview.lab.paultibbetts.uk/2026/05/20/on-the-quiet-pleasures-of-the-small-web-paulo-pinto/</guid>
      <category>IndieWeb</category>
      <description></description>
      <content:encoded><![CDATA[]]></content:encoded></item><item>
      <title>Bookmarked: The internet used to be fun</title>
      <link>https://projects.kwon.nyc/internet-is-fun/</link>
      <pubDate>Wed, 22 Apr 2026 16:42:53 +0100</pubDate>
      <guid>https://paultibbetts-uk-feat-cooks.preview.lab.paultibbetts.uk/2026/04/22/2026-04-22-the-internet-used-to-be-fun/</guid>
      <category>IndieWeb</category>
      <description>here’s a collection of articles that to some degree answer the question “Why have a personal website?” with “Because it’s fun, and the internet used to be fun.&amp;#34;
(It still is, but it used to be, too)</description>
      <content:encoded><![CDATA[<blockquote>
<p>here&rsquo;s a collection of articles that to some degree answer the question &ldquo;Why have a personal website?&rdquo; with “Because it&rsquo;s fun, and the internet used to be fun.&quot;</p>
</blockquote>
<blockquote>
<p>(It still is, but it used to be, too)</p>
</blockquote>]]></content:encoded><source:markdown>
&gt; here&#39;s a collection of articles that to some degree answer the question &#34;Why have a personal website?&#34; with “Because it&#39;s fun, and the internet used to be fun.&#34;

&gt; (It still is, but it used to be, too)
</source:markdown></item><item>
      <title>I’ve seen a few indie web directories popping up lately, so in an attempt to …</title>
      <link>https://paultibbetts-uk-feat-cooks.preview.lab.paultibbetts.uk/2026/04/16/2026-04-16-151643-indie-web-directories/</link>
      <pubDate>Thu, 16 Apr 2026 15:16:43 +0100</pubDate>
      <guid>https://paultibbetts-uk-feat-cooks.preview.lab.paultibbetts.uk/2026/04/16/2026-04-16-151643-indie-web-directories/</guid>
      <category>IndieWeb</category>
      <category>Homebrew Website Club</category>
      <description>I’ve seen a few indie web directories popping up lately, so in an attempt to keep track of them all I’ve started on a directory of indie web directories .
Then I was introduced to Russel’s paradox , which asks if a directory should include itself?
The answer is no, you make another one .</description>
      <content:encoded><![CDATA[<p>I&rsquo;ve seen a few indie web directories popping up lately, so in an attempt to keep track of them all I&rsquo;ve started on a <a href="https://paultibbetts-uk-feat-cooks.preview.lab.paultibbetts.uk/indieweb-directories">directory of indie web directories</a>
.</p>
<p>Then I was introduced to <a href="https://en.wikipedia.org/wiki/Russell%27s_paradox">Russel&rsquo;s paradox</a>
, which asks if a directory should include itself?</p>
<p>The answer is <strong>no</strong>, you make <a href="https://paultibbetts-uk-feat-cooks.preview.lab.paultibbetts.uk/directory-of-indieweb-directories">another one</a>
.</p>]]></content:encoded><source:markdown>
I&#39;ve seen a few indie web directories popping up lately, so in an attempt to keep track of them all I&#39;ve started on a [directory of indie web directories](/indieweb-directories).

Then I was introduced to [Russel&#39;s paradox](https://en.wikipedia.org/wiki/Russell&#39;s_paradox), which asks if a directory should include itself?

The answer is **no**, you make [another one](/directory-of-indieweb-directories).
</source:markdown></item><item>
      <title>Liked: IndieWeb.org Principles</title>
      <link>https://indieweb.org/principles</link>
      <pubDate>Wed, 04 Mar 2026 17:00:44 +0000</pubDate>
      <guid>https://paultibbetts-uk-feat-cooks.preview.lab.paultibbetts.uk/2026/03/04/2026-03-04-principles-indieweb/</guid>
      <category>IndieWeb</category>
      <description></description>
      <content:encoded><![CDATA[]]></content:encoded></item><item>
      <title>Bookmarked: A Website to End All Websites</title>
      <link>https://henry.codes/writing/a-website-to-destroy-all-websites/</link>
      <pubDate>Wed, 04 Mar 2026 14:19:08 +0000</pubDate>
      <guid>https://paultibbetts-uk-feat-cooks.preview.lab.paultibbetts.uk/2026/03/04/2026-03-04-a-website-to-end-all-websites-henry-from-online/</guid>
      <category>IndieWeb</category>
      <description>[…] the path back to feeling like you have some control is to un-spin yourself from the Five Apps of the Apocalypse and reclaim the Internet as a set of tools you use to build something you can own &amp;amp; be proud of</description>
      <content:encoded><![CDATA[<blockquote>
<p>[&hellip;] the path back to feeling like you have some control is to un-spin yourself from the Five Apps of the Apocalypse and reclaim the Internet as a set of tools you use to build something you can own &amp; be proud of</p>
</blockquote>]]></content:encoded><source:markdown>
&gt; [...] the path back to feeling like you have some control is to un-spin yourself from the Five Apps of the Apocalypse and reclaim the Internet as a set of tools you use to build something you can own &amp; be proud of
</source:markdown></item><item>
      <title>How to create an RSS Feed</title>
      <link>https://paultibbetts-uk-feat-cooks.preview.lab.paultibbetts.uk/2026/03/01/how-to-create-an-rss-feed/</link>
      <pubDate>Sun, 01 Mar 2026 16:33:46 +0000</pubDate>
      <guid>https://paultibbetts-uk-feat-cooks.preview.lab.paultibbetts.uk/2026/03/01/how-to-create-an-rss-feed/</guid>
      <category>IndieWeb</category>
      <category>RSS</category>
      <description>In my last post I recommended starting with RSS to make your site followable.
This is how to do that.</description>
      <content:encoded><![CDATA[<p>In my last post I recommended starting with RSS to make your site followable.</p>
<p>This is how to do that.</p>
<h2 id="you-might-already-have-one">You might already have one</h2>
<p>If you&rsquo;re using a static site generator like Hugo, or a CMS like WordPress, then you might already have an RSS feed.</p>
<p>If not, and you&rsquo;re writing your site manually, or just want to understand what&rsquo;s going on, here&rsquo;s what an RSS feed looks like.</p>
<h2 id="a-minimal-rss-feed">A minimal RSS feed</h2>
<p>At a minimum an RSS feed contains:</p>
<pre><code class="language-xml">&lt;?xml version=&#34;1.0&#34; encoding=&#34;UTF-8&#34;?&gt;
&lt;rss version=&#34;2.0&#34;&gt;
  &lt;channel&gt;
    &lt;title&gt;Example Blog&lt;/title&gt;
    &lt;link&gt;https://example.com/&lt;/link&gt;
    &lt;description&gt;Updates from my blog.&lt;/description&gt;

    &lt;item&gt;
      &lt;title&gt;Hello World&lt;/title&gt;
      &lt;link&gt;https://example.com/hello-world&lt;/link&gt;
      &lt;description&gt;My first post.&lt;/description&gt;
    &lt;/item&gt;

  &lt;/channel&gt;
&lt;/rss&gt;</code></pre>
<h3 id="required">Required</h3>
<pre><code class="language-xml">&lt;?xml version=&#34;1.0&#34; encoding=&#34;UTF-8&#34;?&gt;</code></pre>
<p>This line declares the XML version of the file and the encoding that it uses. <code>UTF-8</code> supports text and emoji.</p>
<p>It&rsquo;s strongly recommended to include this line so the file is read correctly.</p>
<pre><code class="language-xml">&lt;rss version=&#34;2.0&#34;&gt;</code></pre>
<p>This is the start of the <code>&lt;rss&gt;</code> element. The <code>version=&quot;2.0&quot;</code> tells consumers that the feed conforms to the RSS 2.0 specification, the most widely supported version.</p>
<pre><code class="language-xml">&lt;channel&gt;
  &lt;title&gt;Example Blog&lt;/title&gt;
  &lt;link&gt;https://example.com/&lt;/link&gt;
  &lt;description&gt;Updates from my blog.&lt;/description&gt;</code></pre>
<p>The <code>&lt;channel&gt;</code> declares the feed itself, so <code>&lt;title&gt;</code>, <code>&lt;link&gt;</code> and <code>&lt;description&gt;</code> are used to describe the feed and its contents.</p>
<p>These details should match what&rsquo;s displayed on your site and will show up for users when adding or managing your feed in their reader.</p>
<p>The <code>&lt;link&gt;</code> should point to the URL of the <code>&lt;channel&gt;</code>, which is the site itself.</p>
<pre><code class="language-xml">&lt;item&gt;
  &lt;title&gt;Hello World&lt;/title&gt;
  &lt;link&gt;https://example.com/hello-world&lt;/link&gt;
  &lt;description&gt;My first post.&lt;/description&gt;
&lt;/item&gt;</code></pre>
<p>The <code>&lt;item&gt;</code> tag is used for each post in the feed.</p>
<p>An <code>&lt;item&gt;</code> <strong>must</strong> contain at least one of:</p>
<ul>
<li><code>&lt;title&gt;</code></li>
<li><code>&lt;description&gt;</code></li>
</ul>
<p>which means you could do:</p>
<pre><code class="language-xml">&lt;item&gt;
  &lt;title&gt;My first post&lt;/title&gt;
&lt;/item&gt;</code></pre>
<p>which is valid, but not very useful, or:</p>
<pre><code class="language-xml">&lt;item&gt;
  &lt;description&gt;Hello, World!&lt;/description&gt;
&lt;/item&gt;</code></pre>
<p>which is also valid, and slightly more useful, if only for microblogs and notes and other posts without a title.</p>
<pre><code class="language-xml">&lt;item&gt;
  &lt;title&gt;An example&lt;/title&gt;
  &lt;link&gt;https://example.com/posts/1&lt;/link&gt;
&lt;/item&gt;</code></pre>
<p>Title + link is more practical, and may be all you need, but:</p>
<pre><code class="language-xml">&lt;item&gt;
  &lt;title&gt;An example&lt;/title&gt;
  &lt;link&gt;https://example.com/posts/1&lt;/link&gt;
  &lt;description&gt;Hello, World!&lt;/description&gt;
&lt;/item&gt;</code></pre>
<p>using all three is most common.</p>
<p>You could use the <code>&lt;description&gt;</code> for the summary of your post or for the whole thing.</p>
<p>There&rsquo;s no upper limit on the amount of <code>&lt;item&gt;</code>s you can include in a feed, but there are some practical things to consider:</p>
<ul>
<li>RSS does not do pagination</li>
<li>
<ul>
<li>everything is listed in one file</li>
</ul>
</li>
<li>if the file gets really big then it takes longer to download</li>
<li>
<ul>
<li>aim to keep it under 500KB</li>
</ul>
</li>
<li>maybe only show your latest posts if you have lots of them</li>
</ul>
<h3 id="optional">Optional</h3>
<p>The fields mentioned above are all that is required for a minimal feed, but there are some optional extras that are recommended.</p>
<pre><code class="language-xml">&lt;item&gt;
  ...
  &lt;guid isPermaLink=&#34;true&#34;&gt;
    https://example.com/posts/1
  &lt;/guid&gt;
&lt;/item&gt;</code></pre>
<p>A <code>guid</code>, for &ldquo;Globally Unique IDentifier&rdquo;, gives each item in the feed a stable identity. This means feed readers can detect and remove duplicates correctly.</p>
<p>This is usually the permalink of the post. If so, <code>isPermaLink</code> defaults to true and can be omitted, however it it&rsquo;s not the permalink, like a database ID, or the exact datetime the post was published, you would change <code>isPermaLink</code> to <code>false</code>.</p>
<p>Note that the <code>L</code> in <code>PermaLink</code> is also capitalised.</p>
<pre><code class="language-xml">&lt;item&gt;
  ...
  &lt;pubDate&gt;Sun, 1 Mar 2026 14:00:00 GMT&lt;/pubDate&gt;
&lt;/item&gt;</code></pre>
<p>The <code>&lt;pubDate&gt;</code> is used to show when an item in the feed was published. It can help feed readers understand the order of your posts and should be added.</p>
<pre><code class="language-xml">&lt;rss version=&#34;2.0&#34;
xmlns:atom=&#34;http://www.w3.org/2005/Atom&#34;&gt;</code></pre>
<p>Changing the <code>&lt;rss&gt;</code> tag to include <code>xmlns:atom=&quot;http://www.w3.org/2005/Atom&quot;</code> is also optional but recommended.</p>
<p>This tells whatever is reading the feed that anything defined with <code>atom:</code> comes from the Atom specification, and lets you use extra tags defined by the Atom spec.</p>
<p>This isn&rsquo;t useful by itself, but it is used when you also add:</p>
<pre><code class="language-xml">&lt;atom:link
href=&#34;https://example.com/index.xml&#34;
rel=&#34;self&#34;
type=&#34;application/rss+xml&#34; /&gt;</code></pre>
<p>which defines the URL of the feed and helps feed readers know the canonical URL of the feed itself, which helps prevent duplicate subscriptions.</p>
<pre><code class="language-xml">&lt;lastBuildDate&gt;Sun, 1 Mar 2026 14:00:00 GMT&lt;/lastBuildDate&gt;</code></pre>
<p>The <code>&lt;lastBuildDate&gt;</code> can be used by feed readers to know if the feed has changed.</p>
<p>Set it to the date of the most recent post.</p>
<pre><code class="language-xml">&lt;language&gt;en-gb&lt;/language&gt;</code></pre>
<p>You should declare the language of the feed. It&rsquo;s small, but it&rsquo;s technically correct.</p>
<h2 id="things-to-remember">Things to remember</h2>
<p>RSS is pretty simple but dealing with XML means you have to remember a few things.</p>
<h3 id="xml-must-be-well-formed">XML must be well-formed</h3>
<p>Writing an RSS feed is still writing XML, and so it must obey the rules of an XML file.</p>
<p>This means the file must not have any missing closing tags, or mix ups with the order in which you close them.</p>
<p>It also means you must handle special characters, otherwise the file is invalid and won&rsquo;t be understood.</p>
<p>For example:</p>
<pre><code class="language-xml">&lt;title&gt;Special &amp; Character&lt;/title&gt;</code></pre>
<p>won&rsquo;t work, because of the <code>&amp;</code>, which must be escaped:</p>
<pre><code class="language-xml">&lt;title&gt;Special &amp;amp; Character&lt;/title&gt;</code></pre>
<h4 id="no-unescaped-html-in-the-description">No unescaped HTML in the description</h4>
<p>The same happens with the <code>&lt;description&gt;</code> tag, which usually holds the summary or the contents of the post, and must not include unescaped HTML characters.</p>
<p>The first option is to escape all of the HTML in the description:</p>
<pre><code class="language-xml">&lt;description&gt;&amp;lt;p&amp;gt;Hello, World!&amp;lt;/p&amp;gt;&lt;/description&gt;</code></pre>
<p>or the more common option is to wrap the HTML content in the description in a <code>CDATA</code> tag:</p>
<pre><code class="language-xml">&lt;description&gt;&lt;![CDATA[
&lt;p&gt;Hello, World!&lt;/p&gt;
]]&gt;&lt;/description&gt;</code></pre>
<p>where CDATA tells whatever is reading the XML file that everything inside this is raw text.</p>
<h4 id="dates-must-be-written-as-rfc-822">Dates must be written as RFC 822</h4>
<p>If you do use <code>&lt;pubDate&gt;</code> or <code>&lt;lastBuildDate&gt;</code> to show dates you must ensure they are written using the <a href="https://www.w3.org/Protocols/rfc822/#z28">RFC 822 format</a>
:</p>
<pre><code class="language-xml">&lt;pubDate&gt;Sun, 1 Mar 2026 14:00:00 GMT&lt;/pubDate&gt;</code></pre>
<h3 id="serve-the-file-with-the-correct-content-type">Serve the file with the correct Content-Type</h3>
<p>When your server responds to a request to show the feed it should send:</p>
<pre><code class="language-text">Content-Type: application/rss+xml</code></pre>
<p>so that feed readers recognise it as an RSS feed.</p>
<p>Most static web hosting handles this for you, I only mention it in case you are setting up a server and are messing with the Content-Type of the files you serve.</p>
<h2 id="how-to-check-your-feed">How to check your feed</h2>
<p>There are a few ways to check you&rsquo;ve written your feed correctly.</p>
<h3 id="open-it-in-a-browser">Open it in a browser</h3>
<p>The file should open and look similar to what you wrote it as. If it doesn&rsquo;t open, there&rsquo;s a problem, and if it shows an error then you need to fix it.</p>
<h3 id="use-a-validator">Use a validator</h3>
<p>You can use <a href="https://validator.w3.org/feed/">validator.w3.org/feed</a>
 to validate your feed. It can work with the URL of your feed online or you can paste in its contents if you&rsquo;re still working on it.</p>
<h3 id="add-it-to-your-reader">Add it to your reader</h3>
<p>The best test is to add your own feed to your reader and check it looks the way you want.</p>
<p>Make sure it&rsquo;s showing in the order you expect and you can edit posts without making duplicates in your reader.</p>
<h2 id="full-example">Full example</h2>
<p>Here is a condensed version of my own RSS feed, containing two articles and a note.</p>
<p>The note doesn&rsquo;t have a <code>&lt;title&gt;</code>, which influenced the URL used for its <code>&lt;guid&gt;</code>.</p>
<pre><code class="language-xml">&lt;?xml version=&#34;1.0&#34; encoding=&#34;utf-8&#34; standalone=&#34;yes&#34;?&gt;
&lt;rss version=&#34;2.0&#34;
	xmlns:atom=&#34;http://www.w3.org/2005/Atom&#34;&gt;
	&lt;channel&gt;
		&lt;title&gt;Paul Tibbetts&lt;/title&gt;
		&lt;link&gt;https://paultibbetts.uk/&lt;/link&gt;
		&lt;description&gt;Recent posts by Paul Tibbetts&lt;/description&gt;
		&lt;generator&gt;Hugo&lt;/generator&gt;
		&lt;language&gt;en-gb&lt;/language&gt;
		&lt;lastBuildDate&gt;Sun, 01 Mar 2026 12:41:46 +0000&lt;/lastBuildDate&gt;
		&lt;atom:link href=&#34;https://paultibbetts.uk/feed.xml&#34; rel=&#34;self&#34; type=&#34;application/rss+xml&#34; /&gt;
		&lt;item&gt;
			&lt;title&gt;How to create an RSS Feed&lt;/title&gt;
			&lt;link&gt;https://paultibbetts.uk/2026/03/01/how-to-create-an-rss-feed/&lt;/link&gt;
			&lt;pubDate&gt;Sun, 01 Mar 2026 16:33:46 +0000&lt;/pubDate&gt;
			&lt;guid&gt;https://paultibbetts.uk/2026/03/01/how-to-create-an-rss-feed/&lt;/guid&gt;
			&lt;description&gt;In my last post I recommended starting with RSS to make your site followable. This is how to do that.&lt;/description&gt;
		&lt;/item&gt;
		&lt;item&gt;
			&lt;title&gt;Ways to make your feed followable&lt;/title&gt;
			&lt;link&gt;https://paultibbetts.uk/2026/03/01/ways-to-make-your-feed-followable/&lt;/link&gt;
			&lt;pubDate&gt;Sun, 01 Mar 2026 11:36:03 +0000&lt;/pubDate&gt;
			&lt;guid&gt;https://paultibbetts.uk/2026/03/01/ways-to-make-your-feed-followable/&lt;/guid&gt;
			&lt;description&gt;You’ve got 3 posts on your site and you want people to be notified about new ones. Here’s all the ways I can think of doing that.&lt;/description&gt;
			&lt;/item&gt;
		&lt;item&gt;
			&lt;title&gt;2026-02-15 14:54:58&lt;/title&gt;
			&lt;link&gt;https://paultibbetts.uk/2026/02/15/2026-02-15-145458/&lt;/link&gt;
			&lt;pubDate&gt;Sun, 15 Feb 2026 14:54:58 +0000&lt;/pubDate&gt;
			&lt;guid&gt;https://paultibbetts.uk/2026/02/15/2026-02-15-145458/&lt;/guid&gt;
			&lt;description&gt;Launched: infra.paultibbetts.uk A documentation site for the infrastructure that runs paultibbetts.uk.&lt;/description&gt;
		&lt;/item&gt;
	&lt;/channel&gt;
&lt;/rss&gt;</code></pre>]]></content:encoded><source:markdown>
In my last post I recommended starting with RSS to make your site followable.

This is how to do that.

&lt;!--more--&gt;

## You might already have one

If you&#39;re using a static site generator like Hugo, or a CMS like WordPress, then you might already have an RSS feed.

If not, and you&#39;re writing your site manually, or just want to understand what&#39;s going on, here&#39;s what an RSS feed looks like.

## A minimal RSS feed

At a minimum an RSS feed contains:

```xml
&lt;?xml version=&#34;1.0&#34; encoding=&#34;UTF-8&#34;?&gt;
&lt;rss version=&#34;2.0&#34;&gt;
  &lt;channel&gt;
    &lt;title&gt;Example Blog&lt;/title&gt;
    &lt;link&gt;https://example.com/&lt;/link&gt;
    &lt;description&gt;Updates from my blog.&lt;/description&gt;

    &lt;item&gt;
      &lt;title&gt;Hello World&lt;/title&gt;
      &lt;link&gt;https://example.com/hello-world&lt;/link&gt;
      &lt;description&gt;My first post.&lt;/description&gt;
    &lt;/item&gt;

  &lt;/channel&gt;
&lt;/rss&gt;
```

### Required

```xml
&lt;?xml version=&#34;1.0&#34; encoding=&#34;UTF-8&#34;?&gt;
```

This line declares the XML version of the file and the encoding that it uses. `UTF-8` supports text and emoji.

It&#39;s strongly recommended to include this line so the file is read correctly.

```xml
&lt;rss version=&#34;2.0&#34;&gt;
```

This is the start of the `&lt;rss&gt;` element. The `version=&#34;2.0&#34;` tells consumers that the feed conforms to the RSS 2.0 specification, the most widely supported version.

```xml
&lt;channel&gt;
  &lt;title&gt;Example Blog&lt;/title&gt;
  &lt;link&gt;https://example.com/&lt;/link&gt;
  &lt;description&gt;Updates from my blog.&lt;/description&gt;
```

The `&lt;channel&gt;` declares the feed itself, so `&lt;title&gt;`, `&lt;link&gt;` and `&lt;description&gt;` are used to describe the feed and its contents.

These details should match what&#39;s displayed on your site and will show up for users when adding or managing your feed in their reader.

The `&lt;link&gt;` should point to the URL of the `&lt;channel&gt;`, which is the site itself.

```xml
&lt;item&gt;
  &lt;title&gt;Hello World&lt;/title&gt;
  &lt;link&gt;https://example.com/hello-world&lt;/link&gt;
  &lt;description&gt;My first post.&lt;/description&gt;
&lt;/item&gt;
```

The `&lt;item&gt;` tag is used for each post in the feed.

An `&lt;item&gt;` **must** contain at least one of:

- `&lt;title&gt;`
- `&lt;description&gt;`

which means you could do:

```xml
&lt;item&gt;
  &lt;title&gt;My first post&lt;/title&gt;
&lt;/item&gt;
```

which is valid, but not very useful, or:

```xml
&lt;item&gt;
  &lt;description&gt;Hello, World!&lt;/description&gt;
&lt;/item&gt;
```

which is also valid, and slightly more useful, if only for microblogs and notes and other posts without a title.

```xml
&lt;item&gt;
  &lt;title&gt;An example&lt;/title&gt;
  &lt;link&gt;https://example.com/posts/1&lt;/link&gt;
&lt;/item&gt;
```

Title + link is more practical, and may be all you need, but:

```xml
&lt;item&gt;
  &lt;title&gt;An example&lt;/title&gt;
  &lt;link&gt;https://example.com/posts/1&lt;/link&gt;
  &lt;description&gt;Hello, World!&lt;/description&gt;
&lt;/item&gt;
```

using all three is most common.

You could use the `&lt;description&gt;` for the summary of your post or for the whole thing.

There&#39;s no upper limit on the amount of `&lt;item&gt;`s you can include in a feed, but there are some practical things to consider:

- RSS does not do pagination
- - everything is listed in one file
- if the file gets really big then it takes longer to download
- - aim to keep it under 500KB
- maybe only show your latest posts if you have lots of them

### Optional

The fields mentioned above are all that is required for a minimal feed, but there are some optional extras that are recommended.

```xml
&lt;item&gt;
  ...
  &lt;guid isPermaLink=&#34;true&#34;&gt;
    https://example.com/posts/1
  &lt;/guid&gt;
&lt;/item&gt;
```

A `guid`, for &#34;Globally Unique IDentifier&#34;, gives each item in the feed a stable identity. This means feed readers can detect and remove duplicates correctly.

This is usually the permalink of the post. If so, `isPermaLink` defaults to true and can be omitted, however it it&#39;s not the permalink, like a database ID, or the exact datetime the post was published, you would change `isPermaLink` to `false`.

Note that the `L` in `PermaLink` is also capitalised.

```xml
&lt;item&gt;
  ...
  &lt;pubDate&gt;Sun, 1 Mar 2026 14:00:00 GMT&lt;/pubDate&gt;
&lt;/item&gt;
```

The `&lt;pubDate&gt;` is used to show when an item in the feed was published. It can help feed readers understand the order of your posts and should be added.

```xml
&lt;rss version=&#34;2.0&#34;
xmlns:atom=&#34;http://www.w3.org/2005/Atom&#34;&gt;
```

Changing the `&lt;rss&gt;` tag to include `xmlns:atom=&#34;http://www.w3.org/2005/Atom&#34;` is also optional but recommended.

This tells whatever is reading the feed that anything defined with `atom:` comes from the Atom specification, and lets you use extra tags defined by the Atom spec.

This isn&#39;t useful by itself, but it is used when you also add:

```xml
&lt;atom:link
href=&#34;https://example.com/index.xml&#34;
rel=&#34;self&#34;
type=&#34;application/rss+xml&#34; /&gt;
```

which defines the URL of the feed and helps feed readers know the canonical URL of the feed itself, which helps prevent duplicate subscriptions.

```xml
&lt;lastBuildDate&gt;Sun, 1 Mar 2026 14:00:00 GMT&lt;/lastBuildDate&gt;
```

The `&lt;lastBuildDate&gt;` can be used by feed readers to know if the feed has changed.

Set it to the date of the most recent post.

```xml
&lt;language&gt;en-gb&lt;/language&gt;
```

You should declare the language of the feed. It&#39;s small, but it&#39;s technically correct.

## Things to remember

RSS is pretty simple but dealing with XML means you have to remember a few things.

### XML must be well-formed

Writing an RSS feed is still writing XML, and so it must obey the rules of an XML file.

This means the file must not have any missing closing tags, or mix ups with the order in which you close them.

It also means you must handle special characters, otherwise the file is invalid and won&#39;t be understood.

For example:

```xml
&lt;title&gt;Special &amp; Character&lt;/title&gt;
```

won&#39;t work, because of the `&amp;`, which must be escaped:

```xml
&lt;title&gt;Special &amp;amp; Character&lt;/title&gt;
```

#### No unescaped HTML in the description

The same happens with the `&lt;description&gt;` tag, which usually holds the summary or the contents of the post, and must not include unescaped HTML characters.

The first option is to escape all of the HTML in the description:

```xml
&lt;description&gt;&amp;lt;p&amp;gt;Hello, World!&amp;lt;/p&amp;gt;&lt;/description&gt;
```

or the more common option is to wrap the HTML content in the description in a `CDATA` tag:

```xml
&lt;description&gt;&lt;![CDATA[
&lt;p&gt;Hello, World!&lt;/p&gt;
]]&gt;&lt;/description&gt;
```

where CDATA tells whatever is reading the XML file that everything inside this is raw text.

#### Dates must be written as RFC 822

If you do use `&lt;pubDate&gt;` or `&lt;lastBuildDate&gt;` to show dates you must ensure they are written using the [RFC 822 format](https://www.w3.org/Protocols/rfc822/#z28):

```xml
&lt;pubDate&gt;Sun, 1 Mar 2026 14:00:00 GMT&lt;/pubDate&gt;
```

### Serve the file with the correct Content-Type

When your server responds to a request to show the feed it should send:

```
Content-Type: application/rss+xml
```

so that feed readers recognise it as an RSS feed.

Most static web hosting handles this for you, I only mention it in case you are setting up a server and are messing with the Content-Type of the files you serve.

## How to check your feed

There are a few ways to check you&#39;ve written your feed correctly.

### Open it in a browser

The file should open and look similar to what you wrote it as. If it doesn&#39;t open, there&#39;s a problem, and if it shows an error then you need to fix it.

### Use a validator

You can use [validator.w3.org/feed](https://validator.w3.org/feed/) to validate your feed. It can work with the URL of your feed online or you can paste in its contents if you&#39;re still working on it.

### Add it to your reader

The best test is to add your own feed to your reader and check it looks the way you want.

Make sure it&#39;s showing in the order you expect and you can edit posts without making duplicates in your reader.

## Full example

Here is a condensed version of my own RSS feed, containing two articles and a note.

The note doesn&#39;t have a `&lt;title&gt;`, which influenced the URL used for its `&lt;guid&gt;`.

```xml
&lt;?xml version=&#34;1.0&#34; encoding=&#34;utf-8&#34; standalone=&#34;yes&#34;?&gt;
&lt;rss version=&#34;2.0&#34;
	xmlns:atom=&#34;http://www.w3.org/2005/Atom&#34;&gt;
	&lt;channel&gt;
		&lt;title&gt;Paul Tibbetts&lt;/title&gt;
		&lt;link&gt;https://paultibbetts.uk/&lt;/link&gt;
		&lt;description&gt;Recent posts by Paul Tibbetts&lt;/description&gt;
		&lt;generator&gt;Hugo&lt;/generator&gt;
		&lt;language&gt;en-gb&lt;/language&gt;
		&lt;lastBuildDate&gt;Sun, 01 Mar 2026 12:41:46 +0000&lt;/lastBuildDate&gt;
		&lt;atom:link href=&#34;https://paultibbetts.uk/feed.xml&#34; rel=&#34;self&#34; type=&#34;application/rss+xml&#34; /&gt;
		&lt;item&gt;
			&lt;title&gt;How to create an RSS Feed&lt;/title&gt;
			&lt;link&gt;https://paultibbetts.uk/2026/03/01/how-to-create-an-rss-feed/&lt;/link&gt;
			&lt;pubDate&gt;Sun, 01 Mar 2026 16:33:46 +0000&lt;/pubDate&gt;
			&lt;guid&gt;https://paultibbetts.uk/2026/03/01/how-to-create-an-rss-feed/&lt;/guid&gt;
			&lt;description&gt;In my last post I recommended starting with RSS to make your site followable. This is how to do that.&lt;/description&gt;
		&lt;/item&gt;
		&lt;item&gt;
			&lt;title&gt;Ways to make your feed followable&lt;/title&gt;
			&lt;link&gt;https://paultibbetts.uk/2026/03/01/ways-to-make-your-feed-followable/&lt;/link&gt;
			&lt;pubDate&gt;Sun, 01 Mar 2026 11:36:03 +0000&lt;/pubDate&gt;
			&lt;guid&gt;https://paultibbetts.uk/2026/03/01/ways-to-make-your-feed-followable/&lt;/guid&gt;
			&lt;description&gt;You’ve got 3 posts on your site and you want people to be notified about new ones. Here’s all the ways I can think of doing that.&lt;/description&gt;
			&lt;/item&gt;
		&lt;item&gt;
			&lt;title&gt;2026-02-15 14:54:58&lt;/title&gt;
			&lt;link&gt;https://paultibbetts.uk/2026/02/15/2026-02-15-145458/&lt;/link&gt;
			&lt;pubDate&gt;Sun, 15 Feb 2026 14:54:58 +0000&lt;/pubDate&gt;
			&lt;guid&gt;https://paultibbetts.uk/2026/02/15/2026-02-15-145458/&lt;/guid&gt;
			&lt;description&gt;Launched: infra.paultibbetts.uk A documentation site for the infrastructure that runs paultibbetts.uk.&lt;/description&gt;
		&lt;/item&gt;
	&lt;/channel&gt;
&lt;/rss&gt;
```
</source:markdown></item><item>
      <title>Ways to make your feed followable</title>
      <link>https://paultibbetts-uk-feat-cooks.preview.lab.paultibbetts.uk/2026/03/01/ways-to-make-your-feed-followable/</link>
      <pubDate>Sun, 01 Mar 2026 11:36:03 +0000</pubDate>
      <guid>https://paultibbetts-uk-feat-cooks.preview.lab.paultibbetts.uk/2026/03/01/ways-to-make-your-feed-followable/</guid>
      <category>IndieWeb</category>
      <category>RSS</category>
      <description>You’ve got 3 posts on your site and you want people to be notified about new ones.
Here’s all the ways I can think of doing that.</description>
      <content:encoded><![CDATA[<p>You&rsquo;ve got 3 posts on your site and you want people to be notified about new ones.</p>
<p>Here&rsquo;s all the ways I can think of doing that.</p>
<h2 id="email">Email</h2>
<p>Some sites let you send out your posts as emails.</p>
<p>Don&rsquo;t do it. It can be tempting, because it&rsquo;s easy, but emails are for emails.</p>
<p>There are better options for your feed.</p>
<h2 id="rss">RSS</h2>
<p>RSS stands for &ldquo;Really Simple Syndication&rdquo;.</p>
<p>It&rsquo;s a standard format for publishing a feed so apps can subscribe to your updates.</p>
<p>Feed readers and podcast apps use it.</p>
<p>It looks a bit like this:</p>
<pre><code class="language-xml">&lt;?xml version=&#34;1.0&#34; encoding=&#34;UTF-8&#34;?&gt;
&lt;rss version=&#34;2.0&#34;&gt;
  &lt;channel&gt;
    &lt;title&gt;RSS Example Site&lt;/title&gt;
    &lt;link&gt;https://example.com/&lt;/link&gt;
    &lt;description&gt;Example site description.&lt;/description&gt;

    &lt;item&gt;
      &lt;title&gt;Hello, World!&lt;/title&gt;
      &lt;link&gt;https://example.com/hello-world.html&lt;/link&gt;
      &lt;description&gt;My first post.&lt;/description&gt;
    &lt;/item&gt;

  &lt;/channel&gt;
&lt;/rss&gt;</code></pre>
<p>You would host a file like this, link to it from the <code>&lt;head&gt;</code> part of your pages, and readers would check it occasionally for updates.</p>
<p>Its simplicity means it&rsquo;s supported by almost all feed reading apps.</p>
<p>Because of this I&rsquo;d say RSS is the best starting point for letting users subscribe to your posts and is worth adding to your site first, before the other alternatives.</p>
<h2 id="atom">Atom</h2>
<p>RSS isn&rsquo;t the only way to create an XML feed. Atom is another standard which is more formally specified.</p>
<p>In the early 2000&rsquo;s, after Atom&rsquo;s launch, there was a time called the &ldquo;RSS vs Atom wars&rdquo;. There was no real winner. Atom was decided to be technically better, but by then RSS had already become dominant.</p>
<p>These days you can add a few Atom elements to your RSS feed, like a <code>rel=self</code> link, to get the best of both worlds.</p>
<h2 id="json">JSON</h2>
<p><a href="https://www.jsonfeed.org/">JSON feed</a>
 is the one of the newer standards. It works in the same way as RSS and Atom but the data is presented as JSON instead of XML.</p>
<p>Web development has moved on from XML and these days JSON-based things are much more common. The idea is that by using JSON we allow developers to build new things like feed readers using modern techniques and tooling, instead of ones used only for legacy publishing steps like an XML-based feed.</p>
<p>It looks a bit like this:</p>
<pre><code class="language-json">{
  &#34;version&#34;: &#34;https://jsonfeed.org/version/1.1&#34;,
  &#34;title&#34;: &#34;Example JSON Feed Site&#34;,
  &#34;home_page_url&#34;: &#34;https://example.com/&#34;,
  &#34;feed_url&#34;: &#34;https://example.com/feed.json&#34;,
  &#34;items&#34;: [
    {
      &#34;id&#34;: &#34;2026-02-28-153000&#34;,
      &#34;url&#34;: &#34;https://paultibbetts.uk/notes/2026-02-28-153000/&#34;,
      &#34;content_html&#34;: &#34;&lt;p&gt;Hello world&lt;/p&gt;&#34;,
      &#34;date_published&#34;: &#34;2026-02-28T15:30:00Z&#34;
    }
  ]
}</code></pre>
<p>JSON feed is already supported by many feed readers and, at least in theory, makes it easier than XML-based feeds to make new ones.</p>
<p>I&rsquo;d say it&rsquo;s worth adding to your site after you&rsquo;ve got an RSS feed, since those are more universally supported right now.</p>
<h2 id="microformats">Microformats</h2>
<p><a href="https://indieweb.org/microformats">Microformats</a>
 is a standard for marking up the contents of your posts, and in doing so makes your feed followable without any other files.</p>
<p>Classes like <code>h-entry</code> and <code>h-card</code> help others to understand the content you&rsquo;re publishing, and the <code>h-feed</code> class is used to identify feeds. This means readers using apps that understand microformats can subscribe to your content directly, without needing an XML or JSON file.</p>
<p>Right now most feed readers expect RSS or Atom feeds, so whilst I would suggest adding microformats, I would do it after adding an RSS feed.</p>
<h2 id="social-media">Social media</h2>
<p>There&rsquo;s also social media, where you would post a link to your content on another site, like Facebook or Instagram.</p>
<p>It&rsquo;s a great way to get your posts in front of users across the web on the apps they&rsquo;re already using, but it&rsquo;s no longer on your own site and you&rsquo;re now at the mercy of whatever the algorithms think of your content.</p>
<p>I&rsquo;d consider doing this as an extra, and only after making your own feed available.</p>
<p>For more information on posting out to social media the IndieWeb.org wiki has a great page called <a href="https://indieweb.org/POSSE">Publish Own Site, Syndicate Elsewhere (POSSE)</a>
.</p>
<h2 id="activitypub">ActivityPub</h2>
<p>Another option is to use the ActivityPub protocol for your content.</p>
<p>ActivityPub is what powers Fediverse apps like Mastodon and making your content available through it makes your site part of the Fediverse itself. Readers can then subscribe using whatever Fediverse app they want.</p>
<p>This involves a lot of work, and is difficult to implement for static sites, so hosted solutions like <a href="https://fed.brid.gy/">Bridgy Fed</a>
 can be used to do this for you.</p>
<h2 id="all-of-the-above">All of the above</h2>
<p>The best option could even be to do all of the above, to give your readers freedom to choose the method that works for them.</p>
<p>If you want the most compatible way to let others follow your posts: start with RSS.</p>
<p>Then add alternatives after.</p>]]></content:encoded><source:markdown>
You&#39;ve got 3 posts on your site and you want people to be notified about new ones.

Here&#39;s all the ways I can think of doing that.

&lt;!--more--&gt;

## Email

Some sites let you send out your posts as emails.

Don&#39;t do it. It can be tempting, because it&#39;s easy, but emails are for emails.

There are better options for your feed.

## RSS

RSS stands for &#34;Really Simple Syndication&#34;.

It&#39;s a standard format for publishing a feed so apps can subscribe to your updates.

Feed readers and podcast apps use it.

It looks a bit like this:

```xml
&lt;?xml version=&#34;1.0&#34; encoding=&#34;UTF-8&#34;?&gt;
&lt;rss version=&#34;2.0&#34;&gt;
  &lt;channel&gt;
    &lt;title&gt;RSS Example Site&lt;/title&gt;
    &lt;link&gt;https://example.com/&lt;/link&gt;
    &lt;description&gt;Example site description.&lt;/description&gt;

    &lt;item&gt;
      &lt;title&gt;Hello, World!&lt;/title&gt;
      &lt;link&gt;https://example.com/hello-world.html&lt;/link&gt;
      &lt;description&gt;My first post.&lt;/description&gt;
    &lt;/item&gt;

  &lt;/channel&gt;
&lt;/rss&gt;
```

You would host a file like this, link to it from the `&lt;head&gt;` part of your pages, and readers would check it occasionally for updates.

Its simplicity means it&#39;s supported by almost all feed reading apps.

Because of this I&#39;d say RSS is the best starting point for letting users subscribe to your posts and is worth adding to your site first, before the other alternatives.

## Atom

RSS isn&#39;t the only way to create an XML feed. Atom is another standard which is more formally specified.

In the early 2000&#39;s, after Atom&#39;s launch, there was a time called the &#34;RSS vs Atom wars&#34;. There was no real winner. Atom was decided to be technically better, but by then RSS had already become dominant.

These days you can add a few Atom elements to your RSS feed, like a `rel=self` link, to get the best of both worlds.

## JSON

[JSON feed](https://www.jsonfeed.org/) is the one of the newer standards. It works in the same way as RSS and Atom but the data is presented as JSON instead of XML.

Web development has moved on from XML and these days JSON-based things are much more common. The idea is that by using JSON we allow developers to build new things like feed readers using modern techniques and tooling, instead of ones used only for legacy publishing steps like an XML-based feed.

It looks a bit like this:

```json
{
  &#34;version&#34;: &#34;https://jsonfeed.org/version/1.1&#34;,
  &#34;title&#34;: &#34;Example JSON Feed Site&#34;,
  &#34;home_page_url&#34;: &#34;https://example.com/&#34;,
  &#34;feed_url&#34;: &#34;https://example.com/feed.json&#34;,
  &#34;items&#34;: [
    {
      &#34;id&#34;: &#34;2026-02-28-153000&#34;,
      &#34;url&#34;: &#34;https://paultibbetts.uk/notes/2026-02-28-153000/&#34;,
      &#34;content_html&#34;: &#34;&lt;p&gt;Hello world&lt;/p&gt;&#34;,
      &#34;date_published&#34;: &#34;2026-02-28T15:30:00Z&#34;
    }
  ]
}
```

JSON feed is already supported by many feed readers and, at least in theory, makes it easier than XML-based feeds to make new ones.

I&#39;d say it&#39;s worth adding to your site after you&#39;ve got an RSS feed, since those are more universally supported right now.

## Microformats

[Microformats](https://indieweb.org/microformats) is a standard for marking up the contents of your posts, and in doing so makes your feed followable without any other files.

Classes like `h-entry` and `h-card` help others to understand the content you&#39;re publishing, and the `h-feed` class is used to identify feeds. This means readers using apps that understand microformats can subscribe to your content directly, without needing an XML or JSON file.

Right now most feed readers expect RSS or Atom feeds, so whilst I would suggest adding microformats, I would do it after adding an RSS feed.

## Social media

There&#39;s also social media, where you would post a link to your content on another site, like Facebook or Instagram.

It&#39;s a great way to get your posts in front of users across the web on the apps they&#39;re already using, but it&#39;s no longer on your own site and you&#39;re now at the mercy of whatever the algorithms think of your content.

I&#39;d consider doing this as an extra, and only after making your own feed available.

For more information on posting out to social media the IndieWeb.org wiki has a great page called [Publish Own Site, Syndicate Elsewhere (POSSE)](https://indieweb.org/POSSE).

## ActivityPub

Another option is to use the ActivityPub protocol for your content.

ActivityPub is what powers Fediverse apps like Mastodon and making your content available through it makes your site part of the Fediverse itself. Readers can then subscribe using whatever Fediverse app they want.

This involves a lot of work, and is difficult to implement for static sites, so hosted solutions like [Bridgy Fed](https://fed.brid.gy/) can be used to do this for you.

## All of the above

The best option could even be to do all of the above, to give your readers freedom to choose the method that works for them.

If you want the most compatible way to let others follow your posts: start with RSS.

Then add alternatives after.
</source:markdown></item><item>
      <title>Into the Fediverse 🖖</title>
      <link>https://paultibbetts-uk-feat-cooks.preview.lab.paultibbetts.uk/2025/09/10/into-the-fediverse/</link>
      <pubDate>Wed, 10 Sep 2025 12:00:00 +0100</pubDate>
      <guid>https://paultibbetts-uk-feat-cooks.preview.lab.paultibbetts.uk/2025/09/10/into-the-fediverse/</guid>
      <category>IndieWeb</category>
      <category>Fediverse</category>
      <category>Bluesky</category>
      <category>Mastodon</category>
      <category>Micro.blog</category>
      <description>We live in strange times, with strange social networks doing strange things.
So why, on the same day I said I was team IndieWeb, did I enter the Fediverse?</description>
      <content:encoded><![CDATA[<p>We live in strange times, with strange social networks doing strange things.</p>
<p>So why, on the same day I said I was team IndieWeb, did I enter the Fediverse?</p>
<h2 id="indieweb">IndieWeb</h2>
<p>I&rsquo;ve been following the <a href="https://indieweb.org/">IndieWeb</a>
 for a decade now and have recently started blogging again, slowly adding IndieWeb features to my site.</p>
<p>Right now it&rsquo;s readable and followable, a bare minimum website experience, but with a little <a href="https://indieweb.org/webmention">webmention</a>
 magic it can grow into something more social. That&rsquo;s the plan anyway.</p>
<p>I&rsquo;d be able to write and respond to others on the IndieWeb that also do webmentions.</p>
<p>But not everyone wants to make their own website, or buy into a platform with strange features they don&rsquo;t understand , so there&rsquo;s a limit to how social it can really end up being.</p>
<h2 id="mastodon">Mastodon</h2>
<p>Enter Mastodon, which erupted in popularity when Musk started to ruin Twitter. It&rsquo;s a decentralised social network that works a bit like Twitter did but without as many nazis.</p>
<p>Mastodon is powered by <a href="https://activitypub.rocks/">ActivityPub</a>
, which means it&rsquo;s part of the Fediverse - a whole network of apps that can all talk to each other.</p>
<p>My website isn&rsquo;t connected yet because I haven&rsquo;t added support for it. I do already have ActivityPub on my Micro.blog account, although it&rsquo;s a little complicated.</p>
<h2 id="microblog">Micro.blog</h2>
<p><a href="https://micro.blog">Micro.blog</a>
 is a microblogging platform with both IndieWeb and Fediverse functionality. I use it at <a href="https://micro.paultibbetts.uk">micro.paultibbetts.uk</a>
 to post shorter content and links to my stuff around the web.</p>
<p>It speaks ActivityPub, so technically you can interact with me at <code>@paultibbetts@micro.blog</code>.</p>
<p>It also has an RSS importer, which I use to posts links from my main site to the Micro.blog timeline, so other users can follow my blog using Micro.blog.</p>
<p>What it does not do, unfortunately, is post those links to ActivityPub.</p>
<p>So I&rsquo;m going to use Micro.blog to cross-post to my own Mastodon account.</p>
<h2 id="bluesky">Bluesky</h2>
<p>So if I&rsquo;m going to check out the Fediverse, and other non-IndieWeb social networks, why not check out Bluesky?</p>
<p>Bluesky is taking a different approach to Mastodon and the rest of the Fediverse.</p>
<p>It does not use ActivityPub, it uses the <a href="https://docs.bsky.app/docs/advanced-guides/atproto">AT Protocol</a>
, something else I don&rsquo;t yet understand or want to add to my own site. So again I&rsquo;m using Micro.blog to cross-post for me.</p>
<h2 id="posse">POSSE</h2>
<p>It&rsquo;s all in an effort to <strong>P</strong>ost to my <strong>O</strong>wn <strong>S</strong>ite and <strong>S</strong>yndicate <strong>E</strong>lsewhere.</p>
<p>I&rsquo;m taking <a href="https://indieweb.org/POSSE">the IndieWeb approach</a>
 and putting my content in one place and then posting links to it in as many places and on as many platforms as I can.</p>
<p>There are more advanced approaches than this, ones where I can pull back comments to my own site, but I&rsquo;m not there just yet.</p>
<p>For now I&rsquo;m building an online presence and testing out the future of social networking.</p>
<h2 id="follow-me">Follow me</h2>
<p>Which changes how you can follow me, again.</p>
<p>You can follow my blog with <a href="https://paultibbetts.uk/feed.xml">RSS</a>
.</p>
<p>You can follow my microblog with <a href="https://micro.paultibbetts.uk/feed.xml">RSS</a>
.</p>
<p>You can follow both using <a href="https://micro.blog/paultibbetts">Micro.blog</a>
, <a href="https://indieweb.social/@paultibbetts">Mastodon</a>
 and <a href="https://bsky.app/profile/paultibbetts.uk">Bluesky</a>
.</p>]]></content:encoded><source:markdown>
We live in strange times, with strange social networks doing strange things.

So why, on the same day I said I was team IndieWeb, did I enter the Fediverse?

&lt;!--more--&gt;

## IndieWeb

I&#39;ve been following the [IndieWeb](https://indieweb.org/) for a decade now and have recently started blogging again, slowly adding IndieWeb features to my site.

Right now it&#39;s readable and followable, a bare minimum website experience, but with a little [webmention](https://indieweb.org/webmention) magic it can grow into something more social. That&#39;s the plan anyway.

I&#39;d be able to write and respond to others on the IndieWeb that also do webmentions.

But not everyone wants to make their own website, or buy into a platform with strange features they don&#39;t understand , so there&#39;s a limit to how social it can really end up being.

## Mastodon

Enter Mastodon, which erupted in popularity when Musk started to ruin Twitter. It&#39;s a decentralised social network that works a bit like Twitter did but without as many nazis.

Mastodon is powered by [ActivityPub](https://activitypub.rocks/), which means it&#39;s part of the Fediverse - a whole network of apps that can all talk to each other.

My website isn&#39;t connected yet because I haven&#39;t added support for it. I do already have ActivityPub on my Micro.blog account, although it&#39;s a little complicated.

## Micro.blog

[Micro.blog](https://micro.blog) is a microblogging platform with both IndieWeb and Fediverse functionality. I use it at [micro.paultibbetts.uk](https://micro.paultibbetts.uk) to post shorter content and links to my stuff around the web.

It speaks ActivityPub, so technically you can interact with me at `@paultibbetts@micro.blog`.

It also has an RSS importer, which I use to posts links from my main site to the Micro.blog timeline, so other users can follow my blog using Micro.blog.

What it does not do, unfortunately, is post those links to ActivityPub.

So I&#39;m going to use Micro.blog to cross-post to my own Mastodon account.

## Bluesky

So if I&#39;m going to check out the Fediverse, and other non-IndieWeb social networks, why not check out Bluesky?

Bluesky is taking a different approach to Mastodon and the rest of the Fediverse.

It does not use ActivityPub, it uses the [AT Protocol](https://docs.bsky.app/docs/advanced-guides/atproto), something else I don&#39;t yet understand or want to add to my own site. So again I&#39;m using Micro.blog to cross-post for me.

## POSSE

It&#39;s all in an effort to **P**ost to my **O**wn **S**ite and **S**yndicate **E**lsewhere.

I&#39;m taking [the IndieWeb approach](https://indieweb.org/POSSE) and putting my content in one place and then posting links to it in as many places and on as many platforms as I can.

There are more advanced approaches than this, ones where I can pull back comments to my own site, but I&#39;m not there just yet.

For now I&#39;m building an online presence and testing out the future of social networking.

## Follow me

Which changes how you can follow me, again.

You can follow my blog with [RSS](https://paultibbetts.uk/feed.xml).

You can follow my microblog with [RSS](https://micro.paultibbetts.uk/feed.xml).

You can follow both using [Micro.blog](https://micro.blog/paultibbetts), [Mastodon](https://indieweb.social/@paultibbetts) and [Bluesky](https://bsky.app/profile/paultibbetts.uk).
</source:markdown></item><item>
      <title>Getting My Own Site</title>
      <link>https://paultibbetts-uk-feat-cooks.preview.lab.paultibbetts.uk/2025/09/09/getting-my-own-site/</link>
      <pubDate>Tue, 09 Sep 2025 20:00:00 +0100</pubDate>
      <guid>https://paultibbetts-uk-feat-cooks.preview.lab.paultibbetts.uk/2025/09/09/getting-my-own-site/</guid>
      <category>IndieWeb</category>
      <category>meta</category>
      <description>The second step to getting on the IndieWeb is to have your own site.
This is easier said than done, and there are lots of different ways of doing it.
This is what I did.</description>
      <content:encoded><![CDATA[<p>The second step to <a href="https://indieweb.org/Getting_Started">getting on the IndieWeb</a>
 is to have your own site.</p>
<p>This is easier said than done, and there are lots of different ways of doing it.</p>
<p>This is what I did.</p>
<h2 id="as-a-web-developer">As a web developer</h2>
<p>There are three paths to getting your own site.</p>
<h3 id="service">Service</h3>
<p>You could use an existing service like <a href="https://micro.blog/">Micro.blog</a>
 to host your site.</p>
<p>I already do this for my <a href="https://micro.paultibbetts.uk/">microblog</a>
 because it comes with a bunch of features out of the box and gets me onto the IndieWeb, even while I don&rsquo;t yet support all the IndieWeb features on my main site.</p>
<h3 id="cms">CMS</h3>
<p>An alternative path is to use an existing content management system and add on IndieWeb features with plugins.</p>
<p>I&rsquo;ve done this in the past with <a href="https://wordpress.org/">WordPress</a>
 but I moved on from the WordPress world a while ago.</p>
<h3 id="self-starter">Self-starter</h3>
<p>I decided I was more comfortable writing and doing it myself.</p>
<h2 id="what-it-needs-to-do">What it needs to do</h2>
<p>Before I wrote any code I made sure to cover the basics.</p>
<h3 id="information-about-me">Information about me</h3>
<p>The homepage of my site needs to include a <a href="https://indieweb.org/h-card">h-card</a>
 with my name, an icon, and <a href="https://indieweb.org/rel-me">rel-me</a>
 links to my social network profiles.</p>
<p>This is not only useful for humans but I can also use it to sign in to other sites using <a href="https://indieweb.org/IndieAuth">IndieAuth</a>
.</p>
<p>I used <a href="https://indiewebify.me/">IndieWebify.me</a>
 to check I&rsquo;d done it correctly.</p>
<h3 id="publish-content">Publish content</h3>
<p>My posts should be marked up using <a href="https://indieweb.org/h-entry">h-entry</a>
 so that others can understand my content.</p>
<p>The original site design had words with titles, which makes them technically &ldquo;articles&rdquo;, although that could change in the fture.</p>
<h2 id="how-the-site-works">How the site works</h2>
<p>There are lots of different ways to do this.</p>
<p>In fact there are too many, so I kept it as simple as I could.</p>
<h3 id="static-site-generator">Static site generator</h3>
<p>I want to write my content in <a href="https://www.markdownguide.org/">Markdown</a>
, I would prefer doing that on my laptop instead of my phone, and I&rsquo;m ok running commands to publish things.</p>
<p>Which means I can use a <a href="https://en.wikipedia.org/wiki/Static_site_generator">static site generator</a>
 like <a href="https://gohugo.io">Hugo</a>
 to turn my markdown files into HTML.</p>
<h2 id="hosting">Hosting</h2>
<p>One of the best parts about using a static site generator is that it makes hosting simpler.</p>
<p>Once you have generated a static site you can upload the files to a web host and you&rsquo;re done.</p>
<p>And you can automate it, so all you do is update it and it gets deployed automatically.</p>
<h3 id="github-pages">GitHub pages</h3>
<p>I host copies of my code on GitHub so that others can view the source and I was planning on doing the same with my site.</p>
<p>This meant I could use one of GitHub&rsquo;s other features, which is <a href="https://pages.github.com/">free hosting for static content</a>
.</p>
<p>All I would need to do is add a <a href="https://github.com/paultibbetts/paultibbetts.uk/blob/a24aa42e17d0b8f059d9f12118fd69147b3fa12b/.github/workflows/hugo.yaml">workflow</a>
 for GitHub Actions to perform each time the code gets updated and the site gets deployed automatically.</p>
<h2 id="indiemark">IndieMark</h2>
<p>There&rsquo;s no official measure of a site&rsquo;s &ldquo;IndieWebness&rdquo; but the closest right now is the still-in-development <a href="https://indieweb.org/IndieMark">IndieMark</a>
 which would score me a level 1.</p>
<p>Level 0 involves owning your own domain, something I have <a href="https://paultibbetts.uk/2025/09/09/getting-my-own-domain/">written about before</a>
, and having a personal site at that domain.</p>
<p>Level 1 involves:</p>
<ul>
<li><strong>identity</strong>, I&rsquo;ll be using this at my primary domain</li>
<li><strong>authentication</strong> using <a href="https://indieweb.org/rel-me">rel-me</a>
 links to my external social network profiles</li>
<li><strong>posts</strong> with <strong>permalinks</strong>, <strong>h-entry</strong> markup and other <strong>microformats</strong></li>
<li><strong>searchable</strong> by <strong>allowing robots to index my site</strong>, my <strong>content is written in HTML</strong> and <strong>no JavaScript is required to read it</strong></li>
</ul>
<h2 id="view-source">View source</h2>
<p>You can <a href="https://github.com/paultibbetts/paultibbetts.uk">view the source code</a>
 to see how I&rsquo;ve abused Hugo and <a href="https://tailwindcss.com/">TailwindCSS</a>
 into creating my own site, hosted on GitHub Pages.</p>]]></content:encoded><source:markdown>
The second step to [getting on the IndieWeb](https://indieweb.org/Getting_Started) is to have your own site.

This is easier said than done, and there are lots of different ways of doing it.

This is what I did.

&lt;!--more--&gt;

## As a web developer

There are three paths to getting your own site.

### Service

You could use an existing service like [Micro.blog](https://micro.blog/) to host your site.

I already do this for my [microblog](https://micro.paultibbetts.uk/) because it comes with a bunch of features out of the box and gets me onto the IndieWeb, even while I don&#39;t yet support all the IndieWeb features on my main site.

### CMS

An alternative path is to use an existing content management system and add on IndieWeb features with plugins.

I&#39;ve done this in the past with [WordPress](https://wordpress.org/) but I moved on from the WordPress world a while ago.

### Self-starter

I decided I was more comfortable writing and doing it myself.

## What it needs to do

Before I wrote any code I made sure to cover the basics.

### Information about me

The homepage of my site needs to include a [h-card](https://indieweb.org/h-card) with my name, an icon, and [rel-me](https://indieweb.org/rel-me) links to my social network profiles.

This is not only useful for humans but I can also use it to sign in to other sites using [IndieAuth](https://indieweb.org/IndieAuth).

I used [IndieWebify.me](https://indiewebify.me/) to check I&#39;d done it correctly.

### Publish content

My posts should be marked up using [h-entry](https://indieweb.org/h-entry) so that others can understand my content.

The original site design had words with titles, which makes them technically &#34;articles&#34;, although that could change in the fture.

## How the site works

There are lots of different ways to do this.

In fact there are too many, so I kept it as simple as I could.

### Static site generator

I want to write my content in [Markdown](https://www.markdownguide.org/), I would prefer doing that on my laptop instead of my phone, and I&#39;m ok running commands to publish things.

Which means I can use a [static site generator](https://en.wikipedia.org/wiki/Static_site_generator) like [Hugo](https://gohugo.io) to turn my markdown files into HTML.

## Hosting

One of the best parts about using a static site generator is that it makes hosting simpler.

Once you have generated a static site you can upload the files to a web host and you&#39;re done.

And you can automate it, so all you do is update it and it gets deployed automatically.

### GitHub pages

I host copies of my code on GitHub so that others can view the source and I was planning on doing the same with my site.

This meant I could use one of GitHub&#39;s other features, which is [free hosting for static content](https://pages.github.com/).

All I would need to do is add a [workflow](https://github.com/paultibbetts/paultibbetts.uk/blob/a24aa42e17d0b8f059d9f12118fd69147b3fa12b/.github/workflows/hugo.yaml) for GitHub Actions to perform each time the code gets updated and the site gets deployed automatically.

## IndieMark

There&#39;s no official measure of a site&#39;s &#34;IndieWebness&#34; but the closest right now is the still-in-development [IndieMark](https://indieweb.org/IndieMark) which would score me a level 1.

Level 0 involves owning your own domain, something I have [written about before](https://paultibbetts.uk/2025/09/09/getting-my-own-domain/), and having a personal site at that domain.

Level 1 involves:

- **identity**, I&#39;ll be using this at my primary domain
- **authentication** using [rel-me](https://indieweb.org/rel-me) links to my external social network profiles
- **posts** with **permalinks**, **h-entry** markup and other **microformats**
- **searchable** by **allowing robots to index my site**, my **content is written in HTML** and **no JavaScript is required to read it**

## View source

You can [view the source code](https://github.com/paultibbetts/paultibbetts.uk) to see how I&#39;ve abused Hugo and [TailwindCSS](https://tailwindcss.com/) into creating my own site, hosted on GitHub Pages.
</source:markdown></item><item>
      <title>Getting My Own Domain</title>
      <link>https://paultibbetts-uk-feat-cooks.preview.lab.paultibbetts.uk/2025/09/09/getting-my-own-domain/</link>
      <pubDate>Tue, 09 Sep 2025 15:53:46 +0100</pubDate>
      <guid>https://paultibbetts-uk-feat-cooks.preview.lab.paultibbetts.uk/2025/09/09/getting-my-own-domain/</guid>
      <category>IndieWeb</category>
      <category>meta</category>
      <description>The first step to getting on the IndieWeb is to have your own domain.
I’ve already got one, so I thought I’d explain how I got it.</description>
      <content:encoded><![CDATA[<p>The first step to <a href="https://indieweb.org/Getting_Started">getting on the IndieWeb</a>
 is to have your own domain.</p>
<p>I&rsquo;ve already got one, so I thought I&rsquo;d explain how I got it.</p>
<h2 id="ruler">Ruler</h2>
<p>Years ago I registered my name as my domain.</p>
<p>I&rsquo;m not a company, so I didn&rsquo;t want <code>.com</code>, but there weren&rsquo;t many options, and so to make me &ldquo;Paul Tibbetts from the UK&rdquo; I went with <code>.co.uk</code>.</p>
<p>Some time later <code>.uk</code> was made available and to make it fair to the <code>.co.uk</code> owners who wanted to drop the <code>.co</code> you had to also own the <code>.co.uk</code> version to register it, so for a while I owned both.</p>
<p>This was all before the newer extensions like <code>.blog</code> and <code>.dev</code> came out. When they did I considered changing but decided against it.</p>
<h2 id="registrar">Registrar</h2>
<p>I registered my domain with <a href="https://www.heartinternet.uk/">Heart Internet</a>
 because that&rsquo;s who we used at work and I didn&rsquo;t have any kind of preference.</p>
<p>They don&rsquo;t expose my personal data when you run a <a href="https://www.whois.com/whois/paultibbetts.uk">whois query on the domain</a>
 so I haven&rsquo;t found a reason to move away from them.</p>
<p>Renewals are £9.99 per year.</p>
<h2 id="management">Management</h2>
<p>For a while I managed the domain using the interface on Heart Internet but since then I&rsquo;ve moved it to <a href="https://www.cloudflare.com/">Cloudflare</a>
.</p>
<p>To do this I changed the nameservers that the domain uses from Heart Internet&rsquo;s to Cloudflare&rsquo;s.</p>
<h2 id="records">Records</h2>
<p>There aren&rsquo;t that many records right now.</p>
<h3 id="heading">@</h3>
<p>The apex domain, as in the bare one without any subdomains (<code>https://paultibbetts.uk</code>), points to a really small landing page I made for myself.</p>
<p>I&rsquo;ll be redoing this soon so I won&rsquo;t talk about it yet.</p>
<h3 id="www">www</h3>
<p>I <strong>don&rsquo;t</strong> use the <code>www</code> subdomain.</p>
<p>I know there are people who think this is wrong but growing up sharing links with others the moment I discovered you could get rid of it I did and haven&rsquo;t looked back.</p>
<p>Maybe one day I will revisit this.</p>
<h3 id="micro">micro</h3>
<p><code>micro.paultibbetts.uk</code> is powered by <a href="https://micro.blog">Micro.blog</a>
.</p>
<p>I <em>could</em> run my main domain with Micro.blog but I want to have a go at doing that myself.</p>
<p>I followed <a href="https://help.micro.blog/t/custom-domain-names/53">the Micro.blog guide to set up a custom domain</a>
 and used a <code>CNAME</code> on my domain to point <code>micro</code> to <code>https://paultibbetts.micro.blog</code>.</p>
<h2 id="emails">Emails</h2>
<p>Once upon a time I hosted my own email server.</p>
<p>The company I worked at, Sixth Story, had an email address <code>iwanttowork @ sixthstory</code> that I thought was clever, so I wanted <code>hire @ paultibbetts</code> for myself. Applying for jobs as a web developer I thought it would help me stand out.</p>
<p>Even after all the work though I still found myself using my regular Apple email address because I knew it was more stable, and less likely to get marked as spam, so when Apple announced <a href="https://support.apple.com/en-us/102540">you can use custom domains with iCloud mail</a>
 I got rid of my email server and used Apple&rsquo;s instead.</p>
<p>This means I have some <code>MX</code> and <code>TXT</code> records to allow that to work.</p>
<h2 id="in-review">In review</h2>
<p>I have always been jealous of others with better domains than me.</p>
<h3 id="difficult-to-spell">Difficult to spell</h3>
<p>I have trouble getting people to spell my surname correctly.</p>
<p>I don&rsquo;t blame them, there&rsquo;s lots of Bs and Ts, and saying &ldquo;technically there&rsquo;s 3 Ts&rdquo; isn&rsquo;t helpful when they&rsquo;re typing the double T towards the end.</p>
<h4 id="potential-fix">Potential fix</h4>
<p>Aral&rsquo;s <code>ar.al</code> domain is much better than mine. It&rsquo;s short and easy to spell.</p>
<p>Maybe I could find a short domain and set it up to redirect?</p>
<p>Time for another disappointing trip to <a href="https://iwantmyname.com/">IWantMyName</a>
 to see all the good domains have been taken.</p>
<h3 id="did-you-mean-the-other-one">Did you mean the other one?</h3>
<p>I share a name with someone way more famous than me.</p>
<p>It&rsquo;s spelt a little different but search engines will assume you meant the other Paul.</p>
<h4 id="potential-fix-1">Potential fix</h4>
<p>There are a few ways I can improve my search engine rankings.</p>
<p>I&rsquo;m going to try writing lots of content to go on my domain, hoping that does it.</p>
<p>I will <strong>not</strong> do what the other guy did.</p>
<h3 id="dot-uk">dot UK</h3>
<p>My <code>.uk</code> address works whilst I live here but it wouldn&rsquo;t if I moved.</p>
<h4 id="potential-fix-2">Potential fix</h4>
<p>I don&rsquo;t have any immediate plans to move abroad so I&rsquo;m not too concerned with this.</p>
<p>If I ever did I can setup redirects.</p>
<h3 id="not-a-cool-internet-name">Not a cool internet name</h3>
<p>Jeremy Keith&rsquo;s <code>adactio.com</code> domain regularly reminds me I&rsquo;m not creative enough to come up with a cool internet name.</p>
<h4 id="potential-fix-3">Potential fix</h4>
<p>Maybe another decade of thinking about it will help.</p>
<h2 id="reposted">Reposted</h2>
<p>This was originally posted on my <a class="u-repost-of" href="https://micro.paultibbetts.uk/2025/01/02/getting-my-own-domain.html">microblog</a> before this site existed and I wanted a copy of it here.</p>]]></content:encoded><source:markdown>
The first step to [getting on the IndieWeb](https://indieweb.org/Getting_Started) is to have your own domain.

I&#39;ve already got one, so I thought I&#39;d explain how I got it.

&lt;!--more--&gt;

## Ruler

Years ago I registered my name as my domain.

I&#39;m not a company, so I didn&#39;t want `.com`, but there weren&#39;t many options, and so to make me &#34;Paul Tibbetts from the UK&#34; I went with `.co.uk`.

Some time later `.uk` was made available and to make it fair to the `.co.uk` owners who wanted to drop the `.co` you had to also own the `.co.uk` version to register it, so for a while I owned both.

This was all before the newer extensions like `.blog` and `.dev` came out. When they did I considered changing but decided against it.

## Registrar

I registered my domain with [Heart Internet](https://www.heartinternet.uk/) because that&#39;s who we used at work and I didn&#39;t have any kind of preference.

They don&#39;t expose my personal data when you run a [whois query on the domain](https://www.whois.com/whois/paultibbetts.uk) so I haven&#39;t found a reason to move away from them.

Renewals are £9.99 per year.

## Management

For a while I managed the domain using the interface on Heart Internet but since then I&#39;ve moved it to [Cloudflare](https://www.cloudflare.com/).

To do this I changed the nameservers that the domain uses from Heart Internet&#39;s to Cloudflare&#39;s.

## Records

There aren&#39;t that many records right now.

### @

The apex domain, as in the bare one without any subdomains (`https://paultibbetts.uk`), points to a really small landing page I made for myself.

I&#39;ll be redoing this soon so I won&#39;t talk about it yet.

### www

I **don&#39;t** use the `www` subdomain.

I know there are people who think this is wrong but growing up sharing links with others the moment I discovered you could get rid of it I did and haven&#39;t looked back.

Maybe one day I will revisit this.

### micro

`micro.paultibbetts.uk` is powered by [Micro.blog](https://micro.blog).

I _could_ run my main domain with Micro.blog but I want to have a go at doing that myself.

I followed [the Micro.blog guide to set up a custom domain](https://help.micro.blog/t/custom-domain-names/53) and used a `CNAME` on my domain to point `micro` to `https://paultibbetts.micro.blog`.

## Emails

Once upon a time I hosted my own email server.

The company I worked at, Sixth Story, had an email address `iwanttowork @ sixthstory` that I thought was clever, so I wanted `hire @ paultibbetts` for myself. Applying for jobs as a web developer I thought it would help me stand out.

Even after all the work though I still found myself using my regular Apple email address because I knew it was more stable, and less likely to get marked as spam, so when Apple announced [you can use custom domains with iCloud mail](https://support.apple.com/en-us/102540) I got rid of my email server and used Apple&#39;s instead.

This means I have some `MX` and `TXT` records to allow that to work.

## In review

I have always been jealous of others with better domains than me.

### Difficult to spell

I have trouble getting people to spell my surname correctly.

I don&#39;t blame them, there&#39;s lots of Bs and Ts, and saying &#34;technically there&#39;s 3 Ts&#34; isn&#39;t helpful when they&#39;re typing the double T towards the end.

#### Potential fix

Aral&#39;s `ar.al` domain is much better than mine. It&#39;s short and easy to spell.

Maybe I could find a short domain and set it up to redirect?

Time for another disappointing trip to [IWantMyName](https://iwantmyname.com/) to see all the good domains have been taken.

### Did you mean the other one?

I share a name with someone way more famous than me.

It&#39;s spelt a little different but search engines will assume you meant the other Paul.

#### Potential fix

There are a few ways I can improve my search engine rankings.

I&#39;m going to try writing lots of content to go on my domain, hoping that does it.

I will **not** do what the other guy did.

### dot UK

My `.uk` address works whilst I live here but it wouldn&#39;t if I moved.

#### Potential fix

I don&#39;t have any immediate plans to move abroad so I&#39;m not too concerned with this.

If I ever did I can setup redirects.

### Not a cool internet name

Jeremy Keith&#39;s `adactio.com` domain regularly reminds me I&#39;m not creative enough to come up with a cool internet name.

#### Potential fix

Maybe another decade of thinking about it will help.

## Reposted

This was originally posted on my &lt;a class=&#34;u-repost-of&#34; href=&#34;https://micro.paultibbetts.uk/2025/01/02/getting-my-own-domain.html&#34;&gt;microblog&lt;/a&gt; before this site existed and I wanted a copy of it here.
</source:markdown></item><item>
      <title>IndieWeb: Why</title>
      <link>https://paultibbetts-uk-feat-cooks.preview.lab.paultibbetts.uk/2025/09/09/indieweb-why/</link>
      <pubDate>Tue, 09 Sep 2025 15:50:00 +0100</pubDate>
      <guid>https://paultibbetts-uk-feat-cooks.preview.lab.paultibbetts.uk/2025/09/09/indieweb-why/</guid>
      <category>IndieWeb</category>
      <description>The IndieWeb is a people-focused alternative to the “corporate web”.
I’ve been a believer for over a decade.
Here’s why.</description>
      <content:encoded><![CDATA[<p>The <a href="https://indieweb.org/">IndieWeb</a>
 is a people-focused alternative to the &ldquo;corporate web&rdquo;.</p>
<p>I&rsquo;ve been a believer for over a decade.</p>
<p>Here&rsquo;s why.</p>
<h2 id="i-own-my-data">I own my data</h2>
<p>I used to use the social networks. They&rsquo;d make money from me being there, and that was my price of admission. Everybody did it. It was normal.</p>
<p>Except it isn&rsquo;t normal, and it shouldn&rsquo;t be thought of as normal.</p>
<p>We gave up our ownership for ease of use, and I think that&rsquo;s wrong.</p>
<p>The IndieWeb puts content ownership first.</p>
<h2 id="i-am-better-connected">I am better connected</h2>
<p>Since Musk bought Twitter I haven&rsquo;t been able to view any tweets on my phone. It complains about me using an adblocker and refuses to load the page, even though I&rsquo;m not using one.</p>
<p>I left Instagram before they stopped letting you include links in your posts.</p>
<p>And I&rsquo;ve ran out of free Medium articles to read this month, so I can&rsquo;t read your latest post on that platform.</p>
<p>But I&rsquo;ve never had a problem using other people&rsquo;s personal sites.</p>
<p>Everyone else being on the IndieWeb helps me, so I do the same for them.</p>
<h2 id="i-am-in-control">I am in control</h2>
<p>On the IndieWeb it&rsquo;s up to me to choose how I&rsquo;m represented online and what gets made available.</p>
<p>Which is how the web should be.</p>
<h2 id="i-want-the-web-to-be-more-open">I want the web to be more open</h2>
<p>The web was built on openness. Anyone could publish a page and send it to others.</p>
<p>Since then it&rsquo;s consolidated into a handful of platforms that dictate how things happen and how posts get seen, if they get seen at all.</p>
<p>Which means the IndieWeb is more than having your own site, it&rsquo;s a movement, to restore the web&rsquo;s original promise: to be a network that connects people.</p>
<h2 id="if-you-agree">If you agree</h2>
<p><a href="https://indieweb.org/Getting_Started">Here&rsquo;s how you can join in</a>
.</p>]]></content:encoded><source:markdown>
The [IndieWeb](https://indieweb.org/) is a people-focused alternative to the &#34;corporate web&#34;.

I&#39;ve been a believer for over a decade.

Here&#39;s why.

&lt;!--more--&gt;

## I own my data

I used to use the social networks. They&#39;d make money from me being there, and that was my price of admission. Everybody did it. It was normal.

Except it isn&#39;t normal, and it shouldn&#39;t be thought of as normal.

We gave up our ownership for ease of use, and I think that&#39;s wrong.

The IndieWeb puts content ownership first.

## I am better connected

Since Musk bought Twitter I haven&#39;t been able to view any tweets on my phone. It complains about me using an adblocker and refuses to load the page, even though I&#39;m not using one.

I left Instagram before they stopped letting you include links in your posts.

And I&#39;ve ran out of free Medium articles to read this month, so I can&#39;t read your latest post on that platform.

But I&#39;ve never had a problem using other people&#39;s personal sites.

Everyone else being on the IndieWeb helps me, so I do the same for them.

## I am in control

On the IndieWeb it&#39;s up to me to choose how I&#39;m represented online and what gets made available.

Which is how the web should be.

## I want the web to be more open

The web was built on openness. Anyone could publish a page and send it to others.

Since then it&#39;s consolidated into a handful of platforms that dictate how things happen and how posts get seen, if they get seen at all.

Which means the IndieWeb is more than having your own site, it&#39;s a movement, to restore the web&#39;s original promise: to be a network that connects people.

## If you agree

[Here&#39;s how you can join in](https://indieweb.org/Getting_Started).
</source:markdown></item>
  </channel>
</rss>
