Technical SEO Reference Guide
Welcome to the SEO Unmasked Knowledge Base. This documentation breaks down core Search Engine Optimization metrics, their purposes, and how to effectively utilize them to impact your site's discoverability.
The Inspiration
I was sick and tired of SEO agencies cheating clients. They routinely charge thousands of dollars to run simple, superficial automated audits and dress them up as "proprietary insights." I built SEO Unmasked to democratize technical SEO. It provides professional-grade, instant audits of your site right in your browser. It is 100% free, 100% offline (your data never leaves your browser), and built for transparency.
The Dashboard Interface
The SEO Unmasked dashboard acts as your mission control for technical health. When you trigger an audit on a live page, the extension instantly runs a background script to extract and score dozens of metrics.
A unified rating (0-100) reflecting the overall technical competence of the page. It dynamically weighs critical errors significantly more than minor warnings.
Errors physically prevent pages from indexing or directly violate Google guidelines. Warnings highlight unoptimized elements that leave ranking potential on the table.
1. How to Audit Meta Information
The foundational tags that define the page identity in search results.
URL Structure (url)
Clean URLs matter. Instead of ?p=123&session=x, use descriptive slugs like /seo-guide/. Search engines read URLs to understand the directory structure and semantic topic.
Title Tag (title, titleLength)
The primary blue link in search results. Length is tracked precisely. If it exceeds ~60 characters (or 580 pixels), Google will truncate it with ellipses (...), severely hurting Click-Through Rates.
Meta Description (description, descriptionLength)
The summary paragraph below the title. While not a direct ranking factor, compelling copy boosts CTR. Length is strictly tracked to ensure it stays beneath 155-160 characters to prevent truncation.
2. Managing Indexing & Directives
Instructions given strictly to search engine crawlers regarding how to handle the page content.
Canonical Tag (canonical)
Resolves duplicate content issues. Instructs the crawler: "Even though this content might appear on multiple URLs (like sorting filters), pass all ranking equity to this specific master URL."
Robots Meta & Googlebot (robots, googlebot)
Standard DOM-level directives (index/noindex, follow/nofollow). googlebot specifically targets Google's crawler, overriding standard robots directives if present.
X-Robots-Tag (xRobotsTag)
Critical check: Unlike HTML meta tags, the X-Robots-Tag is delivered via HTTP server headers. It goes completely unseen in the DOM source code but can enforce strict noindex rules. My plugin intercepts network requests to expose this hidden risk.
3. Validating Mobile & Display Meta
<meta name="viewport" content="width=device-width, initial-scale=1">. Mandatory for Mobile-First Indexing. It ensures the browser scales the website accurately to device widths.
lang) Found on the root <html> tag. Crucial for telling screen readers which dialect to use for accessibility (WCAG), and search engines which localized SERP to deliver the page in.
Google legally displays site favicons next to search results now. A missing favicon makes a website appear untrustworthy in SERPs and lowers click-through rates.
The plugin captures an unrestricted array of all arbitrary meta tags injected by random CMS plugins, helping developers spot unnecessary bloat.
4. Auditing Content Hierarchy (H1–H6)
The logical structure of the document (H1 through H6). The plugin tracks tag depth, strict text length, and XPath locations to ensure sequential hierarchy.
Every page must have precisely one H1 tag defining the primary topic. Multiple H1s dilute keyword focus.
Search engines penalize skipping heading levels (e.g., jumping from an H2 straight to an H4). It signifies broken underlying logic.
5. Optimizing Images & Media Assets
Alt Text & Image Tracking (width/height, isLazyLoaded)
- Missing Alt Tags: The plugin isolates exact images missing screen-reader descriptions, as search engines cannot visually "see" images to rank them. Use
alt="description"on all meaningful images. - Dimensions: Missing
widthandheightattributes cause layout jitter (CLS penalty) as the browser paints the screen. Always specify them to reserve space. - Lazy Loading & Pixels: I identify whether hero images are being improperly lazy-loaded (destroying LCP speed), and filter out invisible 1x1 tracking pixels from the audit.
6. Comprehensive Link Auditing
Internal links spread PageRank throughout your domain. External links demonstrate to Google that your site cites authoritative sources. Both must be balanced.
I trace link qualifiers. sponsored maps paid advertisements. ugc identifies forum/comment links. nofollow blocks crawler traversal entirely.
7. Validating Semantic Data (Schema JSON-LD)
The plugin extracts and validates structured data logic embedded on the page.
Why it matters
JSON-LD provides unambiguous entity definitions to search engines (e.g., explicitly stating "This is a Recipe, it takes 30 mins, and has 5 stars"). This unlocks Rich Snippets in search results, completely dominating competitor real estate.
8. Analyzing Content Depth & Readability
keywordDensity) The plugin strips away all HTML chrome (nav/footers) to analyze pure bodyText. It identifies exactly how much unique value is provided and flags keyword stuffing (over-optimization penalties).
Scores the linguistic complexity of the text. High-ranking consumer content generally targets an 8th-grade reading level to maximize user retention and reduce immediate bounce rates.
9. Measuring DOM Rendering Bloat (HTML Diff)
Modern JavaScript frameworks (React, Angular) fundamentally alter how SEO works.
The Initial vs Final Length Differential (htmlDiff)
The plugin captures the raw HTML weight served by the server, vs. the final DOM weight after client-side JS executes. If the difference is massive, it means your core content relies exclusively on JavaScript rendering. This frequently breaks Googlebot indexing and causes dramatic crawl-budget delays.
10. Auditing Core Web Vitals & Performance
Google's strict user experience ranking signals. The plugin queries standard performance APIs to audit real-time metrics.
Measures loading performance. It marks the precise time the largest text block or image finishes rendering. Target: < 2.5 seconds.
Measures visual stability. If fonts pop in late or images push text down mid-scroll, CLS increases. Target: < 0.1.
Measures responsiveness to user inputs (clicks, keypresses). Extremely slow Javascript threads destroy INP. Target: < 200 milliseconds.
12. Auditing Internationalization (Hreflang)
Multilingual Targeting (hreflangs)
If you operate global sites (e.g., English-US vs English-UK vs Spanish), accurate hreflang tags map out the architecture. The plugin tracks the extracted language codes and origin hrefs to prevent cross-regional indexing conflicts.
13. Verifying Sitemap & Robots.txt Config
I check the root domain (/robots.txt) to ensure critical system rules aren't unintentionally blocking search bots from crawling important subdirectories.
I locate standard XML sitemaps to verify they are formatted correctly and actively supplying Google with a clean map of the site's scale and latest modification dates.
14. Validating Analytics & NAP Data
Analytics Detection (hasGA4, hasGTM)
Without Analytics (Google Analytics 4) or Tag Manager, behavior tracking is blind. The plugin verifies the presence of major tracking IDs in the DOM payload.
Entity Contact Extraction (Emails, Phones, Socials)
For Local SEO success, consistent NAP (Name, Address, Phone) data is paramount across the web. The plugin scrapes and consolidates all visible phone formats, email mailto's, and corporate social handles natively rendered on the query page for rapid auditing.
11. Verifying Social & Shareability Tags
OpenGraph & Twitter Cards
Facebook originated OG tags, but now LinkedIn, Discord, iMessage, and Slack rely on them to generate rich preview cards. The plugin ensures your
og:image,og:title, andtwitterTagsexist so shared URLs don't look like spam text links.