SEO Page Monitor & Optimizer
Track and monitor SEO signals across your WordPress pages. Fetch RankMath data, run Google PageSpeed tests, generate actionable recommendations, and optionally sync results to Google Sheets. Includes a modern React admin UI and WP-CLI commands.
by arnelG · github.com/wikiwyrhead/wiki-seo-page-monitor · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/wikiwyrhead/wiki-seo-page-monitor/archive/refs/heads/main.zip📊 SEO Page Monitor & Optimizer
A powerful WordPress plugin for comprehensive SEO monitoring, performance tracking, and optimization workflow management.
🚀 Features
📈 SEO & Performance Tracking
- Comprehensive Page Monitoring: Track unlimited pages with detailed SEO metrics
- Ranking Tracker: Monitor search engine positions for focus keywords
- PageSpeed Insights: Integrated performance scoring and optimization suggestions
- Mobile Usability: Track mobile-friendliness and Core Web Vitals
🔍 Technical SEO Tools
- Link Analysis: Monitor internal and external link profiles
- Image Optimization: Track missing alt texts and large images
- Header Structure: Analyze and optimize heading hierarchy
- Meta Information: Monitor meta titles and descriptions
🛠️ Workflow Management
- Priority System: Categorize pages by priority (Critical, High, Medium, Low)
- Action Tracking: Document completed actions and plan next steps
- Team Collaboration: Notes and change history for team coordination
- Custom Labels: Tag and categorize pages for better organization
📊 Reporting & Analytics
- Interactive Dashboard: Visual overview of your SEO health
- Export Capabilities: Export data to Excel/CSV for further analysis
- Historical Data: Track changes and improvements over time
- Custom Metrics: Define and monitor your own KPIs
🛠 Installation
Prerequisites
- WordPress 5.0 or higher
- PHP 7.2 or higher
- Node.js 14.x or higher (for development)
- MySQL 5.6 or higher
Quick Installation
- Download the latest release from the WordPress Plugin Directory
- In your WordPress admin, go to Plugins > Add New > Upload Plugin
- Upload the ZIP file and click Install Now
- Activate the plugin
- Access the plugin via SEO Monitor in the WordPress admin menu
Manual Installation
# 1. Upload the plugin
cd /path/to/wordpress/wp-content/plugins/
unzip seo-page-monitor.zip
# 2. Install dependencies and build assets (for development)
cd seo-page-monitor
npm install
npm run build
WordPress CLI
wp plugin install seo-page-monitor --activate
Development
Prerequisites
- Node.js (v14 or higher)
- npm or yarn
Build Commands
# Install dependencies
npm install
# Build for production
npm run build
# Development mode with watch
npm run dev
🚀 Getting Started
Dashboard Overview
- Navigate to SEO Monitor in your WordPress admin
- The main dashboard displays an overview of all tracked pages
- Each card shows key metrics at a glance
- Use the color-coded priority indicators to identify critical pages
Adding a New Page
- Click Add New Page in the top-right corner
- Enter the page URL and focus keyword
- Set the priority level (Critical, High, Medium, Low)
- Add any initial notes or actions
- Click Save to start tracking
Managing Pages
- Edit: Click the pencil icon to update page details
- Quick Edit: Hover over any metric to make quick updates
- Bulk Actions: Select multiple pages for batch operations
- Filtering: Use the priority dropdown and search bar to find specific pages
Understanding Metrics
- SEO Score: Overall SEO health (0-100)
- Performance: PageSpeed performance score
- Accessibility: WCAG compliance score
- Best Practices: Adherence to web best practices
- SEO: Technical SEO health check
🛠 Advanced Configuration
Data Storage & Security
- All data is stored in the WordPress database using custom tables for optimal performance
- Sensitive data is encrypted at rest
- Regular database optimization is performed automatically
- Data is backed up with your regular WordPress backups
API Integration
// Example: Access plugin data programmatically
$seo_monitor_data = get_option('seo_monitor_pages');
// Add custom data to the monitoring system
do_action('seo_monitor_track_page', [
'url' => 'https://example.com/page',
'priority' => 'high',
'meta' => [
'custom_metric' => 'value'
]
]);
Hooks & Filters
seo_monitor_before_save_page- Modify page data before savingseo_monitor_after_save_page- Perform actions after saving a pageseo_monitor_metrics- Add custom metrics to the dashboardseo_monitor_export_columns- Customize exported data columns
🔍 Troubleshooting
Common Issues
-
Plugin not activating
- Verify PHP version meets minimum requirements
- Check for plugin conflicts
- Review WordPress debug log for errors
-
Missing data
- Ensure the WordPress cron is running
- Check API key permissions (if using external services)
- Verify user capabilities
-
Performance issues
- Increase PHP memory limit
- Optimize database tables
- Consider using a caching plugin
Getting Help
- Check the FAQ section
- Review the documentation
- Open an issue
- Email support: support@example.com
🤝 Support & Community
We're here to help! Here's how you can get support:
Documentation
Support Channels
Professional Services
📄 License
SEO Page Monitor is licensed under the GNU General Public License v2 or later.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
👥 Contributing
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Development Setup
# Clone the repository
git clone https://github.com/your-username/seo-page-monitor.git
cd seo-page-monitor
# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run build
Testing
# Run unit tests
npm test
# Run E2E tests
npm run test:e2e
📋 Changelog
1.3.0
- SEO Audit: Added enhanced on-page analysis based on main content area (keyword density, first 100 words check, image/heading/link analysis).
- Content Links: Internal/external link counts are now based on the main content area only (navigation/footer excluded).
- Rich Results: Added FAQ and HowTo content detection to highlight structured data opportunities.
- Scoring: Introduced weighted SEO score and letter grade derived from detailed audit signals.
- API: Extended
/seo-monitor/v1/fetch-pageresponse with granular audit data blocks (keywordAnalysis, imageAnalysis, headingAnalysis, contentLinks, faqAnalysis, howtoAnalysis, seoScore). - Version: Bumped plugin version to 1.3.0.
1.2.1
- Fix (REST): Add no-cache headers to all
seo-monitor/v1endpoints to prevent LiteSpeed/proxy/browser caching from hiding newly-saved pages. - Build: Packaging scripts updated to exclude dev/test/CI artifacts (keep
vendor/for installable zip). - Frontend: Rebuilt production assets via
webpack --mode production. - Docs: Enhanced README and changelog.
1.2.0
- UI: Actions Completed and Next Actions render as iconized bullets with per-line wrapping and Show more/Collapse.
- UI: SEO Recommendations restored to a neat two-column table for readability.
- Export (Excel): Overview columns I/J/K (Actions/Recommendations/Next) now export one item per line with emoji icons and wrapping.
- Export (Excel): Improved splitter for emojis/labels and special handling for Header Structure lines; normalized newlines; auto row height.
- Persistence: Preserve newlines for Actions Completed so UI/exports keep intended line breaks.
1.1.0
- Export: Add Export CSV action (Excel-compatible) from Settings
- Security: CSV sanitization to prevent Excel formula injection
- Version: Bump plugin header to 1.1.0
1.0.1
- Admin: Google Sheets readiness notices on Settings
- Sheets: Header-aware writes (align to header order when enabled)
- Sheets: Optional hard row deletion (fallback to clear if sheetId unavailable)
- Security: Safer defaults for fetch (sslverify/reject_unsafe_urls) with DEV override
- Packaging: Lean zips via scripts and .gitattributes; GitHub Actions release workflow
1.0.0
- Initial release
- Page monitoring and tracking
- REST API integration
- Priority management
- PageSpeed integration