n8n community node for Google PageSpeed Insights API with comprehensive performance, accessibility, and SEO analysis
npm install n8n-nodes-google-pagespeedA comprehensive n8n community node for Google PageSpeed Insights API, providing detailed website performance, accessibility, SEO, and best practices analysis with professional-grade features and enterprise-ready architecture.
!Google PageSpeed Insights Logo
This node offers robust integration with the Google PageSpeed Insights API, allowing you to analyze website performance, accessibility, and SEO with advanced controls and professional-grade reliability.
The Total Blocking Time (TBT) metric measures the total amount of time between First Contentful Paint (FCP) and Time to Interactive (TTI) where the main thread was blocked for long enough to prevent input responsiveness.
#### When TBT might be null or zero:
- Very fast pages: Pages that load extremely quickly with minimal JavaScript execution may report TBT as 0ms.
- Static content: Simple static pages with minimal or no JavaScript may not have any blocking time.
- Measurement limitations: In some cases, if the page loads too quickly, the TBT measurement might not be applicable.
#### Interpreting TBT values:
- 0-200ms: Excellent (minimal blocking time)
- 200-600ms: Needs improvement
- 600ms+: Poor (significant blocking time)
#### Troubleshooting null TBT:
If you're consistently seeing null TBT values when you expect to see a measurement:
1. Verify the page has enough JavaScript execution to potentially cause blocking
2. Check if the page is loading too quickly (TBT is only measured between FCP and TTI)
3. Ensure you're using a recent version of the node
4. Test with a more complex page that you know has significant JavaScript execution
1. Open your n8n instance
2. Go to Settings β Community Nodes
3. Click Install a community node
4. In the "npm package name" field, enter: n8n-nodes-google-pagespeed
5. Click Install
``bashNavigate to your n8n installation directory
cd /path/to/your/n8n/installation
π§ Setup
$3
1. Go to the Google Cloud Console
2. Create a new project or select an existing one
3. Enable the PageSpeed Insights API
4. Create credentials (API Key)
5. (Optional) Restrict the API key to PageSpeed Insights API for security$3
1. In your n8n workflow, add the Google PageSpeed Insights node
2. Click Create New Credential
3. Enter your Google API key
4. Test the connection to verify it worksπ― Usage
$3
#### 1. Analyze Single URL
Perfect for analyzing individual pages with detailed insights.
Input:
- URL to analyze (supports various formats:
example.com, https://example.com, etc.)
- Strategy: Mobile, Desktop, or Both
- Categories: Performance, Accessibility, Best Practices, SEOOutput:
- Comprehensive performance scores
- Core Web Vitals metrics
- Detailed Lighthouse audit results
- Screenshots (optional)
- Optimization recommendations
#### 2. Analyze Multiple URLs
Efficiently process multiple URLs in batch with intelligent rate limiting.
Features:
- Concurrent processing with respect to API limits
- Progress tracking and reporting
- Individual error handling per URL
- Batch summary statistics
- Automatic retry on transient failures
#### 3. Analyze Sitemap (Advanced)
Automatically discover and analyze all URLs from a website's XML sitemap.
Features:
- Automatic sitemap parsing and URL extraction
- Advanced filtering options:
- Include/exclude URL patterns
- Content type filtering (pages vs posts)
- Maximum URL limits for quota management
- Nested sitemap support (sitemap index files)
- Domain-based analysis and reporting
#### 4. Compare URLs (New in v1.5.8)
Compare performance between different URLs or track changes over time.
Comparison Types:
- Two URLs: Compare performance between different pages
- Before/After: Track performance changes for the same URL
- Batch Comparison: Compare multiple URLs against a baseline
Analysis Features:
- Score difference calculations
- Metric improvement tracking
- Significant change detection
- Automated recommendations
$3
Choose the level of detail that fits your workflow:
- Complete: Full Lighthouse data including all audits and recommendations
- Scores Only: Just the category scores (Performance, Accessibility, etc.)
- Core Metrics: Scores plus Core Web Vitals
- Summary: Scores, metrics, and key recommendations
π Example Workflows
$3
`
Manual Trigger β Google PageSpeed Insights β Set Variables
`$3
`
Manual Trigger β Set (Competitor URLs) β Google PageSpeed Insights (Multiple URLs) β Compare Results
`$3
`
Schedule Trigger β Google PageSpeed Insights (Sitemap) β Filter (Poor Performance) β Send Alert Email
`$3
`
Schedule β Google PageSpeed Insights β Compare with Previous Results β Store in Database β Generate Report
`βοΈ Configuration Options
$3
- Strategy: mobile | desktop | both
- Categories: Performance, Accessibility, Best Practices, SEO (select multiple)
- Locale: Localize results in various languages
- Screenshots: Include page screenshots in results
- Output Format: Control the amount of data returned$3
- Custom Timeout: Override default API timeout (10-300 seconds)
- Retry Attempts: Number of retry attempts on failure (0-5)
- Skip Content Validation: Bypass URL content type checking
- Batch Size: Control concurrent request limits for batch operations$3
- Include Patterns: Only analyze URLs matching these patterns (comma-separated)
- Exclude Patterns: Skip URLs matching these patterns
- Max URLs: Limit the number of URLs to analyze (quota management)
- URL Type Filter: all | pages | postsπ Error Handling
The node provides comprehensive error handling with user-friendly messages:
- Invalid URLs: Automatic URL validation and normalization
- API Errors: Detailed error messages with retry suggestions
- Rate Limiting: Intelligent backoff and queue management
- Content Type Issues: Validation that URLs return HTML content
- Network Issues: Automatic retry with exponential backoff
π Performance & Limits
$3
- Google PageSpeed Insights API has daily quotas
- The node automatically manages rate limiting
- Use batch processing for multiple URLs to optimize quota usage
- Consider the "Max URLs" setting for sitemap analysis$3
- Use "Mobile" strategy for modern web development focus
- Select only needed categories to reduce API calls
- Use "Core Metrics" output format for regular monitoring
- Implement retry logic in your workflows for production useποΈ Architecture (v1.5.8)
This version features a completely redesigned modular architecture for enhanced maintainability:
$3
`
src/
βββ nodes/GooglePageSpeed/ # Main node implementation
β βββ GooglePageSpeed.node.ts # Node definition and configuration
β βββ config.ts # Constants and configuration
β βββ interfaces.ts # TypeScript type definitions
β βββ operations/ # Analysis operations
β β βββ analyzeSingleUrl.ts # Single URL analysis
β β βββ analyzeMultipleUrls.ts # Batch URL processing
β β βββ analyzeSitemap.ts # Sitemap analysis
β β βββ compareUrls.ts # URL comparison features
β βββ helpers/ # Utility helpers
β β βββ responseFormatter.ts # API response formatting
β β βββ sitemapHelpers.ts # Sitemap processing
β βββ utils/ # Core utilities
β βββ apiUtils.ts # API request handling
β βββ urlUtils.ts # URL processing and validation
βββ credentials/ # Credential definitions
βββ GooglePageSpeedApi.credentials.ts
`$3
- Separated Concerns: Each operation is in its own module for easier maintenance
- Enhanced Type Safety: Complete TypeScript implementation with strict typing
- Improved Error Handling: Consistent error handling across all operations
- Better Testing: Modular structure enables comprehensive unit testing
- Easier Extension: New features can be added without affecting existing codeπ Version History
- v1.7.5 - TBT Metric Improvements:
- Fixed handling of Total Blocking Time (TBT) metric for very fast or static pages
- Enhanced error handling for null/zero TBT values
- Added detailed documentation about TBT behavior and interpretation
- Improved type safety in metric extraction
- Removed test files and sensitive data from repository
- v1.7.4 - Maintenance release with dependency updates and minor improvements
- v1.7.3 - Updated app icon location and fixed file structure
- v1.7.2 - Fixed SVG icon display issues across different platforms
- v1.7.1 - Resolved critical import path issues for better compatibility
- v1.7.0 - Stability Release:
- Fixed critical import path issues
- Improved error handling and logging
- Enhanced documentation and type definitions
- v1.6.0 - Major Architecture Update:
- Complete modular redesign for better maintainability
- Enhanced URL comparison and performance tracking features
- v1.5.8 - Enhanced batch processing and error handling
- v1.5.2 - Enhanced URL normalization and validation logic
- v1.3.0 - Introduced Sitemap Integration for automated website analysis
- v1.2.0 - Minor enhancements and bug fixes
- v1.1.0 - Initial release with core Google PageSpeed Insights functionality
- Improved batch processing with better progress tracking
- Advanced error handling with detailed logging
- Full TypeScript implementation with strict type checking
- Optimized build process and package structure
π€ Contributing
We welcome contributions! The new modular architecture makes it easier than ever to contribute:
$3
`bash
git clone https://github.com/joselhurtado/n8n-nodes-google-pagespeed.git
cd n8n-nodes-google-pagespeed
npm install
npm run build
``- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: API Documentation
MIT License - see LICENSE file for details.
- Google PageSpeed Insights API team for providing the excellent performance analysis service
- n8n community for the robust automation platform
- Contributors and users who have provided feedback and improvements
---
**Built with β€οΈ for the n8n communi