🛠 Technical Audit Tools
A complete suite of technical SEO tools — from deep site crawls and Core Web Vitals to local SEO signals, code validators, meta tag analysis and image optimisation.
🔍 Site Audit
Full crawl analysis — checks for SEO issues, broken links, redirect chains, missing tags & duplicate content
Enter a URL and click Analyze to begin the audit
- 🏷️ On-Page SEO
- Title tag — presence & length (50–60 chars)
- Meta description — presence & length
- H1 tag — single, correct placement
- H2–H6 heading hierarchy & level skipping
- Canonical tag — presence & relative/absolute
- Robots meta directives (noindex, nofollow)
- Open Graph tags — all required fields
- Twitter/X Card tags
- HTML lang attribute
- Charset declaration
- Word count & thin content detection
- Content-to-HTML ratio
- ⚡ Technical & Performance
- HTTPS / SSL active
- HTTP status code (200, 404, 403…)
- Redirect detection
- Mobile viewport meta tag
- Page load TTFB
- HTML page size
- Render-blocking scripts in <head>
- Images missing width/height attributes
- Image alt attributes
- Links with no anchor text
- Deprecated HTML elements
- Security headers presence
- Favicon declared
- Inline style usage
- 🗂️ Schema & Structured Data
- JSON-LD schema detection
- Schema parse error detection
- Schema types identified
- 🔗 Quick Actions
- → Check robots.txt & sitemap
- → Check redirect chains
- → Core Web Vitals detail
- → Deep meta tag analysis
- → Hreflang checker
🤖 Robots.txt & Sitemap Tester
Fetch, validate and analyse robots.txt and sitemap.xml for any domain
↪️ Redirect Chain Checker
Follow all redirects for any URL and identify chains that waste link equity
We'll follow every redirect and show you the full chain — redirect chains (A→B→C) lose link equity at each hop.
🌍 Hreflang Checker
Validate hreflang tags for international SEO — detect missing, incorrect or conflicting tags
Hreflang tags tell Google which language/region each page targets. Incorrect implementation is one of the most common international SEO mistakes.
⚡ Core Web Vitals Explainer
Get your PageSpeed Core Web Vitals explained in plain English with specific fix instructions
Uses Google's PageSpeed Insights API to fetch your Core Web Vitals, then explains each metric and gives you specific, actionable steps to improve it.
🏷 Meta Tag Analyzer
Analyze all meta tags, OG tags, Twitter Cards & SEO directives from a URL or pasted HTML
🌐 HTML Checker
Validates HTML syntax, semantic structure, SEO best practices & accessibility attributes
🎨 CSS Checker
28-point CSS audit — syntax validation, performance, specificity, accessibility, browser compatibility, font loading, animation safety and responsive checks. Built for SEO agencies.
<style> blocks automatically. For external .css files, enter the direct file URL (e.g. https://example.com/style.css) or paste your CSS in the Paste tab.
- →Unbalanced curly braces
- →Missing semicolons after declarations
- →Empty rule blocks (dead code)
- →Duplicate selectors
- →Duplicate property declarations
- →HTTP (non-HTTPS) resource URLs
- →Mixed colour format inconsistency
- →File size & critical CSS guidance
- →Rule count & IE selector limit
- →Universal selector (*) performance
- →@import render-blocking
- →@font-face font-display strategy
- →Excessive custom fonts (>4)
- →Excessive !important usage
- →ID selectors vs class selectors
- →Deep selector nesting (3+ levels)
- →CSS custom properties (variables) usage
- →Vendor prefix overuse
- →outline:none on :focus (WCAG 2.4.7)
- →Missing :focus-visible styles
- →Font sizes below 12px
- →user-select:none on readable content
- →overflow:hidden on body / html
- →Missing prefers-reduced-motion query
- →will-change overuse (GPU memory)
- →Non-composited animation properties
- →Layout-triggering transitions (reflow)
- →Fixed pixel widths (>600px) on mobile
- →Missing @media queries
- →CSS Grid without @supports fallback
- →CSS custom properties support
🔧 JavaScript Checker
18-point JavaScript audit — security vulnerabilities (eval, innerHTML XSS), performance issues (script size, synchronous XHR), modern JS practices (const/let, strict mode, async error handling) and memory leak detection.
📋 JSON-LD & Schema Checker
Validates JSON syntax and performs deep Schema.org compliance checks — Article, Product, FAQPage, LocalBusiness, BreadcrumbList, WebSite, HowTo, Event, Review, Person and Organization types all checked for required and recommended fields.
🖼 Image Optimisation
Audit every image on a page for size, format, alt text, dimensions and lazy loading
Fetches the page and audits all img tags found
Enter a page URL and click Analyse to audit all images
📍 Local SEO Checker
Audit your local business page for Google Maps 3-pack ranking signals — schema, NAP, hours, geo and GBP
Select your country to see country-specific directories in the NAP report. Leave on Auto-detect to read country from your schema.
- →LocalBusiness JSON-LD present
- →Business name in schema
- →Full address (street, city, postcode, country)
- →Telephone number in schema
- →Opening hours (openingHoursSpecification)
- →Geo coordinates (lat & lng)
- →Price range (priceRange)
- →Aggregate rating & review count
- →sameAs links to GBP and directories
- →areaServed or serviceArea defined
- →Business name visible on page (H1/heading)
- →Phone number visible on page
- →Address visible in footer or contact section
- →Google Maps iframe embed present
- →Google Business Profile link
- →Review / testimonial content present
- →NAP: schema name matches page name
- →NAP: schema phone matches on-page phone
Key ranking factors:
1. Google Business Profile (GBP) — Your GBP listing must be claimed, verified and fully completed. It is the primary signal — without it you cannot appear in the 3-pack.
2. LocalBusiness schema on your website — Structured data connects your website to your GBP listing, confirms your address details and supplies opening hours, geo coordinates and service area to Google algorithmically. Missing schema forces Google to guess — and it often gets it wrong.
3. NAP Consistency — Your Name, Address and Phone must be identical across your website, GBP, and every directory listing (Yell, Yelp, Thomson Local, Facebook etc.). Inconsistencies dilute local authority.
4. Reviews — Quantity, recency and diversity of Google reviews are a strong Maps ranking signal. Respond to all reviews.
5. Proximity — Google biases results toward businesses physically closest to the searcher. You cannot change your location, but you can optimise your service area in GBP.
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "The Sheffield Plumbing Company",
"url": "https://example.com",
"telephone": "+441142000000",
"priceRange": "££", // ££/£££ (UK), $$/$$$ (CA/US/AU), €€ (EU)
"address": {
"@type": "PostalAddress",
"streetAddress": "12 High Street",
"addressLocality": "Sheffield",
"addressRegion": "South Yorkshire", // Province/State for CA/US/AU
"postalCode": "S1 1AA",
"addressCountry": "GB" // ISO 3166-1: GB, US, CA, AU, DE, FR etc
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 53.3811,
"longitude": -1.4701
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
"opens": "08:00",
"closes": "18:00"
}
],
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.9",
"reviewCount": "247",
"bestRating": "5"
},
"sameAs": [
"https://www.google.com/maps?cid=YOUR_CID",
"https://www.yell.com/biz/example",
"https://www.facebook.com/example"
]
}
→ Generate LocalBusiness schema in the Schema Builder ↗
1. Go to google.com and search your exact business name + town — e.g.
Sheffield Plumbing Company Sheffield2. Your business Knowledge Panel will appear on the right (desktop) or at the top (mobile)
3. Click "View on Google Maps" or the Maps link
4. Copy the URL from your browser address bar — it will look like:
https://www.google.com/maps/place/Sheffield+Plumbing+Company/@53.38,-1.47,17z/data=...
That URL is your GBP link. Add it to your sameAs array in your LocalBusiness schema.Method 2 — Google Business Profile dashboard
1. Go to business.google.com and sign in
2. Select your business listing
3. Click "View on Maps" or "View on Search"
4. Copy the URL — this is your canonical GBP link
Method 3 — Short g.page link
In your GBP dashboard, look for Your Business Profile → Share profile. Google gives you a short link like:
https://g.page/your-business-name
This also works in your sameAs array and is easier to remember.Method 4 — Short maps.app.goo.gl link (easiest to share)
Google also generates a short link in the format:
https://maps.app.goo.gl/FDny4p92vjXc9awBA
You get this by opening your listing in Google Maps on mobile and tapping Share → Copy link. This format is fully valid as a sameAs URL and is recognised by this checker.@53.2690502,-1.4431358). Copy those numbers for your schema.
1. In your LocalBusiness schema:
"sameAs": ["https://maps.app.goo.gl/YOUR_LINK"]2. As a visible "Find us on Google Maps" link in your footer — this counts as an on-page local signal
Step 2 — Search your business address
Step 3 — Right-click exactly on your business location pin
Step 4 — Click the coordinates shown at the top of the right-click menu (e.g.
53.3811, -1.4701) — this copies them to your clipboardStep 5 — Paste into your LocalBusiness schema:
"geo": {
"@type": "GeoCoordinates",
"latitude": 53.3811,
"longitude": -1.4701
}
💡 Tip: Make sure your pin is on your actual premises — not on the road outside or a nearby landmark. Precision matters for Maps proximity scoring.
"+441142000000". Required for NAP matching across directories. ⚡ Easy Guide →geo property. ⚡ Easy Guide →openingHoursSpecification with dayOfWeek, opens and closes. ⚡ Easy Guide →sameAs array. ⚡ Easy Guide →Step-by-step guides for every major local SEO signal. Each links directly to the relevant section of the Learning Hub.