Site traffic: a decade of data

Martin Fowler has been tracking traffic to martinfowler.com since 2011, and the numbers show a clear arc: steady growth through 2020, followed by an equally steady decline. By 2023, traffic had settled back to roughly the levels seen in 2015. This is the first comprehensive look at the numbers since the 2018 site report.

Reading the yearly totals requires a caveat. For several months in 2019, a handful of navigation pages — e.g., /agile.html — spiked from around 5,000 monthly views to 221,000. The anomaly only affected a few pages, but it was enough to make the entire 2019 annual figure meaningless. The overall shape of the data is still usable, however: a long climb to a 2020 peak, then a steady decline.

The lifecycle of a page: sharp peaks, long tails

The most important pattern to understand is how traffic behaves after an article is published. Plotting the median daily views for articles published since 2020 reveals an extreme exponential drop-off — not just exponential on a linear scale, but exponentialeven when plotted on a logarithmic scale. Traffic stabilizes after roughly six months.

This publication spike has consequences for any comparison of articles. The daily traffic data shows a clearly visible pattern: weekday traffic is consistently higher than weekend traffic. Articles published on a Tuesday will therefore see different initial traffic patterns than those published on a Thursday. If you want to compare post-launch performance, weekdays are the only safe basis.

There's a second, less obvious variation. Plotting only weekday traffic shows a notable dip at the end of the year, coinciding with the Christmas and New Year holidays. This is why December figures are always lower than the rest of the year.

A skewed distribution of page views

A request for a URL doesn't always hit a real page. In January 2024, 936 of the 2,506 paths requested were unknown, such as /articles/colelction-pipeline or /articles/cmljaGFyZH. Despite being a large proportion of requested paths, these misses account for only about 0.5% of total requests, so the analysis can safely focus on the 1,570 known URLs.

The traffic distribution across these pages is heavily skewed. Most pages receive very few views; a small number receive a great many. Looking at cumulative traffic — sorting pages by views and calculating the running total — makes this clearer. The top 10% of pages accounted for just over 80% of the site's traffic. At the extreme end, the top 5 pages generated roughly 150K page views in the month.

The top pages and their types

Pages on the site fall into three broad categories:

  • posts: full-length articles, bliki entries, infodecks, and older pattern-oriented material — the core content of the site.
  • nav: pages that help readers find posts, such as the guide pages (e.g., /agile.html), the home page, and tag pages.
  • catalog: summaries of material not hosted on the site, such as the refactoring catalog and books pages. Pages that don't fit neatly elsewhere, like faq.html, are grouped here.

Posts are the bulk of the traffic. The cumulative frequency curves for each type show that most page views go to real content, not navigation aids. When comparing monthly median against total views for top pages, the numbers usually track each other — but the cases where they diverge are worth investigating further.

Old articles still carry their weight

Given the exponential decay of traffic after publication, one would expect most older articles to generate less traffic than newer ones. Fowler has long favored material with longer-lasting value, and the data supports this preference. He defines an "evergreen" article as one that has generated at least 1,000 monthly page views for at least six months in a year — preferring sustained traffic over yearly totals to avoid counting one-off spikes.

Plotting each post's median monthly traffic for 2023 against its publication date shows plenty of older articles holding their own. Analyzing age proportions requires care with the choice of month: November 2023 was used, avoiding December's holiday dip and the January 2024 publication of a rewrite of the popular continuous integration article, which spiked from a couple of thousand views per month to over thirty thousand.

The cumulative traffic by publication date shows that 51% of post traffic comes from articles 5 years 9 months or younger. More striking: posts over five years old still account for about half of all post traffic. Articles older than three years generate roughly 70% of traffic — 30% comes from posts written in the last three years, and 13% comes from articles published within the last year. The long tail is not just a cosmetic feature of the traffic curve; it is a substantial portion of the site's readership.