Skip to content

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

@sanjay-kv

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

No fields configured for Bug.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions