Skip to content

Vs pages Phase 2 — JSON-LD, freshness hooks, sitewide footer + nav - #104

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

Vs pages Phase 2 — JSON-LD, freshness hooks, sitewide footer + nav#104
ardeay merged 1 commit into
stagefrom
kaya-vs-pages-phase2

Conversation

@ardeay

@ardeay ardeay commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

Phase 2 of kaya's 2026-09-10 vs pages SEO brief. Builds on PR #103 (mechanical fixes). Phase 3 will follow with new content slots (pricing, three-way, related reading, customer proof).

Per-page changes (all 10 vs pages)

1. JSON-LD structured data (brief #3)

  • @graph with WebPage, BreadcrumbList, FAQPage objects
  • FAQ Q&A pairs auto-extracted from the visible <details> blocks so they match visible text word-for-word (Google's requirement for FAQ rich results)
  • Per-page datePublished set from approx git-history ship date; dateModified = 2026-09-11
  • BreadcrumbList: Home → Compare (/compare.html) → [Competitor] vs Content.One
  • No aggregateRating/Review markup (Google penalizes self-serving markup on third-party review numbers)
  • Total FAQ Q/A pairs: 71 across the 10 pages (6-8 per page)

2. Freshness hooks (brief #4a, #4b)

  • Last updated: September 2026 <time> element directly under H1 on every vs page
  • Accurate as of September 2026. italic caption directly under the comparison table on every page
  • Any pre-existing "Accurate as of August 2026" intro-line copy also normalized to September

Sitewide changes (brief #1c, #1d)

3. Footer "Compare" column

  • New Compare sub-stack inside the Resources column of the sitewide footer
  • Lists all 10 vs pages with [Competitor] vs Content.One anchor text + an "All comparisons" link to /compare.html

4. Nav "Compare" entry

Sanity checks

  • JSON-LD parses cleanly on all 10 (validated locally):
    aem=6 FAQs, contentful=7, contentstack=8, drupal=8, duda=7, optimizely=6, sanity=8, sitecore=8, storyblok=6, webflow=7
    
  • Freshness hooks visible on all 10
  • Footer + nav additions render on every page that uses components/footer.html / components/nav.html

Not in this PR (queued)

  • Phase 3: pricing H2 slot (empty, awaits Wordify), three-way section (kaya's 3 cards + full-width Content.One card), related reading block, customer proof block
  • Content-edit workflow: reverse links in the 9 alternatives blog posts pointing back to their vs pages
  • Ardeay: Zesty-side sitemap serving fix so www.content.one/sitemap.xml picks up our git version

Preview

Pre-flight for rich-results

Once shipped, validate the JSON-LD:

Expect green on WebPage, BreadcrumbList, FAQPage. If Google flags anything the fix is in the extracted FAQ text (which comes directly from the visible page markup).

…aya SEO brief)

Phase 2 of kaya's 2026-09-10 vs pages brief.

## Per-page changes (all 10 vs pages)

1. JSON-LD structured data (brief #3)
   - @graph with WebPage, BreadcrumbList, FAQPage objects
   - FAQ questions + answers extracted from visible <details> blocks so they
     match word-for-word (Google's requirement for FAQ rich results)
   - Per-page datePublished set from approx git-history ship date; dateModified
     = today (2026-09-11)
   - BreadcrumbList: Home > Compare (/compare.html) > [Competitor] vs Content.One
   - No aggregateRating / Review markup (Google penalizes self-serving on
     third-party review numbers)
   - Total FAQ Q/A pairs: 71 across 10 pages (6-8 per page)

2. Freshness hooks (brief #4a, #4b)
   - 'Last updated: September 2026' <time> element directly under H1 on
     every vs page (white/60 text on the dark hero gradient)
   - 'Accurate as of September 2026.' caption directly under the comparison
     table on every page. Updated any pre-existing 'Accurate as of AUGUST 2026'
     intro-line copy to September 2026 to keep dates in sync

## Sitewide changes (brief #1c, #1d)

3. Footer Compare column
   - New Compare sub-stack in the footer's Resources column, listing all 10
     vs pages + an 'All comparisons' link to /compare.html
   - Anchor text is '[Competitor] vs Content.One' consistently

4. Nav Compare entry (under Resources)
   - Added to both desktop mega-nav and mobile drawer
   - Points to /compare.html (which now serves as the /compare/ index thanks
     to PR #102's blog-post cards)
   - Uses a compare-columns svg glyph
   - Positioned just after Blog in Resources for both nav variants

Not in this PR (queued for Phase 3):
- Pricing H2 slot (brief #5a - awaits Wordify)
- Three-way section: 3 cards + full-width card structure (brief #5b, kaya's
  Discord)
- Related reading block (brief #2b)
- Customer proof block (brief #2d)

Not in this PR (parallel):
- Reverse links in 9 alternatives blog posts (content-edit workflow)
- Zesty-side sitemap serving fix (ardeay)
@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/components/nav.html
  • webengine/views/components/footer.html
  • webengine/views/drupal-vs-content-one.html
  • webengine/views/sanity-vs-content-one.html
  • 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 fed8cf8 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