HomeMyths"The algorithm nukes posts with external

"The algorithm nukes posts with external links"

Verdict: NO RULE IN THE CODE — but independent studies measure a real penalty anyway

There is no link-detection or link-penalty term anywhere in the open 2026 scoring path — in plain words: nobody wrote a rule that docks links. What's real: links change which heads you earn (click vs dwell), and low predicted click-dwell on clickbait leaks value. Two ways a demotion could still exist unseen: the transformer could LEARN link-correlated demotion from engagement data with no written rule anywhere (learned behavior is invisible in code by design), and trust-and-safety visibility rules live in a withheld crate where a link policy could sit. And the behavioral evidence is now strong: Galeazzi et al. (NDSS 2026, 40M+ tweets) find link posts get 4.67-7.45x lower median visibility, with a gradient by link type (news links worst); Efstratiou et al. (ICWSM 2026, ~205k exposures in paired counterfactual feeds) find external links the strongest negative predictor (p<0.001) while follower count is NOT significant (p=0.14) - so it isn't an account-size artifact - and find VIDEO EXEMPT. Buffer's 18.8M-post sample shows non-Premium link posts falling to 0% median engagement after March 2025. X's leadership denies all of it (Nikita Bier: 'links were never deboosted'; Musk, Jul 29 2026: 'we haven't for over a year'). Honest answer: no written rule in the open ranker, but a large measured effect in the wild - which is precisely the learned-or-withheld case, and the strongest reason to distrust anyone who answers this question with a flat yes or no.

The code

home-mixer/scorers/ranking_scorer.rs (no link term); vf_filter.rs → withheld xai_visibility_filtering crate.

See for yourself: every term in the scoring formula

This is the complete list of scoring terms in home-mixer/scorers/ranking_scorer.rs (compute_weighted_score, commit 0bfc279). Read it — what isn’t in this list isn’t in the ranking formula:

  favorite                 × +weight  (withheld)
  reply                    × +weight  (withheld)
  retweet                  × +weight  (withheld)
  photo_expand             × +weight  (withheld)
  click                    × +weight  (withheld)
  profile_click            × +weight  (withheld)
  vqv                      × +weight  (withheld)
  share                    × +weight  (withheld)
  share_via_dm             × +weight  (withheld)
  share_via_copy_link      × +weight  (withheld)
  dwell                    × +weight  (withheld)
  quote                    × +weight  (withheld)
  quoted_click             × +weight  (withheld)
  quoted_vqv               × +weight  (withheld)
  cont_dwell_time          × +weight  (withheld)
  cont_click_dwell_time    × +weight  (withheld)
  follow_author            × +weight  (withheld)
  not_interested           × −weight  (withheld)
  block_author             × −weight  (withheld)
  mute_author              × −weight  (withheld)
  report                   × −weight  (withheld)
  not_dwelled              × −weight  (withheld)

So what should you do with links?

Verified against xai-org/x-algorithm @ 0bfc279 on 2026-07-31. Withheld layers (params, visibility filtering, Grox prompts) mean “absent from open code” is the strongest claim honestly available — see methodology.

Test a real draft instead →