Skip to content

Vs pages Phase 1 — mechanical fixes across all 10 (kaya SEO brief) - #103

Merged
ardeay merged 1 commit into
stagefrom
kaya-vs-pages-phase1
Sep 11, 2026
Merged

ardeay merged 1 commit into
stagefrom
kaya-vs-pages-phase1

Conversation

@ardeay

@ardeay ardeay commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

Phase 1 of kaya's 2026-09-10 multi-page vs upgrade brief. Mechanical / low-risk changes only. Schema, freshness hooks, related-reading, customer proof, pricing/three-way slots, sitewide footer, /compare/ nav, and content-edit reverse links come in subsequent phases.

What's in this PR

Applied uniformly to all 10 vs pages (adobe-experience-manager, contentful, contentstack, drupal, duda, optimizely, sanity, sitecore, storyblok, webflow):

1. Footer 404 fixes (brief #6a)

  • /terms//legal/end-user-license-agreement/
  • /privacy-policy//legal/privacy-policy/

2. Copy edits (brief #6d)

  • When each winsWhere each fits
  • When [Competitor] is the better pickWhat [Competitor] has historically done well
  • When [Competitor] winsWhere [Competitor] fits (matches AEM/Duda/Optimizely/Storyblok/Webflow variant)

3. Cross-link footer anchor text (brief #2a)

  • Bare [Competitor][Competitor] vs Content.One
  • Every cross-link on every page updated

4. Comparison table header + column swap (brief #6b)

  • Capability | Content.One | X | WhyCapability | X | Content.One | Why
  • Header row + all 170 data rows across the 10 tables re-ordered so competitor column sits second
  • Section-header rows (colspan="4") correctly skipped

5. llms.txt (brief #1b) — added 6 missing pages under 'Head-to-head landing pages': Contentstack, Storyblok, AEM, Optimizely, Webflow, Duda

6. sitemap.xml (brief #1a, git-side only per kaya)

  • Added missing Duda row (Webflow already present)
  • Added <lastmod>2026-09-11</lastmod> to all 10 vs entries

Not in this PR (per kaya's phased-delivery approval)

  • Live sitemap serving fix — the git sitemap is now accurate but https://www.content.one/sitemap.xml still serves Zesty's auto-generated version. Needs a Zesty-side setting flip from ardeay before Google actually sees the git file
  • Phase 2: JSON-LD schema on all 10, freshness hooks (Last updated / Accurate as of), sitewide footer Compare column, /compare/ nav entry
  • Phase 3: Pricing slot (empty, awaits Wordify), three-way section (kaya's 3 cards + full-width Content.One card structure), Related reading block, Customer proof block
  • Content-edit workflow: Reverse links from the 9 alternatives blog posts back to their vs pages

Sanity checks

  • Every vs page's cross-link footer lists 9 competitors with X vs Content.One anchor text (self-excluded)
  • Every comparison table header reads Capability | [Competitor] | Content.One | Why it matters
  • Copy edits landed: Where each fits + What X has historically done well + Where X fits present; no When each wins or is the better pick residue
  • Footer links point to /legal/* (no 404 legacy paths remain)
  • llms.txt lists all 10 vs pages under Head-to-head
  • sitemap.xml has <lastmod> on all 10 vs rows + Duda present

Preview

https://hj5v68xn-kaya-vs-pages-phase1.webengine.zesty.io/webflow-vs-content-one.html?zpw=bobby
(pick any vs page — same changes applied uniformly)

…6-09-10)

Phase 1 of kaya's multi-page vs upgrade brief. Mechanical / low-risk changes
only — schema, freshness hooks, related-reading, customer proof, pricing/
three-way slots, sitewide footer, /compare/ nav, and content-edit reverse
links all come in subsequent phases.

Applied to all 10 vs pages (adobe-experience-manager, contentful, contentstack,
drupal, duda, optimizely, sanity, sitecore, storyblok, webflow):

1. Footer 404 fixes (brief #6a)
   /terms/ → /legal/end-user-license-agreement/
   /privacy-policy/ → /legal/privacy-policy/

2. Copy edits (brief #6d)
   'When each wins' → 'Where each fits'
   'When X is the better pick' → 'What X has historically done well'
   'When X wins' → 'Where X fits' (matches AEM/Duda/Optimizely/Storyblok/Webflow variant)

3. Cross-link footer anchor text (brief #2a)
   Bare '[Competitor]' → '[Competitor] vs Content.One'
   Every cross-link on every page updated for the new anchor pattern

4. Comparison table header + column swap (brief #6b)
   'Capability | Content.One | X | Why' → 'Capability | X | Content.One | Why'
   Header row swapped + all 170 data rows across the 10 tables re-ordered so
   the competitor column sits second. Section-header rows (colspan=4) skipped.

5. llms.txt — added 6 missing vs pages (brief #1b)
   Contentstack, Storyblok, AEM, Optimizely, Webflow, Duda under the
   'Head-to-head landing pages' section

6. sitemap.xml (brief #1a, git-side only per kaya)
   Added missing Duda row (Webflow was already present)
   Added <lastmod>2026-09-11</lastmod> to all 10 vs entries

Not in this PR (deferred per kaya):
- Live sitemap serving fix — requires a Zesty-side routing setting
- JSON-LD, freshness hooks, footer 'Compare' column, /compare/ nav (Phase 2)
- Pricing slot, three-way section, related reading, customer proof (Phase 3)
- Content-edit reverse links in the 9 alternatives blog posts (parallel)
@github-actions

Copy link
Copy Markdown
Contributor

💾 Stage sync preview

New files to create (0):
none

Will add/update — differ from dev (12):

  • webengine/views/drupal-vs-content-one.html
  • webengine/views/sanity-vs-content-one.html
  • webengine/views/llms.txt
  • webengine/views/sitemap.xml
  • webengine/views/optimizely-vs-content-one.html
  • webengine/views/duda-vs-content-one.html
  • webengine/views/webflow-vs-content-one.html
  • webengine/views/adobe-experience-manager-vs-content-one.html
  • webengine/views/contentful-vs-content-one.html
  • webengine/views/contentstack-vs-content-one.html
  • webengine/views/sitecore-vs-content-one.html
  • webengine/views/storyblok-vs-content-one.html

Unchanged, skipped: 0

205 mapped resources · zesty-sync

@ardeay
ardeay merged commit 2fb836c into stage Sep 11, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant