Filed by Will Tygart
• Tacoma, WA
• Industry Bulletin
With 93% of AI Mode searches ending in zero clicks, the question isn’t whether you rank on Google — it’s whether AI systems consider your content authoritative enough to cite. This interactive tool scores your content across 8 dimensions that LLMs evaluate when deciding what to reference.
We built this based on our research into what makes content citable by Claude, ChatGPT, Gemini, and Perplexity. The factors aren’t what most people expect — it’s not just about keywords or length. It’s about information density, entity clarity, factual specificity, and structural machine-readability.
Take the assessment below to find out if your content is visible to the machines that are increasingly replacing traditional search.
Is AI Citing Your Content? AEO Citation Likelihood Analyzer
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: -apple-system, BlinkMacSystemFont, ‘Segoe UI’, Roboto, ‘Helvetica Neue’, Arial, sans-serif;
background: linear-gradient(135deg, #0f172a 0%, #1a2551 100%);
color: #e5e7eb;
min-height: 100vh;
padding: 20px;
}
.container {
max-width: 900px;
margin: 0 auto;
}
header {
text-align: center;
margin-bottom: 40px;
animation: slideDown 0.6s ease-out;
}
h1 {
font-size: 2.5rem;
background: linear-gradient(135deg, #3b82f6, #10b981);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
margin-bottom: 10px;
font-weight: 700;
}
.subtitle {
font-size: 1.1rem;
color: #9ca3af;
}
.content-section {
background: rgba(15, 23, 42, 0.8);
border: 1px solid rgba(59, 130, 246, 0.2);
border-radius: 12px;
padding: 40px;
margin-bottom: 30px;
backdrop-filter: blur(10px);
animation: fadeIn 0.8s ease-out;
}
.question-group {
margin-bottom: 35px;
padding-bottom: 35px;
border-bottom: 1px solid rgba(59, 130, 246, 0.1);
}
.question-group:last-child {
border-bottom: none;
margin-bottom: 0;
padding-bottom: 0;
}
.question-label {
display: flex;
align-items: center;
margin-bottom: 15px;
font-weight: 600;
font-size: 1.05rem;
color: #e5e7eb;
}
.question-number {
display: inline-flex;
align-items: center;
justify-content: center;
width: 28px;
height: 28px;
border-radius: 50%;
background: linear-gradient(135deg, #3b82f6, #10b981);
margin-right: 12px;
font-weight: 700;
font-size: 0.9rem;
flex-shrink: 0;
}
.points-badge {
margin-left: auto;
background: rgba(59, 130, 246, 0.2);
padding: 4px 12px;
border-radius: 20px;
font-size: 0.85rem;
color: #3b82f6;
font-weight: 600;
}
.radio-group {
display: flex;
flex-direction: column;
gap: 12px;
margin-top: 12px;
}
.radio-option {
display: flex;
align-items: center;
padding: 12px 15px;
background: rgba(255, 255, 255, 0.02);
border: 1px solid rgba(59, 130, 246, 0.1);
border-radius: 8px;
cursor: pointer;
transition: all 0.3s ease;
}
.radio-option:hover {
background: rgba(59, 130, 246, 0.08);
border-color: rgba(59, 130, 246, 0.3);
transform: translateX(4px);
}
.radio-option input[type=”radio”] {
margin-right: 12px;
width: 18px;
height: 18px;
cursor: pointer;
accent-color: #3b82f6;
}
.radio-option input[type=”radio”]:checked + label {
color: #3b82f6;
font-weight: 600;
}
.radio-option label {
cursor: pointer;
flex: 1;
color: #d1d5db;
transition: color 0.3s ease;
}
.results-section {
display: none;
animation: fadeIn 0.8s ease-out;
}
.results-section.visible {
display: block;
}
.score-card {
background: linear-gradient(135deg, rgba(59, 130, 246, 0.1), rgba(16, 185, 129, 0.1));
border: 1px solid rgba(59, 130, 246, 0.3);
border-radius: 12px;
padding: 40px;
text-align: center;
margin-bottom: 30px;
}
.score-display {
margin-bottom: 20px;
}
.score-number {
font-size: 4rem;
font-weight: 700;
background: linear-gradient(135deg, #3b82f6, #10b981);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.score-label {
font-size: 1rem;
color: #9ca3af;
margin-top: 10px;
}
.gauge {
width: 100%;
height: 20px;
background: rgba(255, 255, 255, 0.05);
border-radius: 10px;
overflow: hidden;
margin: 20px 0;
}
.gauge-fill {
height: 100%;
background: linear-gradient(90deg, #ef4444, #f59e0b, #10b981);
border-radius: 10px;
transition: width 0.6s ease-out;
}
.tier-badge {
display: inline-block;
padding: 12px 24px;
border-radius: 8px;
font-weight: 600;
font-size: 1.1rem;
margin-top: 20px;
}
.tier-excellent {
background: linear-gradient(135deg, rgba(16, 185, 129, 0.2), rgba(59, 130, 246, 0.2));
color: #10b981;
border: 1px solid rgba(16, 185, 129, 0.4);
}
.tier-good {
background: linear-gradient(135deg, rgba(59, 130, 246, 0.2), rgba(147, 197, 253, 0.1));
color: #3b82f6;
border: 1px solid rgba(59, 130, 246, 0.4);
}
.tier-needs-work {
background: linear-gradient(135deg, rgba(249, 115, 22, 0.2), rgba(251, 146, 60, 0.1));
color: #f97316;
border: 1px solid rgba(249, 115, 22, 0.4);
}
.tier-invisible {
background: linear-gradient(135deg, rgba(239, 68, 68, 0.2), rgba(248, 113, 113, 0.1));
color: #ef4444;
border: 1px solid rgba(239, 68, 68, 0.4);
}
.breakdown {
margin-top: 30px;
}
.breakdown-title {
font-size: 1.2rem;
font-weight: 600;
margin-bottom: 20px;
color: #e5e7eb;
}
.breakdown-item {
background: rgba(255, 255, 255, 0.02);
border-left: 3px solid transparent;
padding: 15px;
margin-bottom: 12px;
border-radius: 6px;
display: flex;
justify-content: space-between;
align-items: center;
}
.breakdown-item-name {
flex: 1;
}
.breakdown-item-score {
font-weight: 700;
font-size: 1.1rem;
color: #3b82f6;
min-width: 60px;
text-align: right;
}
.weaknesses {
margin-top: 30px;
}
.weakness-item {
background: rgba(239, 68, 68, 0.05);
border: 1px solid rgba(239, 68, 68, 0.2);
border-radius: 8px;
padding: 15px;
margin-bottom: 12px;
}
.weakness-item h4 {
color: #fca5a5;
margin-bottom: 8px;
font-size: 0.95rem;
}
.weakness-item p {
color: #d1d5db;
font-size: 0.9rem;
line-height: 1.5;
}
.action-plan {
background: rgba(16, 185, 129, 0.05);
border: 1px solid rgba(16, 185, 129, 0.2);
border-radius: 8px;
padding: 20px;
margin-top: 30px;
}
.action-plan h3 {
color: #10b981;
margin-bottom: 15px;
font-size: 1.1rem;
}
.action-plan ol {
margin-left: 20px;
color: #d1d5db;
}
.action-plan li {
margin-bottom: 10px;
line-height: 1.6;
}
.button-group {
display: flex;
gap: 15px;
margin-top: 30px;
justify-content: center;
flex-wrap: wrap;
}
button {
padding: 12px 30px;
border: none;
border-radius: 8px;
font-weight: 600;
cursor: pointer;
transition: all 0.3s ease;
font-size: 1rem;
}
.btn-primary {
background: linear-gradient(135deg, #3b82f6, #2563eb);
color: white;
}
.btn-primary:hover {
transform: translateY(-2px);
box-shadow: 0 10px 20px rgba(59, 130, 246, 0.3);
}
.btn-secondary {
background: rgba(59, 130, 246, 0.1);
color: #3b82f6;
border: 1px solid rgba(59, 130, 246, 0.3);
}
.btn-secondary:hover {
background: rgba(59, 130, 246, 0.2);
transform: translateY(-2px);
}
.cta-link {
display: inline-block;
color: #3b82f6;
text-decoration: none;
font-weight: 600;
margin-top: 20px;
padding: 10px 0;
border-bottom: 2px solid rgba(59, 130, 246, 0.3);
transition: all 0.3s ease;
}
.cta-link:hover {
border-bottom-color: #3b82f6;
padding-right: 5px;
}
footer {
text-align: center;
padding: 30px;
color: #6b7280;
font-size: 0.85rem;
margin-top: 50px;
}
@keyframes slideDown {
from {
opacity: 0;
transform: translateY(-20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@media (max-width: 768px) {
h1 {
font-size: 1.8rem;
}
.content-section {
padding: 25px;
}
.score-number {
font-size: 3rem;
}
.button-group {
flex-direction: column;
}
button {
width: 100%;
}
}
1
Information Density: Does your content contain unique data, statistics, or original research?
0-15 pts
No data or original insights
Some statistics or examples
Multiple original data points
Proprietary research, exclusive data
2
Entity Clarity: Are key entities (people, companies, concepts) clearly defined?
0-15 pts
Vague, undefined entities
Some clarity, minimal context
Clear definitions, good context
Explicitly defined with rich context
3
Structural Readability: Schema markup, H2/H3 hierarchy, FAQ sections?
0-15 pts
No structure or hierarchy
Basic headings only
Good hierarchy + some schema
Perfect hierarchy + full schema markup
4
Factual Specificity: Named sources, dates, numbers vs vague claims?
0-10 pts
Mostly vague statements
Some specificity, few sources
Most claims are specific
Highly specific with named sources
5
Topical Authority: Author expertise, related content depth, linking?
0-10 pts
No authority signals
Basic author info only
Some related content
Deep topic coverage, expert credentials
6
Freshness & Recency: Publication date, update signals, current data?
0-10 pts
No dates or old content
Published, but outdated
Recent with some updates
Recently updated with current data
7
Citation-Friendly Formatting: Direct answers, quotable paragraphs?
0-10 pts
Hard to extract quotes
Some quotable sections
Clear paragraphs, pull quotes
Optimized for citation
8
Competitive Landscape: How unique is this content?
0-15 pts
Duplicate or heavily covered
Some unique angle
Significantly different take
Uniquely valuable perspective
Calculate Citation Likelihood
Clear Assessment
Powered by Tygart Media | tygartmedia.com
const categories = [
{ name: ‘Information Density’, maxPoints: 15 },
{ name: ‘Entity Clarity’, maxPoints: 15 },
{ name: ‘Structural Machine-Readability’, maxPoints: 15 },
{ name: ‘Factual Specificity’, maxPoints: 10 },
{ name: ‘Topical Authority Signals’, maxPoints: 10 },
{ name: ‘Freshness & Recency’, maxPoints: 10 },
{ name: ‘Citation-Friendly Formatting’, maxPoints: 10 },
{ name: ‘Competitive Landscape’, maxPoints: 15 }
];
const improvements = [
{ category: ‘Information Density’, suggestions: [‘Incorporate original research or data’, ‘Add proprietary statistics’, ‘Include case studies with metrics’] },
{ category: ‘Entity Clarity’, suggestions: [‘Define all key concepts upfront’, ‘Add context to entity mentions’, ‘Use structured definitions’] },
{ category: ‘Structural Machine-Readability’, suggestions: [‘Implement Schema.org markup’, ‘Create clear H2/H3 hierarchy’, ‘Add FAQ section’] },
{ category: ‘Factual Specificity’, suggestions: [‘Link to primary sources’, ‘Include specific dates and numbers’, ‘Name data sources’] },
{ category: ‘Topical Authority Signals’, suggestions: [‘Write about related topics’, ‘Build internal link network’, ‘Feature author credentials’] },
{ category: ‘Freshness & Recency’, suggestions: [‘Add publication dates’, ‘Update content regularly’, ‘Include current statistics’] },
{ category: ‘Citation-Friendly Formatting’, suggestions: [‘Use blockquotes strategically’, ‘Create pull-quote sections’, ‘Bold key findings’] },
{ category: ‘Competitive Landscape’, suggestions: [‘Add proprietary angle’, ‘Cover aspects competitors miss’, ‘Provide exclusive insights’] }
];
document.getElementById(‘assessmentForm’).addEventListener(‘submit’, function(e) {
e.preventDefault();
let scores = [];
let total = 0;
for (let i = 1; i = 80) {
tier = ‘AI Will Cite This’;
className = ‘tier-excellent’;
} else if (score >= 60) {
tier = ‘Strong Candidate’;
className = ‘tier-good’;
} else if (score >= 40) {
tier = ‘Needs Work’;
className = ‘tier-needs-work’;
} else {
tier = ‘Invisible to AI’;
className = ‘tier-invisible’;
}
tierBadge.textContent = tier;
tierBadge.className = `tier-badge ${className}`;
// Breakdown
let breakdownHTML = ”;
scores.forEach((score, index) => {
breakdownHTML += `
${categories[index].name}
${score}/${categories[index].maxPoints}
`;
});
document.getElementById(‘breakdownItems’).innerHTML = breakdownHTML;
// Find weaknesses
const weaknessIndices = scores
.map((score, index) => ({ score, index }))
.sort((a, b) => a.score – b.score)
.slice(0, 3)
.map(item => item.index);
let weaknessHTML = ”;
weaknessIndices.forEach(index => {
const categoryName = categories[index].name;
const maxPoints = categories[index].maxPoints;
const improvement = improvements[index];
weaknessHTML += `
${categoryName} (${scores[index]}/${maxPoints})
${improvement.suggestions[0]}
`;
});
document.getElementById(‘weaknessItems’).innerHTML = weaknessHTML;
// Action plan
let actionHTML = ”;
weaknessIndices.forEach(index => {
const improvement = improvements[index];
const suggestions = improvement.suggestions;
actionHTML += `
${suggestions[1]} `;
});
actionHTML += `
Audit competitor content in your niche `;
actionHTML += `
Set up content update calendar for freshness signals `;
document.getElementById(‘actionItems’).innerHTML = actionHTML;
resultsContainer.classList.add(‘visible’);
resultsContainer.scrollIntoView({ behavior: ‘smooth’ });
}
{
“@context”: “https://schema.org”,
“@type”: “Article”,
“headline”: “Is AI Citing Your Content? AEO Citation Likelihood Analyzer”,
“description”: “Score your content on 8 dimensions that determine whether AI systems like Claude, ChatGPT, and Gemini will cite you as a source.”,
“datePublished”: “2026-04-01”,
“dateModified”: “2026-04-03”,
“author”: {
“@type”: “Person”,
“name”: “Will Tygart”,
“url”: “https://tygartmedia.com/about”
},
“publisher”: {
“@type”: “Organization”,
“name”: “Tygart Media”,
“url”: “https://tygartmedia.com”,
“logo”: {
“@type”: “ImageObject”,
“url”: “https://tygartmedia.com/wp-content/uploads/tygart-media-logo.png”
}
},
“mainEntityOfPage”: {
“@type”: “WebPage”,
“@id”: “https://tygartmedia.com/aeo-citation-likelihood-analyzer/”
}
}
Leave a Reply