A step-by-step guide to measuring your site’s emotional connection using AI-powered analysis.
What This Tool Does
Site Empathy Analysis crawls your website and scores each page for empathic language using a peer-reviewed framework (Sharma et al., 2020). You get a CSV report with page-by-page scores and specific phrases flagged as empathic or non-empathic.
Three dimensions are measured:
- Emotional Reactions (ER) — Expressions of warmth and compassion
- Interpretations (IP) — Acknowledging and naming feelings
- Explorations (EX) — Questions that invite dialogue
How the Models Work
The empathy detection is powered by three RoBERTa-based neural networks—one for each dimension (ER, IP, EX). These models were trained on real therapeutic conversations from mental health support platforms.
The Research
The framework comes from Sharma et al. (2020), published at EMNLP (a top NLP conference). Researchers analyzed thousands of peer support conversations and identified the specific language patterns that convey empathy.
Model Download
On install, the tool automatically downloads the trained model weights from HuggingFace (~3GB total). This only happens once models are cached locally at ~/.cache/site-empathy/models/.
You can also manually manage models:
# Check model status
site-empathy models --status
# Download models manually
site-empathy models --download
# Clear cached models
site-empathy models --clearSetup (5 Minutes)
Requirements
- Python 3.9+
- Firecrawl API key (free at firecrawl.dev)
- ~3GB disk space for models (downloaded on first run)
Install
brew install pipx
pipx install git+https://github.com/willdoseo/site-empathy-analysis.gitRun
site-empathyThe interactive CLI will take a moment to load:
- Prompt for your Firecrawl API key (and option to save for future use)
- Ask for target URL and crawl options
- Download the model and weights, this will take a few minutes
- Crawl and analyze your site
- Generate a CSV report
Crawl Options
When prompted, choose your scope:
- Entire site — Crawls all pages (up to 10,000)
- Specific folder — e.g., just /blog/ or /services/
- Limited pages — Set a max page count

Interpreting Results
The output CSV includes an empathy score (0-1) for each page:
| Score | Rating | Action |
|---|---|---|
| 0.35+ | High | No changes needed |
| 0.20–0.35 | Moderate | Review for improvement |
| <0.20 | Low | Prioritize for rewrite |
You also get dimension breakdowns (ER, IP, EX) to identify which type of empathy is missing.
What the Scores Mean
- High ER, Low IP: Warm but not showing understanding—add acknowledgment of feelings
- High IP, Low ER: Clinical understanding without warmth—add compassionate language
- Low EX: One-way communication—add questions and invitations to engage
Fixing Low Scores
Low ER (Emotional Reactions)
Add warmth. Replace clinical language with compassionate phrasing.
Before: “We provide treatment services.”
After: “We’re here to help you through this.”
Low IP (Interpretations)
Name emotions. Show you understand what visitors feel.
Before: “Addiction is difficult.”
After: “You might be feeling overwhelmed right now.”
Low EX (Explorations)
Ask questions. Invite engagement instead of just stating facts.
Before: “Contact us for information.”
After: “What questions can we answer for you?”
Prioritization
Start with:
- Homepage
- Main service/product pages
- Contact and intake pages
- High-traffic blog posts
Example Output
| URL | Empathy Score | ER | IP | EX |
|---|---|---|---|---|
| /about | 0.42 | 0.8 | 0.5 | 0.3 |
| /services | 0.18 | 0.2 | 0.1 | 0.2 |
| /contact | 0.31 | 0.6 | 0.4 | 0.1 |
In this example, /services needs attention—specifically ER and IP scores.
Resources
- GitHub: github.com/willdoseo/site-empathy-analysis
- Models: huggingface.co/willdoseo/site-empathy-models
- Firecrawl: firecrawl.dev
- Research: Sharma et al. (2020), “A Computational Approach to Understanding Empathy Expressed in Text-Based Mental Health Support” (EMNLP 2020)
WillDoSEO.com
Powered By Espresso ☕️

