Skip to content

Blog

How this blog is checked

127 posts, written by people whose names are on them. What follows is not a statement of intent. Every rule below is a check that exists, most of them refusing a deploy, and you can read the code that enforces each one.

Who writes it

Named people, not a brand account

Every post carries a byline that links to the writer, their role and what makes them worth reading on the subject. Where we do not know something about an author, the page leaves it out rather than filling it in.

What the checks refuse

Checks, not intentions

Most of these run on every deploy: a post that breaks one does not ship, which is a different promise from saying we are careful. Two of them are run by hand, and they are labelled, because a check you have to remember is not the same thing as a check that stops you.

A customer's result comes from that customer's case study

The thirteen records in lib/content.ts are the source. A figure attached to a named customer that is not in their record fails the build, so a number cannot be typed from memory. It caught 42 of them: a result credited to the wrong customer, a dollar figure that appears nowhere on this site, and an average sourced to nobody.

Every deployqa:template

A price we no longer charge cannot be quoted

Prices render from the same file the pricing page reads, so a plan change reaches 68 posts without anyone editing them. Retired figures fail if they appear beside our name.

Every deployqa:mammoth-price

The trial length is read from one place

One constant, and the check reads it rather than holding a copy. When the trial changed from 21 days to 14 the rule followed on its own.

Every deployqa:template

Every post names a person, and that person exists

The author is a required field and has to match the roster. A reviewer, where one is named, has to match it too. An unknown name fails rather than rendering.

Every deployqa:template

A capability claim says whose capability it is

“Our platform does X” fails in a post that also names four competitors, because a claim with no subject can be attached to any of them. 33 sentences were rewritten to say Mammoth.

Every deployqa:template

A link goes where its text says

Link text promising one thing and pointing at another fails, and so does an in-page link to a heading the post does not have. That check found 24 links pointing at a private drafting session.

Every deployqa:template

Sources are named, linked and checked

Every external link in the archive is fetched by hand before publishing. Two research citations were removed because their only source had gone: a statistic attributed to the wrong organisation, and a figure traceable to no published report.

Run by handseo:links:external

The prose is held to a written voice

No em-dashes, a list of words we overuse, and thresholds for the structural tells that survive a find-and-replace. Frozen per post so a post can improve and cannot regress.

Every deployqa:style

Nothing claims a capability the product does not have

A separate check reads the product documentation and fails a claim it cannot support, whatever the copy says.

Run by handqa:claims

When we get it wrong

What a correction looks like here

These checks exist because they were written after finding the problem, not before. Some of what they caught was ours.

A statistic on one of these posts was attributed to Gartner. Gartner never said it. The figure traces to a 2016 survey that reported a different number, and the post now says so and links the traceback.

Customer results were credited to the wrong customers, and some figures appeared in no case study at all. All 42 were corrected against the records that published them, and typing a customer's number by hand now fails the build.

A research citation pointed at a page that no longer exists, and the figure behind it could not be traced to any published report. It was removed rather than re-sourced. If we cannot show you where a number came from, we should not be printing it.

When a post changes materially, its update date changes with it. Corrections are made in place rather than quietly, and the check that would have caught each of the above is added at the same time.

Found something wrong?

Tell us and we will fix it. A wrong number on a page someone is using to make a decision is worth more of our time than anything else on it.

Get in touch