Skip to content

Site audit: AdSense policy risk, performance bottlenecks, and content-quality fixes #1885

Description

@sanjay-kv

Summary

A focused audit found several likely blockers for Google AdSense approval/serving and multiple speed/quality issues that can hurt indexing, UX, and trust.

High-impact findings

1) AdSense integration is likely misconfigured on non-AMP pages

Evidence

  • src/pages/index.tsx (lines ~45-49), src/pages/our-sponsors/index.tsx (lines ~79-83), src/pages/showcase/index.tsx (lines ~489-493) inject only:
    • https://cdn.ampproject.org/v0/amp-auto-ads-0.1.js
  • No adsbygoogle, ca-pub-*, or <amp-auto-ads ...> placement found in repo.

Why this matters

  • amp-auto-ads script is for AMP pages; these routes are standard React/Docusaurus pages.
  • Script download cost without effective ad rendering can hurt performance and may lead to AdSense implementation/policy confusion.

Fix

  • Remove AMP auto-ads script from non-AMP pages.
  • Implement standard AdSense tag pattern for non-AMP (with verified publisher ID) and explicit ad placements/components.

2) Content-quality / plagiarism-risk signals for AdSense review

Evidence

  • Blog citation scan found posts with zero external references:
    • blog/deltalake-data-storage/index.md
    • blog/spark-architecture/index.md
  • Several posts include strong quantitative claims (cost/scale/performance) that should be sourced consistently.

Why this matters

  • AdSense “low-value / thin / unoriginal” decisions are often triggered by weak source attribution and unverifiable claims.

Fix

  1. Add sources section for all factual/quantitative claims.
  2. Add editorial policy page (originality, citation rules, AI-assistance disclosure if used).
  3. Add plagiarism workflow in CI/content review (manual + tool-assisted checks) before publishing.

3) Performance bottlenecks

Evidence

  • Particle background runs at high cost:
    • src/components/particle.tsx: fpsLimit: 120, particles.number.value: 100, move.speed: 5.
  • Multiple analytics loaders configured together:
    • docusaurus.config.ts: scripts includes gtag loader + static/gtag-init.js while preset also has gtag config.
    • src/theme/Root.tsx also loads Vercel Analytics in production.
  • Debug logs in production scripts:
    • static/gtag-init.js, static/pinterest-init.js use console.log.

Why this matters

  • Extra third-party scripts + heavy animation can degrade LCP/INP and increase CPU on mobile.

Fix

  1. Reduce particle density/fps or disable on low-power/mobile devices.
  2. Keep one analytics initialization path (avoid duplicate pageview firing).
  3. Remove production console logs from tracker scripts.
  4. Defer/conditional-load non-critical trackers.

4) Security and trust issues directly affecting site quality

Evidence

  • docusaurus.config.ts exposes sensitive/credential-like values through customFields:
    • gitToken: process.env.DOCUSAURUS_GIT_TOKEN
    • fallback SHOPIFY_STOREFRONT_ACCESS_TOKEN hardcoded value.

Why this matters

  • Anything in customFields is client-exposed. This is a security/compliance red flag and weakens publisher trust posture.

Fix

  • Remove gitToken from client-exposed config.
  • Remove hardcoded storefront token fallback; require env-only provisioning.
  • Rotate any leaked token immediately.

Additional SEO/indexing observations

  • No robots.txt file found in repo static assets.
  • Keep canonical metadata consistent and ensure sitemap/robots coverage for all critical routes.

Recommended implementation order

  1. P0: Remove client-exposed secrets and rotate credentials.
  2. P0: Replace AMP ad script usage with correct non-AMP AdSense integration.
  3. P1: Optimize particle effects + deduplicate analytics/tracking scripts.
  4. P1: Add citation requirements and plagiarism/originality editorial workflow.
  5. P2: Add/verify robots.txt and indexing hygiene.

Acceptance criteria

  • No client-exposed secret/token values in built site.
  • AdSense integrated using non-AMP pattern and verified publisher ID.
  • Mobile performance improved (lower CPU usage / improved CWV trend).
  • Every factual blog post includes verifiable sources.
  • Robots/canonical/indexing checks pass for key pages.

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions