// HOW-TO · SHORT-FORM

How to check for and avoid X post reach penalties (2026)

Diagnose which X reach penalty is hitting you with Under the Hood, fix the ones you control — links, content labels, engagement-bait — and hedge the rest.

Last verified · 2026-09-22 · by Moe Ameen

X made its reach penalties checkable in 2026. It open-sourced the ranking code, shipped an "Under the Hood" page that shows the visibility labels on your own account, and on September 19, 2026 expanded that page to reveal when a post was withheld in a country under local law. So "is my reach being penalized?" is no longer pure guesswork — for eligible accounts it is a report you can read, and for everyone else there are reliable symptoms to check.

This is the hands-on routine. The goal is not to chase zero penalties — some are per-viewer and some are legal withholds entirely outside your control — but to separate the penalties you can fix from the ones you can only hedge, then do both. Work the steps in order: check the first-party report, diagnose the penalty class, remove the avoidable triggers, earn the boosts that outweigh what's left, and stop letting one feed be the single gate on your audience. For the full catalog of what each penalty is and how it's applied, see the guide on [X post reach penalties](/guides/x-post-reach-penalties).

The steps

  1. Check Under the Hood for applied labels and withholds. If your account is eligible — reporting indicates at least a year old and around ten or more posts in the prior month — open X's Under the Hood page and read what labels were applied to your account and posts over the past month, plus, as of September 2026, whether any post was withheld in a country under local law. This is the first-party signal: it tells you directly whether a reach limit is a content label you can fix or a legal withhold you cannot. If you are not eligible yet, move to the symptom check in the next step.
  2. Diagnose the penalty class from symptoms if you can't see the report. Without the report, read the pattern. A sudden, sustained impressions drop across posts that previously performed points to an account-level content label. Your replies not appearing under a target account's tweet, or your posts missing when you search your own handle, are classic reply-deboost and search-suppression symptoms. A single post underperforming while the rest are fine points to a per-post label — often a link or a Community Note — not an account problem. Naming the class matters, because the fix for an account-wide label is different from the fix for one bad post.
  3. Take external links out of the post body. The link question is unsettled — X's leadership says there's no penalty, independent tests say link-in-body posts underperform — but the outcome is the same either way. Keep the value in the post itself and put any URL in the first reply. This sidesteps the link demotion regardless of how it resolves and costs you nothing, since a pinned or top reply still drives the click. If your reach problem is concentrated on posts that carry links, this single change is usually the highest-leverage fix.
  4. Clear the account-level triggers you control. Account-level labels come from repeated behavior, so fix the behavior, not one post. Stop mass-mentioning unrelated handles, drop all-caps shouting and manufactured engagement-bait ("like if you agree," reply-gating), avoid the borderline-toxic framing that invites reports at scale, and don't lean on untrusted or spammy links. A clean pattern over a few weeks is what lets an account-level shadow-label clear — there is no button, only sustained clean posting.
  5. Earn the boosts that outweigh the penalties you can't remove. Reach is the base score minus penalties, so a post with strong positive signals still out-distributes a lightly penalized one. Write for replies and shares, not passive likes — a reply is weighted far above a like, an author-answered reply higher still, and a share sits at the top. Post into your audience's active window, because the first 30 to 60 minutes disproportionately set a post's ceiling. You cannot eliminate every mute or a legal withhold; you can make each post strong enough that the avoidable penalties stop being the deciding factor.
  6. Hedge the penalties you can't control by publishing off X too. Legal withholds and opaque account-level labels can cap your X reach regardless of how clean your posts are — and you often learn about them only after the reach is gone. The only real hedge is not depending on one feed: publish the same idea natively across other platforms and into owned channels (a blog on your domain, an email list) that no X-side demand can touch. Then a post withheld or demoted on X is one your audience still sees five other ways.

Common gotchas

  • Chasing zero penalties. Some penalties are per-viewer (a mute costs you that one person, not the platform) and some are legal withholds outside your control. Trying to eliminate all of them makes your posts bland and still won't touch the ones that matter most.
  • Confusing account-level with per-post. An account-wide label shadows everything you post; a per-post label (a link, a Community Note) only hits one tweet. The fixes are different — diagnose which you're facing before you act.
  • Reading Under the Hood as an appeals tool. It shows you a penalty happened; it does not reverse it. A country withhold, in particular, is a transparency readout, not a lever you can pull to restore reach.
  • Assuming the link penalty is gone because leadership said so. Independent tests still show link-in-body posts underperforming. Until measurements agree with the statement, keeping links in a reply is the free, low-risk default.
  • Treating one low-reach post as a penalty. Reach is noisy and early-velocity-dependent. A single flat post published into a dead window isn't evidence of a label — look for a sustained pattern before concluding you're penalized.
  • Fixing X and stopping there. Even a perfectly clean account is subject to withholds and opaque labels. If X is your only channel, every penalty is a reach problem with no backup — the hedge is distribution you don't rent from one feed.
Legal note

Legal withholds on X follow local-law demands in specific countries. Under the Hood reports that a withhold occurred and names the country, but it is not an appeals mechanism — any recourse runs through X's legal and Help Center processes, not the performance page. Nothing here is legal advice.

Where Kompozy fits

Checking for penalties is a weekly chore; not minting posts that trigger them, and not depending on one feed, is a system — and that operational side is where [Kompozy](/) fits. The angle here is cadence and coverage, not authoring one clever tweet. Every post Kompozy generates runs through your [Persona Brief](/glossary/persona-brief), including a banned-word and prohibited-topic filter, so the language that earns an "offensive," toxicity, or spam label is filtered out at generation instead of caught in review. Because it produces platform-native assets across [18 formats](/glossary/output-buckets) — captioned [Persona Shorts](/glossary/persona-shorts), brand-exact carousels, [Clipped Shorts](/glossary/clipped-short), quote cards, text posts — none needing an external URL in the body, the link penalty is sidestepped by construction rather than by remembering to move the link every time.

The operational win is the review gate plus the schedule. [Autopilot](/glossary/autopilot) lets you approve every post before it ships and schedule it into your audience's active window for the early-velocity boost, so the boosts that outweigh residual penalties are baked into the workflow, not left to whenever you happen to open the app. And the same source becomes native posts across the eight social platforms plus blog and email, so a legal withhold or an opaque label on X caps one channel while your reach keeps compounding everywhere else. Kompozy won't hand you an X reach report — that's Under the Hood's job — but it removes the two things you can actually engineer: the penalty triggers built into how a post is written, and the single-platform dependence that turns any one penalty into a week with no backup.

Frequently asked questions

How do I check if my X posts are being penalized?

If your account is eligible — reporting points to at least a year old with around ten or more posts in the prior month — X's Under the Hood page shows the visibility labels applied to your account and posts over the past month, and since September 19, 2026 also shows whether a post was withheld in a country under local law. If you can't access it, check the symptoms instead: a sustained impressions drop, replies not showing under target tweets, and your posts missing from search for your own handle.

What is the single biggest reach penalty I can fix on X?

For most creators it's the off-platform link. The status is disputed — X says there's no active penalty, but independent 2026 testing still shows link-in-body posts getting dramatically fewer views — so the safe, free move is to keep the value in the post and put any URL in the first reply. After that, the highest-leverage fixes are clearing account-level triggers (no engagement-bait, mass-mentions, or all-caps) and writing for replies and shares rather than likes.

Can I remove an X reach penalty once it's applied?

It depends on the type. An account-level content label clears with sustained clean posting over time — there's no instant reset. A per-post label goes away when you stop making that kind of post. A per-viewer negative (a mute or block) only ever cost you that one relationship. A legal withhold, though, you cannot remove by writing better — it's a jurisdictional removal outside your control, which is why hedging with other platforms and owned channels matters.

Related tutorials

← All how-to guides · Get Started