ED

Content Change Monitoring

Automatically detect changes to website content. Monitor competitors, protect against defacement, and track important page updates.

Overview

Content Change Monitoring tracks modifications to web page content over time. The system takes snapshots of specified URLs, compares them against previous versions, and alerts you when significant changes are detected.

Key Capabilities:

  • Monitor any URL (your domains or competitors)
  • Detect text changes, additions, and deletions
  • Calculate similarity scores (percentage changed)
  • Visual diff highlighting (shows exactly what changed)
  • Configurable sensitivity (ignore minor changes vs alert on everything)
  • Historical snapshots (view content at any point in time)

How It Works

1. Snapshot Capture

The system fetches the URL and extracts visible text content (excluding HTML tags, scripts, styles). Each snapshot stores:

  • Content Hash: SHA-256 hash of text for fast comparison
  • Full Text: Raw text content (up to 500KB)
  • Word Count: Total words on page
  • Timestamp: When snapshot was taken

2. Change Detection Algorithm

When a new snapshot is captured, the system:

  1. Compares hash to previous snapshot
  2. If hash differs, runs Levenshtein distance algorithm to calculate similarity
  3. Generates visual diff (line-by-line comparison)
  4. Determines if change is "significant" based on threshold
  5. If significant, triggers alert and logs event

💡 Similarity Score Calculation

Formula: Similarity = 100 - (Levenshtein distance / max(len(old), len(new)) × 100)

Example: If 50 characters changed out of 1000 total, similarity = 95%

Default threshold: Changes < 95% similarity trigger "significant change" alert.

3. Noise Filtering

To avoid false positives from dynamic content, the system ignores:

  • Timestamps and dates (e.g., "Updated on Feb 10, 2026")
  • View/like counters (e.g., "1,234 views")
  • Ad content (detected via common ad container IDs)
  • Live chat widgets
  • Cookie banners and consent notices

Configure additional ignore patterns in Settings → Content Monitoring → Ignore Patterns.

Setup & Configuration

Step 1: Add URL to Monitor

  1. Go to Domain Tracker
  2. Select a domain
  3. Click Content Monitoring tab
  4. Click "Add URL"
  5. Enter full URL (e.g., https://example.com/pricing)
  6. Choose check frequency: Hourly | Every 6 hours | Daily | Weekly
  7. Set sensitivity threshold (default: 95%)

Step 2: Initial Baseline

The first snapshot is captured immediately and serves as the baseline. No alerts are triggered for the initial snapshot. Subsequent snapshots are compared against this baseline (or the most recent approved snapshot).

Step 3: Configure Alerts

Choose how to be notified of changes:

Alert MethodDescriptionBest For
EmailSend diff to your inboxWeekly review of competitor pages
SlackPost to #monitoring channelTeam collaboration on changes
WebhookPOST to your APICustom integrations, ticketing systems
In-AppNotification in ElasticDomainLow-priority monitoring

Configure alert methods in Alert Rules.

Step 4: Review Dashboard

The Content Monitoring dashboard shows:

  • Active Monitors: List of URLs being tracked
  • Recent Changes: Timeline of detected modifications
  • Change Frequency: How often each URL changes (helps optimize check intervals)
  • Snapshot History: Browse past versions (up to 90 days retained)

Interpreting Results

Viewing Diffs

When a change is detected, click "View Diff" to see a side-by-side comparison:

  • Red highlights = Deleted text
  • Green highlights = Added text
  • Unchanged text appears in gray

Change Severity Levels

🟢 Minor (95-99% similar)

Typo fixes, punctuation changes, minor rewording. Usually safe to ignore.

🟡 Moderate (80-94% similar)

Section rewrites, price changes, new paragraphs. Review to understand impact.

🔴 Major (< 80% similar)

Complete page rewrite, defacement, or malware injection. Investigate immediately.

Approving Changes

If a change is expected (e.g., you updated your own site), click "Approve & Set as Baseline". Future snapshots will compare against this approved version instead of the original baseline.

Common Use Cases

🔒 Security: Defacement Detection

Goal: Detect if your site is hacked and content is modified.

Setup: Monitor critical pages (homepage, login, checkout) with hourly checks. Set threshold to 90% (any significant change triggers immediate alert). Send alerts to Slack #security channel.

Example: Hacker replaces homepage with "Hacked by XYZ" message → Detected in < 1 hour → Team responds immediately.

🕵️ Competitive Intelligence

Goal: Track competitor pricing, feature announcements, and marketing copy.

Setup: Monitor competitor /pricing, /features, /blog pages. Check daily. Lower threshold to 85% to catch subtle changes. Email alerts with diff to product team.

Insight: Competitor drops prices → You adjust within 24 hours to stay competitive.

📜 Compliance: Policy Tracking

Goal: Archive versions of Terms of Service, Privacy Policy for legal compliance.

Setup: Monitor /terms and /privacy pages. Check weekly. Keep 2-year snapshot history. When changes detected, export diff and file with legal team.

Benefit: Prove to auditors that you track policy changes and notify users appropriately (GDPR requirement).

🛠️ DevOps: Production Verification

Goal: Ensure production deployments don't introduce unintended content changes.

Workflow: After each deploy, manually trigger content snapshot. Compare against pre-deploy baseline. If diff shows unexpected changes, roll back immediately.

Use Case: You deploy a CSS fix but accidentally change "Buy Now" to "Buy Know" (typo) → Detected before customers notice.

Best Practices

✅ DO:

  • Start with low-traffic pages to test sensitivity settings (avoid alert fatigue)
  • Monitor full URLs (https://example.com/pricing) not just domains
  • Use descriptive labels for monitors (e.g., "Competitor A Pricing Page" not "https://...")
  • Export diffs for important changes (create paper trail)
  • Review false positives weekly and add ignore patterns
  • Combine with Alert Rules for conditional notifications

❌ DON'T:

  • Monitor pages with constantly changing content (news homepages, stock tickers) — high false positive rate
  • Set check frequency too high for static pages (wastes credits)
  • Ignore major changes without investigating (could be security breach)
  • Monitor login-walled content (system can't access, will fail)
  • Use default sensitivity (95%) for marketing pages (too sensitive) — lower to 85% for copy-heavy pages

⚡ Performance Tips

Credit Usage: Each snapshot costs 1 credit. Optimize by:

  • Using longer intervals for rarely-changing pages (weekly vs hourly)
  • Monitoring only critical pages, not entire sitemap
  • Disabling monitors after project completion

Storage: Snapshots count against your plan's storage limit. Set retention to 30 days unless you need longer compliance archives.

Advanced: API Integration

Trigger snapshots programmatically via API for CI/CD integration:

curl -X POST https://elasticdomain.com/api/tools/domain-tracker/content-monitor \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "action": "snapshot",
    "url": "https://example.com/pricing"
  }'

See API Key Management for authentication details.

Related Articles

Start Monitoring Content Changes

Protect your site from defacement and track competitor updates automatically.

Set Up Content Monitoring →