Skip to content

SEO rework: meta description, comparison table, keyword-rich title#932

Open
daimon-pymclabs wants to merge 1 commit into
mainfrom
claude/seo-landing-page-rework
Open

SEO rework: meta description, comparison table, keyword-rich title#932
daimon-pymclabs wants to merge 1 commit into
mainfrom
claude/seo-landing-page-rework

Conversation

@daimon-pymclabs
Copy link
Copy Markdown

Summary

SEO improvements to the CausalPy docs landing page based on an audit comparing it against pymc-marketing and competitor packages:

  • Meta description + keywords — the page had none, so Google was auto-generating snippets. Added via MyST frontmatter so Sphinx renders proper <meta> tags
  • Keyword-rich H1/title — changed from "Causal Inference for Quasi-Experiments" to "CausalPy — Open-Source Bayesian Causal Inference for Python", adding the three highest-signal non-branded terms people search for ("Python", "Bayesian", "open source"). Set html_title in conf.py to match
  • Comparison table — structured CausalPy vs DoWhy vs CausalML vs pyfixest comparison covering focus, Bayesian support, methods, and best-for guidance. This captures "causalpy vs X" search queries and establishes topical authority. Docs-only (not in the GitHub README) via a <!-- docs-end --> marker that splits the README include

Test plan

  • Verify docs build succeeds on Read the Docs preview
  • Check that <meta name="description"> and <meta name="keywords"> appear in the rendered HTML <head>
  • Confirm the comparison table renders correctly in the docs theme
  • Confirm the README still renders properly on GitHub (the <!-- docs-end --> comment is invisible in Markdown)

🤖 Generated with Claude Code

- Add HTML meta description and keywords to docs landing page via MyST frontmatter
- Update H1 title to include "CausalPy", "Open-Source", "Bayesian", and "Python"
  for better ranking on non-branded search queries
- Set html_title in Sphinx conf.py for consistent browser tab / SERP title
- Add structured comparison table (CausalPy vs DoWhy vs CausalML vs pyfixest)
  to the docs landing page to capture "vs" and comparison search queries
- Split README include with docs-end marker so comparison section is docs-only

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@cursor
Copy link
Copy Markdown

cursor Bot commented May 28, 2026

PR Summary

Low Risk
Documentation and marketing copy only; no runtime, API, or build-logic changes beyond Sphinx/MyST metadata and README include boundaries.

Overview
Docs and README SEO refresh for the landing page: keyword-oriented H1/title (CausalPy — Open-Source Bayesian Causal Inference for Python), aligned html_title in Sphinx, and a tightened tagline on GitHub.

The docs home page now sets MyST html_meta description and keywords so search engines get explicit snippets instead of auto-generated text.

README include split via <!-- docs-end -->: the docs index pulls the main README body, injects a docs-only “How CausalPy compares” table (DoWhy, CausalML, pyfixest) plus “when to choose” guidance, then resumes README from Citing CausalPy onward—keeping the comparison off the GitHub README.

Reviewed by Cursor Bugbot for commit fed7fb8. Bugbot is set up for automated code reviews on this repo. Configure here.

@codecov
Copy link
Copy Markdown

codecov Bot commented May 28, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 95.07%. Comparing base (c107d4e) to head (fed7fb8).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #932   +/-   ##
=======================================
  Coverage   95.07%   95.07%           
=======================================
  Files          87       87           
  Lines       13701    13701           
  Branches      812      812           
=======================================
  Hits        13026    13026           
  Misses        479      479           
  Partials      196      196           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@read-the-docs-community
Copy link
Copy Markdown

Documentation build overview

📚 causalpy | 🛠️ Build #32891473 | 📁 Comparing fed7fb8 against latest (c107d4e)

  🔍 Preview build  

2 files changed
± 404.html
± index.html

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