Analyzed URL
https://zentract.io
AI-Ready Score
Good
out of 100
Token Savings
Score Breakdown
Emerging protocols
1 of 3 detectedWell-known endpoints AI agents look for. Detected here means an agent can discover and connect to your service automatically.
-
OAuth Discovery RFC 8414
/.well-known/oauth-authorization-server- issuer: https://zentract.io
- token_endpoint: https://zentract.io/api/oauth2/token
- 2 grant type(s)
-
MCP Server Card Anthropic
/.well-known/mcp.json -
A2A Agent Card Google
/.well-known/agent.json
Your site doesn't support Markdown for Agents. This Cloudflare standard lets AI agents request content in markdown format, reducing token usage by ~80%.
How to implement
Implement one or more: (1) Respond to Accept: text/markdown with markdown content. (2) Serve .md URLs (e.g., /page.md). (3) Add <link rel="alternate" type="text/markdown"> tags. (4) Add Link HTTP headers for markdown discovery.
Your page relies heavily on <div> elements. Semantic elements like <section>, <nav>, <header>, <footer>, and <aside> provide meaningful structure for AI agents.
How to implement
Replace generic <div> containers with appropriate semantic elements. Use <section> for thematic groups, <nav> for navigation, <header>/<footer> for page/section headers and footers.
Many elements have inline style attributes. These add noise for AI agents extracting content.
How to implement
Move all inline styles to CSS classes in your stylesheet. Use utility CSS frameworks like Tailwind if you need many unique styles.
For agencies that bill time # Stop losing revenue to time you already worked. Zentract connects tasks, time, and billing in one place. Catch missed hours and overages before they become write-offs. Join the waitlist [Sign in →](https://zentract.io/sign-in) No credit card required. zentract — Acme Corp / Website Redesign Write homepage copy Acme Corp · Copywriting 1:45 Design system audit Acme Corp · Design · Billable 02:34:18 Handoff to dev Acme Corp · PM — Live timerRecording 02:34:18 Design system audit · Acme Corp Used byDesign agenciesDev shopsConsulting firmsFractional teamsMarketing studios The real cost of disconnected tools 01 ### Time logged late is time not invoiced. Details fade. Entries disappear. By Friday, no one remembers Tuesday's four-hour deep-work session. 02 ### Scope creeps before you can react. You hit 80% of budget with 40% of work left. The signal came too late to have a real conversation. 03 ### Billing is a monthly reconstruction. You spend hours piecing together what happened. Then write off the hours that don't have receipts. Time Tracking ## Every task is a timer. One click starts tracking. Zentract ties the entry to the task, project, and client automatically. No separate app. No retroactive guessing. - ✓One-click timers on any task - ✓Billable vs non-billable on every entry - ✓Log from web or iOS & Android - ✓Only one timer runs at a time Active tasks1 running Design system audit Acme Corp · Billable 02:34:18 Write homepage copy Acme Corp · Billable 1:45:00 Stakeholder review call Acme Corp · Non-billable — 02:34:18 today · Acme Corp Budget overviewLive Website Redesign · Acme Corp82% Q2 Content Strategy · Bloom44% Platform Audit · NovaTech107% Budgeted 240h Logged 198h Remaining 42h Budget Control ## See the overage before it happens. Budget vs actual updates in real-time as time is logged. Get a warning at 80%. Have the scope conversation while there's still something to negotiate. - ✓Real-time budget vs actual - ✓Overage alerts at your threshold - ✓Per-project and per-client views - ✓Hours or dollar-based budgets Invoicing ## Invoice from source, not memory. Select a billing period. Zentract groups time entries by task and generates line items. No spreadsheet. No reconstruction. The invoice reflects what actually happened. - ✓Generate from tracked time entries - ✓Grouped by task or category - ✓Billable-only filter built in - ✓Export-ready output Invoice previewReady to export Acme Corp March 1–31, 2026 INV-0024 Due Apr 14, 2026 Design system audit 14.5 hrs · $150/hr $2,175 Homepage copy 6.25 hrs · $120/hr $750 Project management 3.0 hrs · $120/hr $360 Total due$3,285 Export invoice → ## How it works. Three steps. No setup ceremony. No onboarding calls required. STEP 01 ### Set up a project. Create a client, add a project with a budget. Add tasks for the work ahead. Takes three minutes. STEP 02 ### Track time as you work. Open a task, hit start. Stop when you're done. Zentract logs it against the client and project, billable or not. STEP 03 ### Invoice with one click. Select a billing period. Review grouped line items from real entries. Export. Done. ## Free to start. Scales when you do. Everything you need to run a small team — no credit card, no 14-day trial cliff. Upgrade when your operation grows. Free tier $0/ month - ✓3 team members - ✓5 clients - ✓10 projects - ✓Unlimited time tracking - ✓Invoice generation - ✓iOS & Android apps Join the waitlist FAQ ## Common questions Everything you need to know before getting started with Zentract. How does Zentract help agencies track billable hours? How is Zentract different from Harvest or Toggl? Can Zentract generate invoices from time tracking? Is Zentract free to use? What types of agencies and teams use Zentract? Does Zentract prevent scope creep on client projects? Does Zentract have mobile apps? ## Every hour you worked deserves to be invoiced. Join early access. We'll reach out when your workspace is ready. No credit card required. Join the waitlist No credit card · No spam · Cancel anytime Already using Zentract? [Sign in →](https://zentract.io/sign-in)
Zentract — Agency Time Tracking & Client Billing Software For agencies that bill time # Stop losing revenue to time you already worked. Zentract connects tasks, time, and billing in one place. Catch missed hours and overages before they become write-offs. Join the waitlist [Sign in →](https://zentract.io/sign-in) No credit card required. zentract — Acme Corp / Website Redesign Write homepage copy Acme Corp · Copywriting 1:45 Design system audit Acme Corp · Design · Billable 02:34:18 Handoff to dev Acme Corp · PM — Live timerRecording 02:34:18 Design system audit · Acme Corp Used byDesign agenciesDev shopsConsulting firmsFractional teamsMarketing studios The real cost of disconnected tools 01 ### Time logged late is time not invoiced. Details fade. Entries disappear. By Friday, no one remembers Tuesday's four-hour deep-work session. 02 ### Scope creeps before you can react. You hit 80% of budget with 40% of work left. The signal came too late to have a real conversation. 03 ### Billing is a monthly reconstruction. You spend hours piecing together what happened. Then write off the hours that don't have receipts. Time Tracking ## Every task is a timer. One click starts tracking. Zentract ties the entry to the task, project, and client automatically. No separate app. No retroactive guessing. - ✓One-click timers on any task - ✓Billable vs non-billable on every entry - ✓Log from web or iOS & Android - ✓Only one timer runs at a time Active tasks1 running Design system audit Acme Corp · Billable 02:34:18 Write homepage copy Acme Corp · Billable 1:45:00 Stakeholder review call Acme Corp · Non-billable — 02:34:18 today · Acme Corp Budget overviewLive Website Redesign · Acme Corp82% Q2 Content Strategy · Bloom44% Platform Audit · NovaTech107% Budgeted 240h Logged 198h Remaining 42h Budget Control ## See the overage before it happens. Budget vs actual updates in real-time as time is logged. Get a warning at 80%. Have the scope conversation while there's still something to negotiate. - ✓Real-time budget vs actual - ✓Overage alerts at your threshold - ✓Per-project and per-client views - ✓Hours or dollar-based budgets Invoicing ## Invoice from source, not memory. Select a billing period. Zentract groups time entries by task and generates line items. No spreadsheet. No reconstruction. The invoice reflects what actually happened. - ✓Generate from tracked time entries - ✓Grouped by task or category - ✓Billable-only filter built in - ✓Export-ready output Invoice previewReady to export Acme Corp March 1–31, 2026 INV-0024 Due Apr 14, 2026 Design system audit 14.5 hrs · $150/hr $2,175 Homepage copy 6.25 hrs · $120/hr $750 Project management 3.0 hrs · $120/hr $360 Total due$3,285 Export invoice → ## How it works. Three steps. No setup ceremony. No onboarding calls required. STEP 01 ### Set up a project. Create a client, add a project with a budget. Add tasks for the work ahead. Takes three minutes. STEP 02 ### Track time as you work. Open a task, hit start. Stop when you're done. Zentract logs it against the client and project, billable or not. STEP 03 ### Invoice with one click. Select a billing period. Review grouped line items from real entries. Export. Done. ## Free to start. Scales when you do. Everything you need to run a small team — no credit card, no 14-day trial cliff. Upgrade when your operation grows. Free tier $0/ month - ✓3 team members - ✓5 clients - ✓10 projects - ✓Unlimited time tracking - ✓Invoice generation - ✓iOS & Android apps Join the waitlist FAQ ## Common questions Everything you need to know before getting started with Zentract. How does Zentract help agencies track billable hours? How is Zentract different from Harvest or Toggl? Can Zentract generate invoices from time tracking? Is Zentract free to use? What types of agencies and teams use Zentract? Does Zentract prevent scope creep on client projects? Does Zentract have mobile apps? ## Every hour you worked deserves to be invoiced. Join early access. We'll reach out when your workspace is ready. No credit card required. Join the waitlist No credit card · No spam · Cancel anytime Already using Zentract? [Sign in →](https://zentract.io/sign-in)
Upload this file as /index.md on your server so AI agents can access a clean version of your page. You can also configure Accept: text/markdown content negotiation to serve it automatically.
Our recommendation
# zentract.io > One-click time tracking, real-time budget alerts, and client invoicing in one platform. Built for agencies and consultants. Free for up to 3 team members. ## Main - [Zentract — Agency Time Tracking & Client Billing Software](https://zentract.io): One-click time tracking, real-time budget alerts, and client invoicing in one platform. Built for agencies and consulta… - [ZentractZENTRACT](https://zentract.io/) - [Sign in](https://zentract.io/sign-in) ## Legal - [Privacy](https://zentract.io/privacy) - [Terms](https://zentract.io/terms) ## Support - [Contact](https://zentract.io/contact)
Full llms.txt requires domain-wide analysis (coming soon)
Upload this file to https://zentract.io/llms.txt at the root of your domain. AI agents like ChatGPT, Claude, and Perplexity check this file to understand your site structure.
This site already has a llms.txt file.
Valid format# Zentract > Zentract is a project management and time tracking platform for professional services firms. It helps teams manage clients, projects, tasks, time entries, billing, and reporting. Important notes: - Public crawling rules are defined in robots.txt; see links below. ## About Site - [Homepage](https://zentract.io) - [Privacy](https://zentract.io/privacy): Privacy policy - [Terms](https://zentract.io/terms): Terms of service - [Contact](https://zentract.io/contact): Contact us page - [robots.txt](https://zentract.io/robots.txt): Crawler access rules and disallowed paths - [Sitemap](https://zentract.io/sitemap.xml): Discoverable public pages
Semantic HTML
Has <main>
1 heading level skip(s)
14 semantic elements, 134 divs (ratio: 9%)
No images found
Avg div depth: 4.6, max: 8
Content Efficiency
96% token reduction (HTML→Markdown)
Content ratio: 59.2% (60153 content chars / 101540 HTML bytes)
21/466 elements with inline styles (4.5%)
HTML size: 99KB
AI Discoverability
llms.txt exists and is valid
robots.txt exists
All major AI bots allowed
Sitemap found
Structured Data
JSON-LD found: Organization, WebApplication, FAQPage
All OG tags present
Meta description: 154 chars
Canonical URL present
lang="en"
Accessibility
Content available without JavaScript
Page size: 99KB
Main content starts at 13% of HTML
{
"url": "https://zentract.io",
"timestamp": 1777728201324,
"fetch": {
"mode": "simple",
"timeMs": 435,
"htmlSizeBytes": 101540,
"supportsMarkdown": true,
"markdownAgents": {
"contentNegotiation": true,
"mdUrl": {
"found": false,
"url": null
},
"linkTag": {
"found": false,
"url": null
},
"linkHeader": {
"found": false,
"url": null
},
"responseHeaders": {
"contentSignal": null,
"xMarkdownTokens": "820",
"vary": "Accept"
},
"frontmatter": {
"present": true,
"fields": [
"title",
"path"
],
"level": "basic"
},
"level": "cloudflare"
},
"statusCode": 200
},
"extraction": {
"title": "Zentract — Agency Time Tracking & Client Billing Software",
"excerpt": "((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=[\"light\",\"dark\"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c=\"class\"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d)",
"byline": null,
"siteName": null,
"lang": "en",
"contentLength": 60153,
"metadata": {
"description": "One-click time tracking, real-time budget alerts, and client invoicing in one platform. Built for agencies and consultants. Free for up to 3 team members.",
"ogTitle": "Zentract — Agency Time Tracking & Client Billing Software",
"ogDescription": "One-click time tracking, real-time budget alerts, and client invoicing in one platform. Stop losing revenue to hours you already worked.",
"ogImage": "https://zentract.io/og-image.png",
"ogType": "website",
"canonical": "https://zentract.io",
"lang": "en",
"schemas": [
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Zentract",
"url": "https://zentract.io",
"logo": "https://zentract.io/logo.png",
"description": "Agency management platform for time tracking, project billing, and client invoicing. Built for agencies, consultancies, and professional services teams.",
"sameAs": [
"https://twitter.com/zentractapp",
"https://www.linkedin.com/company/vokality",
"https://www.producthunt.com/products/zentract"
],
"contactPoint": {
"@type": "ContactPoint",
"contactType": "customer support",
"url": "https://zentract.io/contact"
}
},
{
"@context": "https://schema.org",
"@type": "WebApplication",
"name": "Zentract",
"applicationCategory": "BusinessApplication",
"operatingSystem": "Web, iOS, Android",
"description": "One-click time tracking with real-time budget monitoring and client invoicing for agencies and professional services teams.",
"url": "https://zentract.io",
"offers": {
"@type": "Offer",
"price": "0",
"priceCurrency": "USD",
"description": "Free plan available — up to 3 team members, 5 clients, 10 projects"
},
"featureList": [
"One-click billable time tracking",
"Real-time project budget monitoring",
"Client invoice generation from time entries",
"Scope creep alerts",
"iOS and Android mobile apps",
"Team collaboration"
],
"screenshot": "https://zentract.io/og-image.png"
},
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "How does Zentract help agencies track billable hours?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Zentract lets you start a timer with one click directly from any task. Each time entry is automatically linked to the task, project, and client, so there is no retroactive guessing. You can mark hours as billable or non-billable, and your team's time is always visible in real time."
}
},
{
"@type": "Question",
"name": "How is Zentract different from Harvest or Toggl?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Harvest and Toggl are strong standalone time trackers, but they require manual work to connect time to projects, budgets, and invoices. Zentract integrates time tracking, project budget monitoring, and client billing in one place so teams can see budget risk early and invoice directly from tracked time."
}
},
{
"@type": "Question",
"name": "Can Zentract generate invoices from time tracking?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes. Once your team logs time against a client project, you can generate a client invoice directly from those entries. Zentract pulls billable hours automatically, so billing becomes a one-click process instead of a manual reconstruction at month end."
}
},
{
"@type": "Question",
"name": "Is Zentract free to use?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes. Zentract has a free tier that supports up to 3 team members, 5 clients, and 10 projects, with unlimited time tracking and invoice generation included. No credit card is required."
}
},
{
"@type": "Question",
"name": "What types of agencies and teams use Zentract?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Zentract is built for teams that bill by the hour, including design agencies, development shops, marketing studios, consulting firms, and fractional service teams."
}
},
{
"@type": "Question",
"name": "Does Zentract prevent scope creep on client projects?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Zentract shows real-time budget consumption per project. As teams log hours, it becomes clear what percentage of the budget has been used so project leads can have a scope conversation before the project is already over budget."
}
},
{
"@type": "Question",
"name": "Does Zentract have mobile apps?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes. Zentract has iOS and Android apps so teams can log time from anywhere, whether they are in a client meeting, on-site, or working remotely."
}
}
]
}
],
"robotsMeta": "index, follow",
"author": null,
"generator": null,
"markdownAlternateHref": null
}
},
"markdown": "For agencies that bill time\n\n# Stop losing revenue\nto time you already\nworked.\n\nZentract connects tasks, time, and billing in one place. Catch missed hours and overages before they become write-offs.\n\nJoin the waitlist\n\n[Sign in →](https://zentract.io/sign-in)\n\nNo credit card required.\n\nzentract — Acme Corp / Website Redesign\n\nWrite homepage copy\n\nAcme Corp · Copywriting\n\n1:45\n\nDesign system audit\n\nAcme Corp · Design · Billable\n\n02:34:18\n\nHandoff to dev\n\nAcme Corp · PM\n\n—\n\nLive timerRecording\n\n02:34:18\n\nDesign system audit · Acme Corp\n\nUsed byDesign agenciesDev shopsConsulting firmsFractional teamsMarketing studios\n\nThe real cost of disconnected tools\n\n01\n\n### Time logged late is time not invoiced.\n\nDetails fade. Entries disappear. By Friday, no one remembers Tuesday's four-hour deep-work session.\n\n02\n\n### Scope creeps before you can react.\n\nYou hit 80% of budget with 40% of work left. The signal came too late to have a real conversation.\n\n03\n\n### Billing is a monthly reconstruction.\n\nYou spend hours piecing together what happened. Then write off the hours that don't have receipts.\n\nTime Tracking\n\n## Every task\nis a timer.\n\nOne click starts tracking. Zentract ties the entry to the task, project, and client automatically. No separate app. No retroactive guessing.\n\n- ✓One-click timers on any task\n- ✓Billable vs non-billable on every entry\n- ✓Log from web or iOS & Android\n- ✓Only one timer runs at a time\n\nActive tasks1 running\n\nDesign system audit\n\nAcme Corp · Billable\n\n02:34:18\n\nWrite homepage copy\n\nAcme Corp · Billable\n\n1:45:00\n\nStakeholder review call\n\nAcme Corp · Non-billable\n\n—\n\n02:34:18\n\ntoday · Acme Corp\n\nBudget overviewLive\n\nWebsite Redesign · Acme Corp82%\n\nQ2 Content Strategy · Bloom44%\n\nPlatform Audit · NovaTech107%\n\nBudgeted\n\n240h\n\nLogged\n\n198h\n\nRemaining\n\n42h\n\nBudget Control\n\n## See the overage\nbefore it happens.\n\nBudget vs actual updates in real-time as time is logged. Get a warning at 80%. Have the scope conversation while there's still something to negotiate.\n\n- ✓Real-time budget vs actual\n- ✓Overage alerts at your threshold\n- ✓Per-project and per-client views\n- ✓Hours or dollar-based budgets\n\nInvoicing\n\n## Invoice from\nsource, not memory.\n\nSelect a billing period. Zentract groups time entries by task and generates line items. No spreadsheet. No reconstruction. The invoice reflects what actually happened.\n\n- ✓Generate from tracked time entries\n- ✓Grouped by task or category\n- ✓Billable-only filter built in\n- ✓Export-ready output\n\nInvoice previewReady to export\n\nAcme Corp\n\nMarch 1–31, 2026\n\nINV-0024\n\nDue Apr 14, 2026\n\nDesign system audit\n\n14.5 hrs · $150/hr\n\n$2,175\n\nHomepage copy\n\n6.25 hrs · $120/hr\n\n$750\n\nProject management\n\n3.0 hrs · $120/hr\n\n$360\n\nTotal due$3,285\n\nExport invoice →\n\n## How it works.\n\nThree steps. No setup ceremony. No onboarding calls required.\n\nSTEP 01\n\n### Set up a project.\n\nCreate a client, add a project with a budget. Add tasks for the work ahead. Takes three minutes.\n\nSTEP 02\n\n### Track time as you work.\n\nOpen a task, hit start. Stop when you're done. Zentract logs it against the client and project, billable or not.\n\nSTEP 03\n\n### Invoice with one click.\n\nSelect a billing period. Review grouped line items from real entries. Export. Done.\n\n## Free to start.\nScales when you do.\n\nEverything you need to run a small team — no credit card, no 14-day trial cliff. Upgrade when your operation grows.\n\nFree tier\n\n$0/ month\n\n- ✓3 team members\n- ✓5 clients\n- ✓10 projects\n- ✓Unlimited time tracking\n- ✓Invoice generation\n- ✓iOS & Android apps\n\nJoin the waitlist\n\nFAQ\n\n## Common questions\n\nEverything you need to know before getting started with Zentract.\n\nHow does Zentract help agencies track billable hours?\n\nHow is Zentract different from Harvest or Toggl?\n\nCan Zentract generate invoices from time tracking?\n\nIs Zentract free to use?\n\nWhat types of agencies and teams use Zentract?\n\nDoes Zentract prevent scope creep on client projects?\n\nDoes Zentract have mobile apps?\n\n## Every hour you worked\ndeserves to be invoiced.\n\nJoin early access. We'll reach out when your workspace is ready. No credit card required.\n\nJoin the waitlist\n\nNo credit card · No spam · Cancel anytime\n\nAlready using Zentract? [Sign in →](https://zentract.io/sign-in)\n",
"fullPageMarkdown": "Zentract — Agency Time Tracking & Client Billing Software\n\nFor agencies that bill time\n\n# Stop losing revenue\nto time you already\nworked.\n\nZentract connects tasks, time, and billing in one place. Catch missed hours and overages before they become write-offs.\n\nJoin the waitlist\n\n[Sign in →](https://zentract.io/sign-in)\n\nNo credit card required.\n\nzentract — Acme Corp / Website Redesign\n\nWrite homepage copy\n\nAcme Corp · Copywriting\n\n1:45\n\nDesign system audit\n\nAcme Corp · Design · Billable\n\n02:34:18\n\nHandoff to dev\n\nAcme Corp · PM\n\n—\n\nLive timerRecording\n\n02:34:18\n\nDesign system audit · Acme Corp\n\nUsed byDesign agenciesDev shopsConsulting firmsFractional teamsMarketing studios\n\nThe real cost of disconnected tools\n\n01\n\n### Time logged late is time not invoiced.\n\nDetails fade. Entries disappear. By Friday, no one remembers Tuesday's four-hour deep-work session.\n\n02\n\n### Scope creeps before you can react.\n\nYou hit 80% of budget with 40% of work left. The signal came too late to have a real conversation.\n\n03\n\n### Billing is a monthly reconstruction.\n\nYou spend hours piecing together what happened. Then write off the hours that don't have receipts.\n\nTime Tracking\n\n## Every task\nis a timer.\n\nOne click starts tracking. Zentract ties the entry to the task, project, and client automatically. No separate app. No retroactive guessing.\n\n- ✓One-click timers on any task\n- ✓Billable vs non-billable on every entry\n- ✓Log from web or iOS & Android\n- ✓Only one timer runs at a time\n\nActive tasks1 running\n\nDesign system audit\n\nAcme Corp · Billable\n\n02:34:18\n\nWrite homepage copy\n\nAcme Corp · Billable\n\n1:45:00\n\nStakeholder review call\n\nAcme Corp · Non-billable\n\n—\n\n02:34:18\n\ntoday · Acme Corp\n\nBudget overviewLive\n\nWebsite Redesign · Acme Corp82%\n\nQ2 Content Strategy · Bloom44%\n\nPlatform Audit · NovaTech107%\n\nBudgeted\n\n240h\n\nLogged\n\n198h\n\nRemaining\n\n42h\n\nBudget Control\n\n## See the overage\nbefore it happens.\n\nBudget vs actual updates in real-time as time is logged. Get a warning at 80%. Have the scope conversation while there's still something to negotiate.\n\n- ✓Real-time budget vs actual\n- ✓Overage alerts at your threshold\n- ✓Per-project and per-client views\n- ✓Hours or dollar-based budgets\n\nInvoicing\n\n## Invoice from\nsource, not memory.\n\nSelect a billing period. Zentract groups time entries by task and generates line items. No spreadsheet. No reconstruction. The invoice reflects what actually happened.\n\n- ✓Generate from tracked time entries\n- ✓Grouped by task or category\n- ✓Billable-only filter built in\n- ✓Export-ready output\n\nInvoice previewReady to export\n\nAcme Corp\n\nMarch 1–31, 2026\n\nINV-0024\n\nDue Apr 14, 2026\n\nDesign system audit\n\n14.5 hrs · $150/hr\n\n$2,175\n\nHomepage copy\n\n6.25 hrs · $120/hr\n\n$750\n\nProject management\n\n3.0 hrs · $120/hr\n\n$360\n\nTotal due$3,285\n\nExport invoice →\n\n## How it works.\n\nThree steps. No setup ceremony. No onboarding calls required.\n\nSTEP 01\n\n### Set up a project.\n\nCreate a client, add a project with a budget. Add tasks for the work ahead. Takes three minutes.\n\nSTEP 02\n\n### Track time as you work.\n\nOpen a task, hit start. Stop when you're done. Zentract logs it against the client and project, billable or not.\n\nSTEP 03\n\n### Invoice with one click.\n\nSelect a billing period. Review grouped line items from real entries. Export. Done.\n\n## Free to start.\nScales when you do.\n\nEverything you need to run a small team — no credit card, no 14-day trial cliff. Upgrade when your operation grows.\n\nFree tier\n\n$0/ month\n\n- ✓3 team members\n- ✓5 clients\n- ✓10 projects\n- ✓Unlimited time tracking\n- ✓Invoice generation\n- ✓iOS & Android apps\n\nJoin the waitlist\n\nFAQ\n\n## Common questions\n\nEverything you need to know before getting started with Zentract.\n\nHow does Zentract help agencies track billable hours?\n\nHow is Zentract different from Harvest or Toggl?\n\nCan Zentract generate invoices from time tracking?\n\nIs Zentract free to use?\n\nWhat types of agencies and teams use Zentract?\n\nDoes Zentract prevent scope creep on client projects?\n\nDoes Zentract have mobile apps?\n\n## Every hour you worked\ndeserves to be invoiced.\n\nJoin early access. We'll reach out when your workspace is ready. No credit card required.\n\nJoin the waitlist\n\nNo credit card · No spam · Cancel anytime\n\nAlready using Zentract? [Sign in →](https://zentract.io/sign-in)\n",
"markdownStats": {
"images": 0,
"links": 8,
"tables": 0,
"codeBlocks": 0,
"headings": 14
},
"tokens": {
"htmlTokens": 30615,
"markdownTokens": 1083,
"reduction": 29532,
"reductionPercent": 96
},
"score": {
"score": 89,
"grade": "B",
"dimensions": {
"semanticHtml": {
"score": 83,
"weight": 20,
"grade": "B",
"checks": {
"uses_article_or_main": {
"score": 100,
"weight": 20,
"details": "Has <main>"
},
"proper_heading_hierarchy": {
"score": 85,
"weight": 25,
"details": "1 heading level skip(s)"
},
"semantic_elements": {
"score": 32,
"weight": 20,
"details": "14 semantic elements, 134 divs (ratio: 9%)"
},
"meaningful_alt_texts": {
"score": 100,
"weight": 15,
"details": "No images found"
},
"low_div_nesting": {
"score": 100,
"weight": 20,
"details": "Avg div depth: 4.6, max: 8"
}
}
},
"contentEfficiency": {
"score": 93,
"weight": 25,
"grade": "A",
"checks": {
"token_reduction_ratio": {
"score": 100,
"weight": 40,
"details": "96% token reduction (HTML→Markdown)"
},
"content_to_noise_ratio": {
"score": 100,
"weight": 30,
"details": "Content ratio: 59.2% (60153 content chars / 101540 HTML bytes)"
},
"minimal_inline_styles": {
"score": 50,
"weight": 15,
"details": "21/466 elements with inline styles (4.5%)"
},
"reasonable_page_weight": {
"score": 100,
"weight": 15,
"details": "HTML size: 99KB"
}
}
},
"aiDiscoverability": {
"score": 77,
"weight": 25,
"grade": "B",
"checks": {
"has_llms_txt": {
"score": 100,
"weight": 20,
"details": "llms.txt exists and is valid"
},
"has_robots_txt": {
"score": 100,
"weight": 10,
"details": "robots.txt exists"
},
"robots_allows_ai_bots": {
"score": 100,
"weight": 15,
"details": "All major AI bots allowed"
},
"has_sitemap": {
"score": 100,
"weight": 10,
"details": "Sitemap found"
},
"supports_markdown_negotiation": {
"score": 40,
"weight": 25,
"details": "CDN level (Cloudflare) — Content negotiation"
},
"has_content_signals": {
"score": 60,
"weight": 20,
"details": "robots.txt: ai-train=no, search=yes, ai-input=yes"
}
}
},
"structuredData": {
"score": 100,
"weight": 15,
"grade": "A",
"checks": {
"has_schema_org": {
"score": 100,
"weight": 30,
"details": "JSON-LD found: Organization, WebApplication, FAQPage"
},
"has_open_graph": {
"score": 100,
"weight": 25,
"details": "All OG tags present"
},
"has_meta_description": {
"score": 100,
"weight": 20,
"details": "Meta description: 154 chars"
},
"has_canonical_url": {
"score": 100,
"weight": 15,
"details": "Canonical URL present"
},
"has_lang_attribute": {
"score": 100,
"weight": 10,
"details": "lang=\"en\""
}
}
},
"accessibility": {
"score": 100,
"weight": 15,
"grade": "A",
"checks": {
"content_without_js": {
"score": 100,
"weight": 40,
"details": "Content available without JavaScript"
},
"reasonable_page_size": {
"score": 100,
"weight": 30,
"details": "Page size: 99KB"
},
"fast_content_position": {
"score": 100,
"weight": 30,
"details": "Main content starts at 13% of HTML"
}
}
}
}
},
"recommendations": [
{
"id": "add_markdown_negotiation",
"priority": "high",
"category": "aiDiscoverability",
"titleKey": "rec.add_markdown_negotiation.title",
"descriptionKey": "rec.add_markdown_negotiation.description",
"howToKey": "rec.add_markdown_negotiation.howto",
"effort": "significant",
"estimatedImpact": 6,
"checkScore": 40,
"checkDetails": "CDN level (Cloudflare) — Content negotiation"
},
{
"id": "add_semantic_elements",
"priority": "high",
"category": "semanticHtml",
"titleKey": "rec.add_semantic_elements.title",
"descriptionKey": "rec.add_semantic_elements.description",
"howToKey": "rec.add_semantic_elements.howto",
"effort": "moderate",
"estimatedImpact": 5,
"checkScore": 32,
"checkDetails": "14 semantic elements, 134 divs (ratio: 9%)"
},
{
"id": "remove_inline_styles",
"priority": "medium",
"category": "contentEfficiency",
"titleKey": "rec.remove_inline_styles.title",
"descriptionKey": "rec.remove_inline_styles.description",
"howToKey": "rec.remove_inline_styles.howto",
"effort": "moderate",
"estimatedImpact": 3,
"checkScore": 50,
"checkDetails": "21/466 elements with inline styles (4.5%)"
}
],
"llmsTxtPreview": "# zentract.io\n\n> One-click time tracking, real-time budget alerts, and client invoicing in one platform. Built for agencies and consultants. Free for up to 3 team members.\n\n## Main\n- [Zentract — Agency Time Tracking & Client Billing Software](https://zentract.io): One-click time tracking, real-time budget alerts, and client invoicing in one platform. Built for agencies and consulta…\n- [ZentractZENTRACT](https://zentract.io/)\n- [Sign in](https://zentract.io/sign-in)\n\n## Legal\n- [Privacy](https://zentract.io/privacy)\n- [Terms](https://zentract.io/terms)\n\n## Support\n- [Contact](https://zentract.io/contact)\n\n",
"llmsTxtExisting": "# Zentract\n\n> Zentract is a project management and time tracking platform for professional services firms. \nIt helps teams manage clients, projects, tasks, time entries, billing, and reporting.\n\nImportant notes:\n- Public crawling rules are defined in robots.txt; see links below.\n\n\n## About Site\n\n- [Homepage](https://zentract.io)\n- [Privacy](https://zentract.io/privacy): Privacy policy\n- [Terms](https://zentract.io/terms): Terms of service\n- [Contact](https://zentract.io/contact): Contact us page\n- [robots.txt](https://zentract.io/robots.txt): Crawler access rules and disallowed paths\n- [Sitemap](https://zentract.io/sitemap.xml): Discoverable public pages",
"emergingProtocols": {
"oauthDiscovery": {
"exists": true,
"url": "https://zentract.io/.well-known/oauth-authorization-server",
"issuer": "https://zentract.io",
"authorizationEndpoint": "https://zentract.io/api/oauth2/authorize",
"tokenEndpoint": "https://zentract.io/api/oauth2/token",
"grantTypesSupported": [
"authorization_code",
"refresh_token"
],
"scopesSupported": [
"projects:read",
"projects:write",
"projects:delete",
"tasks:read",
"tasks:write",
"tasks:delete",
"clients:read",
"clients:write",
"clients:delete",
"time-entries:read",
"time-entries:write",
"time-entries:delete",
"invoices:read",
"invoices:write",
"invoices:delete",
"proposals:read",
"proposals:write",
"proposals:delete",
"reports:read",
"reports:generate",
"reports:delete",
"teams:read",
"teams:write",
"users:read",
"users:write",
"organization:read",
"organization:write",
"notifications:read",
"notifications:write",
"attachments:read",
"attachments:write"
]
},
"mcpServerCard": {
"exists": false,
"url": "https://zentract.io/.well-known/mcp.json"
},
"a2aAgentCard": {
"exists": false,
"url": "https://zentract.io/.well-known/agent.json"
},
"count": 1
},
"snippets": [
{
"id": "add_markdown_negotiation",
"title": "Support Markdown for Agents",
"description": "Let AI agents request a clean Markdown version of any page via content negotiation, .md alternate URLs, link tags or Link headers.",
"language": "html",
"code": "<!-- Mechanism 3: link tag advertising the .md alternate -->\n<link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">",
"filename": "<head>",
"stacks": [
{
"id": "html",
"label": "HTML <head>",
"language": "html",
"filename": "<head>",
"code": "<!-- Mechanism 3: link tag advertising the .md alternate -->\n<link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">"
},
{
"id": "express",
"label": "Express",
"language": "javascript",
"filename": "server.js",
"code": "// Mechanisms 1 + 4: content negotiation + Link header\napp.get('/page', (req, res) => {\n res.setHeader('Vary', 'Accept');\n res.setHeader('Link', '</page.md>; rel=\"alternate\"; type=\"text/markdown\"');\n if ((req.headers.accept || '').includes('text/markdown')) {\n res.type('text/markdown; charset=utf-8');\n return res.send(renderMarkdown('page'));\n }\n res.render('page');\n});"
},
{
"id": "fastify",
"label": "Fastify",
"language": "javascript",
"filename": "server.js",
"code": "// Mechanisms 1 + 4: content negotiation + Link header\nfastify.get('/page', async (req, reply) => {\n reply.header('Vary', 'Accept');\n reply.header('Link', '</page.md>; rel=\"alternate\"; type=\"text/markdown\"');\n if ((req.headers.accept || '').includes('text/markdown')) {\n return reply.type('text/markdown; charset=utf-8').send(renderMarkdown('page'));\n }\n return reply.view('/page.ejs');\n});"
},
{
"id": "nextjs",
"label": "Next.js",
"language": "typescript",
"filename": "app/page/route.ts",
"code": "// Next.js App Router — Route Handler returning Markdown\nimport { NextRequest } from 'next/server';\nimport { renderMarkdown } from '@/lib/md';\nexport async function GET(req: NextRequest) {\n const accept = req.headers.get('accept') || '';\n if (accept.includes('text/markdown')) {\n return new Response(await renderMarkdown('page'), {\n headers: {\n 'Content-Type': 'text/markdown; charset=utf-8',\n 'Vary': 'Accept',\n },\n });\n }\n // Fall through to the page component\n return new Response(null, { status: 404 });\n}"
},
{
"id": "wordpress",
"label": "WordPress",
"language": "php",
"filename": "functions.php",
"code": "<?php\n// Mechanism 1: respond to Accept: text/markdown on the same URL\nadd_action('template_redirect', function () {\n if (!is_singular()) return;\n $accept = $_SERVER['HTTP_ACCEPT'] ?? '';\n if (strpos($accept, 'text/markdown') === false) return;\n header('Content-Type: text/markdown; charset=utf-8');\n header('Vary: Accept');\n $post = get_queried_object();\n echo \"# \" . get_the_title($post) . \"\\n\\n\";\n echo wp_strip_all_tags(apply_filters('the_content', $post->post_content));\n exit;\n});"
},
{
"id": "static",
"label": "Hugo / Jekyll / Astro",
"language": "txt",
"filename": "static/page.md",
"code": "# Mechanism 2: serve .md alongside .html\n# Hugo: place page.md in /static/ — built unchanged\n# Jekyll: drop page.md in /assets/ — copied as-is\n# Astro: src/pages/page.md.ts that exports a GET returning markdown\n\n# Then advertise with mechanism 3 in <head>:\n# <link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">"
}
]
}
]
}
Use our API to get this programmatically (coming soon)
This JSON is for internal use — unlike the Markdown and llms.txt files, it's not meant to be uploaded to your site. Save it as a baseline to track your score over time, share it with your dev team, or integrate it into your CI/CD pipeline.
Embed your badge
Add this badge to your site. It updates automatically as your AI-readiness score changes.
<script src="https://agentready.md/badge.js" data-id="81c0a9b4-c03e-446e-ae6a-e76950ad7f79" data-domain="zentract.io"></script>
[](https://agentready.md/r/81c0a9b4-c03e-446e-ae6a-e76950ad7f79)
Coming soon: Full Domain Analysis
Crawl your entire domain, generate llms.txt, and monitor your AI-readiness score over time. Join the waitlist to be notified.