Skip to content

filippodanesi/serp-secrets.com

Repository files navigation

Cover Image

SERP Secrets

Built with Astro TypeScript Tailwind CSS WordPress

A technical publication committed to the convergence of SEO and AI, through deep data analysis and practical implementation insights for the search optimization professional.

πŸ—οΈ Architecture

Headless WordPress + Astro hybrid architecture:

  • Frontend: Astro static site with ISR (Incremental Static Regeneration)
  • CMS: WordPress headless backend via REST API and GraphQL
  • Deployment: Vercel with 24-hour cache invalidation
  • Content: Unified system supporting both Astro MDX and WordPress posts

πŸ“š Stack

Frontend

  • Astro v4.15 - Static site generation with ISR
  • TypeScript - Type-safe development
  • Tailwind CSS v3.4 - Styling
  • React v18.3 - Interactive components
  • Fuse.js v7.0 - Unified search across all content

CMS & Content

  • WordPress - Headless CMS
  • WPGraphQL - GraphQL API for WordPress
  • MDX v2.2 - Advanced content authoring (legacy support)

Performance & SEO

  • Sharp v0.33 - Image optimization
  • Dynamic sitemaps (includes WordPress content)
  • Structured data for both content types
  • Automatic RSS feed generation

Deployment

  • Vercel - Deployment with ISR and analytics

πŸš€ Development

Prerequisites

  1. Node.js 18+
  2. WordPress installation (for CMS)
  3. Environment variables configured

Setup

# Install dependencies
npm install

# Configure environment (copy and edit)
cp .env.example .env.local

# Start development server
npm run dev

# Production build
npm run build

# Preview build
npm run preview

# Refresh WordPress content (production)
./refresh-posts.sh

Environment Variables

# WordPress Configuration
WORDPRESS_API_URL=https://your-cms-domain.com/wp-json/wp/v2
WORDPRESS_GRAPHQL_URL=https://your-cms-domain.com/graphql

# Optional: Site Configuration
SITE_URL=https://your-domain.com

πŸ“ Content Management

WordPress Posts

  • Create and manage posts via WordPress admin
  • Automatic synchronization with frontend
  • SEO metadata via Yoast SEO
  • Featured images and categories support

Legacy MDX Posts

  • Existing MDX posts in src/content/blog/ (deprecated)
  • Gradually migrating to WordPress
  • Unified search includes both types

Content Refresh

# Manual content refresh (triggers ISR)
./refresh-posts.sh

# Or via Vercel webhook (recommended)
POST /api/revalidate

πŸ”§ WordPress Setup

Detailed WordPress configuration guide available in README-WORDPRESS.md.

Required Plugins

  • WPGraphQL - GraphQL API
  • Yoast SEO - SEO metadata
  • WPGraphQL SEO Extension - SEO data via GraphQL

Recommended Security

  • Wordfence Security - Protection
  • WPS Hide Login - Hide admin URLs

πŸ“Š Features

SEO & Performance

  • βœ… Structured data (JSON-LD) for all content types
  • βœ… Dynamic XML sitemaps with WordPress content
  • βœ… RSS feeds with unified content
  • βœ… Optimized images with Sharp
  • βœ… ISR with 24-hour cache invalidation

User Experience

  • βœ… Unified search across all content
  • βœ… Responsive design with mobile-first approach
  • βœ… Fast page transitions
  • βœ… Dark/light theme support
  • βœ… Breadcrumb navigation

Developer Experience

  • βœ… TypeScript throughout
  • βœ… Unified content types
  • βœ… Automatic content synchronization
  • βœ… Comprehensive error handling

🀝 Contributing

Issues & Bugs

Submit technical issues through GitHub Issues.

Content Collaboration

Content suggestions and collaborations via Contact Form.

Development

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

πŸ“„ License

License: CC BY 4.0 License: GPL v3

Built with Dante, an Astro theme by JustGoodUI. Content licensed under CC BY 4.0, theme under GPL-3.0.


Β© 2025 Filippo Danesi

About

A technical blog exploring AI-powered SEO and search optimization strategies, built with Astro and Tailwind CSS.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published