Vs pages Phase 2 — JSON-LD, freshness hooks, sitewide footer + nav - #104
Merged
Conversation
…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)
Contributor
💾 Stage sync previewNew files to create (0): Will add/update — differ from dev (12):
Unchanged, skipped: 0 205 mapped resources · zesty-sync |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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)
@graphwith WebPage, BreadcrumbList, FAQPage objects<details>blocks so they match visible text word-for-word (Google's requirement for FAQ rich results)datePublishedset from approx git-history ship date;dateModified= 2026-09-112. Freshness hooks (brief #4a, #4b)
Last updated: September 2026<time>element directly under H1 on every vs pageAccurate as of September 2026.italic caption directly under the comparison table on every pageSitewide changes (brief #1c, #1d)
3. Footer "Compare" column
[Competitor] vs Content.Oneanchor text + an "All comparisons" link to/compare.html4. Nav "Compare" entry
/compare.html(which now serves as the /compare/ index after PR compare.html: add 3 blog-post cards (Contentful, Storyblok, Optimizely alternatives) #102's blog-post cards)Sanity checks
components/footer.html/components/nav.htmlNot in this PR (queued)
www.content.one/sitemap.xmlpicks up our git versionPreview
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).