Skip to Content

Lorem ipsum placeholder text left in the page

What Is This Issue

This issue checks whether your page contains placeholder text like “Lorem Ipsum” or other dummy content that indicates unfinished or draft content has been published to a live website.

A page passes this check if:

  • It contains no placeholder text patterns
  • All visible text is real, meaningful content written for users

Example of passing implementation

<p>Welcome to our company blog where we share industry insights and tips.</p>

Example of failing implementation

<p> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. </p>

Common placeholder text patterns checked

  • “Lorem ipsum dolor sit amet”
  • “Consectetur adipiscing elit”
  • “Integer nec odio”
  • “Praesent libero”
  • “Sed cursus ante”

Why Is This Important

Having placeholder text on a live website is critical because:

  • Rankings: Search engines will index your page for irrelevant Latin words instead of your actual content, hurting your SEO
  • Indexability: Pages with placeholder text may be flagged as “thin content” or “auto-generated content” and de-indexed
  • User experience: Users see meaningless text instead of helpful information, damaging trust and credibility
  • Duplicate content: Lorem Ipsum text appears on thousands of websites, creating duplicate content issues

Impact on SEO health score

Resolving this issue is critical for your SEO health score. Publishing placeholder text to production is a serious issue that can result in search engines penalizing your entire website.

How XeoPix Detects This

XeoPix scans your page’s HTML to detect placeholder text through these steps:

Detection process

  1. Fetch the page: XeoPix downloads the raw HTML of your page (no JavaScript execution)

  2. Extract text content: The crawler:

    • Parses the HTML and extracts all text from the <body> element
    • Removes text inside <script>, <style>, <noscript>, and <svg> tags
    • Ignores HTML comments
  3. Normalize the text: XeoPix converts all text to lowercase and collapses multiple spaces into single spaces

  4. Scan for patterns: The crawler uses pattern matching to find common placeholder text phrases like:

    • “lorem ipsum”
    • “dolor sit amet”
    • “consectetur adipiscing”
    • “integer nec odio”
    • “praesent libero”
    • “sed cursus ante”
  5. Calculate density: If placeholder text is found, XeoPix calculates what percentage of your page’s total words are placeholder text

  6. Flag the issue: The page fails this check if ANY placeholder text is detected → CRITICAL issue

Important limitations

  • XeoPix only checks static HTML text—not content added by JavaScript
  • If placeholder text is loaded dynamically via JavaScript, it won’t be detected
  • The crawler checks text visible in the HTML source, even if hidden with CSS

How To Fix

Step 1: Search your entire project

Use search tools to find all instances of “lorem ipsum”, “dolor sit amet”, or other placeholder text in:

  • Your codebase files
  • Your database content
  • Your CMS templates
  • Your design mockups

Step 2: Replace with real content

Write actual, meaningful content that:

  • Accurately describes your product, service, or topic
  • Provides value to your users
  • Is written in the correct language for your audience

Step 3: Prevent future occurrences

  • Add automated checks in your build process to detect placeholder text
  • Train your content team to never publish placeholder text
  • Use staging environments to review content before going live
  • Add <meta name="robots" content="noindex"> to pages that are still in draft

Step 4: Check hidden content

Remember that placeholder text hidden with CSS (like display: none) is still visible to search engines in the HTML source.

Example fix

<!-- Before: Placeholder text --> <div class="hero"> <h1>Lorem ipsum dolor sit amet</h1> <p>Consectetur adipiscing elit. Integer nec odio.</p> </div> <!-- After: Real content --> <div class="hero"> <h1>Welcome to Our SEO Platform</h1> <p>Boost your search rankings with our powerful SEO tools and analytics.</p> </div>

What We Store

Storage Level

Page Level — This issue is evaluated for each individual page crawled.


Database Table / Prisma Model

ContentReadabilityData


Stored Fields

FieldTypeDescription
containsLoremIpsumBooleanWhether the page contains Lorem Ipsum placeholder text

Detection Dependencies

  • The following data sources are required to evaluate this issue:
  • HTML Document — The crawled page content is analyzed for Lorem Ipsum text patterns
  • Page Content — Text content extracted from the page body

Examples

Example 1: Basic Lorem Ipsum detection

Scenario: A website launched with placeholder text in the hero section.

Problematic state (fails):

<section class="hero"> <h1>Lorem ipsum dolor sit amet</h1> <p>Consectetur adipiscing elit. Integer nec odio.</p> </section>

Corrected state (passes):

<section class="hero"> <h1>Welcome to Our Company</h1> <p>We provide innovative solutions for your business needs.</p> </section>

Example 2: Hidden placeholder text

Scenario: Placeholder text hidden with CSS but still in HTML source.

Problematic state (fails):

<div style="display: none;"> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> </div> <p>Real content here.</p>

Corrected state (passes):

<div style="display: none;"> <!-- No placeholder text --> </div> <p>Real content here.</p>

Example 3: Partial replacement

Scenario: Some sections have real content, but others still have Lorem Ipsum.

Problematic state (fails):

<article> <h2>Our Services</h2> <p>We offer web development and SEO services.</p> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> </article>

Corrected state (passes):

<article> <h2>Our Services</h2> <p>We offer web development and SEO services.</p> <p>Contact us today to learn more about our solutions.</p> </article>

Unit Test

Test File

__tests__/seo-audit-checks/contentReadability/issue-67-no-lorem-ipsum.test.js

Purpose

Validates that the SEO audit correctly detects Lorem Ipsum placeholder text in page content and reports the NO_LOREM_IPSUM issue when found.

Tested Function

runContentReadability() from toggleGroups/contentReadability.js

Issue Information

  • Issue Number: 67
  • Issue Code: NO_LOREM_IPSUM
  • Toggle Group: contentReadability

Test Scenarios

Positive Test Cases

Scenarios where the issue should not be reported:

  • Page contains normal content without Lorem Ipsum
  • Lorem Ipsum appears only in HTML attributes (e.g., alt tags)
  • Empty HTML with no body content
  • HTML with empty <body> element
  • Malformed HTML markup

Negative Test Cases

Scenarios where the issue should be reported:

  • Page contains “Lorem ipsum dolor sit amet” text
  • Lorem Ipsum in uppercase (e.g., “LOREM IPSUM DOLOR SIT AMET”)
  • Lorem Ipsum with mixed case (e.g., “LoReM IpSuM dOlOr SiT aMeT”)
  • Partial Lorem Ipsum text (e.g., “lorem ipsum dolor sit amet”)

Boundary Cases

No explicit boundary cases defined in the test.

Edge Cases

  • Case insensitivity: Detection works regardless of text case variations
  • Nested elements: Lorem Ipsum detected in deeply nested HTML elements
  • Empty content: Empty HTML does not trigger false positives
  • Malformed HTML: Unclosed tags are handled gracefully

Expected Outcome

Pass

The NO_LOREM_IPSUM issue should be reported when the page contains Lorem Ipsum placeholder text in visible content (not just attributes).

Fail

The NO_LOREM_IPSUM issue should not be reported when:

  • Page contains normal, non-Lorem Ipsum content
  • Lorem Ipsum appears only in HTML attributes
  • Page has no body content
  • HTML is malformed

Validation

  • Correct detection of Lorem Ipsum text in various case formats
  • No false positives for Lorem Ipsum in attributes only
  • Proper handling of empty and malformed HTML
  • Cache behavior validation (results cached on subsequent calls)
  • toggleGroups/contentReadability.js - Main toggle group implementation
  • issueCodes.js - Issue code definitions

Coverage Summary

  • ✅ Normal content (no Lorem Ipsum)
  • ✅ Lorem Ipsum in attributes only
  • ✅ Lorem Ipsum detection (lowercase, uppercase, mixed case)
  • ✅ Partial Lorem Ipsum text
  • ✅ Empty HTML handling
  • ✅ Malformed HTML handling
  • ✅ Nested element detection
  • ✅ Cache validation

References

Last updated on