Social presence

Link previews, and what a blank one costs you

When someone pastes your address into WhatsApp, LinkedIn or Slack, the preview those apps build comes from a few lines of markup in the head of your page. If they are missing, the message shows a bare link, and the click has to be earned twice.

What a pasted link shows

A share preview is not made by the person sharing. The app fetches your page and reads Open Graph tags — og:title, og:description and og:image — written into the head. Your design, your logo and your homepage are not consulted. If those lines are absent there is nothing to build a card from, so the message shows a bare address and whatever the recipient already thinks of you.

The engine reads the page the way a visitor's browser receives it, after JavaScript has run, so tags injected by a CMS plugin or a tag manager are counted rather than missed. A missing og:title or og:description is a warning. A missing twitter:card tag is information, carrying the recommendation the code itself gives: summary_large_image.

The image is fetched, not just named

Most broken previews are broken at the image. The tag is present, so a checklist tool marks it done, and the file behind it is a 404, a redirect to a login page, or a host placeholder. The engine resolves the og:image address against the page it came from — a relative path is fine — fetches it with a 12-second timeout, and reads the first 4096 bytes. It counts as loading only if the response is HTTP 200 and the content type begins with image.

Those first bytes also carry the dimensions for PNG and JPEG files, read directly from the header. Under 600 pixels wide, or under 315 tall, is raised as information, with 1200x630 as the recommendation. For other formats — WebP, SVG, GIF — the dimensions are not read, and no size finding is raised at all rather than a guessed one.

A fetch we could not complete is our problem

If our request for your image fails, that is not evidence your image is broken. This project has been on the wrong end of exactly that: DNS filtering on the auditing machine once produced dozens of failed-network-request findings on client reports, against ordinary blocked trackers. The same interception would land on an og:image fetch and read as a defect on your site.

So a failed fetch raises no issue. The result is recorded as not checked, with the exception type kept in the details, so the gap in coverage is visible instead of being presented as a fault. A test locks it: with the network forced to fail, the audit must produce no image finding and must still record the reason.

Review stars, and why we will not add them

Structured data marked up as Review, AggregateRating or Rating is what allows a search result to carry stars. The engine looks for it in the page and records its absence as information, with the reason in plain words: a competitor showing stars beside your plain blue link wins that comparison before anyone reaches either site.

It is also the one recommendation in this category we will not implement on request. Review markup describes reviews that exist; writing it for reviews you have not received is fabrication, and Google's review snippet documentation requires the marked-up reviews to be visible on the page. The sample report carries this finding against our own site, left standing, for that reason. The fix is to collect real reviews first, then mark them up.

Where this sits in the report

Nothing in this category can be raised as critical. The strongest finding available here is a warning. In the shared weighting a warning counts 8 and information 3, against 20 for a critical, and the deduction saturates rather than subtracting flat, so the category never collapses to zero. In the overall score this category carries a weight of 0.6 — the lowest of any — because a missing share card does not stop anybody buying.

The impact ranking treats these as discovery problems, weight 1.4, below anything that blocks a sale or exposes data. The finding for missing social profile links matches no impact class at all, so it keeps a neutral weight of 1.0 rather than being quietly promoted or buried. On this site the category loses marks, and the findings are listed in full.

What the engine checks here

Each of these is a rule in the code, not a category heading.

Questions

The preview looks fine when I share it. Why is this flagged?

Sharing platforms keep the card they built the first time they fetched your page, which is why Facebook publishes a Sharing Debugger and LinkedIn a Post Inspector, both of which fetch again on demand. The audit reads what is in your page today. If the two disagree, the platform is showing you an old card, and a first-time sharer will get the current one.

Can you add review stars to our search result?

Only if you have reviews. The markup has to describe reviews that are genuinely there for people to read, and Google's review snippet documentation requires them to be visible on the page. Writing the markup without them is inventing evidence, and it is the one recommendation in this report we decline to carry out. What we will do is help you get the reviews you already have onto your own page.

We do not use social media. Does the missing-profiles finding matter?

Barely, and the report is built so you can see that. It is information, worth 3 in the deduction against a category weighted 0.6 in the overall score, and it carries a neutral impact weight because the engine cannot classify it. Our own site has the same finding. It is there for completeness, not as something to act on.

Sources

Public and checkable. Nothing here rests on a number we cannot point at.

This is one of fifteen categories. You can read a real report this engine produced on this very site — including the findings it raised against us — or ask for an audit of yours.