How to Cross-Post a Blog Post to LinkedIn Without Sounding Desperate
A 4-part template for turning a 1,500-word blog post into a LinkedIn post that does not feel like a cross-post. Plus the part most cross-posts skip.
Why most cross-posts failI have seen about 200 LinkedIn cross-posts in the last year. About 10 of them were good. The other 190 had the same problem: the cross-post read like a cross-post. The structure was "I wrote a thing, here is the link, please read it." The structure was transparent. The transparency made the post feel like marketing. The marketing made the post feel desperate. The desperation made me (and probably most readers) skip it.The good cross-posts did something different. They did not feel like cross-posts. They felt like a story that happened to be related to a longer post on the author's site. The story was the post. The link to the longer post was at the end, almost as an afterthought. The link was a "for the rest of the story" rather than a "please click this."The difference is not the post length or the link placement or the formatting. The difference is the framing. The framing is what makes a cross-post feel like marketing. The framing is what most cross-posts get wrong. The fix is a 4-part template that puts the story first and the link last.The 4-part templatePart 1: the one-sentence hookThe first sentence of the LinkedIn post is not a summary of the blog post. The first sentence is a hook that makes the reader want to keep reading. The hook is a fact, a question, a confession, or a number. The hook is not the title of the blog post. The hook is something the blog post did not say in its first line.Examples of hooks that work for a blog post about cron automation:"I lost 6 months of cron job logs in 20 minutes last Tuesday. Here is what I did wrong and what I did to make sure it does not happen again.""Most cron jobs are not broken. The cron entry works fine. The break is the missing feedback loop, and the missing feedback loop is the part no one talks about.""I run 17 cron jobs on my home server. Until last month, I had no idea whether 4 of them were actually running."Each hook is specific, surprising, and creates a question the reader wants answered. The blog post is the answer. The hook is the question.Part 2: the story, in 3-5 short paragraphsThe middle of the LinkedIn post is the story, told in 3-5 short paragraphs. Each paragraph is 1-3 sentences. The story is the same story as the blog post, but compressed. The compression is the part that makes the cross-post feel like a cross-post and not like a paste. You are not copy-pasting the blog post. You are telling the same story in a different shape, for a different audience, in a different register.LinkedIn's audience is different from a blog's audience. LinkedIn readers are skimming. They are not deep-reading. The story has to be skimmable. The story has to be readable in 60 seconds, in a coffee break, between meetings. The story has to have a clear shape, a clear point, and a clear takeaway. The story is the part that the reader will remember. The blog post is the part the reader will click through to if they want more.The story does not have to be the full story. The story is the most interesting 3-5 paragraphs. The story is the part that makes the reader want to read the rest. The story is the trailer, not the movie.Part 3: the takeaway, in 1-2 sentencesThe end of the LinkedIn post is the takeaway, in 1-2 sentences. The takeaway is the part the reader can act on without clicking through. The takeaway is the value of the post, condensed. The takeaway is the part that, if the reader does nothing else, they walk away with.Examples of takeaways for a cron post:"The minimum viable automation stack is 5 things: the job, the schedule, the log, the health check, and the alert. If you are missing any one of them, you do not have a cron job. You have a hope.""The state file is the part most people skip, and the state file is the part that catches the failures the log file misses.""If the cron entry is the only thing you have, the cron entry is the only thing that will work. The other 4 are the part that makes the cron entry worth running."The takeaway is the part that lives in the reader's head. The takeaway is the part they will repeat to a friend. The takeaway is the part that, if the reader never clicks through, the post was still worth reading.Part 4: the link, almost as an afterthoughtThe link to the full blog post is at the very end, almost as an afterthought. The link is not "click here to read more." The link is "I wrote the full thing here, including the script and the 3 times it saved me." The link is descriptive, not directive. The link is an offer, not a request.The tone of the link matters. "Link in comments" sounds desperate. "Full post here: [link]" sounds fine. "I wrote it up here, if you want the rest" sounds casual. The casual tone is the part that makes the link feel like a service, not a sell. The service is the part that makes the reader want to click, because the service is offered, not pushed.An example, before and afterBefore (the bad way):
New post on my blog: "Stop Using Cron the Hard Way: A Practical
Automation Stack." I talk about why cron alone is not enough, and
the 5 things you need to make cron actually reliable. Link in
comments!
After (the good way):
I lost 6 months of cron job logs in 20 minutes last Tuesday. The
story is dumb: I typed `rm -rf jobs/` instead of `rm -rf jobs-old/`,
and the directory had every cron job I had written in 2024.
The fix was a backup script I had written 18 months ago and not
thought about since. The script ran nightly, wrote to a tarball,
rotated after 30 days, and emailed me if it failed. I did not know
it had saved me until it saved me.
The part most cron advice skips: the cron entry is not the system.
The cron entry is the trigger. The system is the cron entry plus
a log file plus a health check plus an alert. If you are missing
any of the 4, the cron job is a hope, not a system.
I wrote the full thing up, including the 80-line Python script I
use on every host I care about: [link]
The "after" version is 200 words, takes 60 seconds to read, tells a real story, and gives the reader a takeaway. The blog post is the deeper version, with the full script and the 3 times the backup has saved me. The cross-post is not a summary. The cross-post is a different shape of the same story, for a different audience.What the template does not doIt does not work for every blog post. Some posts are too technical, too long, or too narrowly useful to compress into a 200-word story. For those posts, the cross-post should be a quote from the post, with a link, and nothing else. The template is for posts that have a story at the core. The posts without a story get a quote + link. The posts with a story get the 4-part template.It does not work for every LinkedIn audience. If your LinkedIn audience is recruiters, the template is too casual. If your LinkedIn audience is industry peers, the template is too long. The template is for an audience of builders, tinkerers, and practitioners who like short technical stories. The template does not generalize beyond that audience. Different audiences, different templates.It does not guarantee engagement. The template makes the cross-post feel less desperate, but engagement is still subject to the algorithm, the timing, and the topic. Some days a great post gets 10 likes. Some days a mediocre post gets 500. The template is the part you control. The rest is the part you do not control, and the rest is most of it.What I would tell past-meIf I could go back and tell past-me one thing, it would be: the link is the smallest part of the cross-post. The story is the largest part. The link is at the end. The story is at the beginning. The story is the part that makes the reader want the link. The story is the part that makes the link feel like a service, not a sell. The story is the part that takes 90% of the work, and the work is the part that determines whether the cross-post is worth doing.I would also tell past-me: do not cross-post every blog post. The cross-post is a tax. Each cross-post takes 20-30 minutes to write, and the cross-post dilutes the LinkedIn feed with the same content twice. Cross-post the posts that have a story. Skip the posts that do not. The skipping is the part that keeps the feed feeling like a feed, not like a blog syndication channel.Who this is forAnyone who writes a blog and a LinkedIn, and has noticed the cross-posts feel forced. The template is the fix. The template is the part that converts "I wrote a thing" into "I have a story." The story is the part that makes LinkedIn worth using for the blog's purposes. The story is the part that works.The honest partI have been using this template for about 6 months. The cross-posts that follow the template get 3-5x the engagement of the cross-posts that do not. The engagement is not the point. The point is that the cross-posts feel like cross-posts I would want to read, which is the only test that has ever mattered for me.The template is also the part of the workflow I am most likely to skip when I am in a hurry. The "in a hurry" cross-posts are the ones that read like cross-posts, and the ones that read like cross-posts are the ones I am embarrassed by later. The template is the discipline that prevents the embarrassment. The template is the part I should always use, even when in a hurry, and the part I most often skip, even though I know better.Want a prompt pack to make the cross-posting faster?The Blog Writing Factory includes a "cross-post" prompt that takes a finished blog post and returns a LinkedIn-shaped version that follows the 4-part template. The template is the discipline. The prompt is the shortcut. The shortcut is the part that prevents the "in a hurry" version from shipping.Buy on Gumroad. $14
Send me the rough edges if you try it. I read every message.