pornboxdBETA
← Field Notes
Devlog

Why this blog is signed Mortimer Cockburn now

Until two days ago the byline on every PornBoxd blog post said "PornBoxd". Which was fine for the first nine devlogs. Nobody looks at the byline on a brand-new…

Until two days ago the byline on every PornBoxd blog post said "PornBoxd". Which was fine for the first nine devlogs. Nobody looks at the byline on a brand-new blog. But I was running through the SEO audit checklist last week and got to the E-E-A-T section.

E-E-A-T is Google's framework for evaluating page quality. It stands for Experience, Expertise, Authoritativeness, Trustworthiness. Their public guidance says first-person editorial content (which is what a devlog is) is supposed to be authored by a named human, with a Person author entity in the JSON-LD. We had Organization set instead, and we had a generic name. The audit flagged this in the same row as missing breadcrumbs, with a one-line note: "blog appears to be first-person but lacks personal attribution, weakening E-E-A-T."

The straightforward fix is to swap Organization for Person and put a real name in there. Except the catalog is an adult-content site indexed by Google, the blog is dotted with first-person reviews of explicit videos, and once you put your name on something like that it is on Google forever. I also live and work under that name in the rest of my professional life. So that was a no.

The other option is a pseudonym good enough to read like a real person to Google's heuristics but obviously not me. That ruled out anything cute or punny on first glance. After a dumb amount of time staring at British naval history, I picked Mortimer Cockburn. Cockburn is a real Scottish surname (Admiral Sir George Cockburn, the guy who burned the White House in 1814), pronounced "Co-burn" in the wild, although nobody on the internet pronounces it that way. Mortimer is suitably old-timey. A reader scanning a list of blog authors does not stop at it. A search engine treats it as a Person.

The change was small. One column update on the blog_posts table to bulk-set author from "PornBoxd" to "Mortimer Cockburn", a default value flip on the admin form, and the JSON-LD generator now emits {"@type": "Person", "name": "Mortimer Cockburn"}. About thirty minutes of code, half a day of name-picking.

There were two other smaller security and attribution upgrades on the same day, worth one paragraph each.

The first is Cloudflare hardening. Before this week the site responded with permissive CSP headers (Content Security Policy, the rules a browser uses to decide what sources to trust for scripts and images). I tightened the policy to only allow scripts from our own domain and Cloudflare Insights, locked HSTS to two years with includeSubDomains, and turned off about a dozen browser features in the Permissions-Policy header that PornBoxd has no business asking for (camera, microphone, USB, payment, geolocation). Defense in depth. The site does not actually ship anything that uses those features, but a policy header costs nothing and means a future regression cannot accidentally introduce a fingerprinting vector.

The second is affiliate click attribution. Our affiliate networks pass our internal click ID back as a postback URL parameter when a conversion happens, and then the matching code joins click and conversion by that ID. The bug was that one network (NATS) was echoing the parameter back under a different name than we sent it. Half the conversions were going unmatched. The fix is dumb but effective: send the click ID twice, once as statid and once as s, parse whichever one comes back. Belt and suspenders. We caught about $40 of money we were owed but had no link for.

A small infrastructure note while I am here: two studios on different affiliate platforms ended up with the same numeric nats_site_id, which broke per-studio postback routing. Pornomental's MPA site=6 and VirtualPee's site=6 both pointed at the postback handler with no way to tell them apart. We added a second Nginx route at /nats2 for the second platform and a composite unique constraint on (nats_platform, nats_site_id) in the database. Single-segment URL, no application change. The cleanest kind of fix.

Anyway. The blog is signed Mortimer now. I do not think Mortimer is going to develop a strong personality, but if he does I will let you know.