About

Dirišwago is a Sepedi verb meaning "medium." It is the name we chose for a project to make South Africa legible.

Get in touch at [email protected]

Palo

Palo is a Sepedi noun meaning "count." It is Dirišwago's census of the South African web. It maps the websites that exist under .za domains, the links between them, and the structure that emerges from those connections.

Palo maps. It does not seek to improve what it finds. The map is the contribution.

The census is available at palo.dirishwago.co.za.

Exploring the census

Every site in the census has a record: its status, what it declares about itself, its place in the link graph, and the .za sites it links to and from, each a link to its own record, so you can move from site to site the way the web is built. You can search sites by name or title, list them by zone, status, language or type, see the rankings, and find the shortest chain of links between any two sites. Every one of these pages is also written for AI assistants, which can follow the same links.

Until October 2026 this was Hlahlatha, a separate explorer whose name is a Sepedi word meaning to roam about. Its address now leads here.

The philosophy

Dirišwago is built on a simple principle: each project does one thing and aims to do it well. Palo maps the SA web. Nothing more, nothing less. This focus is deliberate — a tool that tries to do everything does nothing well.

The crawler

Palo's crawler identifies itself as:

Palo-Census/1.0 (+https://palo.dirishwago.co.za/about)

It visits at most one page per second on each site. It respects robots.txt: if your site disallows Palo, it does not crawl your pages, and the census records the site as blocked, so the opt-out is counted. It reads pages to extract links and the facts a site declares about itself. It does not store page content.

If you have questions about the crawler or want to request exclusion, contact us at [email protected].

The data

Palo collects domain names and their status; the links between .za domains, with where on the page each link sits (the body, a header, the navigation or the footer); the domains outside .za that sites link to; how and when each site was first found, and which public lists include it; and graph metrics derived from the links — PageRank, betweenness, reachability, and each site's rank relative to every other site in the census.

Where a site declares them, we also record its title, description, image and language (from Open Graph tags and the HTML lang attribute) and its schema.org types. For each homepage we record its size, whether it is a recognised placeholder (a domain for sale, a host's holding page, a server's default page, a suspended account or a maintenance notice), and a short fingerprint (hash) of the page, so that one template served on many domains can be recognised. The page itself is not kept.

Palo does not collect personal data. It does not store page content. It does not track users.

The Ask AI page has prompts that point an AI assistant at the census pages that answer a question, ready to open in Claude, ChatGPT, Perplexity, Grok, Kimi or Qwen, or to copy into any other; every site record and measure page has one too. Palo counts how often each prompt is opened or copied, and nothing else. The census summary gives every census-wide figure as plain text. The census over time can be downloaded as a CSV file, and so can every site in the census and every link between them: two CSV files, written every night, with each column described on the data page. The data is licensed CC BY 4.0.

Every page of the census, from each site's record to the measures, lists, rankings and reports, is also available as Markdown for AI assistants and other programs: the same address followed by .md. llms.txt lists what they can read. Looking up a .za name the census does not hold adds it to the queue, ahead of the names Palo found itself, if it has an address in DNS. Every crawler is welcome to read the census.

Limitations

Palo has real limits worth understanding.

JavaScript. Palo's main crawler does not run JavaScript. Sites that build their content in the browser appear to have no links until Palo's second crawler, which runs a real browser, has visited them. When the main crawler finds a homepage that is an empty shell for JavaScript to fill in, it marks the site, and the browser crawler visits those sites first. How many active sites are marked is in the census summary (client_rendered); it is a minimum, since not every such site is recognised.

Status accuracy. A site marked dead may have been temporarily down when we visited. We re-check sites over time. From June 2026, sites returning server errors (5xx) are counted as unavailable rather than dead. Since October 2026, a redirect is judged by the page it leads to, and a site that asks not to be crawled or shows a robot check is counted as blocked. Some large sites answer automated visitors with a plain 403 and are counted as dead. How the counting changed has the details.

Link intent. Palo records where on a page a link sits, but not why it exists: a paid link and an editorial citation look the same. In the graph every link carries the same weight, wherever it sits; the census summary also gives PageRank with the links found only in page footers taken out. PageRank and betweenness scores reflect link structure, not link quality.

Schema.org. Where a site includes structured data (schema.org markup via JSON-LD), we record the declared types — Organization, LocalBusiness, Article, and others. These are stated by the site itself; Palo does not guess what kind of site something is. Most South African websites do not include this markup, so it covers only a portion of the census.

Language. We record the language a website declares, in its HTML lang attribute or its Open Graph locale; we do not work it out from the text. So we know a site's language only when its owner has stated it, and most South African websites do not. A site with no language recorded has not said which it uses; that says nothing about the language it is in.

Scope. We map .za domains only. South African organisations operating on .com, .org, or other TLDs are not included.

Discovery. Palo finds domains in public records: certificate transparency logs (a public record of domains that have configured secure connections), the index of Common Crawl (an open web archive, read once for each new crawl it publishes), the Wayback Machine's index, and names that resolve in DNS. From there, it finds more sites by following the links it reads. A site that is in none of these records and has no links from sites Palo already knows is harder for it to find. We have not found every SA website yet.

PageRank. Scores are relative to the subgraph we have mapped. They are not comparable to global PageRank.