GSC Explorer is an open-source web application that extends Google Search Console's capabilities, providing advanced analytics, unlimited data access, AI-driven insights, and powerful visualization tools for SEO professionals and website owners.
- π Google OAuth Integration - Secure sign-in with your Google Account
- π Unlimited Data Access - Break free from Google Search Console's 1,000-row limitation
- π€ AI-Powered Insights - Leverage OpenAI for topic generation and content opportunities (Optional)
- π Brand vs Non-Brand Query Classification - Automatically categorize queries using configurable brand keywords
- π Period Comparisons - Pre-calculated comparisons for:
- Current Period vs Previous Period
- Current Period vs Previous Year
- π Interactive Visualizations - Beautiful charts and graphs powered by Plotly
- π Advanced Data Tables - Filtering, sorting, and export capabilities with DataTables
- Sitewide Overview - Comprehensive performance insights across different periods, countries, and devices
- Sitewide Queries - Analyze search query performance with brand/non-brand classification
- Sitewide Pages - Page-level performance analysis
- Query Aggregate Report - Aggregated query performance metrics
- Organic CTR Analysis - Click-through rate optimization insights
- Long-Tail Opportunities - Identify high-potential long-tail queries
- Changelog - Track application updates and features
- Sitewide Analysis - Deep-dive analysis of site performance
Export your data in multiple formats:
- CSV
- Excel
- Flask 3.0.0 - Web framework
- Google API Python Client - Google Search Console API integration
- Pandas 2.2.2 - Data manipulation and analysis
- Celery & Redis - Background task processing (Note: Architecture implemented but currently unused in active features)
- DaisyUI + Tailwind CSS - Modern, responsive UI framework
- HTMX - Dynamic interactivity without complex JavaScript
- DataTables - Advanced table features (filtering, sorting, pagination, export)
- Plotly Express - Interactive charts and visualizations
- OpenAI API - Content analysis and suggestions (Optional)
- NLTK & Spacy - Natural language processing for query classification
Important
Security Warning: This application handles sensitive OAuth credentials.
- Never commit your
client_secrets.jsonor.envfile to version control. - Ensure
debugmode is disabled in production. - If self-hosting, you retain full ownership of your data; it acts as a private interface to your GSC data.
Before you begin, ensure you have the following installed:
- Python 3.11+
- Redis Server (Required for application startup)
- Google Cloud Project with Search Console API enabled
- OAuth 2.0 credentials (
client_secrets.json) - OpenAI API Key (Optional, for AI features)
git clone https://github.com/yourusername/gsc-explorer-app.git
cd gsc-explorer-apppython3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activatepip install -r requirements.txtCreate a .env file in the root directory:
SECRET_KEY=your-secret-key-here
FLASK_ENV=development
REDIS_URL=redis://localhost:6379/0
OPENAI_API_KEY=your-openai-key-optional- Create a project in Google Cloud Console
- Enable the Google Search Console API
- Create OAuth 2.0 credentials
- Download the credentials and save as
client_secrets.jsonin the root directory
Ensure your Redis server is running:
redis-serverpython run.pyCurrently unused, but architecture is ready for future background tasks:
celery -A app.extensions.celery worker --loglevel=infoThe application will be available at https://127.0.0.1:5000 (with SSL in development mode).
# Using Gunicorn
gunicorn run:app --timeout 180The project includes configuration files for deployment:
Procfile- Defines web process (Gunicorn) and worker (Celery)runtime.txt- Specifies Python version (3.11.4)
-
Set up your hosting platform (e.g., Coolify, Railway, Render, DigitalOcean, AWS)
-
Provision Redis: Ensure your hosting provider has a Redis instance available.
-
Configure environment variables:
SECRET_KEYFLASK_ENV=productionREDIS_URL- Connection string for your Redis instanceGOOGLE_CLIENT_ID&GOOGLE_CLIENT_SECRET(if not using file)OPENAI_API_KEY(Optional)
-
Upload OAuth credentials:
client_secrets.json(or use env vars). -
Deploy:
- The platform should detect the
Procfile. - Ensure the
webprocess runs. - (Optional) Start the
celeryprocess if you plan to enable background tasks.
- The platform should detect the
- Use HTTPS/SSL certificates.
- Set up proper logging.
- Security: Double-check that no secrets are committed.
gsc-explorer-app/
βββ app/
β βββ __init__.py # Flask app initialization
β βββ extensions.py # Extensions (Celery, etc.)
β βββ routes/ # Route handlers (default, gsc, openai, etc.)
β βββ static/ # Static files
β βββ templates/ # Jinja2 templates
βββ client_secrets.json # Google OAuth credentials
βββ requirements.txt # Python dependencies
βββ Procfile # Process file for deployment
βββ runtime.txt # Python version specification
βββ run.py # Application entry point
After signing in, configure your brand keywords in the property selection page.
- 300-minute lifetime
- Secure cookies (HTTPS only)
- SameSite=Lax policy
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is open source. Please check the repository for license details.
- Development mode requires SSL certificates (
cert.pemandkey.pem) for OAuth to work properly.
- Live Demo: gscexplorer.app
- Google Search Console API: Documentation
- Google Search Console API
- Flask community
- All contributors and users of this project
For issues, questions, or contributions, please open an issue on the GitHub repository.
Made with β€οΈ for the SEO community