LaraSEOScan is a professional, self-hosted website SEO crawler and technical audit suite built on Laravel 12. Crawl entire domains dynamically to detect ranking blockers, performance warnings, heading hierarchies, broken links, schemas, and images.
LaraSEOScan is a developer-centric technical SEO platform designed to run private audits on any web page. It maps domain assets, verifies meta tag compliance, checks response codes to eliminate dead ends, and validates structured JSON-LD schemas.
- π Premium Authentication: Full user registration, login, and profile settings powered by Laravel Breeze.
- π Guest Scan Conversion: Initial guest scans are dynamically converted and saved to the user's history upon registration.
- π Interactive Dashboard: Site overview statistics, completion counters, and interactive chart logs using ECharts.
- π Scan History & Soft Deletes: Personal audit logs showing favicon icons, scan status badges, and soft-delete capabilities.
- π Rate Limiting: Configured scanning limit of 5 project scans per user/day to prevent infrastructure overload.
- π Robust Crawler: Googlebot-like domain parsing using Symfony DOMCrawler and Guzzle asynchronous pools.
- π Core Metadata Inspection: Validation of Title Tag length proximity rules, Meta Description constraints, and robots indexing directives.
- π Broken Link Auditor: Identifies dead anchors, circular redirects, and 404 response errors across all internal and external anchors.
- π§Ύ Headings Hierarchy Audit: Validates logical H1βH3 header nesting paths and flags duplicate H1 header warnings.
- π€ Directives Validator: Validates robots.txt disallow rules, XML Sitemap schemas, and JSON-LD schema structured scripts.
- π€ Document Exports: Download results as clean, styled PDF reports or developer-friendly CSV spreadsheets.
LaraSEOScan provides a dedicated Technical SEO Tools Hub including:
- Website SEO Checker: Broad audit of domain metrics, Core Web Vitals, and indexing.
- Meta Tag Checker: Inspects meta title, description, and canonical header tags.
- Meta Description Checker: Validates description tags lengths for snippet previews.
- Title Tag Checker: Checks character count lengths and brand separating metrics.
- H1 Tag Checker: Audits visual hierarchy layouts.
- Broken Link Checker: Finds loops, redirections, and broken anchors.
- Robots.txt Checker: Evaluates User-Agent instructions.
- XML Sitemap Checker: Checks location mapping validity.
- Schema Markup Validator: Validates structured JSON-LD scripts for rich snippet eligibility.
- Open Graph Checker: Previews social share cards.
- Image SEO Checker: Flags missing ALT tags and confirms descriptive filenames.
- PHP 8.2+
- Composer
- Node.js 18+ & npm
- MySQL, PostgreSQL, or SQLite
- GD Extension
- Clone the repo
git clone https://github.com/mayuroza3/LaraSEOScan.git
cd LaraSEOScan- Install dependencies
composer install
npm install
npm run build # Compile assets- Configure Environment
cp .env.example .env
php artisan key:generateSet up database credentials in your .env file:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laraseoscan
DB_USERNAME=root
DB_PASSWORD=- Run migrations
php artisan migrate- Start Queue Worker (Required for Background Crawls)
php artisan queue:work- Serve the Application
php artisan serveNow visit: http://127.0.0.1:8000
- Laravel 12
- Guzzle HTTP β fetch links and web pages
- Symfony DOMCrawler β HTML parsing and DOM inspection
- Breeze - authentication scaffolding
- Bootstrap 5 & Tailwind CSS β layout styling & custom color schemes
- ECharts β interactive data charts
- MySQL/PostgreSQL β scan history storage
- Fork the repo
- Create a new branch:
feature/my-feature-name - Make your changes
- Submit a Pull Request π
- Multilingual scan report exports
- Scheduled crawl jobs with email alerts
- Search Console & Analytics API integration
Created with β€οΈ by Mayur Oza
Follow me on GitHub: @mayuroza3
Connect on LinkedIn: Mayur Oza
Follow on X: @mayuroza3




