Skip to content

fix(seo): make the bare DoctorDerek.com domain canonical - #226

Merged
DoctorDerek merged 3 commits into
mainfrom
fix/225-bare-domain-canonical
Sep 25, 2026
Merged

DoctorDerek merged 3 commits into
mainfrom
fix/225-bare-domain-canonical

Conversation

@DoctorDerek

Copy link
Copy Markdown
Owner

Summary

Make https://doctorderek.com/ the canonical production origin using the existing URL owners. This is a six-file hostname-only change, split into three atomic commits.

  • Update root metadataBase; the existing relative canonical and Open Graph URLs resolve through it.
  • Update this site's own portfolio live link and its existing regression assertions.
  • Point the existing Production Lighthouse caller and README links/badge at the bare domain.

Closes #225

Vercel routing and release boundary

Read-only Vercel CLI 60.0.1 inspection under doctordereks-projects/doctor-derek confirmed the existing configuration already matches the requested behavior:

  • doctorderek.com: verified, no redirect, no branch/custom-environment binding.
  • www.doctorderek.com: verified, HTTP 308 redirect to doctorderek.com.
  • Existing doctor-derek.vercel.app alias unchanged.

Live HTTPS checks confirmed the bare homepage returns 200; WWW returns one 308 followed by 200. Manifest and favicon paths and their query parameters survive unchanged, including an encoded space. No redirect loop. No Vercel settings, DNS, subscriptions, or secrets were changed.

The current published metadata still uses WWW. The new built metadata is bare-domain, but publishing it requires the owner's merge and normal production deployment. Recheck the live canonical/Open Graph values after that release before calling the migration complete.

Verification

  • Node 24.18.0, pnpm 11.9.0, Next.js 16.3.1.
  • Focused Vitest: 2 files, 19 tests passed.
  • Next route type generation and strict TypeScript passed.
  • Full Vitest: 41 files, 182 tests passed; configured statements, branches, functions, and lines coverage all 100%.
  • Local production build passed. No secret was loaded; the existing open-source fallback was preserved.
  • Built HTML: canonical and og:url both exactly https://doctorderek.com, with no stale WWW identity.
  • Full local Playwright: 89/90 passed. WebKit startup fails at e2e/startup.spec.ts:72, waiting for the first Rive canvas. It failed identically in an isolated rerun and with both application URL owners temporarily restored to match origin/main; this failure is present without the hostname change. Approved bare-domain values were then restored. No animation or E2E code changed.
  • ESLint passed (excluding only the preexisting untracked .pnpm-store/); all six changed files pass Prettier. Formatting was scoped to avoid unrelated churn.
  • Diff review: exactly six intended files; no remaining tracked references to this site's WWW hostname.
  • pnpm audit --prod is not clean: the unchanged dependency tree reports 3 high and 2 critical findings (browserslist, sharp, Next.js). Dependency remediation is outside this hostname PR; no packages or lockfile changed.

Scope preserved

Preview and localhost URLs, production-only analytics gating, third-party URLs, sibling portfolio subdomains, relative manifest paths, copy, styles, and application behavior remain unchanged. No new origin abstraction, redirect middleware, test framework, storage migration, or deployment pipeline. No conflicting canonical GDD hostname was found, so no authority documents were edited.

After merge

  • Wait for the normal production deployment of this PR's merge commit.
  • Verify the live bare homepage returns 200 and WWW redirects with 308, preserving path/query and valid HTTPS.
  • Verify published canonical and Open Graph URLs use the bare domain; manifest/runtime assets load.
  • Confirm the main-triggered Lighthouse run uses the updated bare-domain input.

@vercel

vercel Bot commented Sep 25, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
doctor-derek Ready Ready Preview Sep 25, 2026 9:51pm UTC

Request Review

@github-actions

github-actions Bot commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

🧹 ESLint

Quality check 1 of 3

✅ Zero warnings.

@github-actions

github-actions Bot commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

🧪 Vitest

Quality check 2 of 3

✅ Vitest completed successfully.

 Test Files  41 passed (41)
      Tests  182 passed (182)
   Duration  14.43s (transform 1.04s, setup 9.57s, import 2.46s, tests 4.26s, environment 15.82s)

@github-actions

github-actions Bot commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

🎭 Playwright

Quality check 3 of 3

✅ Playwright completed successfully.

Running 90 tests using 1 worker
  90 passed (3.2m)

Open preview deployment

@github-actions

github-actions Bot commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

🗺️ XState v5 State Machine Diff Visualization

Architecture visualization

Base 2af805ffe6b7 → Head 28b775d77a88

No XState state-machine topology changes detected.

Download canonical graphs, structured diff, Mermaid, and diagnostics

@codecov

codecov Bot commented Sep 25, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (2af805f) to head (28b775d).

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #226   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           54        54           
  Lines          828       828           
  Branches       162       162           
=========================================
  Hits           828       828           
Flag Coverage Δ
vitest 100.00% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 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.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@DoctorDerek

Copy link
Copy Markdown
Owner Author

Code reviewed and approved. QA deferred. Merging now.

@DoctorDerek
DoctorDerek merged commit 66d1a28 into main Sep 25, 2026
12 checks passed
@DoctorDerek
DoctorDerek deleted the fix/225-bare-domain-canonical branch September 25, 2026 22:22

This branch was successfully deployed

1 active deployment
Preview — 28b775d7 Deployed Sep 25, 2026 by vercel[bot]
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.

Make the bare DoctorDerek.com domain canonical throughout the project

1 participant