All 30 checks Placeholder text left in

Placeholder text left in

Updated

Template filler such as lorem ipsum, [Your Name], "your text here" or a TODO note is meant to be replaced before launch, and the one paragraph nobody revisited is usually the first thing a client or customer reads.

Fails: Filler left in a live section
<section class="team">
  <h2>Meet the team</h2>
  <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
  <p>Call [Your Name] on [phone] to book.</p>
</section>
Fix: Real copy in its place
<section class="team">
  <h2>Meet the team</h2>
  <p>Priya and Tom have run the bakery since 2014.</p>
  <p>Call Priya on 020 7946 0000 to book.</p>
</section>

Why filler survives to launch

Site templates ship with sample copy so the layout looks finished before the real words exist. Designers add their own markers, [Client name], {your city} or TODO, to show what still needs writing. Most of it gets replaced, but the pieces that live outside the main content are easy to miss: a testimonial slider's third slide, a footer column, a mobile-only menu, a pricing tier added late, or a section hidden behind a tab. On a site builder, one forgotten reusable component can put the same filler on every page.

Visitors notice it immediately, and it costs more trust than its size suggests, because it reads as a site nobody finished. Search engines index it too, so a snippet of lorem ipsum can end up as the description under the business name in search results.

How Skewcheck detects it

Skewcheck reads the visible text of the page as served, meaning everything in the body except scripts, styles, noscript and template blocks, and looks for well-known filler. It matches lorem ipsum and dolor sit amet in any letter case, an opening square or curly bracket followed by "your", the phrases "your text here", "insert text" and "sample text", and the word TODO only when written in capitals as a whole word, so a todo app or a sentence about lists does not trip it. TBD is not matched, because event pages use it honestly for a date or venue not yet set. Text inside pre, code, kbd and samp elements is skipped, since code samples quote filler on purpose, and so is anything hidden from visitors with the hidden attribute, aria-hidden="true", or Webflow's w-condition-invisible class.

A match fails the check with medium severity and removes 5 points from the score. The detail line quotes the first match with about twenty characters either side, so you can search for it in your editor or CMS. The check reads only the text in the HTML; copy that scripts insert after the page loads, and words inside images, are not checked. If the page is larger than 1.5 MB, Skewcheck reads the first 1.5 MB and says so in the detail.

Because the match is purely textual, a page that discusses lorem ipsum, such as a design blog explaining where it comes from, will be flagged too. The quoted context makes that obvious at a glance, and you can treat that one finding as a known exception.

Search the live page yourself
curl -s https://example.com | grep -ioE '.{0,30}(lorem ipsum|\[your |your text here|TODO).{0,30}'

Clearing it

Replace the filler with real copy rather than deleting the element, unless the section is not needed at all, in which case remove it from the template so it cannot reappear. Search the whole project, not just the audited page: in a code base, search the source for the quoted words; in WordPress, search posts, pages, widgets and the theme's customizer settings; in Webflow and Framer, check components and CMS collection items, because a single shared component or CMS field fills many pages. Then audit one page of each template, since each can hold its own leftovers.

Before and after

Before
<p>Opening hours: TODO</p>
After
<p>Opening hours: Tuesday to Saturday, 8am to 4pm</p>

Check your page

Run all 30 checks on any URL. Free, no account.