Getting started
PerSeo Insights is a comprehensive SEO analysis suite for any publicly accessible website. It offers four analysis modes and automated features to keep your site's health in check without manual work.
Single URL
Full analysis of a single page: on-page SEO, performance, Core Web Vitals, security and accessibility.
Sitemap
Import an XML sitemap and analyze all pages in batch. Up to 200 URLs per scan on the Pro plan.
Crawl
Automatic full-site scan following internal links, like a search engine bot. Identifies structural issues across the entire site.
Scheduled reports
Automated scheduled scans via Celery Beat with SEO report delivery by email. Configurable per URL, frequency and notification email.
Four plans are available: Guest (no account needed), Free (free account), Pro (monthly subscription), and Agency (custom). Create an account or log in to unlock all features.
User accounts & benefits
Registration options
Email Registration
Sign up with your email address and create a secure password. We hash all passwords using industry-standard bcrypt encryption.
- • Password must be 8+ characters
- • Email verification required
- • Secure password reset available
Google Sign-In
Use your existing Google account for instant access. We use OAuth 2.0 for secure authentication without storing your Google password.
- • One-click registration
- • No password to remember
- • Managed by Google's security
Available plans
Guest
- 1 URL scan/day
- 1 sitemap (max 5 URL)
- No crawl
- No reports
- No history
- No export
Free - €0
- 5 URL scans/day
- 1 sitemap (max 50 URL)
- 1 crawl (max 1.000 pages)
- 1 scheduled report
- 7 days history
- PDF + Excel
- API (Promo 90d)
Pro - €9,90/mo
- 50 URL scans/day
- 10 sitemap (max 200 URL/scan)
- 10 crawl (max 10.000 pages)
- 10 scheduled reports
- 90 days history
- PDF + Excel
- Full API
Agency - Custom
- Everything in Pro
- Custom crawl volume
- Custom scheduled reports
- White-label
- Multi-user
| Feature | Guest | Free | Pro | Agency |
|---|---|---|---|---|
| Single URL scans / day | 1 | 5 | 50 | Custom |
| Sitemap scans / day | 1 (max 5 URL) | 1 (max 50 URL) | 10 (max 200 URL/scan) | Custom |
| Scan history | 7 days | 90 days | Unlimited | |
| PDF + Excel Export | ||||
| API Access | Promo 90d | |||
| Full site crawl / day | 1 (max 1.000 pages) | 10 (max 10.000 pages) | Custom | |
| Scheduled reports | 1 | 10 | Custom | |
| White-label Reports | ||||
| Price | Free | €0 | €9,90/mo | Contact us |
Performance metrics
Page speed is a critical ranking factor for SEO and user experience. We analyze multiple performance indicators:
Load time
Total time taken for the page to fully load and become interactive.
< 1 second
Lightning fast loading
1-3 seconds
Acceptable for most users
> 3 seconds
Users may abandon
Page size
Total weight of all resources (HTML, CSS, JS, images, fonts) needed to load the page.
< 1 MB
Mobile-friendly
1-3 MB
Room for improvement
> 3 MB
Optimize images & assets
Optimization tips
- Compress images: use WebP format and proper sizing
- Minify CSS/JS: remove unnecessary whitespace and comments
- Enable caching: set proper cache headers for static resources
- Use a CDN: distribute content globally for faster delivery
- Lazy load images: load images only when they enter viewport
Core Web Vitals (2025 Standards)
Google uses Core Web Vitals as ranking signals. These metrics measure real-world user experience:
LCP
Largest Contentful Paint
Measures loading performance. Time until the largest content element becomes visible.
INP
Interaction to Next Paint
Measures responsiveness. Time from user interaction (click, tap) to visual response.
CLS
Cumulative Layout Shift
Measures visual stability. Sum of all unexpected layout shifts during page load.
Why Core Web Vitals matter
Google officially confirmed that Core Web Vitals are ranking factors. Pages with good Core Web Vitals scores have better chances of ranking higher in search results, especially for mobile searches.
SEO on-page
Every scan checks 15+ on-page signals and returns a SEO score 0-100 with critical errors, warnings and prioritized recommendations.
Title tag
Missing or out of range → critical error. Optimal: 50-60 chars, keyword first, unique per page.
Meta description
Missing or out of range → warning. Optimal: 150-160 chars. Not a direct ranking factor but drives CTR.
Tag H1
Missing H1 → critical error. Multiple H1s → warning. Should describe the main page topic.
Gerarchia H2-H6
Checks that heading structure is logical and levels are not skipped. Helps crawlers and screen readers.
Meta robots / Noindex
Noindex detected → critical error with score penalty. Page is excluded from Google indexing.
Canonical URL
Missing canonical → warning. Prevents duplicate content penalties and consolidates link equity.
Open Graph
Checks og:title, og:description, og:image and og:type. Essential for social network link previews.
Meta viewport
Missing → warning. Required for correct mobile rendering. Google uses mobile-first indexing.
Schema.org markup
Detects Article, Author, Organization, FAQ, HowTo, Speakable. Each type improves the E-E-A-T score.
Alt text immagini
Images missing alt attribute → warning. Relevant for accessibility (WCAG) and image SEO.
Conteggio parole
Below 300 words → thin content warning. Google tends to rank pages with very little text lower.
Hreflang
Detects hreflang tags for multi-language or multi-region sites. Missing on international sites → warning.
Redirect
Detects 301/302 redirects. Redirect chains and loops are flagged as structural issues in the crawl report.
Link rotti
Internal and external links returning 4xx/5xx are flagged as critical errors. Impact crawl budget and UX.
HTTPS
HTTP without TLS → critical error. HTTPS has been a confirmed Google ranking factor since 2014.
Favicon
Favicon presence detected. Improves brand recognition in SERPs and browser tabs.
How the SEO score works (0-100)
The score starts at 100 and scales down based on detected issues. Critical errors carry larger penalties than warnings.
Noindex, missing H1, missing title, no HTTPS
Meta desc, canonical, alt text, thin content, viewport
Open Graph, Schema, hreflang, favicon
Security headers analysis
Security headers protect your website and users from common web vulnerabilities. We check for 10+ critical headers and provide a security score (0-100).
Content-Security-Policy
Prevents XSS attacks by controlling which resources can be loaded
Strict-Transport-Security
Forces HTTPS connections, preventing downgrade attacks
X-Frame-Options
Prevents clickjacking by controlling iframe embedding
X-Content-Type-Options
Prevents MIME type sniffing attacks
Security score interpretation
Most security headers properly configured
Some important headers missing
Critical headers absent, immediate action needed
Links & images analysis
Link analysis
-
Internal Links: links to other pages on your site (helps SEO and navigation)
-
External Links: links to other websites (verify quality and relevance)
-
Broken Links: we detect 404 errors and unreachable URLs
Image optimization
-
Alt Text: critical for accessibility and image SEO (describe images for screen readers)
-
File Size: large images slow down page load (compress without losing quality)
-
Modern Formats: use WebP or AVIF for better compression
Google Search Console
Connect your Google Search Console account to see real traffic data directly in PerSeo Insights reports: clicks, impressions, CTR and average position for the last 28 days.
How to connect GSC
- 1Go to Profile and click "Connect Google Search Console"
- 2Authorize with the Google account that has GSC access
- 3The scanned site must be a verified property in your GSC account
- 4Open any scan and go to the GSC tab to see the data
Available data
Page metrics
- Clicks (total last 28 days)
- Impressions
- CTR (click-through rate)
- Average position
Top queries
- Keywords for which the page appears in SERP
- Clicks, impressions, CTR and position per query
Important notes
- The GSC account can be different from the PerSeo Insights login account
- GSC data is fetched in real time on each tab open (not saved in the report)
- Sites added as "Domain property" (sc-domain:) have full coverage; URL properties only cover that prefix
- GSC data has a 2-3 day lag compared to real traffic
AI Readiness (SGE / AI Overview)
The AI Readiness score measures how well a page is optimized to be included in Google's generative answers (AI Overview, SGE). It does not replace traditional SEO metrics: it is an additional indicator reflecting content structure and clarity for AI systems.
Analyzed signals
FAQ Schema (FAQPage structured data)
Speakable schema markup
HowTo Schema structured data
Article / BlogPosting schema
Question-format headings (H2/H3 with "?")
Content structure and readability
Use of lists and tables
Contextual links and definitions
Grading
A+
90-100
A
80-89
B
65-79
C
50-64
D
35-49
F
0-34
AI Overview API
AI Readiness data is also exposed via REST API at endpoint GET /api/v1/scans/{id}/ai-overview. See the API docs for details.
Single URL scan
The Single URL mode performs an in-depth analysis of a single web page. It's the ideal starting point for diagnosing specific page issues, optimizing a landing page, or verifying the result of a technical fix. Unlike Sitemap and Crawl modes, it includes Lighthouse metrics from Google (Performance, Core Web Vitals, Accessibility) which require running a real browser.
Performance & CWV
Real Lighthouse: LCP, INP, CLS, FCP, TTFB, Speed Index
Full analysis
On-page SEO, security, links, images, E-E-A-T, AI Readiness, GSC
Exportable report
Multi-page PDF with grade, recommendations and benchmarks
What gets analyzed
- Lighthouse Performance score (0-100)
- Core Web Vitals (LCP, INP, CLS) with Google thresholds
- On-page SEO: title, meta, headings, canonical, hreflang
- Security: HTTPS, HTTP headers, vulnerabilities
- Accessibility: Lighthouse + WCAG, contrast, ARIA
- Internal and external links, images and alt attributes
- E-E-A-T authority: Schema.org, Open Graph, trust signals
- AI Readiness: optimization for Google SGE and AI overviews
- Google Search Console data (if account connected)
- JavaScript rendering and page link graph
Limits by plan
Free
- 5 scan/day
- 30-day history
Pro
- 50 scan/day
- 90-day history
How to run a single URL scan
- Enter the full URL of the page to analyze (e.g.
https://example.com/page) - Select Single URL mode from the analysis menu
- Start the scan: Lighthouse runs in the background alongside the SEO analysis
- When done, explore the report tabs: Performance, SEO, Security, Accessibility, Links, E-E-A-T, AI
- Export the report as PDF or save it to compare later using the Compare feature
Sitemap scan
The Sitemap mode imports an XML sitemap and analyzes all listed pages in batch. It's the right choice when you already know which URLs to monitor and want an aggregated SEO analysis across the full set, without waiting for a crawler to discover pages.
Unlike the single URL scan, Sitemap mode does not run Lighthouse: Performance metrics and Core Web Vitals (LCP, INP, CLS) are not available per page. The focus is on on-page SEO analysis, security, and the URL structure of the sitemap.
XML import
Reads sitemap.xml and sitemap index files, including nested sitemaps
Batch analysis
On-page SEO for every sitemap URL, run in parallel
Security tab
Aggregated security checks: HTTPS, mixed content, info disclosure, cookies
Sitemap vs Single URL
Available in Sitemap
- On-page SEO per URL (title, meta, headings, canonical, hreflang)
- Security tab with aggregated checks (HTTPS, mixed content, cookies, info disclosure)
- Internal links list detected per page
- Internal link graph between sitemap pages
- Aggregated report with global errors and warnings
- Domain signals: llms.txt, security.txt, sitemap.xml
Not available in Sitemap
- Per-page Lighthouse Performance score
- Core Web Vitals (LCP, INP, CLS) per page
- Lighthouse Accessibility score
- Google Search Console data per page
- AI Readiness and in-depth E-E-A-T analysis
Limits by plan
Free
- 1 sitemap/day
- max 5 URL/scan
Pro
- 10 sitemap/day
- max 200 URL/scan
How to run a sitemap scan
- Enter the XML sitemap URL (e.g.
https://example.com/sitemap.xml) - Select Sitemap mode from the analysis menu
- The system reads the sitemap, extracts URLs and runs the analysis in parallel
- Monitor progress: each URL is scanned and results update in real time
- When done, explore the aggregated report with SEO, Security tabs and the internal link graph
Site crawl
The Crawl mode automatically scans your entire website by following internal links, exactly as a search engine bot does. Instead of analyzing a single page or importing a sitemap, the crawler starts from the root URL and discovers all internal pages, building a complete site map and detecting structural issues at scale.
Auto-discovery
Finds all site pages by following internal links
Issue detection
Identifies problems across the entire site
Aggregated report
Full summary with global metrics and page list
Issues detected by the crawler
- Pages with 4xx and 5xx errors
- Broken internal and external links
- Duplicate title tags
- Duplicate or missing meta descriptions
- Pages missing H1 tag
- Redirect chains and redirect loops
- Images missing alt attributes
- Pages blocked by robots.txt
- Missing or incorrect canonical tags
- Slow pages (> 3s load time)
Limits by plan
Free
- 1 crawl/day
- max 1.000 pages
Pro
- 10 crawl/day
- max 10.000 pages
Domain signals
The crawl report includes a Domain signals panel with root-domain checks run once: presence of sitemap.xml, llms.txt and security.txt. These signals are independent of the number of pages crawled.
How to use the crawler
- Enter the root URL of the site (e.g.
https://example.com) - Select Crawl mode from the analysis menu
- Start the scan: the crawler will follow internal links asynchronously
- Monitor progress in real time via the progress bar
- When done, review the aggregated report with all issues listed per page
Export reports
Registered users can export complete SEO reports in two formats:
PDF export
Professional reports for clients
- Professionally formatted
- Color-coded metrics
- Ready to present to clients
- Includes all analysis sections
Excel export
Data analysis and tracking
- Structured data tables
- Easy to filter and sort
- Create custom charts
- Track changes over time
Premium feature
Export functionality is available exclusively for registered users. Create your free account to unlock this feature!
Scheduled reports
Scheduled reports let you automate SEO scans and receive the report by email on a weekly or monthly schedule. You can analyze a single URL or run a full domain crawl with control over depth and maximum pages. No manual action required: the system runs the scan automatically and delivers results directly to your inbox.
Flexible scheduling
Choose a day of the week (Mon-Sun) or day of the month (1-28). The system automatically calculates the next run and updates it after each execution.
Single URL or domain crawl
Single URL: analyze one specific page. Crawl: recursive domain scan with configurable depth (2-8 levels) and page limit (50-500). The crawl report includes average score, aggregated top issues and domain metrics.
Branded email
Each run sends an HTML email with SEO score, color-coded grade, and full issue list. For crawls: average score, pages crawled, total errors/warnings and top 15 issues by type. Notification email is configurable per schedule.
Dashboard management
Create, edit, enable/pause and delete schedules from the "Scheduled reports" section in your dashboard. The color badge shows at a glance whether the schedule is Single or Crawl.
REST API
Full CRUD via API: GET/POST/PUT/PATCH/DELETE /api/v1/scheduled-reports. Additional fields for crawl: scan_type (single/crawl), crawl_max_pages, crawl_max_depth. Requires read/write scope.
Limits by plan
Monitoring
URL monitoring keeps an eye on your pages continuously and alerts you by email as soon as it detects a relevant change: SEO score drop, title modification, canonical removal, meta description change or 404 response. Add URLs from the dashboard, choose the check frequency and receive automatic alerts without having to reopen the app.
SEO score drop
Immediate alert if the SEO score drops by 10 or more points compared to the last check. The email shows the previous value, the current one and the delta.
Title change
Notified every time the page <title> tag is changed. Useful to catch accidental edits or unauthorized third-party modifications.
Canonical removal
If the page had a canonical tag and it gets removed, you receive an alert. Missing canonical can cause content duplication issues in Google's eyes.
Meta description change
Detects any change to the meta description. The alert shows the previous and new text so you can immediately assess the impact on SERP CTR.
404 page
If the page returns a 404 error, you receive a high-priority alert. This lets you act before Google indexes the page as unavailable.
Configurable frequency
Choose how often to check each URL: every 6 hours, 12 hours, 24 hours (default), 48 hours or once a week. You can use a different notification email per URL.
Limits by plan
Frequently asked questions
How much does PerSeo Insights cost?
PerSeo Insights offers a forever-free plan and a Pro plan at €9.90/month (+ VAT). Core analysis features are available on all plans; the Pro plan unlocks higher limits, 90-day history, and API access.
View all plansWhat does "ALPHA" version mean?
We're in active development! "Alpha" means we're continuously adding new features, improving existing ones, and fixing bugs. You may encounter occasional issues or see features change. We appreciate your feedback to help us improve! Report bugs or suggestions.
Is my data safe?
Yes! We take data protection seriously and are fully GDPR compliant. We store only essential data (email, hashed passwords), never share it with third parties, and you can request data deletion at any time. All passwords are encrypted using bcrypt. Read our Privacy Policy for details.
Can I analyze any website?
Yes, you can analyze any publicly accessible website. PerSeo Insights fetches publicly available data using a combination of direct HTTP requests, third-party APIs (like Google PageSpeed Insights), and our proprietary analysis algorithms. We don't access password-protected content or private areas. Our analysis respects robots.txt and website terms of service.
Why are there scan limits?
PerSeo Insights is a completely free service. To keep it that way and ensure fair access for everyone, we implement daily scan limits to manage server resources and prevent abuse. Registered users get 5 single URLs + 1 sitemap per day, while guests can perform 1 single URL + 1 sitemap per day. If you need higher limits, please contact us.
Can I see my previous scans?
Yes! Registered users have full access to their scan history in the Dashboard. You can view all your past analyses, review detailed reports, and track web improvements over time.
How to access your history:
- Log in to your PerSeo Insights account
- Go to your Dashboard from the menu
- View all your previous scans with date, URL, and SEO score
- Click "View Details" to review complete reports
- Export reports to PDF or Excel for in-depth analysis
Note: non-registered users don't have access to scan history. Create a free account to save your analyses!
Is there an API available?
Yes! PerSeo Insights exposes a full REST API v1.0, allowing developers to integrate the platform into their own applications, CI/CD pipelines, or monitoring systems. API access is available to all registered users.
View the API ReferenceIs there a mobile app?
Yes! An Android app is currently in development and will be released soon. However, you can already use PerSeo Insights from your mobile device right now - our platform is fully responsive and optimized for mobile browsers, providing a seamless experience on smartphones and tablets.
REST API
PerSeo Insights exposes a complete REST API (v1.0) to start scans, read results, export reports and manage tokens programmatically. Base URL:
https://insights.perseodesign.com/api/v1
Token Management
Create and manage API keys from the Dashboard
Async Scans
Start and monitor scans via polling
Export JSON / CSV / PDF
Download reports in your preferred formats
Quick start
- 1 Go to the Dashboard and open the API & Token section
-
2
Create a new token with the required scopes (
read,scan,export) - 3 Save the token immediately: it will not be shown again
-
4
Use the token in the header
Authorization: Bearer sk_live_xxx