BlogGrowth

Does X Penalize Links? What X Said, the Code and 28,124 Posts

In short

X says it doesn't. On 29 July 2026, PPC Land reported, Elon Musk said X hadn't penalised link posts for more than a year. OpenTweet's data on 28,124 posts from 2026 found the median account's link posts got 1.05 times the impressions of its other posts. Put the link in the post with real context, unless the post's goal is replies, and test it on your own account.

X says no. According to PPC Land's report of the exchange, on 29 July 2026 Paul Graham asked Elon Musk whether X no longer penalises posts with links, and Musk replied: "We haven't for over a year." Per the same report, that came hours after X's product chief, Nikita Bier, told Mark Zuckerberg there was no need to put links in replies anymore. Neither statement came with an announcement or a date for the change. Here is what X's leaders said, in order:

DateWhoGist of the post (paraphrased)
17 Oct 2025Elon MuskA link with almost no description gets weak distribution; a link with an interesting description or image gets distribution
19 Oct 2025Nikita BierLink posts get lower reach because the browser covers the post and people forget to like or reply; X began testing a view that keeps the post visible
12 Apr 2026Nikita BierCalled a link-penalty claim fake news; said link clicks were higher than ever
28 to 29 Jul 2026Bier, then MuskNo need to put links in replies; no link penalty for over a year (as reported by PPC Land)

Notice the shape of the explanation. In these statements, X's leaders didn't describe a rule that hides links. They described a ranking system that predicts engagement, and link posts that earned less of it. For a founder sharing a blog post, the useful question is whether link posts reach people now.

What did the data show before X's statement?

It showed link posts doing very badly. Buffer analysed 18.8 million X posts from 71,000 accounts in an article published on 14 October 2025. Its finding: link posts from accounts without Premium had a median engagement rate of zero after March 2025, while every other format kept some engagement. Premium accounts still got reach and engagement on link posts, though less than on text, images and video.

That sits awkwardly next to Musk's July 2026 claim, which puts the end of any penalty in mid-2025 or earlier. Both can be partly true if the drop came from predicted engagement, as Bier described, and not from a coded rule. That reconciliation is our reading, not something X or Buffer has said.

Buffer also found that Premium accounts got around 10 times the reach of regular ones. Our post on whether X Premium is worth it for reach on a small account looks at what that gap means under 1,000 followers.

What do 28,124 posts from 2026 show?

In one scheduler's data, link posts did about as well as posts without links. OpenTweet looked at 28,124 posts published through its own tool from 1 January to 10 October 2026, with a second cut from 29 July. It compared each account only with itself, which OpenTweet calls the fairer number, because a pooled median mixes big and small accounts.

OpenTweet measure (own data, pulled 10 Oct 2026)Result
Accounts with at least 5 link and 5 no-link posts60
Median of each account's link to no-link impressions ratio1.05
Accounts where link posts did worse27 of 60 (45%, our arithmetic)
Since 29 July 2026: median ratio1.07 across 58 accounts
Since 29 July 2026: accounts where link posts did worse25 of 58 (43%, our arithmetic)
Pooled median impressions, link vs no-link posts57 vs 44 (mixes account sizes)

OpenTweet lists its own limits, and they matter. The accounts are mostly small: the median post gets about 50 impressions. The data is observational, so people chose when to add a link. It measures impressions only, with no clicks, likes or replies. And a post counts as a link post if its text contains http://, https:// or t.co/. So the fair summary is narrow: for these small accounts, adding a link did not come with fewer impressions, and in nearly half of them links still did worse.

The published code now counts a link open as a positive action. When xAI first published this repository, xai-org/x-algorithm, on 20 January 2026, the README listed the actions Phoenix, its ranking model, predicts: likes, replies, reposts, quotes, clicks, profile clicks, video views, photo expands, shares, dwell, follows, and the negative signals. Opening a link was not on the list. The current README (checked 24 October 2026) lists link among the clicks the model predicts, and the final score is the sum of each predicted action times its weight.

The parameters file gives the default weights. Our arithmetic compares the weights only; the current README warns that weights multiply each viewer's predicted probability of an action, not raw engagement counts:

Predicted actionDefault weight in published codeCompared with a link open
Share via copy link20.0100 times
Reply5.025 times
Quote5.025 times
Repost1.05 times
Like0.663.3 times
Click0.31.5 times
Open link0.21

Two cautions. These are defaults in public code, and the code does not show what X runs in production. And the repository history shows the link-open weight first appearing in the code drop of 13 August 2026, so it says nothing about 2025. One more detail: since 23 September 2026 the code passes a has_url flag, next to video, photo and text length, into an experimental re-ranking request it calls debias. The published code doesn't show what that model does with it. Our breakdown of X's July 2026 mutual follow boost covers another change to how replies are weighted.

Usually not. On 12 April 2026 Bier wrote: "Just post the link in the body of the post and provide sufficient context about what the user will see before they click it." OpenTweet's data gives no reason to hide links either. The exception is a post whose goal is conversation, because replies carry 25 times the default weight of a link open, and Bier's own explanation was that people who open a link forget to like or reply.

Your goal for the postWhere the link goesWhy
Send readers to a pageIn the post, with contextBier's advice; a reply adds a click before the link
Start a discussionLeave it out, or add it later if people askReplies weigh far more than link opens in the published code
Share a launch or newsIn the post, with an image or the key numberMusk: a link with an interesting description or image gets distribution
Post through an API schedulerCheck your tool's link pricingX's API price for a post with a URL is higher; see below

The API cost is real for tools. X's API pricing page lists $0.015 per request to create a post and $0.200 to create a post with a URL (checked 24 October 2026). At 30 link posts a month that is $6.00 against $0.45, per our arithmetic, which OpenTweet says is why some schedulers charge more for links. LinkedIn is a different system with its own tests: our post on links in LinkedIn posts or the first comment covers it.

Run a four-week test and compare medians, the way OpenTweet compared accounts with themselves. Averages from other accounts will not tell you how your audience behaves.

  1. Pick 20 posts you would write anyway

    Ten get the link in the body, ten get no link or a link in a reply. Alternate by day so timing doesn't decide the result. OpenTweet set its floor at five of each; ten gives you a little more to go on.

    Weeks 1 to 4
  2. Tag every link

    Add UTM tags so visits from X show up in your own web analytics. Impressions tell you reach; visits tell you whether the link did its job.

    5 minutes per post
  3. Write the post to stand alone

    Use this shape: one line with the finding, one line with the number or example, one line on what the page adds, then the link. Example: "We compared [3 tools] on [price and limits]. The cheapest was [$X] a month. The full table, with each tool's limits, is here: [link]".

    Template
  4. Compare medians after 28 days

    Take median impressions and total visits for each group. If link posts are within about 10% on impressions and bring visits, keep links in the body. Small accounts swing a lot from post to post, so treat a gap under that as noise.

    Day 28

The 10% line is our rule of thumb for a test this small, not a statistical threshold. For hooks that make a post work without the click, our X post templates are a starting point.

What should a B2B founder do this week?

Drop the link-in-reply habit for posts meant to send traffic. For posts meant to start a conversation, leave the link out until someone asks.

  • Write the context first: what the reader will see, and one specific number or example.
  • Add an image or the key figure to launch posts.
  • If a scheduler strips or surcharges links, check whether it posts through the X API.
  • Run the four-week test before you believe anyone's average, OpenTweet's included.

If keeping a steady pace is the hard part, Siela's Social Media agent runs an X Growth agent that posts in your voice at the pace you set, replies, likes, reposts and follows, and reports every action in chat. You choose "show me every post first" or "post without asking".

Frequently asked questions

Did X ever officially confirm a link penalty?

Not as a rule. In October 2025 Nikita Bier said link posts got lower reach because the in-app browser covered the post and people forgot to like or reply. Elon Musk said a link with almost no description gets weak distribution. In July 2026, PPC Land reported, Musk said X hadn't penalised links for over a year. Neither described a coded rule against URLs.

Do links in X replies get less reach than links in the post?

No study cited here compares the two directly. OpenTweet's 2026 data compared link posts with no-link posts and found the median account's link posts got 1.05 times the impressions. X's Nikita Bier advised in April 2026 putting the link in the body with enough context. A link in a reply adds one more click for anyone who wants it.

Does X Premium change how link posts perform?

Buffer's analysis of 18.8 million posts, published in October 2025, found link posts from non-Premium accounts had a median engagement rate of zero after March 2025, while Premium accounts still got engagement on links, though less than on other formats. That data predates X's July 2026 statement, so retest on your own account before paying for reach.

Why do some X schedulers charge extra for links?

X's API pricing page lists $0.015 per request to create a post and $0.200 to create a post containing a URL, checked 24 October 2026. Tools that publish through the API pay that difference. At 30 link posts a month the API cost is $6.00 instead of $0.45, so some schedulers pass it on or limit link posts.

What counts as a link post in OpenTweet's data?

OpenTweet counted a post as a link post if its text contained a web address or an X short link. It included text posts and posts with a single media item, left out threads, and used only posts published through OpenTweet with synced impressions. Most accounts were small, with the median post at about 50 impressions.

Sources

  1. PPC Land: X drops year-old link penalty, Musk tells Zuckerberg on platform (30 Jul 2026)
  2. OpenTweet: Does X penalize links in 2026? What 28,124 posts show (10 Oct 2026)
  3. Elon Musk on X, 17 October 2025 (17 Oct 2025)
  4. Nikita Bier on X: testing a new link experience (19 Oct 2025)
  5. Nikita Bier on X: reply about link posts (12 Apr 2026)
  6. Social Media Today: X testing in-app link display (19 Oct 2025)
  7. Buffer: Links on X, an analysis of 18.8 million posts (14 Oct 2025)
  8. xai-org/x-algorithm README at the 20 January 2026 release (20 Jan 2026)
  9. xai-org/x-algorithm README (current) (checked 24 Oct 2026)
  10. xai-org/x-algorithm: home-mixer/params/param.rs (checked 24 Oct 2026)
  11. xai-org/x-algorithm: vm_ranker_debias_payload.rs (checked 24 Oct 2026)
  12. X API pricing (docs.x.com) (checked 24 Oct 2026)
Danish Khan

Danish Khan

CEO & Founder, Siela

Danish Khan is the CEO and founder of Siela AI, which gives small teams AI marketing agents that find high-intent leads, reach out on LinkedIn, X and email, and run their social.

Connect on LinkedIn

Published