Skip to content
Gaurav TiwariDocs

How to Stop Losing Links and Headings When You Update Old Posts

Version 1.7.0 Updated October 19, 2026

Refreshing an old post is where good content quietly gets worse. A section gets rewritten and 4 internal links go with it. A pasted block turns an H2 into an H4, or a cleanup trims half the post, and nobody notices until the rankings slip.

Content Integrity in Functionalities catches those changes. It remembers how each published post looked and compares every update against that version. When links, words or headings drop past the limits you set, the editor shows a warning.

Functionalities is my free WordPress plugin with 19 modules on one dashboard, each off until you switch it on. Content Integrity is the module for posts that already earn traffic and links.

Before You Start

Check these first:

  • Functionalities 1.7.0 or newer.
  • The block editor. The warnings appear in a block editor sidebar, so the Classic Editor shows only the post list column.
  • Published posts. The module records its first snapshot when a post is published or updated, so it can’t compare a post it hasn’t seen yet.

Turn On Content Integrity

  1. Go to Functionalities and click Configure on the Content Integrity card.
  2. Tick Enable Content Integrity.
  3. Under Post Types, tick the types you update. Posts and pages are ticked by default.
  4. Click Save Changes.
The Content Integrity settings with post types, link drop thresholds, word count thresholds and heading checks

The default thresholds suit most blogs. You can tune them later.

Record a Baseline

The module compares each update against the last good version of the post. Nothing exists to compare against on day one, so:

  1. Open a post you plan to refresh.
  2. Click Update before you change anything.

That save records the baseline. From then on, every update of that post is checked. Posts you don’t touch get their baseline the next time someone updates them.

Read the Warnings

After you update a post, open the Content Integrity panel from the shield icon in the editor’s top bar, or from the More menu. It shows any warnings, with a before and after count for each, and the post’s internal links, word count and H1 count.

The module checks 4 things:

  • Internal links. A warning fires when internal links drop by 30% or more, or by 3 links or more, whichever comes first: “This update reduced internal links from 12 to 8 compared to the previous version.” Navigation, menu and footer links inside the content don’t count. Neither do # anchors, email links and phone links.
  • Word count. A post that is 35% or more shorter than its last published version gets a warning: “This post is 40% shorter than its previous published version.” Posts younger than 30 days are skipped, because early edits are normal.
  • Heading structure. The post title counts as the H1, so the content should start at H2 and step down one level at a time. “Heading level skipped: H2 followed by H4.” points at the first skip. A second H1 inside the content also gets a warning.
  • Missing alt text. “2 of 9 images are missing alt text.” counts the images without it.

The Content Integrity panel also lists headings added and removed, by level, since the last snapshot.

The same warnings appear in the pre-publish panel, and a status icon in the posts list shows which posts had issues at their last update.

Decide What a Warning Means

A warning means something changed past your limit, not that something is wrong. The panel gives you 3 choices:

  1. Fix it. Put the lost links back, correct the heading level or restore the cut section, then update again.
  2. Mark change as intentional. Use this when you meant to remove those links or shorten the post. The current version becomes the new baseline.
  3. Ignore for this update. The warnings hide for this editing session only, and the baseline stays where it was.

Until you fix or accept a change, the module keeps comparing against the old baseline. That’s deliberate: 3 small trims in a row still add up to one visible drop.

For posts that should stay short, such as a news brief or a link post, turn on Mark as short-form content in the panel. Disable detection for this post turns the module off for that post alone.

Tune the Thresholds

The settings page holds every limit:

SettingDefaultRaise it whenLower it when
Link Drop Threshold (%)30Posts have few internal links and one removal trips itInternal links carry your site structure
Link Drop Absolute Threshold3Long posts with dozens of linksShort posts where 2 links matter
Word Count Drop Threshold (%)35You prune heavily on purposePosts rank on depth
Minimum Post Age (days)30New posts get rewritten for weeksYou want checks on new posts sooner
Snapshots to Keep5You want a longer history per postYour database is tight on space

Exclude Nofollow Links stops rel="nofollow" links from counting, which helps on posts full of affiliate links.

Check It Works

Test it on a draft copy of a real post:

  1. Publish or update the post once to record the baseline.
  2. Delete 3 internal links and change one H2 to an H4.
  3. Update the post.

The panel should show the link warning and the skipped heading level within a second of the save.

What It Won’t Do

The module watches and warns. It doesn’t stop you:

  • It never blocks publishing. The check runs after the save, on the saved version, not on unsaved edits.
  • It doesn’t say which links were removed. It reports counts. The post’s revisions show the exact change.
  • It doesn’t watch external links. They’re counted, but a drop never triggers a warning.
  • It doesn’t check posts in the Classic Editor beyond the posts list column.

On WordPress 7, the module can also explain a finding in plain language through your configured AI provider. That stays off until an administrator ticks Allow AI explanations for individual findings on the Functionalities dashboard. The Content Integrity reference lists every option and filter.

Share

Was this helpful?

Still stuck? Open a support ticket