Develop With Faith
June 14, 2026

Why Your Ministry's Shared Links Look Like Junk in iMessage

A worship leader texts a Sunday sermon link to a small group of friends. On their phones, it shows up as a blue underlined URL with a generic globe icon and nothing else. No title, no preview image, no service date. One person taps it. Most do not. The sermon is excellent. The link looks like spam.

This is a quiet failure mode we see on almost every ministry website we audit. The content is good. The sharing is the problem. And the fix lives in about twenty lines of code most teams have never seen.

What a Link Preview Actually Is

When you paste a URL into iMessage, WhatsApp, Facebook, LinkedIn, Slack, Discord, or Threads, the receiving app does not just render the link. It fetches the page in the background, looks for a small set of meta tags in the HTML, and uses them to build the preview card you see — the image, the title, the short description.

That meta tag standard is called Open Graph. Facebook created it in 2010 and the rest of the internet adopted it. A page that does not set Open Graph tags still gets a preview card, but the app has to guess. It picks the page title, maybe the first image it finds, often something accidental. On many ministry sites we audit, that accidental image is a faint logo, a header background, or — worst of all — nothing, leaving the link looking like the raw URL with no preview at all.

The fix is to take control. Define exactly what each page should look like when shared. Most ministry sites we touch have either zero Open Graph tags or one tired set inherited from a theme.

The Four Tags That Do the Work

Out of the dozen Open Graph properties that exist, four carry almost all the weight on a ministry site.

<meta property="og:title" content="Sunday Worship — May 17, 2026" />
<meta property="og:description" content="Pastor Lina on Romans 12: living sacrifice in a season of uncertainty." />
<meta property="og:image" content="https://yourchurch.org/og/sermon-2026-05-17.jpg" />
<meta property="og:url" content="https://yourchurch.org/sermons/romans-12-living-sacrifice" />

og:title is what shows up bold in the preview. Write it for a friend who got the link, not for Google. og:description is the small grey line beneath. Two readable sentences, no marketing voice. og:url is the canonical version of the page so multiple URL variants do not split the social signal. And og:image — the part most sites get wrong — is the photo or graphic that fills the card.

A matching pair of Twitter card tags (twitter:card, twitter:image) catches the few apps that still prefer Twitter's version of the standard. Setting both costs nothing.

Why og:image Is the Hard One

Three constraints quietly tangle here. Dimensions matter — most platforms expect roughly 1200 by 630 pixels, and an image too small gets stretched into pixel mush while one too large gets cropped to absurdity. File size matters — over about 5 MB and many platforms refuse to fetch it, leaving you back at a blank card. And accessibility matters — burning small text into the image excludes anyone reading via screen reader or in a language other than English.

The pattern we land on for most ministry sites:

  • One branded fallback image at the root, used whenever a specific page does not set its own. Keep it under 300 KB.
  • Per-sermon and per-event images that are visually distinct so the previews do not all look identical in a long iMessage thread.
  • No critical text inside the image. The title goes in the og:title tag, where assistive tech can read it.

For ministries publishing weekly, generating a fresh image per sermon by hand is a chore that quietly dies after a month. Modern hosting platforms — Vercel, Netlify, Cloudflare — can generate these images automatically from a template. The pattern is straightforward: a small function takes the sermon title and date, renders an SVG or HTML template into a PNG, and caches it. Once the first version works, every future sermon gets a clean, branded preview without anyone doing anything.

What Goes Wrong on Ministry Sites

The audit pattern is consistent. Either no Open Graph tags at all and every preview falls back to whatever the platform guesses. Or one universal og:image set in the theme, so every page on the site — the sermons, the staff bios, the giving page, the kids' ministry — shares the same generic photo of the building exterior. The donation page preview looks identical to the about page preview, and neither says what the link is for.

The second mistake is harder to spot from inside. A staff member knows the site. They see the URL and remember what is there. The friend they texted does not.

How to Check Your Site Right Now

Three steps, about ten minutes.

First, open Facebook's Sharing Debugger and paste in your homepage, your most recent sermon page, and your donation page. The tool shows exactly what a Facebook share will look like and what tags it found. LinkedIn has its own Post Inspector and Apple offers no public tool, but iMessage closely follows what most platforms read.

Second, send the same three links to yourself in iMessage and WhatsApp. Look at the cards on your phone. Are they distinct? Do they say anything? Would a stranger tap them?

Third, ask whoever runs your site to confirm what is in the <head> of each template. Often the answer is "I am not sure," which is itself the finding.

A link preview is the first impression your ministry makes in places you cannot control — group chats, friend-of-a-friend shares, social posts you did not write. It is worth the twenty lines of code to make sure that impression is something you would actually want.

If your shared links are quietly underperforming and you are not sure how to fix the templates, we can take a look. It is usually a short job with an outsized return.

← Back to all posts