Content Change Monitoring
Automatically detect changes to website content. Monitor competitors, protect against defacement, and track important page updates.
Table of Contents
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:
- Compares hash to previous snapshot
- If hash differs, runs Levenshtein distance algorithm to calculate similarity
- Generates visual diff (line-by-line comparison)
- Determines if change is "significant" based on threshold
- 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
- Go to Domain Tracker
- Select a domain
- Click Content Monitoring tab
- Click "Add URL"
- Enter full URL (e.g., https://example.com/pricing)
- Choose check frequency: Hourly | Every 6 hours | Daily | Weekly
- 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 Method | Description | Best For |
|---|---|---|
| Send diff to your inbox | Weekly review of competitor pages | |
| Slack | Post to #monitoring channel | Team collaboration on changes |
| Webhook | POST to your API | Custom integrations, ticketing systems |
| In-App | Notification in ElasticDomain | Low-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 →