Website Audit (April 23, 2026)

Website Audit (April 23, 2026)

Snapshot

Findings

1) Platform and dependency risk (High)

Why it matters: Build reproducibility and portability are fragile; onboarding and updates become difficult.

2) Security and transport issues (High)

Why it matters: HTTPS-only best practices are now standard; mixed content can reduce trust and cause intermittent loading issues.

3) Analytics/telemetry is obsolete (High)

Why it matters: Current analytics may be nonfunctional or incomplete.

4) Accessibility gaps (Medium)

Why it matters: Accessibility and security/compliance expectations have increased since the site was last maintained.

5) SEO and metadata gaps (Medium)

Why it matters: Share previews and discoverability are weaker than current standards.

6) Content freshness and credibility (Medium)

Why it matters: First impressions and professional positioning are mostly content-driven on personal sites.

7) Front-end modernization opportunities (Low-Medium)

Why it matters: Smaller JS/CSS footprint and semantic cleanup improves long-term maintainability.

Prioritized improvement plan

Phase 1 (1-2 sessions): Safety + trust

  1. Force HTTPS links site-wide (internal and external) and remove protocol-relative URLs.
  2. Replace/modernize analytics (or remove if no longer needed).
  3. Add rel="noopener noreferrer" for external target="_blank" links.
  4. Add accessibility labels to icon links.

Phase 2 (1-2 sessions): Build reliability

  1. Update Jekyll configuration to supported markdown/highlighter settings.
  2. Add/refresh a minimal README runbook (local build, deploy flow).
  3. Add a light CI check (build + broken link smoke test).

Phase 3 (ongoing): Content + presentation

  1. Refresh About, timeline, and contact sections for current role/focus.
  2. Replace resume artifact with current version.
  3. Add modern social/share metadata and a concise homepage value proposition.
  4. Optional: simplify JS interactions to vanilla JS where practical.

Suggested first concrete task

If you want, next I can implement a “safe modernization pass” in one PR that only: