What was done
Patched the sa-landing-page-layouts skill from v1.0 to v1.1 in samaguiar1982-cpu/sail-skills to capture the correct framing you clarified: landing pages are noindex, conversion-environment pages that match paid-ads campaigns, exempt from the SA template visual/structural rules, but bound by all copy and brand rules.
Commits:
5770163 v1.1: noindex framing, Tier 1/Tier 2 rules split, copy-only QA mode
a96aad3 Trailing newline + minor polish (Outcome-focused → Outcome focused, TCPA wording trim)
Final state on main: 21,326 bytes, ends with newline, last line is the interactive-element-library cross-link.
Key v1.1 changes
- New section at top: "Scope and indexing (read this first)". States explicitly that landing pages are
noindex, nofollow by default and exempt from sa-template-reference visual rules, pre-publish-qa template-conformance checks, and the SA content-grid template. Spells out exactly which rules don't apply (hero structure, content-grid, TOC, banned-sections list, form ban, component class conformance).
- "What still applies, no exceptions" subsection. Locks in all the copy, brand, phone, citation, WordPress-safety, legal-accuracy, and TCPA rules. These are explicitly NOT template-bound; they apply to every page the firm ships.
- Required
<head> metadata block. <meta name="robots" content="noindex, nofollow" /> plus canonical link. Notes that wp-content-deployer accepts a _rank_math_robots meta value.
- Cross-cutting rules restructured into Tier 1 / Tier 2.
- Tier 1 (NEVER flex): copy, banned words, BSG accuracy, citations, single tel: per page, TCPA, legal accuracy.
- Tier 2 (flex when ad creative demands): palette, typography, CTA styling, hero image rules, header alignment. Allows a campaign-specific display face in the hero H1, allows left-aligned heros if the ad demands it, etc.
- Layout A and Layout B section 1 (Hero) rewritten to make explicit that H1 + inline subhead + primary CTA + tel: all live in the hero. The H1-only rule from sa-template-reference does NOT apply.
- Build flow updated:
- sa-template-reference is now "optionally load" (was mandatory).
- pre-publish-qa runs in "copy-only mode" (Tier 1 + WordPress safety + legal accuracy; skips template conformance).
- wp-content-deployer step adds the required
_rank_math_robots meta and XML sitemap exclusion.
- batch-indexnow step explicitly REMOVED (landing pages are paid traffic destinations only).
- Rollback section adds a note: prefer publishing v2 at a new slug rather than overwriting the live lander, to preserve Google Ads landing-page quality scores tied to the original URL.
Why the session ended
Clarification incorporated, skill committed clean.
Recommended next actions
Suggestions, not directives:
- Re-deploy the Louisville lander with v1.1-style hero. The page I built last session pushed the value prop into a separate band below the hero because v1.0 was self-contradictory about hero structure. With v1.1 you can put the value prop, primary CTA, and the call button inline in the hero, which tests better. I can produce the updated HTML in the next session.
- Patch pre-publish-qa to support a
--mode=landing-page flag that runs Tier 1 + WordPress safety + legal accuracy and skips template conformance checks (hero structure, content-grid, sidebar config, form ban, banned-section list). Until that lands, the QA gate has to be run manually with the landing-page exemptions in mind.
- Add a
<head> meta-injection pattern to wp-content-deployer so passing landing_page: true automatically wires up _rank_math_robots: ["noindex","nofollow"] and excludes from XML sitemap. Right now the skill describes the meta values needed but a deploy script doesn't enforce them.