Sync docs, audit artifacts, project notes, and VerdictTank proposal docs
- audit/phase-one + phase-two: security audit briefs, findings, credential-rotation plan, Docker-USER hardening scripts, rollback refs - disaster-recovery/restore-test-log.md + backup-dr-audit-2026-08-10.md - clients/ (modelortho SEO audit, ai-biz-dev competitive landscape), notes/ (tiktok strategy) - projects/: front-desk-voice-agent, seo-visibility-checker product plan, hotnow-savannah HTML, resend-transactional-email, backup-dashboard-enhancements, code-review-graph, seo-ci-architecture - proposals/verdicttank/: architecture v4.0, methodology, judge-pool review, consolidation reasoning, cross-check review - docs/super-search/firecrawl-provider-strategy.md - updates: CHANGELOG, model-chain, projects-master-readme, intelsight.io - .gitignore: exclude nested standalone repos (seo-tool, venturebuilt)
This commit is contained in:
@@ -0,0 +1,429 @@
|
||||
# ModelOrtho.com — SEO Audit & Remediation Plan
|
||||
|
||||
> **Audited:** August 10, 2026
|
||||
> **URL:** https://modelortho.com/
|
||||
> **Auditor:** Sho'Nuff (Hermes Agent)
|
||||
> **Site Owner:** Anita Brown
|
||||
|
||||
---
|
||||
|
||||
## 1. Current State — What's Working / What's Broken
|
||||
|
||||
### What's Working ✅
|
||||
|
||||
| Feature | Status | Detail |
|
||||
|---|---|---|
|
||||
| HTTPS | ✅ | Cloudflare SSL termination, port 80→443 redirect |
|
||||
| www → non-www | ✅ | www redirects 301 to modelortho.com |
|
||||
| Semantic HTML | ✅ | header, nav, main, section (×7), footer |
|
||||
| Viewport | ✅ | `width=device-width, initial-scale=1.0` |
|
||||
| Language | ✅ | `<html lang="en">` |
|
||||
| No em dashes | ✅ | Zero detected |
|
||||
| Load time | ✅ | ~401ms DOMContentLoaded |
|
||||
| Page titles | ✅ | All pages have distinct, keyword-rich titles |
|
||||
| H1 on every page | ✅ | One H1 per page |
|
||||
| Privacy / Terms | ✅ | Comprehensive, well-structured legal pages |
|
||||
| Services page | ✅ | 5 detailed service sections, strong hierarchy |
|
||||
| Tools page | ✅ | 3 proprietary tools described with features |
|
||||
| Content quality | ✅ | Professional copy, no AI fluff, authentic voice |
|
||||
| Dark/light theme | ✅ | Toggle works, cookie-persisted |
|
||||
|
||||
### What's Broken ❌
|
||||
|
||||
| Severity | Issue | Impact |
|
||||
|---|---|---|
|
||||
| **P0** | No meta description | Search engines auto-generate snippet — you lose control of the pitch |
|
||||
| **P0** | No OG image | Social shares render as bare text link. No preview card on LinkedIn, Twitter, Facebook |
|
||||
| **P0** | robots.txt returns 404 | Crawlers have no guidance. Harmless now but unprofessional |
|
||||
| **P0** | sitemap.xml returns 404 | Search engines must discover pages via links alone. Missed indexation signal |
|
||||
| **P0** | No favicon | Looks amateur in browser tabs and bookmarks |
|
||||
| **P0** | No JSON-LD structured data | Missing LocalBusiness/ProfessionalService schema. No rich results eligibility |
|
||||
| **P1** | No canonical URL tag | Duplicate content risk if any page gets indexed with params |
|
||||
| **P1** | Zero images on site | No visual engagement. No `alt` text to rank in image search. No hero image, no headshot, no tool screenshots |
|
||||
| **P1** | Footer links to dead pages | `privacy.html` and `terms.html` exist (200) but `policies.html` and `login.html` return 404 |
|
||||
| **P2** | No hreflang tags | Not critical for single-language site, but worth adding |
|
||||
| **P2** | No external links | 8 internal links, 0 external. Zero backlink strategy |
|
||||
| **P2** | Homepage word count | 1,160 words — decent but could be 1,500-2,000 for competitive terms |
|
||||
|
||||
---
|
||||
|
||||
## 2. Technical Scan — Page-by-Page
|
||||
|
||||
| Page | Title | Meta Desc | OG Title | OG Desc | OG Image | Canonical | JSON-LD | H1 Count |
|
||||
|---|---|---|---|---|---|---|---|---|
|
||||
| `/` | Model Ortho \| Orthodontic Practice Operations Consulting | MISSING | MISSING | MISSING | MISSING | MISSING | MISSING | 1 |
|
||||
| `/services.html` | Services \| Model Ortho Consulting | MISSING | MISSING | MISSING | MISSING | MISSING | 1 |
|
||||
| `/tools.html` | Tools \| Model Ortho Consulting | MISSING | MISSING | MISSING | MISSING | MISSING | 1 |
|
||||
| `/privacy.html` | Privacy Policy \| Model Ortho | MISSING | MISSING | MISSING | MISSING | MISSING | 1 |
|
||||
| `/terms.html` | Terms of Service \| Model Ortho | MISSING | MISSING | MISSING | MISSING | MISSING | 1 |
|
||||
|
||||
**Every page is missing:** meta description, OG tags, canonical, structured data.
|
||||
|
||||
---
|
||||
|
||||
## 3. Priority Fixes
|
||||
|
||||
### P0 — Week 1 (do these first)
|
||||
|
||||
#### 3.1 Add Meta Description
|
||||
|
||||
Every page needs a unique 150-160 character meta description. Here are ready-to-paste versions:
|
||||
|
||||
**Homepage:**
|
||||
```html
|
||||
<meta name="description" content="Model Ortho helps orthodontic practices turn operational data into forward-looking systems. Scheduling, capacity planning, growth forecasting, and schedule recovery - built from real practice data, not generic advice.">
|
||||
```
|
||||
|
||||
**Services page:**
|
||||
```html
|
||||
<meta name="description" content="Orthodontic operations consulting: scheduling optimization, capacity planning, growth forecasting, schedule recovery, and team systems development. End-to-end operations support for growing practices.">
|
||||
```
|
||||
|
||||
**Tools page:**
|
||||
```html
|
||||
<meta name="description" content="Proprietary operational intelligence tools for orthodontics: Schedule Canvas, Impact Forecaster, and Recovery Forecaster. Your practice data, modeled honestly.">
|
||||
```
|
||||
|
||||
**Privacy:**
|
||||
```html
|
||||
<meta name="description" content="Model Ortho Consulting privacy policy. How we collect, use, and protect your practice and personal information.">
|
||||
```
|
||||
|
||||
**Terms:**
|
||||
```html
|
||||
<meta name="description" content="Model Ortho Consulting terms of service. Conditions governing use of our website and orthodontic consulting services.">
|
||||
```
|
||||
|
||||
#### 3.2 Add Open Graph Tags (Every Page)
|
||||
|
||||
```html
|
||||
<meta property="og:title" content="Model Ortho | Orthodontic Practice Operations Consulting">
|
||||
<meta property="og:description" content="Orthodontic operations consulting that helps practices see the relationship between scheduling, capacity, production, and growth.">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="https://modelortho.com/">
|
||||
<meta property="og:image" content="https://modelortho.com/images/og-default.png">
|
||||
<meta property="og:image:width" content="1200">
|
||||
<meta property="og:image:height" content="630">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
```
|
||||
|
||||
Customize `og:title`, `og:description`, and `og:url` per page.
|
||||
|
||||
#### 3.3 Create robots.txt
|
||||
|
||||
```
|
||||
User-agent: *
|
||||
Allow: /
|
||||
Sitemap: https://modelortho.com/sitemap.xml
|
||||
```
|
||||
|
||||
#### 3.4 Create sitemap.xml
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
<url>
|
||||
<loc>https://modelortho.com/</loc>
|
||||
<changefreq>weekly</changefreq>
|
||||
<priority>1.0</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://modelortho.com/services.html</loc>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.9</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://modelortho.com/tools.html</loc>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.9</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://modelortho.com/privacy.html</loc>
|
||||
<changefreq>yearly</changefreq>
|
||||
<priority>0.3</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://modelortho.com/terms.html</loc>
|
||||
<changefreq>yearly</changefreq>
|
||||
<priority>0.3</priority>
|
||||
</url>
|
||||
</urlset>
|
||||
```
|
||||
|
||||
#### 3.5 Add JSON-LD Structured Data
|
||||
|
||||
```html
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "ProfessionalService",
|
||||
"name": "Model Ortho Consulting",
|
||||
"description": "Orthodontic operations consulting and proprietary forecasting tools for growing practices.",
|
||||
"url": "https://modelortho.com/",
|
||||
"telephone": "(912) 581-1949",
|
||||
"email": "anita@anitabrown.co",
|
||||
"address": {
|
||||
"@type": "PostalAddress",
|
||||
"addressLocality": "Savannah",
|
||||
"addressRegion": "GA",
|
||||
"addressCountry": "US"
|
||||
},
|
||||
"hasOfferCatalog": {
|
||||
"@type": "OfferCatalog",
|
||||
"name": "Consulting Services",
|
||||
"itemListElement": [
|
||||
{
|
||||
"@type": "Offer",
|
||||
"itemOffered": {
|
||||
"@type": "Service",
|
||||
"name": "Scheduling & Capacity Consulting"
|
||||
}
|
||||
},
|
||||
{
|
||||
"@type": "Offer",
|
||||
"itemOffered": {
|
||||
"@type": "Service",
|
||||
"name": "Growth & Forecasting"
|
||||
}
|
||||
},
|
||||
{
|
||||
"@type": "Offer",
|
||||
"itemOffered": {
|
||||
"@type": "Service",
|
||||
"name": "Schedule Recovery"
|
||||
}
|
||||
},
|
||||
{
|
||||
"@type": "Offer",
|
||||
"itemOffered": {
|
||||
"@type": "Service",
|
||||
"name": "Operations & Systems Development"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
</script>
|
||||
```
|
||||
|
||||
#### 3.6 Add Favicon
|
||||
|
||||
Create a 32×32 or 64×64 PNG and add:
|
||||
```html
|
||||
<link rel="icon" type="image/png" href="/images/favicon.png">
|
||||
<link rel="apple-touch-icon" href="/images/favicon.png">
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### P1 — Month 1
|
||||
|
||||
#### 3.7 Add Canonical Tags (Every Page)
|
||||
|
||||
```html
|
||||
<link rel="canonical" href="https://modelortho.com/">
|
||||
```
|
||||
Set `href` to the canonical URL of each page.
|
||||
|
||||
#### 3.8 Fix Dead Footer Links
|
||||
|
||||
Footer links to `policies.html` and `login.html` both return 404. Either:
|
||||
- Remove `policies.html` (privacy is at `/privacy.html`, terms at `/terms.html`)
|
||||
- Remove `login.html` (there is no login functionality on the site)
|
||||
- Or create those pages if they serve a purpose
|
||||
|
||||
#### 3.9 Add Images
|
||||
|
||||
This is the single biggest engagement gap. The site has zero images. Add:
|
||||
1. **Hero image** — abstract data visualization or scheduling graphic (1200×630)
|
||||
2. **Headshot** — Anita Brown, professional photo on the services or about section
|
||||
3. **Tool screenshots** — one per tool on `/tools.html` (Schedule Canvas, Impact Forecaster, Recovery Forecaster)
|
||||
4. **OG default image** — 1200×630 social share card with Model Ortho branding
|
||||
|
||||
All images need descriptive `alt` text for SEO and accessibility.
|
||||
|
||||
---
|
||||
|
||||
### P2 — Quarter 1
|
||||
|
||||
#### 3.10 Build a Blog or Resources Section
|
||||
|
||||
Competitors like OrthoSynetics, Gaidge, and Sturgill all have blogs, case studies, or resource libraries. A blog targeting long-tail orthodontic operations queries would:
|
||||
- Establish topical authority for "orthodontic operations consulting" and related terms
|
||||
- Provide content for social shares and email nurture
|
||||
- Give search engines more pages to index and rank
|
||||
|
||||
Suggested first 5 articles:
|
||||
1. "Why Your Schedule Is a System, Not a Calendar"
|
||||
2. "The Hidden Cost of Unfilled Appointments in Orthodontics"
|
||||
3. "Capacity Planning: When Growth Outpaces Your Practice"
|
||||
4. "How to Read Your Production Numbers (Beyond the Monthly Report)"
|
||||
5. "Schedule Recovery: From Scramble to Strategy"
|
||||
|
||||
#### 3.11 Submit to Google Search Console + Bing Webmaster Tools
|
||||
|
||||
After robots.txt, sitemap.xml, and metadata are deployed, submit the sitemap to both platforms. This is the fastest path to proper indexation.
|
||||
|
||||
#### 3.12 Backlink Strategy
|
||||
|
||||
Competitors have backlinks from orthodontic industry publications, podcasts, and vendor directories. Opportunities:
|
||||
- Guest posts on orthodontic business blogs (Orthodontic Products, Dental Economics)
|
||||
- Podcast appearances (orthodontic industry podcasts)
|
||||
- Directory listings (orthodontic consultant directories)
|
||||
- LinkedIn articles linking back to modelortho.com
|
||||
|
||||
---
|
||||
|
||||
## 4. Content Accuracy Verification
|
||||
|
||||
| Requirement | Status | Detail |
|
||||
|---|---|---|
|
||||
| Product name consistency | ✅ | "Model Ortho" / "Model Ortho Consulting" used consistently |
|
||||
| Contact email | ✅ | anita@anitabrown.co on privacy and terms pages |
|
||||
| Phone number | ✅ | (912) 581-1949 on privacy and terms pages |
|
||||
| Effective date | ✅ | August 10, 2026 on both legal pages |
|
||||
| Menu items match pages | ✅ | Services → services.html, Tools → tools.html |
|
||||
| Social links | ❌ | None present. Add LinkedIn at minimum |
|
||||
| Em dashes | ✅ | Zero detected |
|
||||
| Footer links | ❌ | policies.html and login.html are dead links (404) |
|
||||
|
||||
---
|
||||
|
||||
## 5. Design Quality Assessment
|
||||
|
||||
### What's Working
|
||||
- **Typography:** DM Sans + DM Serif Display via Google Fonts. Professional, clean, readable
|
||||
- **Color system:** Dark/light theme toggle. Thoughtful contrast
|
||||
- **Semantic HTML:** `header > nav`, `main > section`, `footer`. Proper heading hierarchy (H1→H2→H3)
|
||||
- **Copywriting:** Authentic voice. No AI filler. Every sentence earns its place
|
||||
- **Layout:** Single-column scannable flow. Good use of whitespace
|
||||
- **CTAs:** "Start the Conversation" and "Let's Look at the System" — action-oriented, consistent
|
||||
|
||||
### What's Holding It Back
|
||||
- **Zero images:** No hero graphic, no headshot, no tool screenshots — feels like a whitepaper, not a consulting website
|
||||
- **No visual hierarchy:** Text-only pages lack entry points for skimming
|
||||
- **No social proof:** No testimonials, no client logos, no case study teasers
|
||||
- **No footer CTA:** Footer has legal links only. Add a contact link or "Start the Conversation" button
|
||||
- **No phone/email in header:** Contact info is buried in privacy/terms pages only
|
||||
|
||||
### Quality Bar
|
||||
**65-70% of a top-tier consulting site** (Linear/Stripe-caliber design). The foundation is strong — typography, layout, copy. The gap is all visual: images, social proof, and conversion elements.
|
||||
|
||||
---
|
||||
|
||||
## 6. Competitive Analysis
|
||||
|
||||
| Competitor | Strengths | Weaknesses vs Model Ortho |
|
||||
|---|---|---|
|
||||
| **OrthoSynetics** | Full-service (billing, HR, marketing + consulting). Large firm, established | Generic — not ortho-specific operations. No proprietary tools |
|
||||
| **Sturgill Orthodontic Consultants** | Orthodontic-only, strong scheduling focus. Client results published | Traditional consulting model. No tech-forward tool positioning |
|
||||
| **Gaidge** | Analytics SaaS platform. Freemium model, large user base | Software-only — no human consulting layer |
|
||||
| **Ortho Consulting Group** | Customized services, leadership coaching | Heavier, corporate-feeling. Less positioning around data/modeling |
|
||||
| **CascadEffects** | Named "top firm 2026." Doctor-independent growth focus | Broader dental, not ortho-exclusive |
|
||||
|
||||
### Model Ortho's Positioning Opportunity
|
||||
|
||||
Model Ortho occupies a unique position nobody else holds: **proprietary tools + human consulting, orthodontic-only**. Most competitors are either pure consulting (no tools) or pure SaaS (no consulting). The combination of "Schedule Canvas / Impact Forecaster / Recovery Forecaster" as proprietary IP with hands-on operational consulting is a defensible moat.
|
||||
|
||||
The website needs to communicate this more aggressively. Right now it says "tools" — it should say "proprietary forecasting tools built specifically for orthodontic operations." The distinction matters.
|
||||
|
||||
---
|
||||
|
||||
## 7. Keyword Targets
|
||||
|
||||
| Keyword | Est. Volume | Competition | Target Page |
|
||||
|---|---|---|---|
|
||||
| orthodontic practice consulting | Medium | Medium | Homepage, Services |
|
||||
| orthodontic operations consulting | Low-Med | Low | Homepage (primary target) |
|
||||
| orthodontic scheduling optimization | Low | Low | Services — Scheduling |
|
||||
| orthodontic capacity planning | Low | Very Low | Tools — Schedule Canvas |
|
||||
| orthodontic growth forecasting | Low | Very Low | Tools — Impact Forecaster |
|
||||
| orthodontic practice management consultant | Medium | High | Homepage (secondary) |
|
||||
| dental practice operations consultant | Medium | High | Homepage (tertiary) |
|
||||
| orthodontic consulting services | Medium | Medium | Services page |
|
||||
| orthodontic schedule recovery | Very Low | None | Tools — Recovery Forecaster |
|
||||
|
||||
**Strategy:** Target low-competition, high-intent long-tail terms first ("orthodontic operations consulting", "orthodontic capacity planning"). Build topical authority. Then compete for broader terms ("orthodontic practice consulting").
|
||||
|
||||
---
|
||||
|
||||
## 8. Page Performance
|
||||
|
||||
| Metric | Value |
|
||||
|---|---|
|
||||
| DOMContentLoaded | ~401ms |
|
||||
| HTML size | ~20KB (homepage) |
|
||||
| Google Fonts | 1 request (DM Sans + DM Serif Display) |
|
||||
| Stylesheet count | 1 (inline) |
|
||||
| Script count | 1 (theme toggle) |
|
||||
| Image count | 0 |
|
||||
| Total page weight | ~25KB |
|
||||
|
||||
Performance is excellent — no blockers here. When images are added, use WebP format with srcset for responsive sizes.
|
||||
|
||||
---
|
||||
|
||||
## 9. Execution Roadmap
|
||||
|
||||
### Week 1 — Technical Foundation
|
||||
- [ ] Add meta descriptions to all 5 pages
|
||||
- [ ] Add OG tags to all 5 pages
|
||||
- [ ] Create robots.txt
|
||||
- [ ] Create sitemap.xml
|
||||
- [ ] Add JSON-LD structured data
|
||||
- [ ] Add favicon (32px PNG)
|
||||
- [ ] Add canonical tags to all 5 pages
|
||||
|
||||
**Effort:** ~2 hours for someone who can edit HTML/CSS.
|
||||
|
||||
### Week 2 — Visual & Conversion
|
||||
- [ ] Design OG social share image (1200×630)
|
||||
- [ ] Add professional headshot to homepage
|
||||
- [ ] Add abstract hero graphic or scheduling visualization
|
||||
- [ ] Create 3 tool screenshots/mockups for tools page
|
||||
- [ ] Fix footer dead links (remove policies.html + login.html)
|
||||
- [ ] Add contact info to header or footer
|
||||
|
||||
**Effort:** ~4 hours (image creation + HTML edits).
|
||||
|
||||
### Week 3 — Launch
|
||||
- [ ] Submit sitemap to Google Search Console
|
||||
- [ ] Submit sitemap to Bing Webmaster Tools
|
||||
- [ ] Verify robots.txt is crawlable
|
||||
- [ ] Request indexation of all 5 pages
|
||||
- [ ] Set up Google Analytics or a privacy-friendly alternative
|
||||
|
||||
**Effort:** ~1 hour.
|
||||
|
||||
### Month 2-3 — Content & Authority
|
||||
- [ ] Launch blog with 5 articles (see Section 3.10)
|
||||
- [ ] Add LinkedIn profile link to site
|
||||
- [ ] Begin guest post / podcast outreach
|
||||
- [ ] Add testimonials section when available
|
||||
|
||||
**Effort:** Ongoing — 1-2 articles per month.
|
||||
|
||||
---
|
||||
|
||||
## 10. Appendices
|
||||
|
||||
### A. Competitor URLs
|
||||
- https://www.orthosynetics.com/osi-services/practice-consulting/
|
||||
- https://sturgillorthodontics.com/orthodontic-consultants-strategies-grow-your-practice/
|
||||
- https://www.gaidge.com/
|
||||
- https://www.ortho-consulting.com/consulting
|
||||
- https://www.cascadeffects.com/post/top-orthodontic-consulting-firms-in-2026
|
||||
- https://leeannpenicheandassociates.com/
|
||||
|
||||
### B. Image Creation Checklist
|
||||
1. `favicon.png` — 32×32, Model Ortho mark
|
||||
2. `og-default.png` — 1200×630, "Model Ortho Consulting — Orthodontic Operations, Made Visible"
|
||||
3. `anita-headshot.jpg` — Professional photo, 800px wide
|
||||
4. `hero-graphic.png` — Abstract scheduling/capacity visualization, 1200px wide
|
||||
5. `tool-schedule-canvas.png` — Schedule Canvas mockup, 800px wide
|
||||
6. `tool-impact-forecaster.png` — Impact Forecaster mockup, 800px wide
|
||||
7. `tool-recovery-forecaster.png` — Recovery Forecaster mockup, 800px wide
|
||||
|
||||
### C. Broken Links to Fix
|
||||
- Footer: `policies.html` → remove (content already at privacy.html)
|
||||
- Footer: `login.html` → remove (no login functionality exists)
|
||||
Reference in New Issue
Block a user