Website Development

Share These Nepali Websites on Facebook and You Get a Grey Box

Almost every Nepali business I have worked with distributes its website the same way: someone pastes the link into a Facebook post, a Messenger conversation, or a WhatsApp group. That is the channel. Search brings some traffic; the link being passed around brings a lot of it.

Which makes this number worse than it looks. Of the 34 Nepali websites I audited, 13 have no og:image. Nine have no Open Graph tags at all. Thirteen have no Twitter card.

Paste one of those links into Facebook and you get a grey rectangle with a domain name under it. No picture, often no description, sometimes not even a proper title. It looks broken, and people do not click things that look broken.

What is actually failing

When a link is pasted anywhere — Facebook, Messenger, WhatsApp, LinkedIn, Slack, iMessage — the platform fetches the page and looks for four tags in the head:

<meta property="og:title" content="…">
<meta property="og:description" content="…">
<meta property="og:image" content="https://example.com/image.jpg">
<meta property="og:url" content="https://example.com/page">

Find them, and you get a card. Find nothing, and the platform falls back to whatever it can scrape — usually the <title> and no image, which renders as the grey box.

There is no partial credit that matters here. A card with a title and no image is visually almost as dead as no card at all, because the image is the entire reason the card occupies space in a feed.

The four ways I keep seeing this break

The tag is missing. Nine of 34. Nothing to fix but the absence.

The URL is relative. content="/images/logo.png" will not work. Open Graph requires an absolute URL with the protocol — the crawler is not on your site and has no base to resolve against. This one is common and invisible in a browser, because the page itself renders fine.

The image is blocked or unreachable. Hotlink protection, a robots rule, or a path that 404s. The tag is present and correct and the crawler still gets nothing.

The image is the wrong shape. Facebook wants roughly 1200×630. A square logo gets cropped badly or demoted to the small thumbnail layout, which occupies a fraction of the space.

Why this is more expensive in Nepal than elsewhere

Two reasons, and the second is the one people miss.

The obvious one: distribution here runs through social and messaging to an unusual degree. A Kathmandu restaurant's website may get more visits from links pasted into Facebook groups than from Google in a given week. If the card is dead, so is the channel.

The less obvious one: WhatsApp and Messenger previews are generated at paste time, per message. They are not cached against your domain the way a Facebook feed post is. Every single share of that link, by every person, produces a fresh grey box. It is not one broken post — it is every conversation the link ever appears in.

Fixing it, and the step everybody forgets

The tags themselves are five minutes. Add all four, use an absolute URL, use a 1200×630 image, add og:image:alt while you are there.

The step people forget is that Facebook caches the result. If your link has ever been shared while the tags were broken, that broken card is stored and will keep appearing even after you fix the page. Run the URL through Facebook's Sharing Debugger and hit Scrape Again to force a refresh. Without that, you fix the site and nothing visibly changes, and you reasonably conclude the fix did not work.

Then paste the link into an actual WhatsApp message to yourself. That is the only test that reflects what your customers see.

Two things worth checking while you are in there: that og:url is the canonical address rather than a tracking-parameter version, and that the image is not blocked to crawlers. I found the same class of failure — a page that works perfectly for humans and returns nothing to a machine — when my own site served 200s with an empty body.

Method

Thirty-four live Nepali websites across seven sectors, homepage only, audited 23 August 2026. Presence of og tags, og:image and Twitter card tags was read from the served HTML.

The limits are real and worth naming. This checks whether the tags exist, not whether the image they point at actually loads, is the right size, or is not blocked — so 13 of 34 is the floor, not the ceiling. A site can appear fine in this count and still render a grey box. Homepage only, again: interior pages are frequently worse, because plugins tend to set a site-wide default and nothing per-page.

The method and the wider results of the same audit are published, and the broader findings from the same sample are in the audit writeup. If you want me to check what your link looks like when it is shared, send me the URL — it takes a minute.