feat(seo): SEO/GEO/AEO audit fixes for -new draft pages#505
Merged
Conversation
…meLayout Adds NonprofitOrganization JSON-LD (EIN, address, sameAs social links) so every -new draft page and 404 gets machine-readable entity data, and a noindex prop so draft pages can opt out of indexing via robots meta.
Repo-wide whitespace/line-wrap normalization from a full pnpm format run, incidental to the SEO/GEO/AEO audit-fix branch. No logic changes.
Applies the fixes identified in the full audit of the 23 unpublished
"-new" redesign pages (index-new excluded):
- noindex={true} on every page (drafts aren't in the sitemap but were
discoverable via internal cross-linking with no robots signal)
- FAQPage, HowTo, Event, Person, ItemList, ContactPoint, and WebPage
JSON-LD schema added wherever real, already-rendered content exists
to back it — no fabricated data
- Converted client:only="react" islands to client:load with
server-fetched props on faq-new, ideas-new, events-new, projects-new,
london-gathering-new, and the FAQ portion of membership-new, so
primary content (FAQs, ideas, events, incubator projects, speakers/
agenda) is now present in server-rendered HTML instead of hidden
from crawlers and AI fetchers. membership-new's dues calculator
stays client:only (reads localStorage synchronously for an A/B
test; unsafe to SSR without a separate refactor).
- Un-obfuscated the contact-new email so it's a real server-rendered
mailto: link instead of JS-injected
- Fixed the volunteer-new/get-involved-new duplicate <title> collision
- Confirmed donate-new/donate-2-new are intentionally paired (donate-new
links to donate-2-new as an explicit fallback), not an accidental
duplicate; retitled and documented the relationship
- home-new intentionally left untouched: confirmed via localStorage
A/B-test flag + Plausible event that it's a live experiment, not an
orphan draft — any SEO changes there need a product/analytics call
Site-wide NonprofitOrganization schema and the noindex prop itself
were added to HomeLayout.astro in a prior commit on this branch.
Deploying website with
|
| Latest commit: |
16258cb
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://9b760049.website-aun.pages.dev |
| Branch Preview URL: | https://seo-geo-aeo-new-pages-audit.website-aun.pages.dev |
Fixes issues found in the full SEO/GEO/AEO audit of the -new page set: - correct london-gathering-new's Event schema (EventScheduled -> EventCompleted) now that the event has concluded - add missing noindex to home-new and endorsements-new for consistency with every other -new page - add FAQPage schema to endorsements-new's existing FAQ content - give faq-new a static fallback so FAQ content/schema survive a failed Notion fetch instead of silently disappearing - add HowTo schema to mentorship-new, matching the pattern already used on volunteer-new and incubator-new - add WebPage schema + last-updated date to legal-new, matching terms-new/privacy-policy-new - rebrand thin/generic titles (FAQ, Events, Membership, Team & Board, T4P Incubator, Mentorship) and trim over-length meta descriptions - add EIN disclosure to donate-2-new for parity with donate-new - reframe a couple of declarative H2s as questions for AEO snippet eligibility
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.
Summary
Implements the fixes identified in a full SEO/GEO/AEO source-code audit of the 23 unpublished
-newredesign pages (index-newexcluded — different layout, not in scope). See the report generated during the audit for full page-by-page scores and findings.HomeLayout.astro): added aNonprofitOrganizationJSON-LD block (EIN, address,sameAssocial links) that now auto-propagates to every-newpage and404; added anoindexprop so draft pages can opt out of indexing via<meta name="robots">.-newpage:noindex={true}applied — these are unpublished drafts, excluded from the sitemap but previously discoverable via extensive internal cross-linking with zero robots signal.FAQPage(faq-new, membership-new),HowTo(incubator-new, volunteer-new),Event(events-new, london-gathering-new),Person(team-new, e4p-new),ItemList(projects-new, tools-new, help/hire-new),ContactPoint(contact-new),WebPage(privacy-policy-new, terms-new), presssubjectOf(media-new).faq-new,ideas-new,events-new,projects-new,london-gathering-new, and membership-new's FAQ section switched fromclient:only="react"toclient:loadwith server-fetched props, so primary content (FAQs, ideas, events, incubator projects, speakers/agenda) is now present in server-rendered HTML instead of invisible to crawlers and AI answer engines.membership-new's dues calculator intentionally staysclient:only— it readslocalStoragesynchronously for an A/B test and isn't safe to SSR without a separate refactor.mailto:link.volunteer-newno longer sharesget-involved-new's exact<title>.localStorageA/B-test flag and Plausible event that it's a live experiment, not an orphan draft. Any SEO changes there need a product/analytics-owner decision first.A separate
chorecommit applies incidental repo-wide prettier formatting picked up while runningpnpm formatduring this work — whitespace/line-wrap only, no logic changes.Test plan
pnpm check— 0 errors, 0 warningsPROJECTHUB_API_KEY/sanitizeUrlpattern from/api/projects.ts)-newpage in a preview deploy (not yet done — these are draft/unpublished pages)home-new's A/B test isn't affected (no changes made to this file, but worth a sanity check)