Public profileJSON
{
"schemaVersion": "1.0",
"name": "Preferly",
"slug": "preferly",
"website": "https://www.preferly.ai",
"category": "ai-tools",
"description": "Preferly is a one-time AI visibility audit for businesses. It asks 10 leading AI models the questions customers ask, shows which competitors they recommend instead and where AI contradicts your website, and gives a paste-ready fix plan. Free check across 3 models; full report $99 once.",
"capabilities": [
"llmsTxt documentation",
"llmsFullTxt documentation"
],
"aiResources": {
"llmsTxt": {
"type": "llmsTxt",
"url": "https://www.preferly.ai/llms.txt",
"status": "verified",
"available": true,
"httpStatus": 200,
"checkedAt": "2026-11-03T22:21:57.059Z",
"lastSuccessfulAt": "2026-11-03T22:21:57.059Z",
"contentType": "text/plain; charset=utf-8",
"contentSize": 20264,
"estimatedTokens": 5066,
"tokenMethod": "UTF-16 characters / 4 (approximation)",
"contentHash": "c801c21100490e7a25158f680bc920e601c682b565db635f80a1941b121dc82d",
"internalLinks": 54,
"externalLinks": 0,
"document": {
"h1Count": 1,
"firstBlockIsH1": true,
"title": "Preferly",
"usefulTitle": true,
"headingCount": 16,
"uniqueHeadingCount": 16,
"hasSections": true,
"orderedHeadings": true,
"sectionWithContent": true,
"fileListLinks": 55,
"summaryPresent": true,
"contextPresent": true,
"validLinks": 55,
"invalidLinks": 0,
"duplicateLinks": 1,
"descriptiveLinks": 54,
"annotatedLinks": 52
},
"linkHealth": {
"eligibleCount": 54,
"selectedCount": 5,
"sampledCount": 5,
"working": 4,
"broken": 0,
"unknown": 1,
"checkedAt": "2026-11-03T22:21:58.962Z",
"sourceHash": "c801c21100490e7a25158f680bc920e601c682b565db635f80a1941b121dc82d",
"method": "deterministic sample, at most 5 URLs, at most 2 concurrent hosts, 15s budget",
"results": [
{
"url": "https://www.preferly.ai/allow-ai-crawlers-in-robots-txt.md",
"httpStatus": 200,
"checkedAt": "2026-11-03T22:21:58.962Z",
"attempted": true,
"status": "working",
"reason": "http_success"
},
{
"url": "https://www.preferly.ai/ai-visibility-audit.md",
"httpStatus": 200,
"checkedAt": "2026-11-03T22:21:58.962Z",
"attempted": true,
"status": "working",
"reason": "http_success"
},
{
"url": "https://www.preferly.ai/start?plan=full",
"httpStatus": 200,
"checkedAt": "2026-11-03T22:21:58.962Z",
"attempted": true,
"status": "working",
"reason": "http_success"
},
{
"url": "https://www.preferly.ai/blog/broken-https-hides-sites-from-ai.md",
"httpStatus": 200,
"checkedAt": "2026-11-03T22:21:58.962Z",
"attempted": true,
"status": "working",
"reason": "http_success"
},
{
"url": "https://www.preferly.ai/video/preferly-promo-v2-720p.mp4",
"status": "unknown",
"httpStatus": null,
"reason": "oversized",
"attempted": true,
"checkedAt": "2026-11-03T22:21:58.962Z"
}
]
},
"headings": [
"Preferly",
"What you get",
"Pricing",
"What Preferly is not",
"Who runs Preferly",
"The score",
"How to read a result",
"AI agents",
"Not covered yet",
"Free tools",
"PreferlyBot",
"Contact"
],
"warnings": [
"1 duplicate documentation links"
],
"summary": "Documentation sections: Preferly; What you get; Pricing; What Preferly is not; Who runs Preferly; The score.",
"summarySourceHash": "c801c21100490e7a25158f680bc920e601c682b565db635f80a1941b121dc82d",
"processingVersion": "2.0",
"method": "markdown-ast-analysis"
},
"llmsFullTxt": {
"type": "llmsFullTxt",
"url": "https://www.preferly.ai/llms-full.txt",
"status": "verified",
"available": true,
"httpStatus": 200,
"checkedAt": "2026-11-03T22:21:57.447Z",
"lastSuccessfulAt": "2026-11-03T22:21:57.447Z",
"contentType": "text/plain; charset=utf-8",
"contentSize": 229458,
"estimatedTokens": 57055,
"tokenMethod": "UTF-16 characters / 4 (approximation)",
"contentHash": "8757756aca579ab65d58e3b4085e98f0cb7df717def2122f405fe273634206a2",
"internalLinks": 16,
"externalLinks": 45,
"document": {
"h1Count": 48,
"firstBlockIsH1": false,
"title": "See if AI recommends your business, and whether what it says is true.",
"usefulTitle": true,
"headingCount": 546,
"uniqueHeadingCount": 443,
"hasSections": true,
"orderedHeadings": true,
"sectionWithContent": true,
"fileListLinks": 75,
"summaryPresent": true,
"contextPresent": true,
"validLinks": 97,
"invalidLinks": 16,
"duplicateLinks": 36,
"descriptiveLinks": 57,
"annotatedLinks": 0
},
"headings": [
"See if AI recommends your business, and whether what it says is true.",
"Checked across 10 leading AI models in every full report.",
"The questions business owners are asking themselves right now",
"Why does ChatGPT keep recommending my competitor instead of me?",
"When someone asks AI for a business like mine, do I even come up?",
"Is AI accurately describing my business?",
"I rank fine on Google. Why doesn’t that carry over?",
"Does my website work with the latest AI agents and tools?",
"What should I fix, and do I need an agency for it?",
"Want a free preview? See what 3 AI models say",
"What the full report shows you",
"See who AI recommends instead of you"
],
"warnings": [
"Format finding: start with one H1 naming the site or project.",
"36 duplicate documentation links",
"16 unsupported, malformed or unresolved links"
],
"summary": "Documentation sections: See if AI recommends your business, and whether what it says is true.; Checked across 10 leading AI models in every full report.; The questions business owners are asking themselves right now; Why does ChatGPT keep recommending my competitor instead of me?; When someone asks AI for a business like mine, do I even come up?; Is AI accurately describing my business?.",
"summarySourceHash": "8757756aca579ab65d58e3b4085e98f0cb7df717def2122f405fe273634206a2",
"processingVersion": "2.0",
"method": "markdown-ast-analysis"
},
"webmcp": null
},
"readiness": {
"score": 100,
"version": "2.0",
"confidence": "medium",
"components": [
{
"name": "availability",
"weight": 25,
"assessedWeight": 25,
"points": 25,
"rules": [
{
"id": "current_access",
"label": "Current usable primary file",
"weight": 25,
"observation": "Current llms.txt retrieval succeeded (HTTP 200); usable text verified.",
"points": 25
}
],
"explanation": "Current usable primary file: 25/25."
},
{
"name": "structure",
"weight": 25,
"assessedWeight": 25,
"points": 25,
"rules": [
{
"id": "title",
"label": "One project H1 at the beginning",
"weight": 10,
"observation": "1 H1 heading(s); starts with H1: yes.",
"points": 10
},
{
"id": "sections",
"label": "Coherent content sections",
"weight": 5,
"observation": "H2 with content: yes; no heading-level jumps: yes.",
"points": 5
},
{
"id": "file_lists",
"label": "Documentation links organized in lists",
"weight": 5,
"observation": "55 valid link occurrence(s) inside Markdown lists.",
"points": 5
},
{
"id": "heading_uniqueness",
"label": "Non-repeated headings",
"weight": 5,
"observation": "16 unique heading(s) out of 16; code examples are excluded.",
"points": 5
}
],
"explanation": "One project H1 at the beginning: 10/10. Coherent content sections: 5/5. Documentation links organized in lists: 5/5. Non-repeated headings: 5/5."
},
{
"name": "links",
"weight": 25,
"assessedWeight": 25,
"points": 24.82,
"rules": [
{
"id": "link_syntax",
"label": "Resolvable HTTP(S) link syntax",
"weight": 5,
"observation": "55 valid URL occurrence(s), 0 malformed, unsupported or unresolved.",
"points": 5
},
{
"id": "link_uniqueness",
"label": "Unique documentation destinations",
"weight": 5,
"observation": "54 unique destination(s) from 55 valid occurrence(s).",
"points": 4.91
},
{
"id": "link_labels",
"label": "Descriptive link labels",
"weight": 2.5,
"observation": "54 of 54 unique links have non-placeholder labels. This is a text heuristic, not a semantic guarantee.",
"points": 2.5
},
{
"id": "link_notes",
"label": "Context beside file links",
"weight": 2.5,
"observation": "52 of 54 unique links have notes beside a Markdown list link.",
"points": 2.41
},
{
"id": "link_health",
"label": "Sampled destination accessibility",
"weight": 10,
"observation": "5 of 54 destinations sampled: 4 working, 0 confirmed 404/410, 1 unknown. Only working and confirmed-broken results enter this fraction.",
"points": 10
}
],
"explanation": "Resolvable HTTP(S) link syntax: 5/5. Unique documentation destinations: 4.91/5. Descriptive link labels: 2.5/2.5. Context beside file links: 2.41/2.5. Sampled destination accessibility: 10/10."
},
{
"name": "confidence",
"weight": 15,
"assessedWeight": 15,
"points": 15,
"rules": [
{
"id": "verification_age",
"label": "Age of last successful verification",
"weight": 10,
"observation": "Last success: 2026-11-03T22:21:57.059Z. Full points through day 8 (7-day schedule plus 1-day grace), 60% through day 30, 20% thereafter or for an unknown date.",
"points": 10
},
{
"id": "latest_success",
"label": "Latest primary check succeeded",
"weight": 5,
"observation": "Latest primary verification succeeded.",
"points": 5
}
],
"explanation": "Age of last successful verification: 10/10. Latest primary check succeeded: 5/5."
},
{
"name": "metadata",
"weight": 10,
"assessedWeight": 10,
"points": 10,
"rules": [
{
"id": "summary",
"label": "Useful summary blockquote",
"weight": 5,
"observation": "A blockquote before the first H2 with at least 20 non-whitespace characters and no placeholder-only text.",
"points": 5
},
{
"id": "context",
"label": "Useful introductory context",
"weight": 5,
"observation": "An introductory paragraph before the first H2 with at least 20 non-whitespace characters and no placeholder-only text. Listing form fields do not earn these points.",
"points": 5
}
],
"explanation": "Useful summary blockquote: 5/5. Useful introductory context: 5/5."
}
],
"earnedPoints": 99.82,
"assessedWeight": 100,
"availableWeight": 100,
"provisional": false,
"calculatedAt": "2026-11-03T22:22:00.511Z",
"lastVerifiedAt": "2026-11-03T22:21:57.059Z",
"evidence": {
"sourceUrl": "https://www.preferly.ai/llms.txt",
"contentHash": "c801c21100490e7a25158f680bc920e601c682b565db635f80a1941b121dc82d",
"processingVersion": "2.0",
"retrievedAt": "2026-11-03T22:21:57.059Z"
},
"linkSampling": {
"eligibleCount": 54,
"selectedCount": 5,
"sampledCount": 5,
"working": 4,
"broken": 0,
"unknown": 1,
"checkedAt": "2026-11-03T22:21:58.962Z",
"sourceHash": "c801c21100490e7a25158f680bc920e601c682b565db635f80a1941b121dc82d",
"method": "deterministic sample, at most 5 URLs, at most 2 concurrent hosts, 15s budget",
"results": [
{
"url": "https://www.preferly.ai/allow-ai-crawlers-in-robots-txt.md",
"httpStatus": 200,
"checkedAt": "2026-11-03T22:21:58.962Z",
"attempted": true,
"status": "working",
"reason": "http_success"
},
{
"url": "https://www.preferly.ai/ai-visibility-audit.md",
"httpStatus": 200,
"checkedAt": "2026-11-03T22:21:58.962Z",
"attempted": true,
"status": "working",
"reason": "http_success"
},
{
"url": "https://www.preferly.ai/start?plan=full",
"httpStatus": 200,
"checkedAt": "2026-11-03T22:21:58.962Z",
"attempted": true,
"status": "working",
"reason": "http_success"
},
{
"url": "https://www.preferly.ai/blog/broken-https-hides-sites-from-ai.md",
"httpStatus": 200,
"checkedAt": "2026-11-03T22:21:58.962Z",
"attempted": true,
"status": "working",
"reason": "http_success"
},
{
"url": "https://www.preferly.ai/video/preferly-promo-v2-720p.mp4",
"status": "unknown",
"httpStatus": null,
"reason": "oversized",
"attempted": true,
"checkedAt": "2026-11-03T22:21:58.962Z"
}
]
},
"warnings": [
"This measures observable documentation, not model rankings or citation probability.",
"H1 is the only required section in the llms.txt proposal. Other checks are LLMSList quality preferences; missing optional sections do not make usable text invalid.",
"Destination accessibility covers a sample of 5 out of 54 unique links, not the entire website."
]
},
"updatedAt": "2026-11-03T22:22:00.512Z"
}