The IndieWeb and the small web, explained

· 8 min read · #indieweb · #smallweb · #personal-web · #webmention · #microformats · #neocities

What the IndieWeb and the small web are, how they differ and where they meet: POSSE, microformats, Webmention and IndieAuth on one side, Neocities, webrings, Gemini and pubnixes on the other. Plus where to find these sites and how to start your own.

Contents

For most people today, the web is a few apps. You open one, scroll, and whatever you post lives on someone else's servers, under rules you didn't write, inside a feed you don't control.

Underneath all of that, the original web is still there and still works the same way. Anyone can get a domain, put an HTML file on a server, and anyone else in the world can read it with a browser, no account needed. A lot of people never stopped doing that. Two names keep coming up when people talk about them: the IndieWeb and the small web. They overlap a lot, and they aren't the same thing, so here's what each one means, what it looks like in practice and how to get in.

The IndieWeb #

The IndieWeb describes itself as "a people-focused alternative to the corporate web": a community of independent and personal websites built around a few ideas. You own your domain and use it as your main identity online. You publish on your own site first, and only then, if you want, somewhere else. And you own what you write.

The home page of indieweb.org, with the red and orange IndieWebCamp logo at the top. A grey box asks "What is the IndieWeb?" and answers that it is a people-focused alternative to the "corporate web", a community of independent and personal websites based on owning your domain, publishing on your own site first and owning your content. Below, three yellow icons introduce the sections "Your content is yours", "You are better connected" and "You are in control".

It has a home at indieweb.org, a wiki that is also its documentation, and a history of meetups. The earliest IndieWebCamp on the wiki's list happened in Portland, Oregon, in 2011, and there are still small online and local gatherings for people who are building their own sites.

The community keeps a list of principles. Some are what you'd expect: own your domain and data, use what you make, make your code open source, build for the long web. Others are a little more surprising, like "Make what you need" (for yourself first, not for "everyone") and "Pluralism", which means there's no single right way or software to do any of this. The last one closes the list: "Above all, Have fun. Keep the web weird and interesting."

POSSE #

The idea people bring up most is POSSE: Publish (on your) Own Site, Syndicate Elsewhere. You write the post on your site, at your address, and then share a copy or a link on Mastodon, Bluesky or wherever your friends are. If the platform disappears, changes its rules or locks you out, the original is still at your address. The links you shared over the years keep working, because they point to you.

The building blocks #

Owning a site is the easy part. The interesting work is making independent sites talk to each other the way social networks do, with replies, likes and follows, but without a company in the middle. The IndieWeb uses a handful of small standards for that, and none of them needs more than ordinary HTML and HTTP:

  • Microformats are plain class names you add to your HTML so software can read it. An h-card says who you are (name, photo, URL), an h-entry marks a post, with its title, date and content. Your page looks exactly the same to people.
  • rel="me" links connect your site to your other profiles. If your site links to your GitHub with rel="me" and your GitHub links back to your site, that's proof both belong to the same person. Mastodon uses the same trick to show a verified link on your profile.
  • Webmention is how sites notify each other. When you write a reply on your blog to a post on someone else's blog, your site sends a small notice to theirs saying "this page mentions you". Their site can then show your reply as a comment. It became a W3C Recommendation in January 2017.
  • IndieAuth lets you sign in to services using your own domain as your identity, instead of a Google or Facebook account.
  • Micropub lets you publish to your site from other apps, like a phone app for quick notes or photos. It became a W3C Recommendation in May 2017.

You don't need all of them. Most IndieWeb sites start with a domain, an h-card and a few rel="me" links, and add the rest over time.

What that looks like on this blog #

This blog runs on PaCord, my own CMS, and it speaks most of that language. If you open the source of the home page, among the usual tags in the <head>, there are lines like these:

<link rel="webmention" href="https://cms.pablomurad.com/webmention">
<link rel="micropub" href="https://cms.pablomurad.com/micropub">
<link rel="authorization_endpoint" href="https://cms.pablomurad.com/indieauth/auth">
<link rel="token_endpoint" href="https://cms.pablomurad.com/indieauth/token">

Those tell other software where to send webmentions, where a Micropub app can post, and how to sign in with pablomurad.com through IndieAuth. Further down, the page has an h-card with my name and photo, every post is marked as an h-entry, and the footer links to my other profiles with rel="me": GitHub, Codeberg, sourcehut, my own Git server and murad.social, among others. There are feeds too, in RSS, Atom, JSON Feed and JF2, so any reader can follow along.

The easiest way to check your own site is IndieWebify.me, which walks you through each step and tests your pages. This is what it finds here:

The IndieWebify.me page "Publishing on the IndieWeb, Level 2", step 1, "Mark up your content with microformats2". The address https://pablomurad.com/ is in the input box next to a green "Validate h-card" button. Below, a green "Success!" box says a representative h-card was found, showing a photo of Pablo Murad, his name, the URL https://pablomurad.com, an email link, the note "Technology, education and freedom." and the nickname runawaydevil.

The small web #

The small web is harder to pin down, because nobody owns the term. There's no wiki that defines it, no list of principles and no standard to implement. It's a loose name for the part of the internet made of personal, non-commercial, usually lightweight sites, made by one person or a few, because they wanted that thing to exist.

Where the IndieWeb talks about protocols and ownership, the small web is about scale and feel. A small web site is usually:

  • personal: a homepage, a blog, a fan shrine, a collection of recipes, a page about one strange hobby;
  • light: plain HTML, a little CSS, few or no scripts, no trackers and no cookie banners;
  • made by hand, or close to it, often with the seams showing;
  • connected in old ways: links to friends, webrings, blogrolls, guestbooks, RSS, and those tiny 88x31 buttons from the 2000s.

Some people take the "small" literally. The 512KB Club and the 1MB Club, which showed up in Neat Finds #02, only list sites whose pages weigh less than that.

The small web also goes beyond HTTP. Gemini is a protocol made in 2019 to be deliberately simpler than the web, with text pages and no scripts at all. Gopher, from 1991, still has people writing phlogs on it. Nex is even smaller: you connect, send a path and get back text. And there are pubnixes, or tildes, shared Unix servers where members get a shell account, a home page at /~name and a community that talks through the terminal.

Where it lives #

A lot of the small web lives on Neocities, a free host for static sites that took the place GeoCities left empty. You get yourname.neocities.org, an editor in the browser and a community where sites follow each other. The counter on its home page shows more than 1.8 million sites.

The Neocities home page, teal and dark grey, with a cartoon cat holding a paintbrush next to the word "neocities" and line drawings of houses and stars. The headline reads "Create your own free website. Unlimited creativity, zero ads." and the text below mentions a network of 1,828,000 web sites. On the right, a "Sign up for free" form asks for a username ending in .neocities.org, tags, password and email.

The rest is spread across personal domains, cheap shared hosting, home servers, Raspberry Pis on a shelf, pubnixes and Gemini capsules.

How to find it #

You won't find much of it through the big search engines or social feeds, which favor large commercial sites. A few tools are made for this.

Kagi Small Web shows you recent posts from personal blogs, independent video channels and webcomics, one at a time. You press "Next Post" and land on someone's site, with a thin toolbar on top. It's free to use, and the list of sources is open on GitHub.

Kagi Small Web open in a browser. A dark toolbar at the top has a "Next Post" button, a heart, a search box and tabs for Blogs, Liked, Videos, Code, Comics and River, plus Topics, Share, Similar and Flag. Below it, a personal site is shown in full: the header of an artist's blog and a post titled "The Censor Within", dated November 7, 2026.

Marginalia Search is an independent search engine that puts non-commercial, text-heavy sites first and helps you find old websites the big engines forgot. It's open source, and it doesn't share your data or keep your IP address for long.

The Marginalia Search home page: a plain search box with a "Search" button, and three boxes below. "Explore the Web" says it prioritizes non-commercial content, has tools for search and discovery and finds lost old websites. "Open Source" lists custom index and crawler software, simple technology with no AI, and the AGPL license. "Privacy by default" says it filters out tracking, shares no data with third parties and keeps no long-term record of IPs.

Then there are the old ways, which still work. Webrings, where every site links to the next one in a loop. Directories made by people instead of algorithms. And the links page on the sites you already like: one personal site almost always leads to five more.

Same neighborhood, different streets #

A Neocities shrine to a 90s cartoon, with a guestbook and a hit counter, is pure small web, and it doesn't need a single microformat. A developer's blog with Webmention, IndieAuth and a Micropub app is IndieWeb, even if it's built on a big framework and isn't small at all. Many sites are both, and nobody is checking.

What they share is the starting point: a person with their own address, publishing for other people, with no platform deciding who gets to see it.

My corners of it #

Besides this blog, a few of my projects live in this neighborhood.

weirdnet is a directory of the small and personal web, organized by hand. It has more than 50,000 links across 314 categories, from personal sites and archives to webrings, amateur radio and the 512KB Club, plus a random button that sends you somewhere unexpected. If you know a site that belongs there, the suggestion page explains how to send it. There's also a short guide on starting your own site.

The weirdnet.org home page on a white background, with the word "weirdnet" in red and yellow at the top and grey buttons for Directory, Link Dump, What's New, Search, Random and Info. Under the line "A hand-made map of the small, weird, personal web. 50,000+ assorted links", a green counter reads 050986. Below, blue category links in two columns: Personal sites (9,443), Archives (4,819), Programming, Visual arts, Web design, Games, Literature, Music scenes, Retro web, 512kb club, Fun, Music, Amateur radio and Net art, each with a few example sites.

phlog.space is a small, free photo log, written in plain PHP with SQLite and no JavaScript. Soledade is a blog in Portuguese shaped like a little town, which you can also read from a terminal over a Nex-style port. runv.club is a pubnix, and noctem.cafe and noctem9.cafe are two more I look after. And if you want to build a site by hand, Pablo, how? has a seven-part series called Web by hand that goes from an empty folder to a styled site with its own RSS feed, and Docs do Murad has the same kind of material in Portuguese.

How to start #

You don't need permission or a framework. A reasonable path:

  1. Get a place to live. A domain of your own is the IndieWeb way, and it keeps your address yours forever. A free Neocities page is the fastest way to start today, and you can point a domain at it later.
  2. Write one page by hand: who you are, what you like, a few links. It can be ugly. Plenty of sites start like that.
  3. Add an h-card to that page and rel="me" links to your other profiles. Ten minutes of work, and IndieWebify.me will tell you if it's right.
  4. Start a feed, even if you only post once a month. RSS is still how most people on the small web follow each other.
  5. Go out and meet the neighbors. Join a webring, sign a few guestbooks, add a links page, and send your site to directories.

From there, add whatever you feel like: webmentions, a guestbook, a Gemini mirror, an 88x31 button. Your site will change over the years, and it will still be at the same address.