Files
odoo-expertos.com/seo-audit-2026-05-27/BLOG-PIPELINE.md
T
2026-08-28 10:11:11 -03:00

6.2 KiB

BLOG-PIPELINE.md - per-article workflow for W12 & W13 (claude-blog full pipeline + kie.ai z-image)

Driven by seo-audit-2026-05-27\goals\MASTER-SEO-75.txt.

Foundation (run ONCE before any article)

  1. /blog brand init -> BRAND.md + VOICE.md at repo root (autoloads into every subskill).
  2. /blog persona create "Equipo Odoo Expertos" -> personas/equipo-odoo-expertos.md (REPLACES every "Dr. Maria Elena Rodriguez").
  3. /blog flow sync -> FLOW framework prompts cached locally for downstream skills.
  4. /blog strategy "odoo erp consulting LATAM" -> strategy doc; informs cluster + persona angles.

IMAGE GENERATION POLICY (overrides /blog image default; z-image ONLY)

Pre-flight (run ONCE in Phase 0, BEFORE any article):

powershell -File seo-audit-2026-05-27\scripts\kie-image.ps1 -Prompt "abstract data visualization, blue gradient, no text" -OutPath "seo-audit-2026-05-27\scripts\.zimage-probe.png" -Model z-image -Aspect 16:9 -Resolution 1K

If this FAILS, abort the goal with status "z-image unavailable on this kie.ai account — fix model access before proceeding". NO fallback to other models.

Per article: generate >=3 images via z-image only.

  1. Hero/OG (16:9, 2K) -> images/<slug>-hero.png
  2. Inline mid-body (16:9 or 4:3, 1K) -> images/<slug>-fig1.png
  3. Inline end (16:9 or 4:3, 1K) -> images/<slug>-fig2.png

Prompt rules (HARD):

  • Every prompt MUST end with: ", NO text, NO letters, NO numbers, NO logos, NO watermarks."
  • Editorial illustration aesthetic, neutral palette, clean enterprise feel, no stock-photo cliches.
  • Distinct subject per image (hero = topic metaphor; fig1 = mechanism/architecture motif; fig2 = outcome/comparison motif).

Insertion:

  • Set <meta property="og:image" content="https://www.odoo-expertos.com/images/<slug>-hero.png"> and add <link rel="preload" as="image" href="/images/<slug>-hero.png"> in <head>.
  • Place fig1 after the 2nd H2, fig2 after the 4th H2. Both <img> tags need unique alt="" descriptions derived from the surrounding H2 + body.
  • Add ImageObject schema for the hero (and fig1/fig2 if relevant) inside the Article JSON-LD.

Helper: powershell -File seo-audit-2026-05-27\scripts\kie-image.ps1 -Prompt "<prompt>" -OutPath "images/<slug>-<role>.png" -Model z-image -Aspect 16:9 -Resolution 2K

Per-article (run for EVERY URL in OPPORTUNITIES sec 1 and sec 2)

For each article slug like odoo-hosting/odoo-vs-sap-hosting-2026/index.html:

  1. Research - /blog discourse "<topic phrase>" -> DISCOURSE.md with last-30-days sources, debates, gaps. If a Google AI / NotebookLM key is configured, also /blog notebooklm "<question>".
  2. Flow framing - /blog flow find "<topic phrase>" -> pick the strongest FLOW prompt for this article. /blog flow optimize to refine.
  3. Brief - /blog brief "<topic phrase>" -> audience, intent, angle, key entities, SERP context.
  4. Outline - /blog outline "<topic phrase>" -> SERP-informed H2/H3 skeleton.
  5. Rewrite - /blog rewrite <relative-path> using BRAND.md + VOICE.md + persona + FLOW + blog-rewrite humanized cadence. HARD CONSTRAINTS to state in the rewrite request:
    • Preserve <head> EXCEPT add ONE marker (W12-deep-rewrite or W13-ai-search) + the og:image/preload set by step 8.
    • Preserve hreflang, canonical, OG, header/footer/nav, breadcrumb (W6), ALL D3.js <script> refs.
    • Replace every "Maria Elena Rodriguez" with "Equipo Odoo Expertos" (visible byline + Article schema author + Person @id).
    • W12: >=1,200 unique body words, direct-answer 60-150w opening, 4-6 question-led H2s.
    • W13: deepen with 8+ FAQ Q&A, HTML comparison , per-claim source URLs.
    • Fact-check - /blog factcheck <path> -> the skill actively fetches and verifies source URLs. Must show 0 unverified numeric claims. On FAIL: drop the number or add a source via /blog discourse, re-run.
    • SEO check - /blog seo-check <path> -> title length, meta, schema validity, internal links, image alts. Must pass.
    • Image - generate hero/OG image via the helper above; update og:image and add the preload link. Add alt="..." to any new .
    • Schema - /blog schema <path> -> regenerate Article + FAQPage JSON-LD reflecting actual H2 questions; ImageObject for the new hero image.
    • GEO gate - /blog geo <path> -> AI-citation readiness audit. Must show direct-answer-first opening, question-led H2s, FAQ schema present, sourced stats. Address top findings if any.
    • Quality gate - /blog analyze <path> -> 0-100 score. Must be >=80. If <80, address top 3 Critical/High findings and re-run.
    • Commit - git add <path> images/<slug>-hero.png; git commit -m "fix(<W#>): rewrite <slug> via blog pipeline (analyze=<score>, geo=<score>)".
    • Stop conditions per article

      • If /blog analyze stays <80 after 3 retries OR /blog geo stays FAIL after 3 retries -> log slug + lowest categories to seo-audit-2026-05-27\BLOG-FAILURES.md and skip. Do not block the master.
      • If /blog factcheck cannot source a claim after 2 retries -> remove the unsourced claim. NEVER fabricate.

      After all articles in a cluster

      • /blog cluster plan "<seed>" (if not already done in master Phase 2).
      • /blog cluster execute "<seed>" -> applies internal pillar<->spoke links.

      After all clusters

      • /blog taxonomy sync -> aligns tag/category slugs to the cluster plan.
      • /blog cannibalization . -> re-sweep. Resolve any 301 flags (e.g., the 2025/2026 mejores-proveedores collision per OPPORTUNITIES sec 5).
      • /blog locale-audit . -> hreflang/parity/freshness across the 6 languages. Pages noindexed by W7 are expected to show parity gaps; that is fine.

      Post-deploy (after main is live on Vercel)

      • /blog google psi https://www.odoo-expertos.com/ -> CWV lab.
      • /blog google crux https://www.odoo-expertos.com/ -> CWV field (if available).
      • /blog google gsc submit -> resubmit each sitemap; "Validate Fix" on coverage issues if the skill supports.
      • /blog google ga4 -> baseline organic traffic (only if creds configured).
      • /blog audit . -> post-deploy site health. Target: 0 Critical.
      • /blog calendar -> generate forward editorial plan for the surviving thin pages so iteration is structured.
      • /blog repurpose <pillar-path> -> extend Cluster A/B/C pillars to social/email snippets (non-gating output).