Conversation
β¦ckage Footer/navbar link to /blog/ and /docs/ (was /blog, /docs which 301) and FORUM_URL -> GitHub Discussions, clearing ~1400 'links to redirect' rows sitewide. pricing_jsonld drops the price-less Enterprise offer and blog_index_jsonld drops the invalid ListItem datePublished (Google rich-results / schema.org errors). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Docs pages now emit description + full Open Graph + Twitter card + canonical (previously only a title), with page-specific OG values and a /docs-prefixed trailing-slash canonical that also drives the sitemap loc. Titles lengthened and de-duplicated; descriptions auto-extracted from each page's first paragraph. Fixes Twitter-card-missing (~770), OG-incomplete (~691), meta-description-missing (~770), duplicate-without-canonical (~765), title-too-short (~549), and non-canonical/3XX-in-sitemap. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add a top-level H1 to 10 docs pages that had none; add descriptive alt text to ~97 rx.image() calls across docs and to integrations-docs screenshots; repoint the dead build.reflex.dev/tokens link to /docs/hosting/tokens. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Merging this PR will not alter performance
Comparing Footnotes
|
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Greptile SummaryThis PR fixes a large batch of Ahrefs site-audit issues across the docs and shared site package, addressing ~3,000+ flagged rows from redirect links, missing meta/OG/Twitter tags, invalid structured-data, missing alt text, and non-canonical sitemap entries.
Confidence Score: 5/5Safe to merge β all changes are SEO metadata, link fixes, and alt text additions with no logic that affects runtime app behavior. The renderer changes (meta tag construction, title logic, description extraction) operate entirely at build time and fall back gracefully on any parsing failure. The shared-package link/JSONLD fixes are straightforward constant and data-structure changes. No data paths, state handlers, or auth flows are touched. No files require special attention; the core reflex_docs.py meta-construction logic is the most complex change but is well-commented and handles edge cases (dynamic routes, missing descriptions, og:image deduplication) correctly. Important Files Changed
Reviews (3): Last reviewed commit: "SEO: stop frontmatter leaking into docs ..." | Re-trigger Greptile |
extract_doc_description now skips ordered-list items 1.-9. (was 1.-3.) so later numbered items aren't pulled into descriptions; the bare-title fallback is now length-checked, dropping to the unsuffixed title when even that would exceed ~60 chars. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Reflex's compiler always renders one og:image from add_page's image kwarg (defaulting to favicon.ico). Pass the real preview image to add_page and strip og:image from the create_meta_tags meta list, so each page has exactly one og:image (the preview) plus one twitter:image, instead of favicon + preview. Applies to the docs renderer (reflex_docs.py) and docs landing page. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
extract_doc_description now prefers a frontmatter description field and otherwise strips the whole --- block before scanning, so lines like 'title: Aligned Grids' or 'tags: DevTools' no longer become the meta description. Also add alt text to docs-landing and shared gallery/markdown images. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Multiple H1: demote demo rx.heading() to as_=h2 across 57 docs (164 calls), demote section-level markdown '# ' headings to '##' in 18 docs, and render the component 'API Reference' heading as h2 β each docs page now has a single H1. Redirect links: make all top-level internal links in the shared footer/navbar/sidebar trailing-slash (/docs/, /blog/, /pricing/, ...) so they no longer hit 301s. Alt text: add descriptive alt to ui.avatar.image logos/avatars in docs-landing, integration gallery, and shared gallery. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Too many files changed for review. ( |
Round 3 review addressed (commit
|
Fixes a large batch of issues from the Ahrefs site audit. Verified by importing the docs app and
reflex-site-sharedconsumers and inspecting the emitted<head>/ sitemap (not yet re-crawled β that requires a deploy).Three groups (see commits)
1. Shared site package (
packages/reflex-site-shared/) β also consumed by marketing + blog/blog/and/docs/(were/blog,/docs, which 301) andFORUM_URLβ GitHub Discussions β clears ~1,400 "page has links to redirect" rows sitewidepricing_jsonlddrops the price-less EnterpriseOffer;blog_index_jsonlddrops invalidListItem.datePublishedβ fixes structured-data validation errors2. Docs renderer (
docs/app/reflex_docs/)loc=/docs/-prefixed canonical β non-canonical / 3XX in sitemap3. Docs content (
docs/*.md,packages/integrations-docs/)# H1to 10 docs pages β H1 missingalt=on ~97rx.image()calls + integrations screenshots β missing alt textbuild.reflex.dev/tokenslink inhosting/databricks.mdNot included (documented, needs a judgment call)
rx.headingdefaults to<h1>) β would alter many teaching examples/cdn-cgi/email obfuscation,wwwrobots.txtπ€ Generated with Claude Code