How it rates

A fixed checklist of 65 checks applied to what your site serves. The same pages always get the same rating, and every point lost is a finding you can read. This page is generated from the checklist the inspector runs, ruleset 2026.10-4.

What it rates

How much of a site is stock: patterns, words and values that appear unchanged on thousands of sites because a template, a component kit or a site builder put them there. Not who made it. Tools that claim to detect AI writing have failed in public, and a fixed checklist should not pretend to.

  • No single default decides anything. A centred hero, Inter, an FAQ or three pricing tiers are fine alone.
  • What costs points is defaults piling up in one place, and nothing specific to you beside them.
  • Your own work gives points back: specific copy, named customers, a real product image, your own type and colour.

The arithmetic

Each finding has a weight w from the tables below and a strength s between 0 and 1, for how much of it was found. Within one section:

per kind of default     q = 1 − Π (1 − w × s)
all kinds together      N = 1 − Π (1 − q)          unfinished work kept apart
how many kinds          m = Σ min(1, q ÷ 0.15)
stacking factor         g = 0.25 + 0.25 × m, at most 1
your own work           P = 1 − Π (1 − v × p)
section rating          100 × (1 − (g × N × (1 − P ÷ 2) + q unfinished))
page rating             100 × Π (section ÷ 100)^(weight ÷ 3) × (1 − whole-page defaults ÷ 2)

A page multiplies what each section keeps, weighted by kind (hero 3, features 2, testimonials 1.5, pricing 1.5, menu 0.5, footer 0.5, everything else 1), so one default hero is never averaged away by clean filler around it. What runs across the whole page, such as typefaces, palette and section order, counts at half strength. Unfinished work caps a page: template text at 35, two placeholder images at 45, a menu of dead links at 55, the starter title at 60. A page with under 50 words to read is not rated at all: too little to read is not the same as nothing default.

The site averages its pages, the home page counting twice and docs, legal pages and blog posts a quarter, then loses up to 10 points when the same layouts or paragraphs recur from page to page. A fix’s worth is the rating scored again without it, on every page where it appears.

The copy

CheckWeightWhy it reads as stock
Stock phrases0.25Openers like "In today's fast-paced world" or "Unlock the power of" appear on thousands of pages, so readers skip them.
Overused words0.20Words such as "delve", "seamless", "elevate" and "game-changer" have become markers of stock, interchangeable marketing copy.
"Not just X, it's Y"0.15Setting up a contrast nobody asked for ("It's not just a tool, it's a partner") is one of the most recognisable stock copy shapes.
Vague claims0.25Sentences without numbers, names or specifics could describe any product. Usability research found objective copy tests 27% better than promotional copy.
Emoji as bullets0.15Rows of 🚀 ✨ ⚡ at the start of headings and list items are a template habit, and they read the same on every site.
Round, unsourced numbers0.10"10K+ users", "99.9% uptime" and "4.9 stars" in a row look like filler unless they are sourced.
Stock calls to action0.10"Ready to transform your workflow?", "Join thousands of teams" and a Get started / Learn more pair close half the landing pages on the web.
"Fast. Simple. Secure."0.10Three one-word sentences are the default tagline shape and say nothing a competitor could not also say.
Heavy em-dash use0.05, whole pageA dense run of em dashes has become a visible mark of templated text, though plenty of writers use them.
Title Case Headings0.05, whole pageEvery heading in Title Case is the template default, and sentence case reads faster.
An arrow on every button0.05, whole pageAppending → to every link and button is template chrome.

The look

CheckWeightWhy it reads as stock
Gradient headline text0.20A gradient clipped into the headline (often indigo to purple) is the single most copied effect of the last few years.
Blurred glow blobs0.25Large blurred coloured circles behind the content are decoration with no meaning, and templates add them by default.
Coloured glow shadows0.15Coloured halos around buttons and cards are a stock effect of site-builder templates.
Default purple button0.05Indigo and violet buttons straight from the Tailwind palette became the default accent of template sites.
Indigo-to-pink gradients0.15Gradients between the stock indigo, violet, purple, fuchsia and pink stops are the default "modern SaaS" wash.
Frosted glass cards0.10Blurred translucent cards are a trend default, and they lower text contrast.
Coloured stripe on cards0.10A thick coloured left or top border on every card has become one of the most reliable signs of a template layout.
Icons in tinted squares0.10A stock icon inside a small tinted rounded square, repeated per card, is the default feature-card look.
Effects in every section0.20, whole pageHand-made sites spend their boldness in one place; templates spread glows, gradients and blur evenly over every section.
Stock colour palette0.05, whole pageMost colours on the page are untouched Tailwind defaults, which thousands of other sites share exactly.
Unthemed component kit0.15, whole pageThe component kit's tokens are still at their default values, so the buttons, cards and radius look like every other site built on it.
Only the default fonts0.05, whole pageThe page uses only Inter, Geist or the system stack, which is what every starter ships with.
Template-trend typeface0.10, whole pageFaces like Space Grotesk or Instrument Serif became the go-to "distinct" choice of templates, so they no longer look distinct.
Template glow tokens0.10, whole pageTokens named --primary-glow, --shadow-glow or --gradient-primary come straight from a site builder's template.
One radius on everything0.05, whole pageThe same corner radius on buttons, cards, inputs and images, regardless of size, is the kit default.
Dark page, grey body text0.05, whole pageA near-black page with mid-grey paragraphs is the default "dev tool" look, and grey on black is hard to read.
This year's default palette0.10, whole pageWarm cream with terracotta, or near-black with one acid-green accent, is the newer template look that replaced purple.
One word of the headline styled apart0.10Setting one or two words of a headline in another colour, an italic serif or an underline is the device generators reach for to make a heading look designed.
A soft shadow under every card0.05A row of identical cards, each lifted by the same grey drop shadow, is a component-kit default.
A pulsing status dot0.05, whole pageA blinking dot ("live", "available") that reports nothing real is decoration borrowed from templates.
Monospace labels outside code0.05, whole pageMonospace used as a "technical" voice for labels and captions is a gallery fashion; only code needs it.
Thin rules everywhere0.05, whole pageHairline dividers between every block are the "editorial" look generators adopted wholesale.
Sparkle, rocket and brain icons0.05The sparkles, the magic wand, the rocket and the brain have become the stock way to say "smart" or "new", on thousands of sites at once.
Fake window buttons0.05Three red, yellow and green dots drawn over a box imitate a macOS window to make a mock-up look like software.
Squeezed letter-spacing on headlines0.05, whole pageVery tight negative letter-spacing on large headings is a starter-kit default that makes letters collide.
A glow that follows the pointer0.05, whole pageA spotlight that tracks the mouse is a component-gallery effect; it decorates without informing.

The layout

CheckWeightWhy it reads as stock
Badge pill above the headline0.20A rounded "New: ..." pill above the headline is one of the most telling hero patterns: it is on 1 in 6 launch pages and almost no hand-made ones.
Identical card grid0.20Three (or four, or six) identical cards with an icon, a title and one line is the default feature section.
All-caps label over every heading0.10, whole pageA small tracked-out ALL-CAPS label above each section heading is template chrome that repeats what the heading says.
Centred hero0.05A centred headline is the starter default; alone it means little.
Numbered 1 · 2 · 3 steps0.05A "How it works" row of three numbered steps is a template block.
FAQ accordion0.05An accordion of generic questions near the bottom is a template block.
Three tiers, "Most popular" in the middle0.05Three plans with the middle one marked "Most popular" is the stock pricing table.
The template section order0.50, whole pageHero, logos, features, steps, testimonials, pricing, FAQ, call to action: the page follows the default landing-page order block for block.
Fade-in on every section0.10, whole pageEvery section sliding up as it scrolls in is the default animation, and it hides content from visitors and crawlers until it plays.
Floating pill navigation0.10, whole pageA rounded, blurred menu bar floating over the page is a fashion copied from template galleries.
Decorative 01 / 02 / 03 numbers0.05, whole pageZero-padded index numbers over sections or cards carry no information; they are an ornament copied from portfolio sites.
Tiny letter-spaced capitals0.10, whole pageSmall uppercase, letter-spaced captions scattered around the page are far more common on weak template pages than on well-made ones.
Every card lifts on hover0.05, whole pageCards that rise or grow under the pointer, all the same way, are a component-kit default rather than feedback.
Every section centred0.10, whole pageWhen almost every section is centred, the page reads as a column of template blocks with no composition.
A whole sentence as the headline0.05A full sentence set at display size runs to three or four lines; generators put the whole pitch in the h1.
An endless scrolling strip0.05, whole pageA strip of logos or words that scrolls forever is a stock template block; it moves without telling the visitor anything.
A bento grid of rounded tiles0.05Rounded tiles of mixed sizes became the default "modern" feature section after Apple keynotes; the tile sizes rarely follow what matters.

The proof

CheckWeightWhy it reads as stock
Testimonials anyone could write0.40Quotes with nothing a reader could check (no number, no link, no photo) look like every template's placeholder testimonials, real or not.
"Trusted by thousands", no names0.25A big number of users with no logo or name next to it is a claim the visitor cannot check.
No product in the hero0.15The first screen shows no image of the product, so the visitor has only adjectives to go on.
Initials in circles instead of people0.15Round badges with initials ("SJ", "MK") stand in for customers who have no photo, which is how template testimonials look.
Overlapping faces with a star rating0.15A row of overlapping avatars next to stars or "join 2,000+ users" is a template block that claims a crowd without naming anyone.

Left unfinished

CheckWeightWhy it reads as stock
Template text left in0.60Lorem ipsum, "Your Company" or example addresses tell a visitor nobody finished this page.
Placeholder images0.40Images from placeholder services are the clearest sign of a template that was shipped as is.
Stock avatar faces0.30Avatars from random-face services are recognisable, and they make the people next to them look invented.
Links that go nowhere0.30Many `href="#"` links in the menu or footer are template scaffolding: the visitor clicks and nothing happens.
Starter title or description0.30, whole pageThe page still carries the starter template's title or description, which shows in browser tabs, search results and link previews.
Chat assistant leftovers0.50Phrases like "I hope this helps" or citation markers were pasted from a chat window without being read.

What gives points back

SignalWeightWhere
Specific copy: numbers and names0.35In one section
Named, specific testimonials0.30In one section
A real image0.30In one section
Your own typeface0.05Across the whole page
Your own colour0.05Across the whole page

Limits

  • Copy checks are off on pages whose text is not English (judged from the words, not only the lang attribute), and word checks on pages about generated writing. When a site switches checks off with data-slop-ignore, the report says so.
  • Docs, legal pages, blog posts and app screens are templated by design: they count a quarter and are left out of the cross-page comparison.
  • Slop reads code, not a rendering. Sizes and positions are judged from class names and CSS, and apps rebuilt from their code are marked approximate.
  • Put data-slop-ignore="all", or a list of checks, on an element to say a pattern there is deliberate.
  • Up to ten pages, seventy requests and about 27 seconds per inspection. robots.txt is read first and obeyed: Slop fetches as WebScanBot, and a SlopBot group opts a site out of Slop alone. Nothing is kept.
  • The weights are a first calibration and will change with measured results; every report names the ruleset that rated it.

Credits

The checks draw on public work: Adrian Krebs’ ai-design-checker and its labelled Show HN study, Slopdar, Kobak and colleagues’ excess-vocabulary data (Science Advances, 2025), Tailwind CSS’s published palette, and the tells registry of Leonxlnx’s taste-skill (MIT), read in reverse, and the pattern catalogue of slop-detect (MIT). Slop’s code, weights and words are its own.