A free, standalone web application with all the powerful SEO features from RankMath Pro plugin - completely license-free and ready for self-hosting!
- SEO Analysis - Comprehensive website SEO auditing
- Competitor Analysis - Analyze competitor websites
- Content AI - AI-powered content generation assistant
- Keyword Research - Research and track keywords
- 404 Monitor - Track and manage 404 errors
- Redirections Manager - Create and manage URL redirects
- Sitemap Generator - Auto-generate XML sitemaps (General, News, Video)
- Schema Markup - Generate structured data
- Local SEO - Manage multiple business locations
- Image SEO - Optimize images with alt text and compression analysis
- Analytics Dashboard - Track keywords, impressions, clicks
- Performance Metrics - Monitor page performance
- Search Console Integration - Import GSC data
- PHP 7.4 or higher
- MySQL 5.7+ or MariaDB 10.2+
- Apache with mod_rewrite (or Nginx)
- PHP Extensions: PDO, cURL, JSON, mysqli
-
Copy webapp folder to XAMPP
Copy: C:\xampp\htdocs\rankmath\webapp -
Start XAMPP
- Start Apache
- Start MySQL
-
Run Installation
- Open browser:
http://localhost/rankmath/webapp/install.php - Follow installation wizard
- Configure database (default XAMPP: host=localhost, user=root, password=empty)
- Open browser:
-
Access Dashboard
- Open:
http://localhost/rankmath/webapp/
- Open:
-
Upload Files
- Upload entire
webappfolder via FTP/cPanel File Manager - Place in:
public_html/rankmath-seo/(or your preferred directory)
- Upload entire
-
Create MySQL Database
- Go to cPanel β MySQL Databases
- Create new database:
your_database_name - Create user and assign all privileges
-
Run Installation
- Visit:
https://yourdomain.com/rankmath-seo/install.php - Enter database credentials
- Complete installation
- Visit:
-
Set Permissions (if needed)
chmod 755 webapp/ chmod 644 webapp/config/database.php
-
Install Dependencies
sudo apt update sudo apt install apache2 mysql-server php php-mysql php-curl php-json php-mbstring sudo a2enmod rewrite sudo systemctl restart apache2
-
Upload Application
cd /var/www/html sudo mkdir rankmath-seo # Upload webapp files to /var/www/html/rankmath-seo/ sudo chown -R www-data:www-data rankmath-seo/
-
Create Database
sudo mysql CREATE DATABASE rankmath_webapp; CREATE USER 'rankmath_user'@'localhost' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON rankmath_webapp.* TO 'rankmath_user'@'localhost'; FLUSH PRIVILEGES; EXIT;
-
Configure Apache Virtual Host (Optional)
<VirtualHost *:80> ServerName seo.yourdomain.com DocumentRoot /var/www/html/rankmath-seo <Directory /var/www/html/rankmath-seo> AllowOverride All Require all granted </Directory> </VirtualHost>
-
Run Installation
- Visit:
http://your-server-ip/rankmath-seo/install.php
- Visit:
webapp/
βββ assets/
β βββ css/
β β βββ style.css # Frontend styles
β βββ js/
β βββ app.js # Frontend JavaScript
βββ config/
β βββ app.php # Application config
β βββ database.php # Database config (auto-generated)
βββ core/
β βββ Database.php # Database handler
β βββ Response.php # API response helper
β βββ Router.php # API router
βββ database/
β βββ schema.sql # Database schema
βββ modules/
β βββ SeoAnalysis/
β β βββ SeoAnalysisController.php
β βββ Analytics/
β β βββ AnalyticsController.php
β βββ ContentAi/
β β βββ ContentAiController.php
β βββ LocalSeo/
β β βββ LocalSeoController.php
β βββ ImageSeo/
β β βββ ImageSeoController.php
β βββ Monitor/
β β βββ MonitorController.php
β βββ Redirections/
β β βββ RedirectionsController.php
β βββ Sitemap/
β βββ SitemapController.php
βββ .htaccess # Apache rewrite rules
βββ api.php # API entry point
βββ index.php # Dashboard UI
βββ install.php # Installation wizard
βββ install-handler.php # Installation processor
Edit config/database.php after installation:
return [
'host' => 'localhost',
'port' => 3306,
'database' => 'rankmath_webapp',
'username' => 'root',
'password' => '',
'prefix' => 'rm_',
];Edit config/app.php:
return [
'base_url' => 'http://localhost/rankmath/webapp',
'debug' => true, // Set to false in production
];- Go to SEO Analysis tab
- Enter target URL
- Click "Analyze Website"
- Review comprehensive SEO report with score
- Navigate to Competitor Analysis
- Enter competitor URL
- Get detailed analysis of their SEO setup
- Open Content AI tab
- Enter target keyword
- Select content type (Title, Paragraph, Meta Description, etc.)
- Click "Generate Content"
- Copy generated content
- Automatically tracks 404 errors
- View all 404 logs with hit counts
- Export logs as CSV
- Clear individual or all logs
- Add 301/302/307/308 redirects
- Import redirects from CSV
- Track redirect hits
- Delete outdated redirects
- Add multiple business locations
- Auto-generate schema markup
- Search nearby locations
- Geocoding support
- Bulk analyze images from any URL
- Get optimization suggestions
- AI-powered alt text suggestions
- Track optimization status
- Auto-crawl website to generate sitemap
- Support for general, news, video sitemaps
- Download XML sitemap files
- Submit to search engines
/rankmath/webapp/api.php
POST /api/seo-analysis/analyze- Analyze URLGET /api/seo-analysis/history- Get analysis history
GET /api/analytics/dashboard- Get dashboard dataPOST /api/analytics/keyword- Add keyword data
GET /api/404-monitor/logs- Get all logsPOST /api/404-monitor/log- Log 404 errorDELETE /api/404-monitor/{id}- Delete log
GET /api/redirections- Get all redirectionsPOST /api/redirections- Add redirectionDELETE /api/redirections/{id}- Delete redirection
[... more endpoints documented in api.php]
- Change
debugtofalseinconfig/app.php - Update
base_urlinconfig/app.php - Set strong MySQL password
- Enable HTTPS (SSL certificate)
- Set up regular database backups
- Configure cron jobs for analytics (optional)
- Restrict database access to localhost only
- Remove or protect
install.phpafter installation
-
Database Security
-- Don't use root user in production CREATE USER 'rm_app'@'localhost' IDENTIFIED BY 'strong_password_here'; GRANT SELECT, INSERT, UPDATE, DELETE ON rankmath_webapp.* TO 'rm_app'@'localhost';
-
File Permissions
chmod 755 webapp/ chmod 644 config/database.php
-
Disable Directory Listing Add to
.htaccess:Options -Indexes
- Check database credentials in
config/database.php - Ensure MySQL service is running
- Verify database exists
- Enable Apache mod_rewrite:
sudo a2enmod rewrite - Check
.htaccessfile exists - Verify
AllowOverride Allin Apache config
- Check
base_urlinassets/js/app.js - Verify API routes in
api.php - Check PHP error logs
- Enable error display:
ini_set('display_errors', 1); error_reporting(E_ALL);
- Check PHP error log
- Verify all PHP files are uploaded
-
Enable OPcache (php.ini):
opcache.enable=1 opcache.memory_consumption=128
-
MySQL Optimization:
-- Add indexes for better query performance ALTER TABLE rm_analytics_keywords ADD INDEX idx_date (date); ALTER TABLE rm_analytics_keywords ADD INDEX idx_keyword (keyword(100));
-
Caching:
- Consider adding Redis/Memcached for session storage
- Implement result caching for expensive queries
This is a custom build adapted from RankMath Pro. Feel free to customize and extend based on your needs!
This is a free, license-free version. No premium subscriptions, no license keys required.
Original Plugin: RankMath Pro (Enterprise License) Adaptation: Standalone web application
For issues and questions:
- Check the troubleshooting section
- Review PHP error logs
- Check Apache/Nginx error logs
Built upon features from RankMath SEO Pro plugin, adapted into a standalone web application.
Enjoy your free SEO toolkit! π