بنقرة واحدة
heading-tree
Generates H1-H4 heading structure for a page. SEO-optimized hierarchy. Stateless, deterministic.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Generates H1-H4 heading structure for a page. SEO-optimized hierarchy. Stateless, deterministic.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Canonical lead-gen tracking for Astro.js on Cloudflare Workers (v6, Run 6 contract). Drop-in components: <Tracking/>, <TrackedForm/>, <PhoneLink/>, <CallbackButton/>. Two channels with a SHARED event_id: browser (GTM → GA4 / Meta Pixel / Google Ads) + server-side via the Soborbo event-gateway worker. Model 2: the browser OWNS on-site GA4 + Google Ads; the server sends Meta CAPI on-site (+ TikTok/LinkedIn/Microsoft click-ID forwarders, event_id-deduped) and Google Ads ONLY offline (CRM lead lifecycle, Google Data Manager API); the server sends NO GA4. Two gateway ingress paths: tokenless browser path for low-risk clicks (Origin allow-list + rate limit), authenticated server path (per-site token, service binding) for form/lead/purchase conversions dispatched by the site BACKEND. No Turnstile. Daily synthetic smoke-lead cron + digest guard. Consent Mode v2 + CookieYes, gclid/gbraid/wbraid/fbclid + full UTM capture, calculator funnel, form abandonment, phone dedup, first/last touch attribution. Bilingual / multi-
DEPRECATED (legacy, in old/) — use the `soborbo-tracking` skill instead for GA4 + Meta + Google Ads tracking on Astro. Kept for reference only.
Audit and strengthen visible E-E-A-T signals and AI-search (GEO) readiness on Astro lead-gen sites. Use when a page or site needs Experience/Expertise/Authoritativeness/Trust signals, author credibility, first-hand-experience proof, trust pages (about/contact/privacy/returns), NAP + company registration display, review/trust-mark surfacing, AI-crawler access in robots.txt, or answer-first content for ChatGPT/Gemini/Perplexity/AI Overviews. Also triggers on "EEAT", "E-E-A-T", "GEO", "AEO", "AI search visibility", "get cited by AI", "trust signals", "author bio", "local trust", or making a small/niche business outrank larger competitors. Runs a deterministic auditor with runnable tests. Delegates JSON-LD generation to schema-entity-graph and JSON-LD validation to schema-audit; delegates copy voice to humanise-copy.
Width-based responsive image patterns for Astro. Local build-time processing, per-format quality (AVIF/WebP/JPG/PNG), alpha-aware fallback, art direction, face-focus, OG generation, image SEO. Picture, ArtPicture, FixedImage components.
Per-site client tracker and Astro endpoint for the centralised soborbo-error-pipeline workers. Captures client JS errors via sendBeacon, forwards via console.error → Tail Worker. Server-side uncaught exceptions are captured automatically. ~1.5KB client bundle, no external deps. Email throttled to 1 per (site, code) per 4 hours by the notifier worker.
Form infrastructure for Astro projects. Contact forms, booking forms, quote requests. Zod validation, email delivery (Resend/Brevo), rate limiting, Google Sheets, postcode lookup, spam protection.
| name | heading-tree |
| description | Generates H1-H4 heading structure for a page. SEO-optimized hierarchy. Stateless, deterministic. |
Outputs H1-H4 heading hierarchy for a page. Structure only, no body copy.
Single deterministic heading tree. No alternatives, no variants.
headings:
- level: h1
section: hero
text: "House Removals Bristol - Stress-Free Moving"
- level: h2
section: benefits
text: "Why Families Choose Our Moving Service"
children:
- level: h3
text: "Fully Insured & Protected"
Output contains text only. Patterns/examples are documentation only.
page_type: landing | service | service-area | article
primary_keyword: "house removals bristol" # Required
secondary_keywords: ["moving company"] # Optional
location: "Bristol" # Required for local
sections: [hero, benefits, faq, final-cta] # From allowed list
faq_questions: ["How much..."] # Optional
| Condition | Result |
|---|---|
Missing primary_keyword | STOP - no output |
Missing page_type | STOP - no output |
| Unknown section in list | IGNORE section |
| Empty sections list | STOP - no output |
| Section | H2 | H3s |
|---|---|---|
hero | No (H1 only) | No |
trust-strip | No | No |
problem | Yes | No |
solution | Yes | No |
benefits | Yes | 3 typical |
how-it-works | Yes | 3 (steps) |
social-proof | Yes | No |
pricing | Yes | 2-3 (tiers) |
faq | Yes | 6 (questions) |
final-cta | Yes | No |
gallery | Yes | No |
coverage | Yes | Optional |
Unknown section → ignored, no error.
| Rule | Requirement |
|---|---|
| Count | Exactly 1 per page |
| Keyword | Primary keyword at START |
| Location | Include if local business |
| Length | Max 60 characters |
| Section | Always hero |
| Rule | Requirement |
|---|---|
| Count | 1 per section (except hero, trust-strip) |
| Order | Follow sections order |
| Primary keyword | In 1-2 H2s max |
| Location | In 2-3 H2s for local |
| Rule | Requirement |
|---|---|
| Parent | Always under H2 (never orphaned) |
| Count | 3-6 per parent H2 |
| Keyword | Rarely, natural only |
| Rule | Requirement |
|---|---|
| Page type | Article ONLY |
| Count | Max 5 per page |
| Forbidden | Landing, service, service-area pages |
| Scenario | Behavior |
|---|---|
faq_questions provided | Use provided questions as H3s |
faq_questions empty | Use generic templates |
| No FAQ section | Skip |
Generic FAQ templates:
For local business pages:
| Level | Location Required |
|---|---|
| H1 | Always |
| H2 | 2-3 headings |
| H3 | Rarely |
keyword_density: primary | secondary | location | none
This is annotation only — helps downstream skills, not a rule.
| Density | Max Count |
|---|---|
| primary | 3 total (H1 + 1-2 H2s) |
| secondary | No limit |
| location | H1 + 2-3 H2s |
page_type: landing
primary_keyword: "house removals bristol"
headings:
- level: h1
section: hero
text: "House Removals Bristol - Stress-Free Moving From £299"
- level: h2
section: benefits
text: "Why Families Choose Our Moving Service"
children:
- { level: h3, text: "Fully Insured & Protected" }
- { level: h3, text: "Fixed Price, No Hidden Fees" }
- { level: h3, text: "Professional Packing Service" }
- level: h2
section: faq
text: "House Removals FAQs"
children:
- { level: h3, text: "How much do Bristol removals cost?" }
- { level: h3, text: "What areas around Bristol do you cover?" }
- level: h2
section: final-cta
text: "Ready for a Stress-Free Move?"