Operations

The most expensive bug in your publishing operation isn't in your code. It's between your teams.

By Dan Stofenmacher ยท

The most expensive bug in your publishing operation isn't in your code. It's between your teams.

The most expensive bug in your publishing operation isn't in your code. It's between your teams.

Why the gap between editorial and technical decisions is costing publishers more than they think, and why hiring a hybrid role won't close it.

Most publishers are built like two companies that happen to share a logo.

On one side, the editorial team. Writers, editors, content strategists, SEO specialists. They make decisions about voice, audience, content mix, and distribution. They know the reader.

On the other side, the technical team. Developers, sysadmins, sometimes a CMS specialist or two. They make decisions about infrastructure, plugins, integrations, and performance. They know the stack.

These two teams almost never sit in the same meetings. They communicate through tickets. They escalate to the same leadership but rarely talk to each other directly. And every few months, the leadership has the same realization: the things slowing the operation down aren't editorial decisions or technical decisions, they're the gap between the two.

The most expensive problems in modern publishing don't live inside a department. They live between them.

Both teams executed correctly. The gap was in between.
Both teams executed correctly. The gap was in between.

A real case from one of our projects.

We were brought in to help a digital publisher with a syndication project: distributing content to multiple external platforms (MSN, AOL, Newsbreak, among others). On paper, this was a technical project. RSS feeds, XML structures, automated distribution. Standard syndication work.

In practice, the standard syndication setup the industry treats as a solved problem was creating an unintended SEO consequence that nobody in the operation could have caught from inside their own discipline.

Here's what was happening, and why it's the perfect example of the structural gap I'm describing.

The setup used WP RSS Aggregator, a popular and well-documented plugin used by thousands of publishers. From a technical standpoint the integration worked exactly as designed. Content imported. Posts published. Nothing failing on the surface.

The hidden trade-off lived in the rel=canonical layer. The plugin imported content without inserting canonical tags pointing to the original source, which is not a bug but how the plugin is built. The consequence was that the imported posts were now competing in Google rankings against the very sources being syndicated from.

This kind of trade-off rarely surfaces in technical reviews because it sits between disciplines. A developer reviewing the integration sees working code. An editor reviewing the content sees published articles. The actual consequence (slow erosion of search authority on the host domain) only becomes visible months later, in aggregate analytics that nobody had a clear reason to dig into.

So the operation was losing organic search authority through a mechanism that wasn't anyone's job to look for. Both teams executed correctly within their scope. The category of "syndication" itself was being treated as a technical problem when it's actually an editorial-technical hybrid.

That's the gap. It's not about who knew what. It's about how the work is categorized in the industry, and how that categorization fails when you scale.

We didn't build a plugin. We built an operational layer.
We didn't build a plugin. We built an operational layer.

What we built, and why it took more than a plugin.

Our first instinct, like most teams, was to look for a better plugin. That instinct turns out to be wrong almost every time, because the issue isn't the tool. It's that syndication at scale needs a layer the off-the-shelf tools don't provide.

So we built it. The first piece was a custom canonical layer: a plugin that detects when a post is imported from a feed and automatically inserts a canonical tag pointing to the original URL. This sounds trivial but it's not, because it required logic to differentiate imported content from manually published content. Applying canonical tags to original posts would be catastrophic for the host site's SEO, so the system had to know exactly what it was looking at before acting.

On top of that, we built a content normalization layer, because RSS feeds are not standardized in practice. Some sources send content:encoded with full HTML, others send only an excerpt. Some include featured images, others don't. Some ship clean markup, others arrive with malformed HTML that breaks layouts. The normalization layer handles all of these cases consistently before content reaches the CMS, which was the only way to keep the front end from breaking unpredictably as new sources were added.

Featured image handling was its own problem. Native plugin behavior was inconsistent: sometimes the featured image came through correctly, sometimes the system fell back to a default that broke visual continuity across the site. We rewrote that logic from scratch so the visual layer of the publication wouldn't depend on the quality of incoming feed metadata.

We also unified header and metadata cleanup in the same layer. Beyond canonical, syndicated content often comes with embedded structured data, author tags, and metadata that conflict with the host site's own SEO setup. Instead of letting these conflicts propagate, the system normalizes everything at the import stage.

Finally, we added category-aware filtering, because the whole system needed to apply only to imported content and had to differentiate behavior by category. Slideshows needed to be handled differently from articles, for example. This required tight coupling between the editorial taxonomy and the technical layer, which is exactly the kind of integration that off-the-shelf tools don't ship with.

By the time we were done, we hadn't built a plugin. We'd built an editorial-technical layer that the rest of the publication's content strategy could actually rely on.

Technically correct. Editorially expensive.
Technically correct. Editorially expensive.

The same gap shows up everywhere else.

The specific case is technical, but once you see the pattern you start noticing it across every part of a publishing operation.

Site architecture decisions made without editorial input produce category structures that nobody on the content team would have chosen, which then constrain how content can be organized and discovered for years afterward.

CMS migration decisions made by technical teams without editorial review produce field structures that don't match how editors actually think about content, leading to workarounds that compound over time and slow down every workflow that depends on them.

Performance optimization decisions made in isolation strip elements (embeds, interactive components, image galleries) that the editorial team considered core to certain article formats, and the format simply stops working without anyone realizing why.

Syndication decisions made as technical projects, like the case above, end up affecting search rankings, brand authority, and content licensing relationships in ways nobody anticipated when the project was scoped.

In each case the work is technically correct. In each case the editorial impact is significant and largely unintended.

The gap isn't closed by understanding both sides. It's closed by a system that doesn't allow isolation.
The gap isn't closed by understanding both sides. It's closed by a system that doesn't allow isolation.

Why hiring a hybrid role won't fix this.

When publishers finally recognize this gap, the most common response is to hire someone who can speak both languages: an editorial technologist, a head of digital operations, or a senior product person with editorial sensibility. The intuition makes sense. If the problem is that two disciplines aren't talking, find someone who can talk to both.

This almost always fails, and not because those people aren't valuable, because they are. The reason it fails is that the gap isn't a knowledge gap. It's a process gap.

A single hybrid hire can understand both sides, but they can't be present in every decision being made by every team every day. Editorial decisions get made in the editorial team's meetings. Technical decisions get made in stand-ups, in pull request reviews, in vendor calls. The hybrid hire shows up at the major checkpoints and misses the daily decisions where the gap actually opens.

Six months in, the same operation that hired the hybrid role discovers the same gap is still costing them. The hybrid hire becomes a senior firefighter, escalated to fix problems after they've already produced consequences. They didn't fail. They were given the wrong job.

The gap isn't closed by someone who understands both sides. It's closed by a system that doesn't let either side make decisions in isolation.

Alignment isn't a meeting. It's a system.
Alignment isn't a meeting. It's a system.

What actually closes the gap.

The publishers who scale don't have heroes who bridge editorial and technical. They have processes that don't allow the gap to form in the first place. Three patterns we've seen work consistently.

The first is editorial-technical project pairing. Every meaningful technical project has an editorial co-owner, and every meaningful editorial project has a technical co-owner. Not as a stakeholder to be informed, but as a co-decision-maker. The syndication project shouldn't have been a technical project with editorial input. It should have been a joint project from day one.

The second is shared vocabulary at the team level. The editorial team should know what canonical tags do at a basic level. The technical team should know what content cannibalization means and why it matters. Neither team needs to do the other's job, but both need to understand enough to flag when something is off. Without the vocabulary, the flags don't get raised.

The third is cross-functional review built into the workflow. Major editorial decisions get a technical review before commitment, and major technical decisions get an editorial review. Most operations only do this in one direction, and even that is inconsistent. When it's built into the process instead of depending on individuals, the gap closes structurally instead of through goodwill.

None of this requires a new hire. It requires a different way of structuring the work that's already happening.

SEO erosion stopped and the content distribution started compounding the way it was supposed to.
SEO erosion stopped and the content distribution started compounding the way it was supposed to.

Back to where we started.

The publisher with the syndication issue didn't have a tooling problem. They had a structural one. Once we built the layer that connected the editorial and technical sides of the syndication strategy, the SEO erosion stopped and the content distribution started compounding the way it was supposed to.

But the bigger result wasn't the fix itself. It was the realization that the same gap probably existed in other parts of the operation: the migration, the site architecture, the performance work. Each of those had been treated as either editorial or technical when in reality they were both.

If you want a quick way to check whether you have this gap in your own operation, here's the simplest test I know.

Ask your editorial lead what technical decisions were made on their behalf in the last six months. Then ask your technical lead what editorial consequences came out of the work they shipped in the same period.

If the two answers don't line up, the gap is there.

The bug isn't in your code. It's between your teams. And it's almost always costing you more than you think.

The bug isn't in execution. It's in the way decisions move.
The bug isn't in execution. It's in the way decisions move.

Milan Lab builds and operates editorial, content, and software teams for digital publishers and media companies. See how we work.