Projectpillarpeo.com · full audit and rebuild brief
ClientPillar PEO Advisors, Charlotte NC
Date · Rev5 Sep 2026 · Rev E (5 passes)
ScopeSEO · AEO · CRO · design · positioning · national + Carolinas local
Evidence: raw HTML and headers via curl, rendered DOM via headless Chrome, Lighthouse 12 lab runs (mobile + desktop), bundle inspection of /assets/index-ChndN7xd.js, Google autocomplete, competitor page pulls, whois. All on 5 Sep 2026.
Summary
Verdict
The copy is better than the site. Every page ships as an empty React shell, the brand reads as a template, there is no proof anywhere, and the whole thing is named for a service you are about to make one-fifth of the business. Rebuild it. Don't patch it.
Pillar has real assets: a founder who writes clearly, 22 resource pages that are better than most competitors', a free tool, a decent local phone presence, and a business model (provider-paid brokerage) that is easy to explain. None of that is reaching search engines or AI engines because the site is client-rendered, and none of it is converting cold visitors because there is not one testimonial, review, client name, price, or address on the site.
The scores below are out of 10. They are my judgement against what a site in this category needs to rank nationally, show up in the Carolinas local pack, and convert, not a Lighthouse average.
3/10Technical SEO
6/10On-page
5/10Content
2/10Carolinas local
3/10AI search (AEO)
3/10Conversion
5/10Performance
7/10Accessibility
3/10Design + brand
1/10Fit for new scope
2,994 BHTML served for every URL, identical, including 404s
761 KBJavaScript required before any content exists
66 / 94Lighthouse performance, mobile / desktop
8.4 sMobile LCP (lab, throttled). Target is 2.5 s
0testimonials, reviews, client names, or prices on the site
2.1 : 1contrast ratio of the primary green button (WCAG AA needs 4.5)
3geo pages for two states. Competitor Catapult's Charlotte page alone is ~3,500 words
49 vs 36routes in the app vs URLs in the sitemap
Five things that matter. Everything else is detail.
Ship HTML. Rebuild as a static site (Astro on Cloudflare Pages is the recommendation, spec in S-11). Every page's words, title, meta, and schema must be in the HTML response. Right now Googlebot has to render 761 KB of JavaScript to see a word, and ChatGPT, Claude, and Perplexity's crawlers, which do not run JavaScript, see nothing at all.
Reposition from "PEO broker" to "HR advisory for professional-services firms nationwide, headquartered in Charlotte," under the same brand. The HR audit becomes the entry product with a public price. Projects, fractional HR, and transitions sit behind it. PEO brokerage stays free and becomes one outcome of the audit rather than the identity. The nav, every H1, the schema, and llms.txt all lead with "PEO broker" today; S-07 covers how the name and domain stay while the description changes.
Build two ranking layers, national and local. Nationally: topical authority on HR audits, fractional HR, PEO exits, HRIS, and multi-state compliance, which is where the head terms are. Locally: a verified Google Business Profile with a real address, consistent NAP, 12 Carolinas metro pages with unique local content, and NC and SC compliance hubs. The autocomplete data in S-09 shows local demand is for "HR consultant/consulting firms {city}" and state compliance questions, not for "PEO broker {city}", which has no measurable search volume.
Get proof before launch. Five testimonials with names and numbers, one case study, five Google reviews, and the memberships you actually hold. The mockups have honest slots for these; do not launch with the slots empty.
Fix the conversion path. Primary CTA becomes "Book an HR audit" with a price on it, secondary "Compare PEOs, free." Embed the HubSpot calendar on-site, make the phone number tappable, kill or relocate the chat widget, fix the button contrast, require the three fields that matter, and track bookings as conversions.
Sheet S-01
Technical SEO
Ranked by damage. The first finding alone justifies the rebuild.
1.1 The site is a client-rendered React shellCritical
EvidenceEvery URL tested (home, 18 inner pages, 3 legacy Wix URLs, and a made-up URL) returns the identical 2,994-byte HTML: a <div id="root"></div>, the homepage title and meta description, and a script tag for /assets/index-ChndN7xd.js (761 KB). Titles, descriptions, canonicals, and JSON-LD are all injected by a React effect after load. The build is Lovable (the /~flock.js analytics beacon gives it away) on Cloudflare.ImpactGoogle can render JavaScript but queues it; indexing of changes lags days to weeks and rendering budget is rationed. Evidence from the search index I can query (not Search Console): the stored title for /terms is still the old Wix site's "Pillar PEO - PEO Broker Services | HR Outsourcing & Small Business HR Solutions", and www.pillarpeo.com/blank-1 is still indexed as "About Pillar". Bing partially renders. GPTBot, ClaudeBot, PerplexityBot, and most other AI crawlers do not execute JavaScript, so to them every page on the site is blank (verified: a GPTBot user agent receives the same 2,994-byte shell). Google can and does rank client-rendered pages, which is consistent with the traffic the founders see today; the cost is slower indexing, stale titles, and zero AI-engine visibility, not zero Google visibility. The 22 resource articles and 19 FAQ schemas you paid for are invisible to the engines that would cite them.FixStatic generation. Every route becomes a real HTML file with its own title, description, canonical, Open Graph, and JSON-LD in the source. Astro is the right tool: content in Markdown/MDX, zero JavaScript by default, deploys to Cloudflare Pages you already use. Do not "add prerendering" to the Lovable build; you will fight it forever.
1.2 No real 404s, and legacy Wix URLs still return 200High
Evidence/this-page-does-not-exist-xyz returns HTTP 200 with the shell; the React router then shows a "Page not found" view. Old Wix URLs still in Google's index (/services, /blank, /blank-1, www.pillarpeo.com/contact) all return 200. /services renders the How It Works page with a canonical pointing to /how-it-works, which is the right signal but only after JavaScript runs.ImpactGoogle treats these as soft 404s or duplicates, wastes crawl on them, and keeps stale titles in the index. Any link equity from the old Wix site is not being passed.FixReal 404 status from a static host (Cloudflare Pages does this by default with a 404.html). Add a _redirects file: /services → /services/ (new overview), /blank → /, /blank-1 → /about/, plus the full map in S-08.
1.3 www and non-www both serve the siteMedium
Evidencehttps://www.pillarpeo.com/ returns 200 with identical content; no redirect. The canonical tag exists only after JavaScript runs. Google's index holds both hostnames.FixCloudflare Bulk Redirect or Page Rule: 301 www.pillarpeo.com/* to apex. HTTP already 301s to HTTPS correctly and HSTS is set; keep both.
1.4 Sitemap is incomplete, has no lastmod, and one route duplicates anotherMedium
EvidenceThe sitemap lists 36 URLs. The bundle defines 49 routes (plus a catch-all). Missing from the sitemap: /blog, /blog/how-much-peo-costs, /blog/peo-roi-calculator, /blog/peo-vs-hr-outsourcing, /blog/should-your-business-use-peo, /blog/what-is-a-peo-broker-charlotte-nc, /blog/peo-broker-charlotte-nc, /industries, /nonprofit-toolkit, /peo-onboarding, /roi-calculator, /why-peo. /blog renders the same content as /resources (its client-side canonical does point to /resources, which limits the damage once Google renders it). No <lastmod> on any URL; priorities are hand-set and meaningless to Google.FixGenerate the sitemap at build with real lastmod from git or frontmatter. Fold the blog into resources under one URL scheme. Decide whether each hidden route is a page (add to nav and sitemap) or dead (redirect).
1.5 Schema exists but is JS-only, inconsistent, and has invalid datesMedium
EvidenceZero ld+json blocks in the HTML response; they appear only after render (verified via headless Chrome DOM dump). The bundle contains ProfessionalService on home, Service on the four solution pages, LocalBusiness on three geo pages (all with a Charlotte address, including the South Carolina page), AboutPage with three Persons, Article + BreadcrumbList on resources, and 19 FAQPage blocks. Eight resources carry datePublished:"May 2026", which is not a valid ISO date and will fail validation; eight more share 2026-05-15; the Article helper defaults to 2025-01-01 when no date is passed. The organization declares areaServed:"US", which undercuts the Carolinas positioning.FixSchema in HTML from page frontmatter. One Organization/ProfessionalService entity with a street address, geo, hours, sameAs (LinkedIn, GBP, G2), and areaServed NC + SC. LocalBusiness per metro page with that metro's areaServed. ISO dates and dateModified everywhere. Service schema with offers and prices for the paid products.
1.6 Mobile performance: LCP 8.4 s in the lab, because content waits for JavaScriptHigh
EvidenceLighthouse 12, mobile throttling: performance 66, FCP 4.1 s, LCP 8.4 s, TTI 8.4 s. Desktop: 94, LCP 1.5 s. Charlotte page mobile: 79, LCP 4.5 s. Render-blocking resources cost 1,690 ms (Google Fonts CSS for League Spartan + Nunito Sans, plus the 76 KB app CSS). LCP element is the hero photo: a 383 KB JPEG at 1,050×1,400 with no srcset and no WebP/AVIF. It already carries fetchpriority="high" and width/height (credit where due), but the tag itself only exists after the 761 KB bundle executes, so the priority hint cannot help. Unused JavaScript: 217 KB. Third parties: LeadConnector chat widget 205 KB, gtag 170 KB. TTFB is fine (60–100 ms; Cloudflare).FixStatic HTML solves the sequencing. Then: self-host two font files as woff2 with font-display: swap and preload; hero image as AVIF/WebP with a srcset and fetchpriority="high"; lazy-load the chat widget on first scroll or drop it (see S-05); load gtag after interaction or via Cloudflare Zaraz. Target: mobile 90+, LCP under 2.5 s on 4G.
1.7 Small things that add upLow
EvidenceThe phone number is a proper tel: link in the header and footer, but the contact page's phone card is rendered with href: undefined, so the most prominent phone on the site is the one that is not tappable. No apple-touch-icon, no site.webmanifest, only a .ico favicon. HTML is served cache-control: no-cache. No CSP header. DMARC is p=none, so mail from pillarpeo.com can be spoofed without consequence, which matters once you start outbound to CPAs and attorneys. llms.txt exists (good, see S-04) but a humans.txt and security.txt don't. Lighthouse also flags an invalid list structure (a <ul> with non-<li> children).Fixtel: on the contact card; full icon set; edge caching with revalidation for static HTML; a basic CSP; move DMARC to p=quarantine after two weeks of reports, then p=reject.
What is already right
robots.txt allows all crawlers including AI bots. Keep that.
HTTPS, HSTS, HTTP→HTTPS 301, and X-Content-Type-Options are correct.
Titles and meta descriptions are unique and well written on every page (once rendered).
Alt text is present on all images. Heading order passes. Tap targets pass.
CLS is effectively zero on every page tested.
Sheet S-02
On-page and content
Current homepage · 1440 px · 5 Sep 2026Mobile · chat bubble over the founders' faces
2.1 The homepage targets a keyword almost nobody types
The H1 is "Your independent PEO broker. Focus on your people, not paperwork." and the title is "Independent PEO Broker — Compare PEOs". Google autocomplete returns nothing for "peo broker charlotte", "peo broker north carolina", or "peo broker south carolina". It does return "hr consultant charlotte nc", "hr consulting firms charlotte nc", "hr consulting raleigh nc", "hr consulting greenville sc", "peo charlotte nc", "peo raleigh nc", "peo greenville sc", "peo charleston sc", and "peo columbia sc". The buyer's language is "HR consultant", "hr consulting firms", "fractional hr services", "hr audit", and "PEO {city}", not "PEO broker". The whole site is built around the phrase the founder uses, not the one the customer uses. Nationally, "peo broker" itself is a small term; the existing PEO guides ("best peo for small business", "how much does a peo cost per employee") are where the national PEO demand actually sits, and they should keep doing that job.
2.2 Geo pages are thin and templated
Charlotte: about 850 words, no address, no map, no local client, no Charlotte-specific rule, one paragraph of local color ("finance, healthcare, tech, and professional services"). North Carolina and South Carolina pages share a structure and swap city names; the SC page's schema carries a Charlotte NC address. For comparison, Catapult's Charlotte page runs 3,500+ words with named advisors, zip codes, five industries, six FAQs, video, "65 years", and "500+ employers". PEO Focus's Charlotte page is weaker than yours on content but has a street address. You will not outrank an association with a 65-year history on 850 words and no proof; you can outrank them on specificity (the NC/SC cross-border angle, fixed pricing, professional-services focus) if the page actually contains it.
2.3 The resource library is the best asset on the site and it is undercut
Twenty-two resources, written in a plain, honest voice ("The Honest Risks" in the PEO guide is better than anything on the national broker sites). Problems:
Cannibalization./resources/peo-pricing, /resources/peo-cost-guide, and /blog/how-much-peo-costs target the same query. Nonprofits appears three times (/peo-for-nonprofits, /resources/peo-for-nonprofits-guide, /blog/peo-for-nonprofits-charlotte). Startups twice. Merge each cluster into one canonical page and redirect the rest.
No external citations. Not one resource cites NAPEO, the DOL, the NC Department of Labor, or SC DEW. AI engines weight sourced statistics heavily (Princeton GEO study: +37–40% citation rate). The NAPEO figures (PEO clients grow 7–9% faster, 10–14% lower turnover, 50% less likely to go out of business, 230,000+ businesses using a PEO) belong in the PEO guide with links.
Dates. "May 2026" on eight pages, one 2025 default, no visible "updated" dates. Freshness is a ranking and citation signal.
One author, no author page. Every article is by Caleb, with a bio line and a LinkedIn link. There is no /about/caleb-sherrill/ page with credentials, speaking, and press to point Person schema at.
Everything is about PEOs. Zero words on HR audits, handbooks, classification, E-Verify, or either state's employment law. The new business has no content yet.
2.4 E-E-A-T is asserted, not shown
About page: "Caleb Sherrill, CEO, prior business ownership experience"; "Josiah Sherrill, Founding Account Executive, ministry recruiting"; "Emily Snooks, COO, 6+ years operations." No certifications (SHRM-CP, PHR, CEBS), no NAPEO membership stated, no press, no speaking, no client count with a source. The homepage says "Used by 100+ business owners" about the quiz, unverifiable. The LinkedIn company page has 126 followers and the G2 seller profile has zero reviews. For a firm about to sell $4,000 audits to managing partners, the trust layer is empty.
2.5 Duplicate and orphan routes
/blog and /resources render the same index. /industries, /why-peo, /roi-calculator, /peo-onboarding, and /nonprofit-toolkit exist as routes but are not in the sitemap or the navigation. Solutions dropdown has three items; the footer's "Why Pillar" points at About. Decide each one's fate in the rebuild.
Sheet S-03
Ranking nationally and in the Carolinas
Pillar sells nationwide, so the site has to win two different games. National rankings come from topical authority: the deepest, best-sourced pages on HR audits, fractional HR, PEO transitions, HRIS migration, and multi-state compliance. Local rankings come from an entity Google can place on a map and a set of metro pages that earn their existence. Four layers below, in order of leverage. Layers 0 and 1 together are worth more than the rest for the first six months.
Layer 0 · National topical authority
The head terms are national and unlocalized: "hr audit", "hr audit checklist", "hr compliance audit", "fractional hr services", "fractional hr companies", "peo exit", "hris implementation consultant", "best peo for small business", "how much does a peo cost per employee". All confirmed by autocomplete. Pillar already has half the PEO cluster written; the HR audit, fractional, transition, and multi-state clusters do not exist yet.
One hub per service (S-08) that answers the full query fan-out: what it is, what it includes, cost, duration, who it is for, vs the alternatives, checklist download, FAQ. These are the pages that get cited by AI engines and linked by other sites.
Multi-state compliance as the national moat. A remote hire in a new state is the most common HR failure in a 10–150 person firm anywhere in the country. Publish a state employer guide series: start with NC and SC (the local layer), then the ten states where Pillar's current and target clients actually have people, then the rest, one per week, each written to the same standard (thresholds, registrations, notices, leave, final pay, sourced and dated). Never bulk-generate 50 thin pages; that triggers the scaled-content policy and drags the whole domain down.
Industry pages are national. Law, CPA, engineering/architecture, medical/dental, RIA, nonprofit: the HR problems are the same in Austin and Asheville. Write them without a city.
Deduplicate and source the PEO library so it keeps carrying the national PEO demand it already targets.
National links and presence: NAPEO membership and directory, SHRM vendor directory, Clutch's national HR consulting category, G2 reviews, HR podcasts, contributed pieces in HR Dive / SHRM / industry association newsletters (NCACPA is local; AICPA and state CPA societies elsewhere are national), Qwoted and Featured for expert quotes, and Caleb's LinkedIn, which is already the best distribution channel Pillar has.
The site architecture keeps these separate on purpose: service and industry pages are national and never mention a city in the title; metro pages and state guides carry the local signals. Mixing them ("HR audit Charlotte" as the main service page) caps the national page at local demand.
Layer 1 · Entity and local pack (Charlotte)
I could not find a Google Business Profile for Pillar. Without one, "hr consultant charlotte nc" shows a map pack you are not in, and AI engines have no address to attach to the entity, which hurts nationally too: an entity with no location reads as less real. This is the single highest-value local task in the plan.
Address. A verified GBP needs a physical address or a service-area listing with a hidden address. A coworking membership with a suite number is acceptable if you receive mail there; a PO box is not. Publish the address on the site footer and in schema once GBP is verified.
Categories. Primary: Human resources consulting. Secondary: Business management consultant, Consultant. Do not use "Employment agency."
NAP consistency. Same name, address, and phone on GBP, site, LinkedIn, BBB, Apple Maps, Bing Places, Yelp, Clutch, Alignable, Charlotte Regional Business Alliance, NC Chamber, SC Chamber, and any NAPEO/SHRM directory listing. Full list in S-13.
Reviews. Five in the first 30 days, then two a month. The ask script is in S-15. Reviews mentioning the city and the service ("HR audit for our Charlotte law firm") move rankings.
Posts and photos. Weekly GBP post from the content calendar; photos of the team at client offices in each metro.
Layer 2 · Twelve Carolinas metro pages that earn their existence
URL pattern /hr-consulting/{city}-{st}/, targeting "hr consultant {city}", "hr consulting firms {city}", and "peo {city}". Each page needs, at minimum: 1,500 words of content that could not be moved to another city, one named local client quote, local rules (Charlotte NDO, county-level items), the local industry mix with named anchor employers, the SC-or-NC cross-border angle where relevant, a service-area list with zip codes, an embedded map, a LocalBusiness schema with geo, and a local FAQ. The Charlotte mockup is the template. Publish in this order:
Wave
Metro
Local angle to write about
1 (launch)
Charlotte NC
NDO; York/Lancaster County SC cross-border; banking-town comp expectations
1
Rock Hill / Fort Mill SC
NC firms with SC staff; SC E-Verify for all; SC 7-day wage-change notice
1
Raleigh–Durham–Chapel Hill NC
RTP engineering and biotech contractors; university spin-outs; state-government adjacent firms
2 (month 2)
Greenville–Spartanburg SC
Manufacturing supply-chain professional firms; BMW-adjacent engineering; SC workers' comp at 4+
2
Charleston SC
Medical practices and MUSC-adjacent; hospitality-heavy seasonal staffing rules; port logistics firms
2
Columbia SC
Law firms near the statehouse; USC-adjacent; state contractors
3 (month 3)
Greensboro / Winston-Salem NC
Triad manufacturing professional services; Wake Forest medical practices
3
Asheville NC
Small firms, tourism-adjacent, remote-worker classification
3
Wilmington NC
Coastal medical and legal; film-industry contractors
Furniture-industry professional services; family-owned firms
3
Myrtle Beach SC
Seasonal medical and legal; J-1 and seasonal I-9 issues
A city page with no local client quote is a doorway page and Google's helpful-content system will treat the whole site accordingly. Wave 1 pages go live with quotes; later waves wait for their quote.
Layer 3 · Own the two home rulebooks
The Charlotte metro is the only major US market split across two states with materially different employer rules. Nobody owns that content, and it is the local proof-of-method for the national state-guide series in Layer 0. Two hubs, /resources/north-carolina-employer-guide/ and /resources/south-carolina-employer-guide/, plus the comparison piece "NC vs SC employment law for firms with staff in both", plus one article per autocomplete-confirmed question:
"Is E-Verify mandatory in North Carolina?" (25+ employees, NCGS 64-26) and the SC version (all employers, within 3 business days).
"North Carolina employee handbook requirements" and "South Carolina employee handbook requirements" (both confirmed autocomplete queries). Include a downloadable NC/SC handbook checklist.
"HR audit checklist" with an ungated PDF and an Excel version (autocomplete: "hr audit checklist template excel", "hr audit checklist pdf", "hr compliance audit checklist").
Final pay rules, workers' comp thresholds (NC 3+, SC 4+), pregnancy accommodation (SC act at 15+), wage-notice requirements, new-hire reporting.
Have employment counsel review each piece and say so on the page. That sentence is a trust signal, not a weakness.
Links
For the local layer, local links beat national ones: chamber member pages, the NC Bar Association and SC Bar vendor lists, NCACPA and SCACPA sponsor pages, Charlotte Business Journal contributed columns, Charlotte Inno, local podcasts (Charlotte Business Podcast, Carolina Business Review), and a NAPEO membership listing. Answer HR questions for Qwoted/Featured with a Charlotte byline. Sponsor one CPA-society event per state per year and get the link.
Sheet S-04
AI search (AEO)
Ask ChatGPT or Perplexity "who does fixed-price HR audits for small law firms" or "who is a good HR consultant in Charlotte" today and Pillar cannot appear: its pages are blank to non-JavaScript crawlers, its entity has no address, and it has no third-party footprint to be cited from. Fixing 1.1 is the precondition; the rest is below.
Check
Today
Rebuild
Content in HTML for GPTBot / ClaudeBot / PerplexityBot
Fail
Static HTML
AI crawlers allowed in robots.txt
Pass
Keep. Optionally block CCBot only.
llms.txt
Exists, wrong Says "U.S. employers", no Carolinas, no HR audit, no prices
Rewrite for the new positioning; add llms-full.txt with the full guides
Machine-readable pricing (/pricing.md)
None
Publish tiers for audit, projects, fractional, transitions; brokerage $0 with commission note
Direct-answer blocks under question headings
Partial FAQs exist; article sections bury the answer
Lead every H2 with a 40–60 word answer
Statistics with sources
None
NAPEO, DOL, NCDOL, SC DEW citations with links and dates
Comparison tables
Prose only
NC vs SC table; PEO vs ASO vs fractional table; provider comparison table
Author attribution with credentials
Name only
Author page, credentials, Person schema with sameAs
Visible "Updated" dates
Invalid / missing
ISO dates in schema and on page; quarterly refresh
Caleb's LinkedIn posts are already scripts. 60-second versions on YouTube, embedded on the matching page
Query fan-out to cover
For the audit cluster, an AI answer to "should my law firm get an HR audit" will fan out to: what an HR audit includes, cost, duration, who performs it, NC-specific checks, SC-specific checks, a checklist, and what happens after. One hub page with those as H2s plus the downloadable checklist covers the whole fan-out. Same pattern for "leaving a PEO" (timeline, duplicate W-2 risk, benefits replacement, state registrations, cost) and "fractional HR" (what it is, cost, vs PEO, vs full-time, for what size firm).
Monitoring
Monthly, run 20 queries through ChatGPT, Perplexity, and Google AI Mode; log whether Pillar is cited and who is. The query list is in S-16. No tool needed for the first six months.
Sheet S-05
Conversion
Traffic context: almost all current visitors are brand searches, LinkedIn clicks from Caleb's posts, and referral partners. Those are warm. The rebuild has to convert cold organic visitors who have never heard of Pillar and have a specific HR problem.
What is wrong, in order
5.1 One CTA, off-site, with no lower-commitment stepHigh
Evidence"Schedule a PEO Strategy Call" appears 4 times on the homepage and on every page, always linking to meetings.hubspot.com/caleb-sherrill. A managing partner who landed from "hr consulting firms charlotte nc" is asked to book a PEO call with a stranger. The only alternative is the quiz.FixA ladder: free NC/SC checklist download → 20-minute HR risk check (embedded calendar, on-site) → fixed-price audit → projects / fractional / transitions. Brokerage stays a free side door. Primary CTA reads "Book an HR audit · from $2,500" so the price does the qualifying.
5.2 Zero proof anywhere near a CTAHigh
EvidenceNo testimonial, review, client name, logo, case study, or number on any page. The one social-proof line ("Used by 100+ business owners") is about the quiz and unverifiable.FixCollect five testimonials with a name, role, firm, city, and a number, before launch. Put one beside every primary CTA. Add the Google review count once it exists. Write one anonymized case study from the first audit.
5.3 The chat widget hurts more than it helpsMedium
EvidenceA GoHighLevel/LeadConnector bubble auto-opens with a "Hi there! Have a question?" prompt, sits over the founders' faces on the mobile hero, and overlaps the footer CTA on desktop (see screenshots). It costs 205 KB. The avatar is a dark-haired woman in red; the three people on the About page are Caleb, Josiah, and Emily Snooks, who is blonde. Whoever it is, it is not a face a visitor can match to the team, which is the trust problem.FixRemove it. If you want chat, use a real photo of Emily or Caleb, load it on scroll, and never auto-open. A phone number and a calendar convert better for this audience.
5.4 The primary button fails contrastMedium
EvidenceWhite text on #2ecc70: 2.1:1. WCAG AA needs 4.5:1. Every "Schedule a PEO Strategy Call" button on the site fails. Your buyers are often 45–65.FixDark buttons with an accent mark (as mocked), or a green dark enough to pass (#1b7a43 or darker).
5.5 Contact form and quiz have unclear mechanicsMedium
EvidenceContact form: five fields, none marked required, no visible validation, unknown destination. Quiz page: the only element at load is a button; nine questions plus a first-name and email capture are in the bundle, so leads are collected, but I could not verify end to end where they land or whether the score is shown before the email ask. The contact page's phone card is not a link.FixThree required fields (name, work email, firm size) plus one optional (where are your people). Post to a Cloudflare Worker that creates the HubSpot contact and fires a GA4 event. Quiz: show the score immediately, ask for email to send the written plan, tag the contact by score band. Rename it: "HR Risk Score" sells to a managing partner; "HR Headache Score" sells to a harried office manager, who is not the buyer.
5.6 The hero leads with your category, not their problemMedium
Evidence"Your independent PEO broker." Cold visitors from HR queries do not know what a PEO broker is, and the ones who do are a tiny fraction.FixLead with the load they carry and the fixed price. Copy alternatives in S-18. Keep the "wrong setup costs more than the monthly fee" argument and the myth/truth format; both are good persuasion, just reframed around HR, not PEOs.
Test after launch (not before)
Hero headline: problem-led ("HR that bears the load") vs outcome-led ("Pass your next HR audit before it happens").
Price on the primary button vs price only on the service page.
Founder video (60 s) in the hero vs the load diagram.
Quiz as first CTA on city pages vs audit booking.
Sheet S-06
Design and brand
Current Charlotte page · every section is eyebrow, heading, paragraph
Quiz page · pill eyebrow, one highlighted word, single buttonAbout · navy band, green eyebrow, centered display
Cover the logo and this could be any 2025 AI-builder site. Navy hero with a green highlighted word, white body, three icon cards, a numbered 01/02/03 process, a myth/truth two-column, an accordion FAQ, a navy CTA band, a four-column footer. League Spartan for display and Nunito Sans for body give it the rounded friendliness of a consumer app; the audience is managing partners and practice administrators. The green (#2ecc70) is flat-UI green from 2013 and illegible on white. The "pillar" idea appears once, as a tiny column glyph in the logo, and nowhere else. There is no image, diagram, or device on any page that explains what Pillar does.
What works: the founders' photo is warm and real, the voice in the body copy is confident, and section headings ("Bad decisions start with bad assumptions") are better than the visual system around them.
Direction for the rebuild: the same brand, executed properly
Nothing about the identity needs replacing. The logo is good: a confident lowercase wordmark, a green disc, and a fluted column that says "pillar" without spelling it. The navy (#02064B) and green (#2ECC70) are distinctive in a category full of blue-and-grey. League Spartan has the geometric weight the logo needs. The problem is that the site uses almost none of it: the column appears only in the header, the green is spent on illegible buttons, the navy is a flat band, and every section is a generic card grid that could belong to any shadcn template. The rebuild keeps every brand token and spends them differently.
Token
Value (from the live CSS)
How it is used now
How the rebuild uses it
Navy
#02064B · hsl(236 96% 15%)
Hero band and CTA band, flat
Hero, CTA bands, and all type. Bands get a soft green radial glow so they read as the logo's disc, not a slab
Green
#2ECC70 · hsl(145 63% 49%)
Button fills with white text (2.1:1), highlighted words, icon tints
On navy only, where it passes (buttons with navy text on green, 7.8:1; green rules; the column's fluting). On white it becomes a rule or a small mark, never a text colour
Green, darkened
#1A7A45
Not present
The one new value: green for labels and links on white at 5.3:1
Sky
#54C5F2 · hsl(197 86% 64%)
Declared as secondary, unused
Reserved for diagram accents only
Ground
#FFFFFF / #F5F5F5
Pure white sections and grey muted sections
Cool off-white (#F4F6FA) with a faint navy grid, white panels, navy hairlines instead of shadows
Display
League Spartan 700
Centered headlines with one word in green
Left-set at 64–88 px, tracked −3%; the green word stays, but only on navy
Body
Nunito Sans
As now
As now, one size up, 60ch measure
Label layer
League Spartan 600, tracked caps
Not present (pill eyebrows instead)
The logo's "PEO ADVISORS" treatment becomes the eyebrow and table-header style, with a short green rule
Devices carried through the rebuild, each carrying real information and each built from the logo's column: the Load Diagram (hero: five employer obligations on a beam carried by the fluted column), the Service Schedule (services as a schedule with marks A-1, P-1, F-1, T-1, B-1), the Load Report (the audit deliverable, rebuilt in the DOM with pass/watch/fail), the inspection tag (green hang-tag with price and duration), and green-rule section eyebrows. The mockups in S-10 show all of them at full scale in the brand.
Sheet S-07
Positioning and service architecture
The one-line position
Pillar is the independent HR firm for professional-services firms of 10 to 150 people anywhere in the U.S., headquartered in Charlotte: fixed-price audits and projects, fractional HR, and clean transitions into or out of a PEO, in every state your people work in.
Why this and not "HR for small business": the professional-services niche has money, recurring compliance risk, referral networks (CPAs refer attorneys refer engineers), and a buyer who understands fixed-fee engagements. "Small business" is everyone and therefore nobody.
Name and domain
The brand stays: Pillar PEO Advisors, the logo, the navy and green, pillarpeo.com. What changes is the sentence after the name. Today the site introduces itself as "your independent PEO broker"; the rebuild introduces Pillar as "HR advisory for professional-services firms, nationwide, from Charlotte" and lets PEO brokerage be the free service inside that. Two consequences to manage:
Every AI engine currently describes Pillar as a PEO broker, because that is all the site has ever said. Fix it at the entity level: the Organization schema, llms.txt, the LinkedIn tagline, and the GBP description all lead with the HR audit and list brokerage last. Expect three to six months for that description to shift in AI answers.
Register pillarhradvisors.com defensively (available at whois on 5 Sep 2026; pillarhr.com and pillaradvisors.com are taken) and point it at pillarpeo.com. It costs nothing and keeps the option open without touching the brand.
The service ladder, with proposed public pricing
Prices are set from market ranges (HR consulting retainers $1,500–$7,000/month; project HR $5,000–$50,000; hourly $100–$300) and pitched at the low-friction end so the audit is an easy first yes. Validate with the first ten prospects and move.
Mark
Service
Price
Role in the funnel
A-1
HR Audit (the Load Report)
$2,500 / $4,000 / $6,000 by headcount band
Entry product. Public price. Every other service is a finding in this report.
The "fractional transition" and "HR transitions and systems" the founder asked for. High-value, seasonal, referral-generating.
B-1
PEO brokerage
$0 to client; provider commission disclosed in writing
Free side door. Keeps the existing content and referral flow alive.
Conflict disclosure. Charging for an audit and earning commission on the PEO it might recommend is a conflict a managing partner will spot. Publish a /how-we-get-paid/ page that says exactly how each service is paid, that the audit fee does not change based on the recommendation, and what the commission range is. This page will also get cited by AI engines answering "are PEO brokers free".
Messaging pillars (use in this order on every page)
Fixed price, quoted before work. Nobody else in the Carolinas publishes HR consulting prices.
Every state your people work in. Multi-state is the default, not an add-on. NC and SC side by side is the home example.
Independent. No software to sell, no insurance to place, commissions disclosed.
Founder-led. Caleb ran a company and paid the fines. On site within 45 minutes of Uptown; on a call anywhere else.
Sheet S-07b
Protecting the traffic you already have
The founders report strong monthly traction today. That changes how the rebuild is sequenced, not whether it happens. Where that traffic comes from decides what must not move. Before a single URL changes:
Export Search Console (16 months): pages, queries, impressions, clicks, average position. Export GA4 landing pages by source. Any URL with impressions or conversions keeps its path in the rebuild, or gets a one-hop 301 that is tested before launch.
Reconcile the redirect map in S-08 against that export. Where I merged pages (the three PEO-cost pages, the three nonprofit pages), keep the URL that ranks and redirect the others into it. If two rank for different queries, keep both and differentiate them instead of merging.
Phase it. Phase 1: ship the static rebuild with every existing URL preserved and the same titles, so the only change Google sees is faster, server-rendered HTML. Phase 2 (two to four weeks later, once Search Console is stable): new services, industries, and metro pages added, navigation changed, and the deduplication redirects applied. Phase 3: the state-guide series.
Watch the right numbers. Daily for the first two weeks after each phase: indexed pages, 404s and soft-404s in Search Console, clicks on the top 20 URLs, and bookings. A dip of a few days after a migration is normal; a dip past two weeks on a page that kept its URL means a rendering or canonical problem.
Keep GA4 and the HubSpot booking IDs identical across the migration so the before/after comparison is clean.
One likely reading of "a lot of traction" on a client-rendered site: Google does render JavaScript and can rank these pages, especially the PEO guides, and LinkedIn plus referrals are strong. The rebuild does not risk that traffic if the URLs and titles are preserved in phase 1. It makes the same pages faster and visible to the crawlers that currently see nothing. Verify the source mix in GA4 before assuming it is organic; if most of it is direct and LinkedIn, the organic upside is larger than it looks.
Sheet S-08
Site map and redirects
Navigation: Services ▾ · Industries ▾ · Locations ▾ · Resources · About · [Book an HR audit]. Footer carries the full NAP, hours, all locations, and the legal spine.
/ Home
/services/ Overview + service schedule
/services/hr-audit/ A-1 (mockup 02)
/services/hr-projects/ P-1 hub
/employee-handbook-nc-sc/ /flsa-classification-review/ /i-9-e-verify-remediation/
/compensation-benchmarking/ /performance-management/ /manager-training/
/services/fractional-hr/ F-1 with three tiers
/services/transitions/ T-1 hub
/peo-exit/ /peo-switch/ /peo-implementation/ /hris-migration/ /payroll-provider-switch/
/services/peo-brokerage/ B-1 (absorbs /peo-broker, /how-it-works, /switch-your-peo, /do-we-need-a-peo)
/industries/ law-firms/ cpa-firms/ engineering-architecture/ medical-dental/ financial-advisors/ nonprofits/
/hr-consulting/ Locations hub (NC + SC map)
/hr-consulting/charlotte-nc/ (mockup 03) + 11 more metros
/resources/ Guides index, filterable by topic
/resources/state-employer-guides/ Hub for the 50-state series
/resources/state-employer-guides/north-carolina/ /south-carolina/ /georgia/ ... one per state, no thin pages
/resources/multi-state-employer-checklist/ /resources/nc-vs-sc-employment-law/ /resources/hr-audit-checklist/ ...existing PEO guides, deduplicated
/tools/hr-risk-score/ (renamed quiz) /tools/peo-cost-calculator/
/case-studies/ One per engagement, anonymized if required
/about/ /about/caleb-sherrill/ /how-we-get-paid/ /pricing/ /contact/
/pricing.md /llms.txt /llms-full.txt /sitemap.xml /404.html
No Ahrefs or Semrush access in this pass, so volumes are not stated. Evidence is Google autocomplete on 5 Sep 2026: a term that autocompletes has measurable demand; one that returns nothing usually does not. Priority reflects demand × fit × winnability.
Cluster
Queries (autocomplete-confirmed in bold)
Intent
Page
Priority
Local HR consulting
hr consultant charlotte nc, hr consulting firms charlotte nc, hr consulting raleigh nc, hr consulting firms in raleigh nc, hr consulting greenville sc, hr consultant charleston sc, hr consultant columbia sc
Buy
Metro pages
1
Local PEO
peo charlotte nc, peo raleigh nc, peo greenville sc, peo charleston sc, peo columbia sc
Buy / compare
Metro pages + brokerage
1
HR audit (national)
hr audit, hr audit checklist, hr audit checklist template excel, hr audit checklist pdf, hr compliance audit, hr compliance audit checklist, hr audit cost, what does an hr audit include, hr audit process
State compliance (NC/SC first, then national series)
is e verify mandatory in north carolina, north carolina e verify law, is e verify mandatory in south carolina, north carolina employee handbook requirements, south carolina employee handbook requirements, south carolina employee handbook disclaimer; then the same patterns per state (e.g. "georgia employee handbook requirements", "is e verify mandatory in florida")
hr for law firms, hr consultants for law firms, hr systems for law firms, hr for medical practices
Buy
Industry pages
2
PEO education (national, existing)
is a peo worth it, what is a peo broker, how much does a peo cost per employee, best peo for small business, peo vs hr consultant
Learn
Existing guides, deduplicated, sourced
3
Dropped: "peo broker {city}" (no demand), "hr headache" (autocompletes to medical queries), "hr for accounting/engineering/architecture firms" (no autocomplete; write the industry pages for referrals and AI fan-out, not for search volume). Not yet checked: per-state volumes outside the Carolinas; pull them from GSC and a keyword tool before sequencing the state series.
Sheet S-10
Mockups
Three full-scale pages, built in the proposed design system with real copy. Open each in a new tab; they are responsive. Dashed "slot" boxes mark proof that has to be collected before launch; they are deliberate and should never ship empty.
Not mocked, but specified: the About page (founder page with credentials and a "how we get paid" section), the state employer guides (long-form with the NC/SC comparison table pattern from the homepage), and the HR Risk Score tool (nine questions, instant score, email for the plan).
Sheet S-11
Build spec
Layer
Choice
Why
Framework
Astro 5, static output, MDX content collections
Zero JS by default, per-page frontmatter drives title/meta/schema, sitemap with lastmod built in
Hosting
Cloudflare Pages (already on Cloudflare)
Real 404s, _redirects, _headers, edge cache, free
Forms
Cloudflare Pages Function → HubSpot Contacts API; Turnstile for spam
Keeps HubSpot as CRM, no third-party form JS
Booking
HubSpot Meetings embedded in-page; GA4 event on the meetingBookSucceeded postMessage
HSTS (keep), CSP, Referrer-Policy, Permissions-Policy; Cache-Control: public, max-age=0, s-maxage=86400, stale-while-revalidate on HTML
Security + speed
Email
DMARC to p=quarantine then p=reject; BIMI optional
Outbound deliverability for the referral campaign
Effort estimate for a competent Astro developer: 3–4 weeks for the shell, templates, 30 pages of migrated content, redirects, and schema; content writing for the new services, state guides, and wave-1 metros runs in parallel and is the real bottleneck.
Sheet S-12
90-day plan
Week
Do
Owner
Done when
1
Register pillarhradvisors.com defensively. Decide the address. Create and verify GBP. Set up Search Console and Bing Webmaster for both domains. Collect the first five testimonial asks (S-15).
Caleb
GBP verification postcard requested; 5 asks sent
1–2
Write the HR Audit product spec into a sellable one-pager (S-17). Sell three audits to existing relationships at the launch price. These become case studies.
Write: services (5, national), industries (6, national), Charlotte + Rock Hill/Fort Mill + Raleigh pages, NC and SC employer guides, multi-state employer checklist, NC vs SC comparison, HR audit checklist (PDF + XLSX), how-we-get-paid, founder page.
Caleb (voice) + writer
Counsel review complete
3
Citations: BBB, Apple Maps, Bing Places, Yelp, Clutch, Alignable, Charlotte Regional Business Alliance, chambers. NAPEO membership if not held.
Emily
12 listings live, NAP identical
5
Collect testimonials and the first case study from the three audits. Record three 60-second videos with Caleb.
Josiah
5 quotes with numbers
6
Launch on pillarpeo.com. 301 every old path. Submit sitemaps. Request indexing on the 20 most important URLs. Announce on LinkedIn with the "two rulebooks" table as the post.
Developer + Caleb
Live; zero 404s in GSC after 72 h
7–10
Wave 2 metro pages (Greenville, Charleston, Columbia). State guides for the next 4 states where clients have people. Two articles a week from S-14. Weekly GBP post. Review asks after every engagement.
Writer + Emily
3 pages + 8 articles
8
Referral partner outreach: 40 CPAs and 40 employment attorneys in Charlotte and Greenville (S-15).
Josiah
10 conversations
11–13
Wave 3 metros. First AI-visibility check (S-16). Review Search Console queries; add FAQs for questions people actually typed. Run the first A/B test from S-05.
All
Baseline report
Sheet S-13
Local presence kit
Google Business Profile setup
Business name exactly "Pillar PEO Advisors" (no keywords appended; Google suspends for it).
Primary category Human resources consulting; secondary Business management consultant.
Service-area business covering Charlotte metro and the 11 other metros, or a verified physical address if you have a suite.
Services list mirroring the service schedule with prices ("HR Audit, from $2,500"). Set the service area to the Charlotte metros you visit; the national work is a website claim, not a GBP claim, and GBP suspends for over-broad areas.
Description (750 chars) leading with fixed-price HR audits for professional firms, headquartered in Charlotte and working nationwide.
Hours, phone, website (UTM-tagged), booking link (the embedded calendar page).
Ten photos: team, Caleb at a client office in each metro as you go, the Load Report cover.
Q&A: seed five questions from the FAQ and answer them yourself.
Weekly post from the content calendar; every post links to a page.
Citation list (NAP identical on all)
Google Business Profile · Apple Business Connect · Bing Places · Yelp · BBB (accreditation optional) · Clutch · Alignable · LinkedIn company page (update tagline and address) · Charlotte Regional Business Alliance · NC Chamber · SC Chamber · Rock Hill/York County Chamber · Greenville Chamber · Charleston Metro Chamber · NAPEO member directory · SHRM vendor directory · NCACPA and SCACPA sponsor/partner pages · Crunchbase · Facebook page (even if unused, for NAP).
Sheet S-14
Content calendar: first twelve weeks after launch
Wk
Piece
Target query
Format
1
Multi-state employer checklist: what happens the day you hire in a new state
national, multi-state compliance
Checklist + HowTo schema
1
NC vs SC employment law for firms with staff in both
informational, cross-border, local
Comparison table + 2,000 words
1
Is E-Verify mandatory in North Carolina? (and SC companion)
is e verify mandatory in north carolina
Direct answer + thresholds + penalties
2
HR audit checklist for Carolina firms (PDF + XLSX)
hr audit checklist template excel
Ungated download + gated "with notes" version
2
What does an HR audit include, and what does it cost?
what does an hr audit include / hr audit cost
Guide with the 9 areas and price bands
3
North Carolina employee handbook requirements
north carolina employee handbook requirements
Checklist article
3
South Carolina employee handbook requirements (incl. disclaimer language)
south carolina employee handbook disclaimer
Checklist article
4
Paralegal overtime: the classification mistake in half the Charlotte firms we audit
hr for law firms
Industry article, case-based
4
Case study 1: 42-person CPA firm, Charlotte + Fort Mill
proof
Before/after with numbers
5
PEO exit checklist and timeline (why January 1 matters)
peo exit checklist
Checklist + HowTo schema
5
Fractional HR vs PEO vs full-time: cost comparison for a 40-person firm
peo vs fractional hr
Table-first
6
Switching payroll providers mid-year without duplicate W-2s
switching payroll providers mid year
Guide
6
Workers' comp thresholds by state, and the remote employee trap
compliance, national
Table-first article
7
HRIS implementation plan for a 10–150 person firm (Gusto, Rippling, Paylocity, BambooHR)
hris implementation project plan
Guide + template
7
Busy-season overtime for CPA firms: comp time is not a thing
industry
Article
8
Charlotte Non-Discrimination Ordinance: what your handbook needs
Medical practice HR: what an OSHA visit and a credentialing audit both want to see
hr for medical practices
Industry
10
Personnel file vs medical file vs I-9 file
compliance
Short answer
11
Pregnancy and lactation accommodation in SC (15+) and under PWFA
compliance
Article
11
Engineering firm HR: exempt designers and public-contract wage rules
industry
Industry
12
How we get paid (expanded, with commission ranges)
are peo brokers free
Trust page
12
Quarter review: refresh dates on all guides; add FAQs from GSC queries
freshness
Maintenance
Every piece: a 40–60 word direct answer under the first H2, one cited statistic, an "Updated" date, the author byline linking to the founder page, a contextual CTA to the matching service, and a 60-second video version for LinkedIn and YouTube where Caleb already has a post on the topic.
Sheet S-15
Scripts
Testimonial ask (email, to a past brokerage client)
Subject: One sentence, if you have it
Hi [Name], we're rebuilding the Pillar site and I'd rather show what clients say than what I say. Could you give me two sentences: what we did, and what changed, ideally with a number (hours a month, a renewal percentage, a fine you didn't pay)? I'll send it back for approval before it goes anywhere with your name and firm. If you'd rather stay anonymous, "Managing partner, Charlotte law firm" is fine too. Thanks, Caleb
Google review ask (text, day after the Load Report walkthrough)
[Name], thanks again for yesterday. If the audit was useful, a Google review helps other Carolina firms find us: [short link]. Mentioning the city and what we did (e.g. "HR audit for our Greenville CPA firm") helps more than a star rating. No pressure either way.
CPA referral partner (email)
Subject: HR audit for your clients with staff in more than one state
Hi [Name], I run Pillar PEO Advisors in Charlotte; we work with firms nationwide. We do fixed-price HR audits ($2,500–$6,000) for firms of 10–150 people, and the finding we hit most often is a client who hired someone in a new state and never registered there. You see those clients before we do. Two things I can offer: a one-page multi-state employer checklist you can hand to clients with your name on it, and a 20-minute HR risk check for any client you send, free. Worth a coffee? I'm near [their office] most Tuesdays. Caleb
Employment attorney referral (email)
Subject: The audit that happens before the call to you
Hi [Name], I'm Caleb Sherrill at Pillar PEO Advisors. We run fixed-price HR audits for professional firms nationwide, based in Charlotte, and we refer anything that smells like a claim or an investigation straight to counsel; we don't practice law and we say so on every page. We're happy to run audits under your engagement when a client wants privilege. I'd like to be the firm you send the "we should probably look at our handbook" clients to. 20 minutes?
Chamber / association outreach
Subject: A 30-minute session your members will use the next day
Hi [Name], I'd like to offer your members a free 30-minute session: "Two rulebooks: the six NC vs SC employer rules that bite firms with staff in both states." No pitch; the handout is the checklist. Would [month] work?
Sheet S-16
Tracking and KPIs
Events (GA4, via Zaraz)
Event
Fires when
Marked as conversion
meeting_booked
HubSpot embed postMessage meetingBookSucceeded
Yes (primary)
form_submit_contact
Worker returns 200
Yes
phone_click
Any tel: link
Yes
risk_score_complete / risk_score_email
Score shown / email submitted, with score band as a parameter
Email: yes
checklist_download
PDF/XLSX click
Yes (micro)
pricing_view
Pricing table 50% in viewport
No
Also: a call-tracking number for GBP (CallRail or similar, NAP-safe with a tracking number shown only on GBP and swapped on-site via script), UTM on the GBP website link, HubSpot lifecycle stage set from the form's firm-size field, and Search Console + Bing Webmaster on the new domain.
Targets
90 daysGBP verified with 10+ reviews; 12 citations; 300+ indexed URLs impressions/day in GSC; 6 audit bookings from the site
6 monthsMap pack for "hr consultant charlotte nc"; page-1 for 5 state-compliance queries; top-20 for "hr audit checklist" and "fractional hr services"; 15 audits sold, at least 5 from outside the Carolinas; Pillar cited in at least 3 of 20 AI test queries
12 monthsTop 3 organic for "hr consulting firms charlotte nc"; page-1 for "hr audit" and "peo exit checklist"; 12 metro pages and 15 state guides ranking; 30% of revenue from fractional retainers
AlwaysZero pages with an empty proof slot; every guide refreshed within 6 months
Monthly AI-visibility check (20 queries)
hr audit services for small law firms · fixed price hr audit · fractional hr companies · how to leave a peo · multi-state employer compliance checklist · hr consultant charlotte nc · best hr consulting firms in charlotte · hr audit for a law firm · how much does an hr audit cost · fractional hr charlotte · peo broker charlotte · is e-verify required in north carolina · is e-verify required in south carolina · north carolina employee handbook requirements · south carolina employee handbook requirements · how to leave a peo · peo vs fractional hr · best peo for a 40 person cpa firm · hr consulting greenville sc · hr consultant raleigh nc · charlotte non-discrimination ordinance employer · nc vs sc employment law · are peo brokers free · what is a peo broker · pillar peo advisors reviews. Log: cited? who is? which page?
Sheet S-17
HR Audit product spec (the Load Report)
This is the thing the site sells first, so it has to exist before the site does.
Element
Spec
Price
$2,500 (10–25) / $4,000 (26–75) / $6,000 (76–150). Quoted on the scope call, fixed. States are priced into the bands (up to 2 / up to 5 / unlimited). Over 150 employees: custom.
Duration
15 business days from document upload. Client time: ~4 hours.
Owner/managing partner, whoever runs payroll, one manager, one newer employee (30 min each).
Nine areas
1 Hiring, I-9, E-Verify · 2 Classification and wage-hour · 3 Handbook and policies · 4 Payroll and tax registrations · 5 Benefits, ACA, COBRA · 6 Leave and accommodations · 7 Records, retention, privacy · 8 Safety and workers' comp · 9 Offboarding and final pay. 41 checks total, each mapped to a federal rule plus a state addendum for every state with an employee.
Scoring
Pass / Watch / Fail per check; area status is the worst check in it. Exposure estimate in dollars for each Fail (back pay, penalty range, premium).
Deliverable
The Load Report (PDF, 12–20 pages): one-page summary, nine area pages, 90-day plan with owner and week, appendix of rules cited. Plus a 90-minute walkthrough.
Follow-on
Each Fail maps to a fixed-price project or a fractional tier. If a PEO is the fix, the comparison is free. Re-audit at 12 months at 50% for fractional clients.
Legal posture
"Pillar is not a law firm. Findings are reviewed with your counsel." Option to run under counsel's engagement for privilege at the same fee.
Sheet S-18
Copy deck
Homepage hero, three options
HR that bears the load. (used in mockup) Sub: Fixed-price HR audits, projects, fractional support, and PEO or HRIS transitions for law, accounting, engineering, and medical firms in any state. Headquartered in Charlotte.
Your firm is an employer in more states than it thinks. Sub: HR advisory that checks every rulebook your people work under, fixes what it finds at a fixed price, and stays on as your fractional HR lead.
Find out what your HR is carrying before it fails. Sub: A fixed-price audit, then the fixes, from an independent firm that discloses how it gets paid.
CTAs
Primary: "Book an HR audit" (with "from $2,500" where space allows). Secondary: "Compare PEOs, free". Tertiary: "Get the NC/SC checklist". Never "Learn more", never "Submit", never "Schedule a PEO Strategy Call" on a page that is not about PEOs.
Section heads worth keeping from the current site, reframed
"The wrong setup costs more than the monthly fee" → "The wrong setup costs more than the audit."
"Bad decisions start with bad assumptions" → keep, with HR myths: "We're too small for E-Verify" (not in SC), "Salaried means exempt", "The PEO handles compliance" (not classification, not your managers).
"Make a confident next-step decision" → drop; it is filler.
Title and description patterns
Page
Title (≤60)
Description (≤155)
Home
HR Advisory for Professional Firms | Pillar PEO Advisors
Fixed-price HR audits, fractional HR, and PEO transitions for law, CPA, engineering, and medical firms nationwide. Headquartered in Charlotte, NC. Independent.
HR Audit
HR Audit for Small Professional Firms, from $2,500 | Pillar
Nine areas checked against federal rules and every state you employ in. Fixed price, 2–3 weeks, a 90-day fix plan. Book a 20-minute scope call.
Charlotte
HR Consulting in Charlotte, NC | Pillar PEO Advisors
Charlotte HR consultant for firms of 10–150: fixed-price audits, fractional HR, PEO exits. Covers your Fort Mill and Rock Hill staff under SC rules too.
NC guide
North Carolina Employer Guide 2026: HR Rules by Headcount
E-Verify at 25, workers' comp at 3, wage notices, REDA, final pay, handbook requirements. Reviewed by employment counsel; updated quarterly.
Sheet S-19
Launch QA checklist
curl any inner URL: title, H1, body text, and JSON-LD present in the response without JavaScript.
A made-up URL returns HTTP 404. www redirects to apex with 301. Legacy Wix paths redirect.
Every URL in the old sitemap resolves to a 200 after at most one redirect. No chains.
Rich Results Test passes on home, one service page, one metro page, one article, one FAQ.
Lighthouse mobile ≥ 90 performance, 100 accessibility, 100 SEO on home and one metro page. LCP under 2.5 s.
All buttons ≥ 4.5:1 contrast. Keyboard focus visible. Skip link present.
Phone is a tel: link; address matches GBP character for character.
Form submission creates a HubSpot contact and fires form_submit_contact; booking fires meeting_booked.
No proof slot is empty. No "lorem", no "[Name]", no "282xx" left in copy.
llms.txt, pricing.md, sitemap.xml, robots.txt, 404.html all return 200 with correct content types.
DMARC at least p=quarantine before the outreach campaign starts.
Search Console: sitemap submitted, top 20 URLs requested for indexing.
Method
Pass log, and what was not verified
Pass 1 (evidence). Pulled raw HTML and headers for 20 URLs, the sitemap, robots, llms.txt, DNS. Rendered home, Charlotte, quiz, and a 404 in headless Chrome and diffed against raw. Inspected the 761 KB bundle for routes, schema, titles, dates, and form handlers. Ran Lighthouse 12 three times. Pulled Google autocomplete for 50 seed queries. Read four competitor pages. Checked whois on five domains.
Pass 2 (challenge). Re-checked claims that would embarrass the report if wrong. Corrected: an early mobile screenshot suggested horizontal overflow; Lighthouse's device emulation shows none, so that claim was dropped. Confirmed schema does exist (JS-injected), so the finding is "invisible without JS and inconsistent", not "missing". Confirmed /services is a client-side redirect, not a 404. Confirmed the invalid "May 2026" dates against the bundle rather than the rendered page.
Pass 3 (build and read-back). Built the mockups, then read the report against them for contradictions in prices, service names, and thresholds. Aligned the audit bands ($2,500 / $4,000 / $6,000) and the nine areas across all four documents. Ran the state-law table against two independent sources each.
Pass 4 (QA against the live site, after the client noted strong monthly traffic). Re-tested every finding that could be wrong. Corrected four: the phone is a tel: link in the header and footer (only the contact-page card is not); the hero image already has fetchpriority="high" and dimensions (the problem is that the tag exists only after JavaScript); the route count is 49, not 50; the quiz does capture first name and email in the bundle. Confirmed the rest: Googlebot and GPTBot user agents both receive the same 2,994-byte shell with no server-side rendering for bots; /blog and /services duplicate other pages but carry client-side canonicals; contrast ratios (white on green 2.1:1, navy on green 8.8:1, #1A7A45 on white 5.4:1); no lastmod in the sitemap; the chat avatar is not one of the three team members on the About page. The search index I can query (not Google Search Console) returns only the homepage and legacy Wix URLs with old titles for Pillar; the Charlotte page did not appear for its own exact title. Treat that as a signal to check the Search Console pages report, not as proof. All the traffic-protection guidance in S-07b follows from this pass.
Pass 5 (design). After the client rejected the first refined-brand mockups, the creative-director and product-designer agents produced a module spec and a UX critique, and the front-end design agent rebuilt the three mockups from those. See S-10.
Not verified, and how to verify
Google Business Profile. Web search found no listing; I could not query Maps directly. Search "Pillar PEO Advisors" in Google Maps. If a listing exists, the S-13 work becomes an edit, not a creation.
Search volumes and rankings. No Ahrefs/Semrush/GSC access. Autocomplete is a demand proxy, not a count. Pull GSC for the last 16 months before finalizing the keyword map.
Quiz lead capture and contact-form destination. Not exercised end to end. Submit both and check where the record lands in HubSpot/GoHighLevel.
Backlink profile. Unknown. Pull from Search Console's Links report or Ahrefs before the domain decision; if there are meaningful links, the 301 plan preserves most of their value.
"Used by 100+ business owners." Take it from GA4 or the quiz backend, or remove it.
State-law thresholds. Checked against two sources each on 5 Sep 2026, but statutes move; employment counsel signs off on the published tables. SC bills 3218 and 4797 (E-Verify documentation) were pending in the 2025–26 session at the time of writing.
Twitter handle @PillarPEO in the meta tags: existence not confirmed. Remove the tag if the account is dormant.