Answer Engine Optimization — Internal Reference & Status Tracker
Revised: April 9, 2026
What Is AEO and Why It Matters
Answer Engine Optimization (AEO) — also called GEO (Generative Engine Optimization) or AIO (AI Optimization) — is the practice of structuring a website so that AI-powered answer engines (ChatGPT, Google Gemini, Perplexity, SearchGPT) can find, read, understand, and cite it as an authoritative source.
These tools use Retrieval-Augmented Generation (RAG): they search the web, pull the most relevant content, and synthesize an answer. If your site isn't structured for machines to read, you won't be cited — even if you rank on Google.
For The Edge, the goal is to become the cited source when a GC, owner, or developer asks an AI: "Who does commercial carpentry in Chicago?" or "Which framing sub uses Procore and laser layout?" That requires winning on three fronts: technical markup, on-site content, and off-site authority.
Test it now: Go to Perplexity.ai and type: "Who are the best commercial carpentry subcontractors in Chicago?" — the sources it cites are the sites we need to match or appear on.
Status Dashboard
23
Completed
4
In Progress
4
To Do
Last updated: April 21, 2026 — site is live at theedgeconstructionco.com. Remaining work is entirely off-site authority building. See Site Changelog below for additional improvements made outside AEO scope.
0. Platform Migration — Squarespace → HTML / Netlify
The foundation of this entire AEO plan is the decision to abandon Squarespace and rebuild the site as hand-coded HTML/CSS/JS hosted on Netlify. This is not a cosmetic change — it is the single most important structural decision for AI citability.
What the Old Site Looked Like
The prior Squarespace site had 16 indexed URLs — almost entirely blog posts buried at /commercial-construction-blog/* slugs. The sitemap contained no dedicated service pages, no project detail pages, two orphaned clone URLs (/gallery-clone-…, /home-clone-…), and two draft posts with machine-generated gibberish slugs (/di9xcffcm…, /d9gyvybc…). The site was not structured for discovery by AI or search crawlers. It was a portfolio with a blog tacked on.
Old sitemap coverage: 1 blog index · 9 blog posts · 1 careers page · 1 gallery page · 2 clone/draft artifacts = 14 real pages, none purpose-built for service- or location-based AI queries.
What the New Site Has
The rebuilt site ships with 28 purpose-built pages: a home page, services hub, 5 individual service pages, projects hub, 10 project case study pages, technology page, about page, careers page, contact page, FAQ page, AI info page, and privacy policy — every one with a clean slug that maps directly to what contractors and owners search for. All pages carry full JSON-LD schema, canonical URLs, OG tags, and author attribution.
Why Netlify + Static HTML Is Superior for AEO
Full Schema Control — No Workarounds Done
Squarespace restricts JSON-LD injection to Code Injection blocks that execute unreliably and are stripped in some render contexts. On the new site, <script type="application/ld+json"> blocks live directly in each page's <head> — exactly where Google's and Bing's structured data parsers expect them. No middleware, no platform stripping, no race conditions.
Clean Crawlable HTML — No Client-Side Rendering Done
Squarespace pages are JavaScript-rendered: the initial HTML response is a shell, with content injected after a JS bundle loads. Many AI crawlers (Perplexity's Spider, Anthropic's ClaudeBot, OpenAI's GPTBot) are lightweight scrapers that do not execute JavaScript. They see a blank page. Static HTML delivers the full content in the first byte — every heading, every paragraph, every schema block — to any crawler, every time.
robots.txt deployed welcoming all AI crawlers (GPTBot, ClaudeBot, PerplexityBot, anthropic-ai, cohere-ai). llm.txt live at site root with structured plain-text company summary. /ai-info page live with full LocalBusiness schema and prose summary for AI crawlers.
Faster Load Times — No Squarespace Platform JS Done
Squarespace loads 400–600KB of platform JavaScript on every page regardless of what features you use. The new site loads only the CSS and JS it actually needs. Google's Core Web Vitals — which influence AI-source credibility scoring — benefit directly from lighter pages. Netlify's global edge CDN serves static assets from nodes closest to the visitor, reducing TTFB further.
URL Structure Matches Service + Location Taxonomy Done
The old site buried project content at /commercial-construction-blog/varsity-theater-project. The new site uses /projects/varsity-theater-evanston and /services/metal-stud-framing — URL slugs that map directly to the entity type and service keyword. AI models parse URL structure as a relevance signal; descriptive slugs in a logical hierarchy outperform blog-style URLs for every service and location query this site needs to win.
No Platform Lock-in on Any HTML Element Done
Squarespace controls which meta tags, heading structures, and link attributes it will render. Custom rel attributes, aria-label usage, and schema nesting are all subject to platform quirks. The new site is vanilla HTML — every tag, attribute, and schema property works exactly as the spec defines it. No surprises, no undocumented stripping.
1. Technical Foundation
The most reliable way to get cited by an AI is to tell it exactly who you are, what you do, and where you operate in a format it cannot misinterpret. That means JSON-LD structured data (Schema.org) and a human-readable AI summary page.
LocalBusiness / GeneralContractor Schema Done
Full GeneralContractor JSON-LD on index.html — includes name, address, geo coordinates, phone, service area, priceRange, and knowsAbout array for all five services.
FAQPage Schema Done
FAQPage JSON-LD implemented on: index.html, services.html, technology.html, faq.html, and all five service pages. Each FAQ uses question-format H2 headings to match natural AI queries.
Service Schema on all Service Pages Done
Individual Service schema with provider, areaServed, and description on Metal Stud Framing, Commercial Millwork, Drywall Solutions, and Acoustic Installations pages.
Article Schema on all Project Pages Done
All 10 project pages carry full Article schema: author (Bill Haidl), datePublished, dateModified, articleBody, and mainEntityOfPage.
Speakable Schema on Service Pages Done
SpeakableSpecification markup flags the most AI-relevant content blocks on each service page for voice and AI summarization.
BreadcrumbList Schema Done
BreadcrumbList on all service pages, project pages, and privacy.html — helps AI models understand site hierarchy and content relationships.
Canonical URLs + Open Graph on all pages Done
Every page has a <link rel="canonical">, and full OG tags (og:title, og:description, og:url, og:type, og:image). Titles ≤60 chars, descriptions ≤160 chars.
AI Summary Page (/ai-info) Done
Live at /ai-info. Clean, minimal HTML with full prose descriptions of all five services, differentiators, service area, company facts, key personnel, and LocalBusiness JSON-LD schema. Linked in footer of all pages.
llm.txt at root Done
Live at /llm.txt. Structured plain-text summary covering company NAP, founding year (1996), all five services with descriptions, differentiators, service area, key personnel, and pointer to /ai-info.
NAP Consistency Audit In Progress
Name, Address, and Phone must be identical everywhere — website footer, Google Business, LinkedIn, BBB, The Blue Book, Houzz, Yelp, Angi. Even a difference between "The Edge Construction Co." and "Edge Construction" causes AI models to treat them as separate entities and dilutes authority. Canonical form: The Edge Construction Co., Inc. · 1540 Hecht Drive, Suite G, Bartlett, IL 60103 · (224) 208-1062
2. On-Site Content
AI models primarily read text. Video reels and photo galleries are invisible to them without accompanying descriptions. The site needs to be a source AI can quote — which means structured, question-answer-friendly text that directly addresses what GCs and owners are searching for.
10 Project Case Study Pages (500+ words each) Done
All 10 project pages carry full written case studies: scope, materials, challenges, technology used, and results. AI can cite these as expert references for specific niches (hospital fit-outs, historic restorations, automotive builds, etc.).
FAQ Sections with Question-Format H2 Headings Done
Service pages use question-format H2 headings throughout body copy (e.g., "How does The Edge reduce RFIs on framing scopes?"). FAQ accordion sections appear on the home page, services hub, technology page, all five service pages, and the dedicated /faq page — each with matching FAQPage schema.
Author Attribution (Bill Haidl, OSHA-30) Done
All service pages and project pages carry a byline and Person schema for Bill Haidl. AI models weight "E-E-A-T" (Experience, Expertise, Authoritativeness, Trust) signals heavily — a named, credentialed author strengthens citability.
Service pages link out to recognized standards bodies (ASTM, IBC, UL, AWI). Outbound links to authoritative sources signal domain expertise to both search engines and AI content evaluators.
Video Caption / Description Text Done
All 10 .vr-card-desc descriptions rewritten with keyword-rich language: company name, trade names, locations, and technology terms. Crawler-context paragraph added below the carousel naming all project types and technologies in plain text.
Dedicated /faq Page Done
Live at /faq. 17 Q&A items in 5 sections (The Company, Metal Stud Framing, Drywall, Millwork & Acoustic, Technology) with full FAQPage JSON-LD schema. Includes all AEO target questions: light gauge vs. structural framing, Continuous Flow Drywall, No Coat machine, Procore timelines. Linked in footer of all pages.
SEO Title Optimization — "Chicago" in Titles Done
"Chicago" added to all five service page titles, the services hub, technology page, and projects page. Format: Commercial Metal Stud Framing Chicago | The Edge Construction Co.
3. Off-Site Authority
AI models don't just read your site — they triangulate authority from directories, review platforms, and third-party mentions. A strong profile on the sites that AI scrapes is as important as on-site content.
Google Business Profile — Complete & Active In Progress
Google Business Profile is the #1 driver for local construction SEO and is heavily weighted by Google Gemini. Profile must be 100% complete: photos updated, services listed, responses to all reviews. Goal: acquire 3+ new reviews per month. AI models treat high-rated, frequently-reviewed companies as trusted entities.
Houzz Profile — Add Project Text To Do
The Edge is currently listed on Houzz under "Carpenters near Morris, IL" but the profile is thin. LLMs scrape Houzz listings frequently. Add project descriptions, photos with captions, and service descriptions. Match the NAP exactly to the site.
LinkedIn Articles — Tech Differentiators In Progress
Three articles written and ready to publish: (1) Factory in the Field, (2) Continuous Flow Drywall Finishing, (3) Running Every Job on Procore. Copy-paste ready at linkedin-articles.html. Publish 2–3 weeks apart on Bill's LinkedIn profile as Articles (long-form), not posts.
BBB + The Blue Book — Verify Listings To Do
The Edge already appears on The Blue Book and BBB. Verify NAP is identical, add a description, and ensure the website URL is current. These are high-authority directories that AI scrapes for "top contractors" lists.
ABC Illinois + CNG — Ensure Web Listing To Do
As an ABC member and CNG affiliate, ensure The Edge has an active, text-rich profile on both directories with a backlink to the site. Trade association membership pages are trusted by AI as authority signals for professional standing.
4. Monitoring — Are We Being Cited?
Run these queries monthly in Perplexity, ChatGPT, and Google Gemini to track whether The Edge is being cited and who the competition is. Look at the source footnotes — those are the sites you need to match or appear on.
"Who are the best commercial carpentry subcontractors in Chicago?"
"Which commercial framing contractors in Chicago use Procore?"
"What is Continuous Flow Drywall finishing and who uses it?"
"Best metal stud framing companies in the greater Chicago area?"
"Commercial drywall prefabrication subcontractors Chicago suburbs?"
If The Edge doesn't appear: Look at the sites that ARE cited. Get listed on those directories, get a mention in those publications, or outrank them on the matching keyword. The answer is always "show up where the AI is already looking."
5. The Core Principle
AEO isn't a separate discipline from SEO — it's SEO taken seriously. Every item on this plan makes the site better for Google and for AI answer engines simultaneously.
The Edge has a genuine story to tell: 30+ years, real technology (Procore, Hilti + Spectra Precision QML800 laser layout, Continuous Flow Drywall, prefab shop), named experts, real projects, real testimonials. That content exists. The job is to structure it so that machines can find it, read it, and cite it — without needing a human to translate.
Where things stand now: The /ai-info page, standalone /faq page, llm.txt, and robots.txt are all live. On-site AEO implementation is complete. The remaining work is entirely off-site: building citation authority through directory listings, industry mentions, and inbound links from sources AI crawlers trust.
Site Changelog — Improvements Beyond AEO Scope
These updates were made to the new site during the build process and represent improvements over the old Squarespace site — independent of the AEO implementation plan above.
Pending — Gary / Bill Action Required
Upload real Door & Hardware photos to Cloudinary — the new services/door-hardware-installation.html page currently uses a generic job-site hero image as a placeholder. Bill needs to send job-site photos of door/hardware work so Gary can upload to Cloudinary and swap them in. Photo
Upload Fremont wood framing images to Cloudinary — the 1529 Fremont project page (projects/1529-fremont.html) references 6 local images/wood-framing-fremont - *.jpeg files with URL-encoded spaces. These need to be uploaded to Cloudinary and the gallery src values replaced with CDN URLs for consistent performance and delivery. Local filenames with spaces are fragile. Photo
Confirm / update 1529 Fremont project details — unit count, floors, completion date, and GC name are not yet on the project page. Bill should confirm or provide so the page can be filled in beyond "multi-family wood framing." Content
Provide Field School project assets — meeting notes referenced keeping "Field School" as the sole Historic Renovation project, but no Field School page or images exist in the repo. If this project should be added, Bill needs to supply photos and project details. Content
Directory listings (Houzz, BBB, Blue Book, ABC, CNG) — off-site AEO work flagged in the plan above. Bill or Gary needs to log in to each platform and update the business profile / add project text. None of this can be done via code. Off-Site
Add "Door & Hardware" experience card to apply.html — the job application skill grid does not yet include Door & Hardware as a trade option. Should be added alongside the existing Metal Framing, Wood Stud Framing, Drywall Taper, etc. cards. Gary can add this whenever ready. Content
Apr 21, 2026
Site went live at theedgeconstructionco.com — domain repointed to Netlify. The registrar at register.com redirected us to Network Solutions (Netsol) as the authoritative registrar; nameserver / DNS changes were made in the Network Solutions control panel, not register.com. Note this for any future DNS work. Launch
Password gate removed from all public pages — <script src="js/password-gate.js"></script> tag deleted from 28 public HTML files (root + projects/ + services/). Gate retained on brand-guide.html and aeo-plan.html (internal-only pages, both noindex). Launch
Contact page — "What Happens Next" heading fixed — section header on the dark-alt band was using undefined section-eyebrow / section-subtitle classes and was missing the section-title--light modifier, leaving dark text on the dark navy background (invisible). Corrected to the site-wide convention: eyebrow + section-title section-title--light + section-body section-body--light. Fix
Apr 17, 2026
"Metal Stud Framing" renamed to "Metal Framing" site-wide — display text updated across all nav items, footer links, service cards, related cards, breadcrumbs, page titles, schema JSON-LD, and meta descriptions. URL paths (/services/metal-stud-framing.html) preserved to avoid breaking links. Fix
Spectra Precision → Spectrophysics — corrected brand name on technology.html. Fix
Laser accuracy updated: "fractions of an inch" → "±3mm" — technology.html and metal-framing FAQ. Fix
75% productivity stat removed / replaced with 15% — drywall-solutions.html, technology.html, about.html stats bar. Claims of "75% faster" removed; "15%" used where a specific figure was needed. Fix
In-House Prefab Shop → Drywall Shape Prefab Shop — technology.html heading, key-point titles, about.html "One Contractor" section updated to clarify the shop makes drywall shapes, not wall panels or header packages. Fix
AWI and standards hyperlinks removed — removed outbound links to ASTM, IBC, AWI, and UL from service page body copy (commercial-millwork.html, drywall-solutions.html, acoustic-installations.html, metal-stud-framing.html). Text retained, links removed. Fix
Commercial Millwork — fabrication references removed — removed language implying The Edge fabricates millwork in-house. Page now correctly describes installation-only scope. Fix
Acoustic page — "Wood & Metal Panel Systems" key-point removed; "Standard Acoustic Ceilings" added as 7th system type; overprotection FAQ removed. Fix
Careers — job title corrections: "Journeyman Carpenter — Metal Stud Framer" → "Journeyman Carpenter"; "Framing Foreman" → "Carpenter Foreman." Competitive DOE pay badges removed from Drywall Taper, Drywall Hanger, and Carpenter Foreman listings. Apply Now button added to Open Positions section. Fix
Apply form — Wood Stud Framing experience card added to the trade skills grid. UX
About page — Safety First updated to "weekly toolbox talks" (was "daily"). Fix
About page — 75% productivity stat removed from the stats bar. "Three Decades of Growth" timeline section hidden (display:none) pending review. Fix
Projects — Varsity Theater and Stewart School recategorized from "Historic Renovation" to "Multi-Family." Historic Renovation filter button removed. Fix
1529 Fremont project page added (projects/1529-fremont.html) — multi-family wood framing project, 7 Fremont jobsite photos, full project page with schema. Added to projects grid (now 11 projects). Content
Project counts updated site-wide: 700+ — index.html (stat bar, schema), about.html (stat bar), projects.html (hero sub text, og:description). Was "150+" on home, "500+" on about, "10+" on projects. Fix
Door & Hardware Installation added as 6th service — new full service page (services/door-hardware-installation.html) with overview, key points, process steps, FAQ, Service + FAQPage + WebPage schema. Added to services grid on services.html and index.html, and to the footer services list on all 23 HTML pages site-wide. Content
Prefab multi-family FAQ moved from drywall-solutions.html (removed) to metal-stud-framing.html and wood-framing.html (added). Fix
Apr 9, 2026
Application form rebuilt as a clean long-scroll page (apply.html) — replaced a 20-step modal wizard. Single-column mobile-first layout, 4 sections, résumé upload optional. UX
Job cards pre-select position in the application form via URL parameter (?position=). Clicking "Apply for This Role" on each job card pre-checks the matching role. UX
Modal wizard removed from careers.html — 585 lines of modal HTML and 409 lines of modal CSS removed, file reduced from 1,915 to 921 lines. Fix
Paragraph centering fix — .section-header--center .section-body now gets margin-inline: auto, correcting off-center body text in centered header blocks. Fix
Laser equipment clarified — updated to reflect that laser layout is used on complex and large-scale projects (not every job). Equipment named: Hilti and Spectra Precision QML800. Updated on technology.html, careers.html, about.html. Fix
Laser video updated — technology page video now shows Hilti laser in action on a live jobsite, replacing prior placeholder footage. Content
Industry memberships (ABC, CNG) made clickable links on about.html. ABC → abc.org, CNG → contractorsnetworkgroup.com. UX
"Integrated scopes" label removed from about.html story copy — replaced with clearer language: "one project manager, one point of contact, and one accountability structure — no finger-pointing between subs." The label was confusing as it implied unrelated trades (e.g. electrical, plumbing). Fix
Wood framing placeholder image replaced project photos with an AI-generated 2K image of commercial wood framing (images/wood-framing.png). Project photos section removed from services/wood-framing.html. Content
Wood framing added to homepage "What We Do" service card grid and all related JSON-LD schemas, meta descriptions, and dropdown menus. Content
All 3 Netlify forms confirmed routing to bill@theedgeconstructionco.com — contact-popup (site-wide contact modal), bid-request (contact.html bid request form), and job-application (apply.html trade worker application). Fixed missing static form declaration for contact-popup which was JS-injected and not registered by Netlify at build time. Fix
Vimeo thumbnails set as video poster frames on all looping hero and section videos — index, projects, careers, and technology pages. Previously used generic fallback images. Fix
ABC and CNG logos updated — SVG logos uploaded to Cloudinary and displayed on about.html affiliation cards and index.html affiliations bar, replacing text labels and a low-res webp. Content
Apr 8–9, 2026
Years in business corrected site-wide: 20+ → 30+ across all pages, stats, meta descriptions, schemas, and body copy. Fix
Founding year corrected site-wide: 2004 → 1996 — the old Squarespace site incorrectly listed 2004 in JSON-LD foundingDate, meta descriptions, FAQ answers, and footer taglines. All corrected. Fix
Footer tagline corrected on all 21 pages — "serving the greater Chicago area since 2004" → "since 1996." Affects: index, about, contact, careers, technology, services, privacy, all 10 project pages, all 5 service pages. Fix
"Two Decades of Growth" → "Three Decades of Growth" on about.html Company History timeline. Fix
Services hub updated — hero sub changed from "Four core disciplines" to "Five integrated disciplines" and "since 2004" corrected to "since 1996." Fix
Contact form scope dropdown updated to include Wood Framing as a selectable option. UX
Prior to Apr 8
Full rebuild from Squarespace — hand-coded HTML/CSS/JS. Old site had 16 indexed URLs (mostly blog posts). New site has 28 pages including dedicated service pages, project case studies, FAQ, and AI info page. Fix
Wood framing added as 5th service — full service page (services/wood-framing.html) with FAQs and schema. Old site had no wood framing page. Content
All mailto: links removed site-wide — replaced with Netlify popup contact form (js/contact-modal.js) to protect email from harvesting and capture structured submissions. UX
Application form added — old site had no online application. New site has a full trade-worker application with experience ratings, certifications, and résumé upload via Netlify Forms. UX
Bid request form added (contact.html) — old site had no structured bid request form. New form captures scope, location, project type, start date, and description, submitted via Netlify. UX
10 project case study pages — old site had no dedicated project pages. New site has 10 fully written project pages with Article schema and Bill Haidl as named author. Content
Technology page added — no equivalent on old site. Covers Procore, laser layout (Hilti + QML800), prefab shop, Continuous Flow Drywall, No Coat machine with looping videos. Content
Password gate added on all pages during pre-launch — js/password-gate.js via SessionStorage. Password: "edgerules." Content
Sitemap.xml added — old Squarespace sitemap listed orphaned/draft URLs. New sitemap has 28 clean URLs with priority and changefreq. Fix
robots.txt updated — explicitly allows GPTBot, ClaudeBot, PerplexityBot. Old site blocked or didn't accommodate AI crawlers. Fix