| PM Consulting Inc. — Master Website Build Brief |
| :---- |

**Single-source build specification. Hand this one file to any LLM (Claude, ChatGPT, Gemini, or future models) to build a PM Consulting website or page to full spec: correct structure AND correct brand.**

**How to use this file**

This brief has three parts, in priority order:

- **Part A — House Rules (Non-Negotiables).** Brand, writing, and formatting rules that apply to everything. These are absolute. When anything below conflicts with a House Rule, the House Rule wins.
- **Part B — The Local SEO Site Generator Framework.** The PRIMARY authority for how every page is structured, built, and scored. This is the methodology.
- **Part C — Supplementary Layers.** TJ Robertson (GEO) and Dennis Yu (content and distribution). These support the framework. They never override it.

If you are an LLM reading this: build to Part B's structure, obey Part A on every line of output, and only reach for Part C where Part B is silent (mostly content production and distribution).

**Maintained by:** PM Consulting Inc. Source files this brief is assembled from: `~/Projects/local-seo-toolkit/docs/framework.md` (Part B), `~/CLAUDE.md` + memory (Part A), `~/.claude/references/tj-robertson-seo-playbook.md` and `dennis-yu-content-factory-playbook.md` (Part C). Refresh this brief if any of those change.

---

**PART A — HOUSE RULES (NON-NEGOTIABLES)**

These exist because they have been gotten wrong before. Do not violate them. When in doubt, ask rather than guess.

**Writing and formatting**

- **Never use em dashes.** Use periods, commas, colons, or parentheses instead. Rewrite the sentence if needed.
- **Never use emoji characters.** Use inline SVG icons only, anywhere an icon is wanted.
- **Never fabricate data.** No invented stats, reviews, claims, or figures. If the data is not available, leave it out and say so.
- **Sell the outcome, not the drill.** Lead with the reader's pain points and the result they get, not features, tools, or technology names.
- **Tone:** direct, clear, no jargon, short paragraphs. Professional but warm. Casual with contractors, professional with partners.
- **"PM Consulting Inc."** is always written with a space between "PM" and "Consulting." Two words.
- **Every page, email, and document needs a clear next step or CTA.** If one is missing, add it.

**Page structure and components**

- **FAQ answers are always fully visible.** No `<details>`, no accordions, no expand-on-click. Render every answer in plain markup at all times.
- **Global changes apply to every page.** When changing nav, footer, CTAs, or shared widgets, apply the change to ALL pages in the site, not just the homepage. Verify the modified-file count matches the page count.
- **Image and paragraph spacing.** When a two-column intro grid has an image shorter than the text, pull the overflow paragraphs out to full width below the grid instead of stacking them beside the image with dead space.
- **Phases always start at Phase 1.** Never use "Phase 0" in any roadmap, proposal, or phased deliverable.

**Branding and footers**

- **Client websites get a single footer line:** "Website Design by PM Consulting Inc."
- **The three-brand block** (PM Consulting Inc. | AI-Employee.ca | ContractorMarketingEngine.ca) is ONLY for PM Consulting's own properties. Never put it on a client site.
- **Confidential disclosure footer** goes on every proposal, site architecture document, and client-facing deliverable (not on standard public website pages).

**Proposals and client documents**

- **One offer only:** the 5-Pillar Program (Zero Lead Loss). One offer, one CTA. Do not dilute with multiple offers.
- **Payment terms:** 50% upon inception, 50% on delivery. Include this in the investment section.
- **Framing:** anchor high with a "dream package," with pre-positioned tier-down language. Do not lead with discounts.
- **Scheduling:** always propose specific times. Never "when works for you?"
- **Cross-link deliverables:** when producing multiple HTML docs for one client (proposal, mockup, schedule), put a top nav bar on every doc linking to every sibling doc.

**Visual style (PM Consulting brand surfaces and proposals)**

- Dark theme, vibrant multi-color palette, hover effects, bold typography.
- Note: lead-gen SEO client sites follow the framework's CRO and visual standards in Part B. This dark-theme brand style governs PM Consulting's own surfaces, proposals, and interactive deliverables.

---

**PART B — THE LOCAL SEO SITE GENERATOR FRAMEWORK (PRIMARY AUTHORITY)**

The framework below governs how every page is built, structured, and scored. It always wins over Part C. It is subordinate only to Part A.
| LOCAL SEO SITE GENERATOR Core Capabilities — Detailed Overview |
| :---: |

AI-powered website generation for local service businesses.

Every page scored. Every page unique. Every page deployed to a global CDN. Every page built to convert.

**10 integrated capabilities working together as one system.**

---

**The AI Search Reality Check**

Traditional local SEO optimizes for the question your customer types into Google. This framework optimizes for the 2 to 5 follow-up questions an LLM silently asks on the customer's behalf before generating an answer.

DataForSEO's 2026 study of 100,000 ChatGPT prompts found that 47% of prompts trigger fan-out (an average of 2.1 sub-queries per prompt) and that fan-out behavior is most aggressive on local-intent prompts. Words like "where" trigger fan-out 67% of the time; "restaurant," "hotel," "near me," "cost," and "best" all push fan-out rates 10 to 33% above baseline. The model lengthens the user's prompt (typical user prompt: 31 to 60 characters; typical fan-out query: 61 to 90 characters, 9 to 14 words) and injects words like "and," "or," "vs," "best," "top," "cost," "reviews," "near," and the current year.

The framework's job is to be the page that answers each of those fan-out queries cleanly enough to be cited, not just retrieved. Wikipedia ranks #4 in ChatGPT's retrieval frequency but #1 in citation frequency. Volume of mentions does not equal citation. Structure, freshness, comparative content, and entity-rich definitional language do.

Source: DataForSEO, "Inside 100,000 Prompts: How LLMs Use Fan-Out Queries to Navigate the Web" (2026).

**CAPABILITY 1**
**Entitify Content Engine**

**CAPABILITY 2**
**Built-In Quality Scoring System**

**CAPABILITY 3**
**FAQ Page Multiplication**

**CAPABILITY 4**
**AI Image Engine**

**CAPABILITY 5**
**Answer Engine Optimization (AEO)**

**CAPABILITY 6**
**Automated Schema & Internal Linking**

**CAPABILITY 7**
**Drip Publishing System**

**CAPABILITY 8**
**Global CDN Delivery**

**CAPABILITY 9**
**Conversion Rate Optimization (CRO) & Trust Architecture**

**CAPABILITY 10**
**Topical Authority & GBP Synergy**

---

**CAPABILITY 1**

**Entitify Content Engine**

The Entitify engine is the competitive moat of the entire system. It generates genuinely unique, entity-rich content for every location page — not by swapping city names into a template, but by researching the actual local landscape for each area and writing original content built on that data.

**The Problem It Solves**

Most local SEO tools generate location pages by inserting a city name into a fixed template. Google's algorithms detect this pattern easily. The pages look identical, carry no genuine local relevance, and frequently trigger duplicate content or doorway page penalties. Businesses end up with 50 pages that all say the same thing with a different city name.

**How It Works — Step by Step**

**Step 1: Business Profile Intake**

The system ingests the business profile: services offered, service areas, brand voice, certifications, years in business, differentiators. This data feeds every content generation call.

**Step 2: Service + Location Matrix**

The system builds a matrix of every service/area combination. A plumber with 5 services and 20 service areas generates 100 unique page assignments.

**Step 3: Entity Analysis (Google Gemini)**

For each location, Gemini analyzes the local entity landscape. It identifies neighborhoods, landmarks, schools, parks, major intersections, zip codes, community features, and local government entities specific to that area. It returns structured entity triples — subject-predicate-object relationships that form the semantic backbone of the content.

**Step 4: Content Generation (Claude API)**

Claude receives the entity data, service details, and business profile and writes 800–1,500 words of original content per page. The content naturally weaves in local entities so the page reads like it was written by someone who knows the area — because the AI was given real data about the area. Every key sentence is written entity-first: the brand or service name is the grammatical subject, not "we," "our," or "I" (see Entity-First Sentence Construction below).

**Step 5: FAQ Generation**

Each location page gets 3–5 location-specific FAQs. These are not generic questions with a city name inserted — the questions and answers reference local conditions, regulations, and context. Each FAQ also becomes its own standalone page (see Capability 3).

**Step 6: Uniqueness Validation**

Every page is compared against every other page on the site using w-shingling similarity detection. Any page exceeding 40% similarity with another page is flagged and regenerated. This is a critical gate — it blocks deployment.

**Trust-conditional exception (same-service / different-geo pages only).** Practitioner testing in 2026 (James Dooley across 1,000+ sites; replicated by Joy Hawkins / Sterling Sky) found that for pages covering the *same service in a different location*, near-duplicate content can outrank deliberately "spun" unique content — because spinning degrades the semantic relevance of an already-correct page. This does NOT repeal the gate. The risk it guards against (doorway-page penalties, bulk-indexation quality filters) is real and lands hardest on new, low-authority domains. The gate is therefore trust-conditional:

| Site trust tier | Similarity gate behavior |
| :---- | :---- |
| New or low-authority domain (default for every new client build) | <40% strictly enforced. No exception. Genuine entity-rich uniqueness is the moat while the domain earns trust. |
| Established brand with strong branded search + real physical service-area presence | Same-service/different-geo pages may exceed 40% boilerplate similarity, PROVIDED the geo-specific facts genuinely differ (local entities, cost, access notes). The location token and intent must be distinct; the surrounding service explanation may repeat. |

The exception is opt-in per client, never automatic, and applies only to the same-service-across-locations case. Different services, informational pages, and homepages always face the strict gate. When in doubt, enforce <40%.

**Entity Triples — The Core Innovation**

Entity triples are structured subject-predicate-object relationships that tell search engines and AI systems exactly what the content is about. Instead of hoping Google infers meaning from keywords, entity triples state it explicitly.

**Why entity triples matter more than ever:** DataForSEO's 2026 fan-out study showed that retrieval and citation are two different things. Wikipedia ranks #4 in ChatGPT retrieval but #1 in citation; Yahoo ranks #1 in retrieval but #5 in citation. The pages that get *cited* by LLMs share a common shape: short, declarative entity facts. Triples are that shape. Every triple on the page is a citation-ready chunk a model can lift verbatim into an answer.

| Example: "Black Mon Plumbing — provides — emergency drain cleaning in Mt. Lebanon" / "Mt. Lebanon — is located near — Beverly Road and Washington Road" / "Drain cleaning in Mt. Lebanon — requires — familiarity with older clay sewer lines common in South Hills neighborhoods" |
| :---- |

**Entity-First Sentence Construction**

A triple only works if the entity is the subject. The most common failure in local copy is opening with "we," "our," or "I" ("In every roof we lay..." / "Our team has served..."). LLMs and Google parse the subject of the sentence as the entity the claim is about. When the subject is "we," the page hands its citation-ready facts to a pronoun instead of the brand.

The rule: lead every headline, opening line, FAQ answer, and image alt text with the brand or service name as the grammatical subject.

| Weak (first-person) | Strong (entity-first) |
| :---- | :---- |
| "In every roof we lay, quality comes first." | "Eastern Roofing installs slate, tile, and flat roofing across Kansas City." |
| "We offer 24/7 emergency drain cleaning." | "Black Mon Plumbing provides 24/7 emergency drain cleaning in Mt. Lebanon." |
| "Our painters use Benjamin Moore products." | "North Bay Painting Services applies Benjamin Moore Aura on every interior job." |

This also governs the first 7–12 words of every page and social post, because that span is what search engines weight most heavily as the de-facto title. Front-load the entity plus the money keyword inside it. (Field-tested by James Dooley across 1,000+ lead-gen sites and independently confirmed by Joy Hawkins / Sterling Sky, 2026.)

**Scale**

| Metric | Example (5 Services × 20 Areas) |
| :---- | :---- |
| Location pages | 100 unique pages |
| Words generated | 80,000–150,000 total |
| Entity triples per page | 15–30 structured relationships |
| FAQs generated | 300–500 location-specific questions |
| Uniqueness threshold | <40% similarity enforced by critical gate (trust-conditional for same-service/different-geo pages on established brands — see Step 6) |

---

**CAPABILITY 2**

**Built-In Quality Scoring System**

The scoring system is the foundation of the entire platform. It was built first — before any content generation — because nothing goes live unless it passes. It serves as a quality gate, an audit tool for existing websites, and a competitive benchmarking system.

**Three Scoring Pillars**

| Pillar | What It Measures |
| :---- | :---- |
| Page Structure (25%) | HTML architecture, heading hierarchy, Core Web Vitals, mobile responsiveness, accessibility compliance, semantic HTML5 usage |
| Content Quality (40%) | Word count, content structure, entity density, content uniqueness, boilerplate ratio, E-E-A-T signals, direct-answer paragraphs, FAQ quality |
| SEO Optimization (35%) | Title tag, meta description, schema markup, internal linking, image SEO, canonical tags, NAP consistency, outbound authority links, content freshness |

Content Quality carries the highest weight because Google's algorithms and AI systems increasingly prioritize depth, uniqueness, and demonstrated expertise over technical factors.

**40 Individual Scoring Factors**

Every factor has a specific measurement method, a point value, and a pass/fail threshold. The system doesn't just say "your content needs improvement" — it says "Entity density is 8/12. Service entities: 12 found (good). Local entities: 3 found (target: 8+). Add references to local landmarks, neighborhoods, or community features."

**Three fan-out optimization factors (added 2026.04 from DataForSEO research):**

| Factor | Pillar | Points | What It Measures |
| :---- | :---- | :---- | :---- |
| Citation-ready definitional opener | Content Quality | 5 | First paragraph contains a self-contained "X is..." sentence written like a Wikipedia lede. Detects subject + copula verb + factual claim within first 50 words. |
| Comparative content block | Content Quality | 5 | Service and combo pages contain at least one X-vs-Y table or "Best [service] for [use case]" comparison block. Conditional: not scored on homepage, contact, about, or thank-you pages. |
| Current-year freshness signal | SEO Optimization | 3 | Current year present in the title tag AND meta description (both search-engine-facing surfaces), plus a visible "Last updated [date]" stamp within the first viewport. H1 is intentionally NOT checked so headlines stay clean for human readers. Year token is templated as `{{YEAR}}` so January rollovers are automatic. |

**Two entity-first factors (added 2026.05 from Dooley / Sterling Sky testing):**

| Factor | Pillar | Points | What It Measures |
| :---- | :---- | :---- | :---- |
| Entity-first opener | Content Quality | 5 | Opening sentence leads with the brand or service name as the subject. Scores 0 if it opens with "we," "our," or "I"; 5 if it leads with a named entity; 2 otherwise. |
| Pricing signal | Content Quality | 4 | Service and location pages carry a visible cost signal (a figure, range, or "starting at"). Auto-credited on home, FAQ, and utility pages where pricing does not belong. |

These are scoring factors, not critical gates. A page can fall short on one or more and still deploy if it clears the 80-point threshold. The intent is to reward fan-out-aligned structure without blocking pages that don't need it (e.g., a contact page with no comparison block). All of the above are enforced by `seo_validator/scorer.py` and covered by `tests/test_entity_pricing_factors.py`.

**10 Critical Gates**

These are binary pass/fail checks. A failure on any single gate blocks deployment regardless of how high the overall score is. They are non-negotiable.

| Critical Gate | What Triggers Failure |
| :---- | :---- |
| H1 tag present | Page has zero H1 tags or more than one |
| Title tag exists | Missing or empty <title> element |
| Schema valid | JSON-LD fails Google Rich Results validation |
| No duplicate content | Content similarity >40% with another page on same site (trust-conditional exception for same-service/different-geo pages on established brands — see Capability 1, Step 6; strict by default on new domains) |
| Mobile responsive | Fails mobile-friendly test or viewport not set |
| Canonical tag set | Missing canonical or pointing to wrong URL |
| HTTPS enforced | Served over HTTP or mixed content detected |
| NAP consistency | Name, address, or phone differs from business profile |
| No orphan page | Page receives zero internal links from other pages |
| Word count minimum | Below absolute minimum for page type |

**Grading Scale & Deployment Logic**

| Grade | Score Range |
| :---- | :---- |
| ELITE | 95–100 — Best-in-class, deploy immediately |
| STRONG | 85–94 — Highly competitive, deployment-ready |
| GOOD | 70–84 — Solid, deployable if above threshold |
| WEAK | 50–69 — Significant gaps, improvements needed |
| FAILING | 0–49 — Critical issues, major rework required |

Default deploy threshold: 80 overall minimum. No individual pillar can score below 60. Both are configurable per client.

**Three Uses Beyond Quality Gating**

**Audit Tool:** Feed any URL into the scorer — a client's existing WordPress site, a competitor's page, any live page. Full breakdown of every gap.

**Sales Tool:** Score a prospect's site live during a sales conversation. Show the breakdown. Then show a sample generated page at 90+. The gap is the value proposition.

**Competitive Benchmark:** Score the top 3–5 ranking pages for any target keyword. See what winners do right and where they're vulnerable.

---

**CAPABILITY 3**

**FAQ Page Multiplication**

This is the page multiplier. Every FAQ on every page across the entire site becomes its own standalone page with expanded content, its own URL, its own schema markup, and backlinks to its source page. A 100-page site becomes a 500+ page site.

**How It Works — Step by Step**

**Step 1: FAQ Generation at Source**

During content generation, every service page gets 3–5 service-specific FAQs and every location page gets 3–5 location-specific FAQs. These are genuine questions with real answers, not filler.

**Step 2: Standalone Page Creation**

Each FAQ is extracted and expanded into its own page at /faqs/question-slug/. The short 2–3 sentence answer from the source page becomes a 300–500 word deep-dive article with additional context, examples, and actionable information.

**Step 3: Schema Strategy**

FAQ standalone pages use Article/WebPage schema — deliberately NOT FAQPage schema. This prevents the standalone page from competing with the source page's FAQPage rich result in search results. The source page wins the FAQ rich snippet; the standalone page wins long-tail organic rankings.

**Step 4: Backlink Architecture**

Every standalone FAQ page links back to its source page (the service or location page where the FAQ originated) plus 2–3 related FAQ pages. This creates a massive internal linking web that reinforces every pillar page.

**Step 5: FAQ Hub Generation**

A /faqs/ index page is auto-generated, organizing every FAQ by service category and location. This serves as a master directory with SiteNavigationElement schema — giving search engines and AI systems a clear map of all Q&A content on the site.

**Step 6: URL Slug Intelligence**

Slugs are derived from the question text with stop words removed. Collision prevention checks every slug against the database and appends minimal differentiators when needed (e.g., adding the city name for identical questions across locations).

**The Math**

| 5 service pages × 5 FAQs each = 25 FAQ standalone pages<br>100 location pages × 4 FAQs each = 400 FAQ standalone pages<br>FAQ Hub index page = 1 page<br>Total FAQ pages: 426 — from content that already exists on the site |
| :---- |

**Why This Matters**

**Long-tail keyword coverage:** Each standalone FAQ targets a unique long-tail search query. "How much does drain cleaning cost in Mt. Lebanon?" is a real question people type into Google — and now there's a dedicated page answering it.

**AI extraction targets:** AI Overviews, ChatGPT, and Perplexity prefer pulling from pages with a single, clear answer to a specific question. FAQ standalone pages are perfectly formatted for AI extraction.

**Internal link authority:** Every FAQ page links back to its source, passing authority upstream to the pillar pages that drive revenue. 400 FAQ pages each linking to a service or location page creates powerful topical relevance signals.

---

**CAPABILITY 4**

**AI Image Engine**

Every image on every page is AI-generated from the content it accompanies, branded to the business, SEO-optimized with keyword-rich metadata, and geotagged with GPS coordinates for local relevance. No stock photos. No generic placeholders.

**How It Works — Step by Step**

**Step 1: Content Analysis**

The system reads the specific content section where the image will be placed. It identifies the service being described, the location context, and the visual scenario that would best illustrate the content.

**Step 2: Brand Integration**

Brand style parameters from the business profile — primary colors, industry cues, style tone — are passed to the image generation API. Images are visually consistent across the entire site.

**Step 3: AI Image Generation**

The system calls the image generation API (Gemini Imagen, DALL-E, or Flux) with a prompt constructed from the content analysis and brand parameters. The result is an image that is visually relevant to the specific service and location.

**Step 4: SEO Metadata Generation**

Four metadata elements are auto-generated per image, each optimized for search:

| Metadata | How It's Generated |
| :---- | :---- |
| File Name | Lowercase, hyphenated, keyword-rich. Example: drain-cleaning-service-mt-lebanon-pa.webp |
| Alt Text | Descriptive, natural language with primary keyword context. Used by screen readers and search engines. |
| Caption | Visible text beneath the image. Adds value and reinforces local relevance for the reader. |
| Description | Longer-form metadata for search engine context. Not visible on page but indexed. |

**Step 5: EXIF Geotagging**

Every image on a location page gets EXIF GPS coordinates for that service area, plus IPTC metadata with the business name, city, state, and keywords. Research shows geotagged images improve "near me" rankings with 97% statistical certainty.

**Step 6: Perfect Sizing & Format**

Images are generated at exact template dimensions — no oversized images resized by CSS. Converted to WebP for optimal compression. Multiple sizes generated for responsive srcset delivery. Hero images are preloaded; below-fold images are lazy-loaded.

**Scoring Integration**

Image SEO is scored as a 12-point factor in the SEO Optimization pillar. The scorer evaluates file name, alt text, caption presence, WebP format, file size (<150KB in-content, <300KB hero), dimension attributes, responsive srcset, lazy loading, and geotagging. A page with poorly optimized images cannot achieve ELITE status.

---

**CAPABILITY 5**

**Answer Engine Optimization (AEO)**

Google is no longer the only search engine. AI Overviews, ChatGPT, Perplexity, Google AI Mode, Bing Copilot, and voice assistants are all answering questions using web content. AEO optimizes every page to be the source that AI systems pull from.

**The Shift**

Traditional SEO optimizes for blue links — getting a page to rank #1 in the list. AEO optimizes for extraction — making your content the answer that AI systems cite. The strategies overlap but are not identical. A page can rank #1 and still not be extracted by AI Overviews if the content isn't structured for it.

**How It Works — Step by Step**

**Step 1: Direct-Answer Paragraphs**

Every service page and location page includes a concise, self-contained answer paragraph within the first 200 words. Written specifically for LLM extraction: clear, authoritative, and complete enough to stand alone. This is what AI Overviews pull from.

**Step 2: FAQ Sections with FAQPage Schema**

Every page includes 3–5 FAQs with proper FAQPage schema markup. FAQs are rendered fully expanded in the HTML — no JavaScript-toggled accordions. Googlebot and AI crawlers see the full content immediately without executing JavaScript.

**Step 3: FAQ Standalone Pages**

Each FAQ becomes a dedicated page optimized as a single-question answering target (see Capability 3). The standalone format — one question, one thorough answer — is the ideal structure for AI extraction.

**Step 4: llms.txt & llms-full.txt**

Auto-generated markdown files placed at the site root. llms.txt provides AI systems with a structured summary of the business, services, and service areas. llms-full.txt provides complete site content in a clean, parseable format. These files give AI crawlers a direct path to structured business data.

**Step 5: Structured Data Tables & Lists**

LLMs love structured data. The content engine automatically generates comparison tables (e.g., "Repair vs. Replace Costs") and bulleted lists within the service pages. These formats are highly extractable by AI engines.

**Step 6: Voice Search Optimization**

Content is written with conversational query patterns in mind. FAQ questions mirror how people actually speak to voice assistants. Direct-answer paragraphs are concise enough for voice readback.

**Step 7: AI Citation Monitoring**

The analytics module tracks when AI platforms cite the client's content. Monitors ChatGPT, Perplexity, Google AI Overviews, and Bing Copilot for references to the business, analyzing which formats (tables, FAQs, direct answers) are getting cited most frequently.

**Step 8: Fan-Out Query Optimization**

DataForSEO's 2026 study of 100,000 ChatGPT prompts identified the words LLMs inject when fanning out a user's prompt into search queries. The content engine writes H2s and direct-answer paragraphs that mirror this fan-out vocabulary so the page matches the *generated* query, not just the user's original input.

**Fan-out trigger word checklist (used in H2 templates):**

| Class | Words | Why |
| :---- | :---- | :---- |
| Geographic | where, near me, in [city], at [location] | "Where" prompts fan out 67% of the time vs. 47% baseline. Local intent is the highest fan-out class. |
| Comparative | vs, or, and, between | "Or" and "vs" appear in 7.81% and 3.96% of all fan-out queries respectively. Comparative intent triggers fan-out 53% of the time. |
| Evaluative | best, top, popular, reviews, typical | These are evaluation modifiers ChatGPT injects when looking for ranking-style answers. |
| Transactional | cost, price, hire | Transactional intent triggers fan-out 53% of the time. Cost-related queries account for 6%+ of injected words. |
| Temporal | current year (e.g., 2026), today, latest | "2026" appears in 2.44% of all fan-out queries. Time markers signal freshness checks. |
| Question stems | how, why, who, which, where | "Where" fan-outs at 67%, "who" at 60%, "which" at 56%. "What" is below baseline at 44%. |

**Recommended H2 patterns per service or location page (use at least 3):**

- "Where to find a [service] near me in [city]"
- "Best [service] in [city] for [specific use case]"
- "How much does [service] cost in [city] in {{YEAR}}"
- "[Brand or service A] vs [Brand or service B] in [city]"
- "Top-rated [service] in [city]: what to look for"
- "[Service] in [city] in {{YEAR}}: prices, options, and what's changed"

**Question-and-answer pairing (entity-led).** Where an H2 is phrased as a question, the very next line must answer it directly, with the brand or service as the subject, as a self-contained triple a model can lift verbatim. This mirrors how LLMs structure a fan-out query and its retrieved answer.

| H2 (question) | First line beneath it (entity-led answer) |
| :---- | :---- |
| "What roofs does Eastern Roofing install?" | "Eastern Roofing installs slate, tile, flat, and green roofing across Kansas City." |
| "How much does metal roofing cost in Kansas City in {{YEAR}}?" | "Metal roofing in Kansas City typically costs $X–$Y per square in {{YEAR}}, depending on panel type and roof pitch." |

The comments beneath a page or post are never extracted by LLMs — only the primary content is. So the answer must live in the page body itself, not rely on FAQs alone.

**Source provenance (internal):** Every generated page includes `<!-- built per LSSG framework v2026.04 / DataForSEO fan-out playbook -->` as an HTML comment, plus a single line in `llms.txt` declaring the framework version. This is internal-only — not a visible footer — so audits and validators can confirm the page was built against the current playbook without leaking strategy to public visitors or competitors.

**Scoring Integration**

AEO carries significant weight in the Content Quality pillar. Direct-Answer Paragraph is scored at 8 points (checking for a self-contained answer in the first 200 words). FAQ Section is scored at 10 points (checking for 3–5 FAQs with proper schema). llms.txt presence is scored at 2 points in the SEO Optimization pillar. Citation-ready definitional opener and comparative content block (5 points each in Content Quality) and current-year freshness signal (3 points in SEO Optimization) cover fan-out optimization. Combined, AEO and fan-out factors account for 33 points of the total score.

---

**CAPABILITY 6**

**Automated Schema & Internal Linking**

Every page gets comprehensive structured data markup and is woven into a fully interlinked site architecture — automatically. These two systems work together to build a connected entity graph that search engines and AI systems can traverse.

**Schema Markup — By Page Type**

| Page Type | Schema Applied |
| :---- | :---- |
| Homepage | LocalBusiness + Organization + WebSite + SiteNavigationElement + AggregateRating |
| Service Pages | Service + Offer + BreadcrumbList + HowTo (where applicable) + AggregateRating |
| Location Pages | LocalBusiness (areaServed + GeoShape) + Service + BreadcrumbList + GeoCoordinates + FAQPage |
| FAQ Standalone | Article/WebPage (deliberately NOT FAQPage — avoids competing with source page) |
| About Page | Person + Organization |
| Contact Page | ContactPoint + PostalAddress |
| HTML Sitemap | SiteNavigationElement |

**Advanced Schema Integration**

*   **AggregateRating Schema:** The system aggregates the business's reviews and injects `AggregateRating` schema into the `LocalBusiness` and `Service` markup, generating gold stars in search results to significantly boost CTR.
*   **VideoObject Schema:** Any video content (e.g., welcome video, service explanation) is automatically wrapped in `VideoObject` schema.
*   **Review Schema:** Individual reviews displayed on the site are marked up with `Review` schema, linking back to the `LocalBusiness`.
*   **Specific Business Types:** The system uses the most granular schema available (e.g., `Plumber`, `HVACBusiness`, `Electrician`, `RoofingContractor`) rather than generic `LocalBusiness`.

**Interlinked Entity Graph**

All schema entities reference each other. The Service references the provider (Organization). The Location references the Services offered there. The Person references the Organization. This creates a connected entity graph that feeds Google's Knowledge Graph and helps AI systems understand the complete business picture.

**Entity Authority:** Organization schema includes sameAs links to every platform the business exists on — Google Business Profile, Facebook, Yelp, BBB, LinkedIn, industry directories. This builds Knowledge Graph entity confidence.

**Internal Linking — Automatic Rules**

**Step 1: Pillar-Cluster Architecture**

Every location page links up to its parent service page (the pillar). Every service page links down to all its location pages. Related services cross-link to each other. This creates a topic cluster that Google's patents explicitly weight higher.

**Step 2: FAQ Backlink Web**

Every FAQ standalone page links back to its source page plus 2–3 related FAQ pages. With 400+ FAQ pages, this creates a massive internal linking web reinforcing every pillar page.

**Step 3: Contextual In-Content Links**

During content generation, the AI creates natural contextual links within the body copy. References to related services or locations are automatically converted into proper internal links with descriptive anchor text.

**Step 4: Structural Links**

Breadcrumbs on every page (with BreadcrumbList schema). Footer links to all core pages. Homepage links to all service pages and featured locations. HTML Sitemap links to every page.

**Step 5: Zero Orphan Validation**

The system validates that every page both links out to related pages and receives links from other pages. Orphan pages (zero inbound links) trigger a critical gate failure and cannot be deployed.

**Scoring Integration**

Schema Markup is scored at 10 points in the SEO Optimization pillar (critical gate — deployment blocked if invalid). Internal Linking is scored at 12 points, evaluating contextual outbound links, inbound links, anchor text relevance, breadcrumbs, pillar-cluster alignment, and FAQ backlink completeness.

---

**CAPABILITY 7**

**Drip Publishing System**

Instead of pushing 500 pages live overnight — which looks artificial to search engines — the system stages publication into tiers. Core pages deploy immediately. Location pages and their FAQ clusters roll out in configurable batches over days or weeks, mimicking the natural growth pattern of a real business website.

**Why This Matters**

**Natural Growth Signal:** A site that appears overnight with 500+ pages triggers algorithmic scrutiny. A site that launches with 30–40 core pages and steadily adds 2–5 location clusters per day over several weeks looks like a legitimate, actively managed website.

**Crawl Budget Optimization:** Releasing pages in batches gives Googlebot time to discover, crawl, and index each batch before the next arrives. This prevents a crawl queue bottleneck where hundreds of URLs compete for limited crawl budget.

**Indexation Quality:** When Google indexes a smaller batch of pages, each page is evaluated on its own merits. Bulk indexation of hundreds of similar location pages can trigger quality filters, even when content is genuinely unique.

**Two Publishing Tiers**

| Tier | What Deploys |
| :---- | :---- |
| Tier 1: Immediate | Homepage, all service pages, about page, contact page, FAQ hub, HTML sitemap, llms.txt — the complete functional website foundation |
| Tier 2: Drip Queue | Location pages and their associated FAQ standalone pages — released in parent-child clusters over the configured schedule |

**How It Works — Step by Step**

**Step 1: Build Phase**

The entire site is generated and scored in full before any publishing begins. All 500+ pages exist in the database, fully scored and validated.

**Step 2: Tier 1 Deploy**

Core foundation pages push to Bunny CDN immediately. The site is live and fully functional — a visitor sees a complete business website on day one.

**Step 3: Batch Scheduling**

Location pages enter the drip queue. The operator configures batch size (e.g., 3 location clusters per day) and schedule (weekdays only, specific times). Each batch includes a location page plus all its FAQ standalone pages as a cluster.

**Step 4: Link State Management**

The internal linking engine uses a three-state model: Active (published, link rendered), Pending (in current batch, about to activate), and Deferred (in queue, link hidden until published). Links to unpublished pages are suppressed so visitors never see broken links.

**Step 5: Progressive Expansion**

With each batch: new pages deploy, internal links activate, the XML sitemap regenerates, the HTML sitemap expands, and llms.txt files update. The site grows organically over weeks.

---

**CAPABILITY 8**

**Global CDN Delivery**

Generated sites are pure static HTML deployed to Bunny CDN's global network. No WordPress. No server-side processing. No plugins. No security patches. Just fast, secure, validated HTML served from 100+ edge locations worldwide.

**What This Replaces**

| WordPress Problem | CDN Solution |
| :---- | :---- |
| Plugin updates break sites | No plugins — everything is baked into the HTML |
| Security vulnerabilities (PHP, database) | Static files — no server-side code to exploit |
| Slow page loads (database queries, PHP) | Pre-built HTML served from edge — near-instant load times |
| Hosting costs ($20–100+/month per site) | Pennies per GB of storage and bandwidth |
| Server management (cPanel, SSH, configs) | Zero server management — just DNS pointing |
| Inconsistent schema and SEO | Every page validated by scoring system before deploy |

**How It Works — Step by Step**

**Step 1: Generation**

The app generates all HTML, CSS, JS, images, and metadata files. Every page is built from templates populated with business data, service content, and entity-rich location content.

**Step 2: Score Validation**

Every page passes through the 37-factor scoring system. Pages below the 80-point threshold (or with any critical gate failure) are blocked from deployment.

**Step 3: Bunny Storage Push**

Validated files are pushed to Bunny Storage via REST API (HTTP PUT). Each client gets their own Storage Zone, keeping sites completely isolated.

**Step 4: Pull Zone Delivery**

A Bunny Pull Zone is configured in front of the Storage Zone. Custom domain DNS is pointed at Bunny. Free SSL is provisioned automatically. The site is live on 100+ global edge locations.

**Step 5: Performance**

Static HTML on a global CDN delivers near-perfect Core Web Vitals. Inline critical CSS, minified HTML, WebP images, lazy loading, and preloaded hero images are all baked into the templates. There is nothing to optimize — it's already optimized at generation time.

**Infrastructure Per Client**

| Component | Detail |
| :---- | :---- |
| Storage Zone | Dedicated per client — files isolated, independently manageable |
| Pull Zone | Edge-cached delivery with custom domain and free SSL |
| Global Reach | 100+ edge locations across 6 continents |
| Cost | Storage: ~$0.01/GB/month. Bandwidth: ~$0.01/GB. A typical 500-page site costs under $1/month to host |
| The entire hosting infrastructure for a 500-page, fully optimized local business website costs less per month than a single WordPress plugin license. |  |

---

**CAPABILITY 9**

**Conversion Rate Optimization (CRO) & Trust Architecture**

Traffic without trust is useless. A site can rank #1 and generate thousands of visits, but if it fails to convert those visitors into leads, the contractor sees zero ROI. The system integrates a dedicated CRO layer into the generation process to ensure every page is built to convert.

**How It Works — Step by Step**

**Step 1: Dynamic Trust Badges**

The system automatically pulls and displays the contractor's licenses, insurance status, BBB rating, and industry certifications (e.g., NATE, Master Plumber) prominently above the fold on every page.

**Step 2: Automated Review Integration**

An automated feed pulls the latest 5-star Google reviews specific to the service and location being viewed. A page about "Drain Cleaning in Mt. Lebanon" displays reviews specifically mentioning drain cleaning in that area.

**Step 3: Sticky CTAs & Lead Capture**

Every template includes a sticky header with a click-to-call button and a high-converting, multi-step lead capture form (e.g., "Get a Quote" rather than a generic "Contact Us").

**Step 4: Dynamic Before/After Galleries**

A module for dynamic before/after photo galleries, tagged with location data, visually proves competence and builds immediate trust with the visitor.

**Step 5: Pricing Block Ordered by Top Buying Attribute**

Every service and location page carries a visible pricing block (a range, a "starting at," or a "what drives the cost" breakdown). Cost is the single most-searched buying attribute in most trades, and putting it on the page lifts both conversion and ranking (it matches transactional fan-out queries). The page body is ordered by the user's #1 buying attribute for that niche, not by a fixed template:

| Niche type | Lead attribute (first H2 after the opener) |
| :---- | :---- |
| Most trades (roofing, painting, remodeling) | Cost / price |
| Emergency trades (locksmith, plumbing burst, restoration) | Speed / response time ("we can be there within the hour") |
| Considered purchases (architect, major extension) | Process / specification, with cost secondary |

Determine the lead attribute per niche, then order the remaining H2s by prominence and popularity so the visitor never has to leave the page to get the answer that triggers an inquiry.

**Step 6: Reputation Layer (LLM Seeding)**

Getting cited by AI is a reputation function: LLMs lean on testimonials, reviews, case studies, and awards to decide who to name. The system surfaces these as indexable, entity-led triples on the page, not as decorative badges:

- Case studies and testimonials rendered as on-page text (e.g., "Storefront Awning Inc. closed 22 deals after installing the Zero Lead Loss system"), with the testimonial text baked into the image itself so it can rank in image search.
- Awards stated as a triple ("North Bay Painting Services won [award] in [year]") rather than just a logo.
- Review content fed through `AggregateRating` schema (Capability 6) and repeated as readable text.

These same assets are repurposed off-site (social statuses, press releases, third-party listicles) to seed the LLMs — covered in the distribution layer. On-page, the job is to make the reputation facts machine-readable.

---

**CAPABILITY 10**

**Topical Authority & GBP Synergy**

To build true topical authority and dominate the local map pack, the system deepens the integration between the generated website and the client's Google Business Profile (GBP), while generating deep, informational content.

**How It Works — Step by Step**

**Step 1: Informational Pillar Pages**

The system generates deep-dive, non-geographic guides on core topics (e.g., "The Ultimate Guide to Tankless Water Heaters" or "How to Identify a Slab Leak"). These pages serve as authority magnets, moving beyond just geographic coverage.

**Step 2: Automated Internal Linking to Informational Content**

The system automatically links commercial location pages to these informational guides, passing authority back and forth and creating a robust topical cluster.

**Step 3: Author Entity (E-E-A-T)**

A dedicated "Author" or "Expert" profile is created for the business owner. `Person` schema is applied, and all informational content is linked to this profile to satisfy Google's Experience, Expertise, Authoritativeness, and Trustworthiness (E-E-A-T) requirements.

**Step 4: GBP Service Parity Check**

The system audits the client's GBP to ensure every service page generated on the website has a corresponding, explicitly listed service in the GBP dashboard.

**Step 5: GBP Q&A Seeding**

The system takes the best FAQs generated for the website and automatically pushes them to the GBP's "Questions & Answers" section.

**Step 6: GBP Post Synchronization**

Google Business Profile posts are held in queue and released in sync with their corresponding location pages, with a configurable delay between page publish and GBP post.

---

| PM Consulting Entity-Driven SEO at Scale<br>10 capabilities. 40 scoring factors. 500+ unique pages per client. Built for the LLM fan-out era. One system that does everything. |
| :---: |
---

**PART C — SUPPLEMENTARY LAYERS**

**Authority order (read first)**

The Local SEO Site Generator Framework in Part B is the PRIMARY, standard authority for building every site and page. It always wins. The two playbooks below are SUPPLEMENTARY layers, never overrides. Apply them only where the framework is silent, which is mostly content production and distribution. If a playbook ever appears to conflict with Part B or Part A, the framework and house rules win.

**TJ Robertson GEO Playbook (summary)**

Focus: getting the business cited by AI search engines (Generative Engine Optimization), not just ranked in blue links.

- **Core idea:** AI search retrieves and then cites. Structure content so a model can lift it verbatim. Short, declarative, entity-led statements get cited; marketing fluff does not.
- **S-Tier content workflow:** research the actual query and the answer an AI would assemble, then write the page to be that answer. On-page structure for AI: question-led headings, direct self-contained answers, tables and lists, clear entities.
- **Mention building (off-page):** unlinked brand mentions and third-party corroboration matter, not just backlinks. Get the brand named across the web.
- **Objection-busting stances (these are deliberate, not optional):** do publish your pricing, do mention competitors on your site, do teach DIY. Hiding these costs citations and trust.
- **Hooks (for content and social):** breaking-news-plus-impact, contrarian "stop doing this," insider secret, and numbered-framework formats. Video uses a 3-part script (hook, value, CTA).
- **30-minute omnichannel pipeline:** one core asset repurposed across channels quickly, rather than one-off blog posts.

**Dennis Yu Content Factory (summary)**

Scope: content production and distribution only. Does not govern page build (Part B does).

- **Core idea:** "It is not what you say about yourself." Authority comes from third parties and from being seen, not from self-description.
- **The Content Factory (4 stages + Stage 0):** Stage 0 is Plumbing, owning your own pixels, analytics, and ad accounts (never let a vendor hold them hostage). Then: one long-form input (a 1-hour podcast, webinar, or interview) is processed into many long-form outputs (blog, quotes, graphics, video, email), then sliced into short-form distributed to each network.
- **Topic Wheel and 3x3 video grid:** plan content around what you want to be known for. Produce one-minute videos. Keep one reusable question you ask every authority you meet, to harvest interview content for a whole career.
- **Content Pyramid:** one pillar asset becomes many derivatives, then gets distributed everywhere.
- **Dollar a Day:** boost content with about one dollar per day for seven days to find winners cheaply. Re-boost proven evergreen winners rather than always making new content. Pin your best post to every profile for instant social proof.
- **GCT (Goals, Content, Targeting):** every piece ties to a goal and a target audience. **MAA (Metrics, Analysis, Action):** measure, find what is hot, make more of it. Google Search Console is the source of truth for what is working.

---

| End of Master Build Brief. Build to Part B, obey Part A on every line, supplement with Part C only where Part B is silent. |
| :---- |
