Lighthouse Tool User Guide for Watch My Domains SED
Requires Professional EditionThe Lighthouse tool helps you check website quality across a portfolio of domains, see which sites need attention, and review detailed audit findings inside Watch My Domains SED.
What Is Lighthouse?
Lighthouse is an automated website quality auditing tool created by Google. It analyses web pages and produces scores and findings in several important categories, including Performance, Accessibility, Best Practices, and SEO.
Lighthouse is useful because it helps administrators and website owners understand how well a site performs for users and how closely it follows modern technical standards.
A site with weak Lighthouse results may load slowly, perform poorly on mobile devices, create accessibility barriers, follow outdated or risky implementation practices, or miss search visibility opportunities.
Why Lighthouse Is Useful in WMD SED
Watch My Domains SED is often used to manage large groups of domains and web properties. In that environment, it is not practical to manually review every site on a regular basis.
The Lighthouse tool solves that problem by automating scans across selected domains, storing the results, and presenting them in a report view inside WMD SED.
This allows administrators to monitor website quality across a portfolio rather than checking one site at a time.
What the Lighthouse Tool Does
The Lighthouse tool scans selected domains using Google Lighthouse and stores the resulting scores in custom WMD SED columns.
It supports both mobile and desktop scans and keeps separate scores for each mode.
It also stores detailed JSON output for each scan so administrators can review the underlying audit findings from the browser report.
Main Files in the Lighthouse Tool
lighthouse.php- browser-based report pagelighthouse-gather.php- command-line gather scriptlighthouse-scan.js- Node.js scanner scriptlighthouse-setup.sh- setup helper script for Linux environments
lighthouse.php provides the browser report. The gather process uses lighthouse-scan.js, which should be copied into the Node.js working folder used by WMD SED website scanning tools.
Using the Browser Report
Which domains appear in this report? By default, the Lighthouse tool scans domains assigned to the Lighthouse Test Domains category in WMD SED. Administrators can override this behaviour from the command line when needed.
The Summary Area
The summary area helps you quickly understand the overall quality of the scanned portfolio.
It shows average scores for the main Lighthouse categories and also shows counts such as total domains, scanned domains, passed domains, failed domains, error domains, and domains not yet scanned.
The Domain Table
Each row in the table represents one domain. The table shows the domain, its current Lighthouse status, and the stored category scores for the selected device mode.
This makes it possible to identify weak sites, compare domains, and focus attention on the ones that need review.
Filtering and Sorting
Administrators can filter the table by domain or status, sort the results, and switch between mobile and desktop views.
Viewing Details
Clicking a domain row opens a detail popup.
The popup shows category score tiles and the audit detail returned by Lighthouse for the selected device mode and category.
This helps administrators move from a high-level score to the actual reasons behind that score.
Resetting a Domain for Re-Scanning
The browser report can reset scan timestamps so a domain will be scanned again on the next gather run. Use this when a site has been updated and you want fresh Lighthouse results.
Exporting Results
The report supports exporting results so that administrators can share data or analyse it outside WMD SED.
What Data Is Stored
The tool stores separate mobile and desktop scores for the following categories:
- Performance
- SEO
- Accessibility
- Best Practices
It also stores an overall status value and the last scanned date and time.
In addition, full JSON output for each domain and device mode is saved on disk for detailed inspection.
How Status Is Determined
After scans complete, WMD SED assigns a status to each domain such as pass, fail, or error.
A domain is marked fail when one or more monitored category scores fall below the configured fail threshold.
A domain is marked error when the scan could not complete successfully and no usable scores were returned.
Otherwise, the domain is marked pass.
Mobile and Desktop Results
The tool can scan mobile, desktop, or both.
Mobile scans are especially important because many user experience and performance problems are more visible on constrained mobile conditions.
Desktop scans remain useful for understanding broader technical quality and for comparing behaviour across device types.
Why the Main Lighthouse Categories Matter
Accessibility
Accessibility highlights issues that may prevent some users from effectively using a site. These findings can help teams identify missing labels, contrast problems, structural issues, and other barriers that affect usability and compliance.
Performance
Performance findings help identify slow-loading or inefficient pages. Performance matters because it directly affects user experience, engagement, and often search visibility.
Best Practices
Best Practices checks whether the site follows common modern standards and avoids known technical issues.
SEO
SEO checks highlight basic discoverability and indexing factors that may affect how well the site can be understood by search engines.
How Scanning Works
Scans are usually run from the command line through lighthouse-gather.php. They can also be scheduled so the process runs automatically at regular intervals.
This allows WMD SED to maintain fresh Lighthouse data over time instead of relying only on one-time manual runs.
By default, the gather script scans domains assigned to the Lighthouse Test Domains category.
Domains that have been scanned recently can be skipped during routine runs, unless the gather script is forced to re-scan them.
Administrator and Setup Guide
The sections below cover installation, configuration, and command-line reference for administrators setting up or maintaining the Lighthouse scanning extension.
Requirements
- WMD SED already installed with shell access
- Node.js available in the environment used by WMD SED
- A Node.js working folder available for WMD SED website scanning tools
- The Lighthouse npm package installed in that Node.js working folder
- WMD administrator access for the browser report page
If you need help preparing the shared Node.js and Puppeteer environment used by WMD SED website tools, see Webshots and Cookie Analysis Setup.
Installation Overview
The Lighthouse tool has different setup paths depending on the operating system.
Linux installations can use the helper script lighthouse-setup.sh.
Windows installations require manual setup steps.
Linux Setup Using lighthouse-setup.sh
The lighthouse-setup.sh script is intended for Linux-style environments and should be run as the user that owns the WMD SED installation, typically the wmdsed user.
The script performs pre-flight checks, installs the Lighthouse npm package if needed, copies lighthouse-scan.js into the Node working folder, creates the custom WMD SED columns, optionally installs a cron job, and then runs a dry-run smoke test.
Linux Setup Command
bash lighthouse-setup.sh
Linux Dry Run
bash lighthouse-setup.sh --dry-run
Linux Path Variables
The script includes configurable variables such as WMD_ROOT and NODE_DIR near the top. Standard installations normally do not need changes, but non-standard installations may require those values to be edited before running the script.
Windows Setup
On Windows, lighthouse-setup.sh is not used. Setup must be completed manually.
WMD SED website scanning tools rely on a dedicated Node.js working folder. This is the folder where the required npm packages are installed and where scanner scripts such as lighthouse-scan.js are placed.
If your installation already uses Node.js and Puppeteer for other WMD SED website tools, use that same working folder for Lighthouse as well.
Step 1 - Choose the Node.js Working Folder
Identify the Node.js working folder used by WMD SED for website-related scripts. In many installations this is the same folder already used for Puppeteer-based tooling.
This folder should contain the installed npm packages needed by the website scanning tools.
Step 2 - Install the Required npm Package
Open a command prompt in that Node.js working folder and install Lighthouse:
npm install --save lighthouse
Run the command from inside the Node.js working folder so the package is installed in the same environment used by the Lighthouse scanner.
If that folder is not already being used for other WMD SED website scanning tools, make sure the required Node.js packages for those tools, including Puppeteer, are installed there as well.
Step 3 - Copy lighthouse-scan.js to the Node.js Working Folder
Copy lighthouse-scan.js from the Lighthouse tool folder into the same Node.js working folder so it can run with the installed npm packages.
Step 4 - Create the Custom Columns
php lighthouse-gather.php --setup-columns
Step 5 - Create the Lighthouse Category
In WMD SED, create a category named Lighthouse Test Domains and assign the domains that should be scanned.
Step 6 - Run a Test Scan
php lighthouse-gather.php --domain=example.com
Custom Columns Created by Setup
Running php lighthouse-gather.php --setup-columns creates the following custom columns:
| Column | Type | Content |
|---|---|---|
lh_perf_mobile | integer | Mobile Performance score |
lh_seo_mobile | integer | Mobile SEO score |
lh_a11y_mobile | integer | Mobile Accessibility score |
lh_bp_mobile | integer | Mobile Best Practices score |
lh_perf_desktop | integer | Desktop Performance score |
lh_seo_desktop | integer | Desktop SEO score |
lh_a11y_desktop | integer | Desktop Accessibility score |
lh_bp_desktop | integer | Desktop Best Practices score |
lh_status | string | pass / fail / error |
lh_scanned_at | datetime | Latest scan timestamp |
This command is safe to run multiple times because existing columns are skipped.
Configuration Reference
The main configuration constants are defined near the top of lighthouse-gather.php.
| Constant | Default | Purpose |
|---|---|---|
LIGHTHOUSE_NODE_FOLDER | websites | Subfolder name used for Node scripts |
LIGHTHOUSE_OUTPUT_FOLDER | lh-data | Folder name used for saved JSON output |
LIGHTHOUSE_DEFAULT_CATEGORY | Lighthouse Test Domains | Default WMD category to scan |
LIGHTHOUSE_DEVICE | both | Default device mode |
LIGHTHOUSE_FAIL_THRESHOLD | 50 | Minimum score before a monitored category is treated as fail |
LIGHTHOUSE_FAIL_CATEGORIES | performance, accessibility, best-practices, seo | Categories used when calculating pass/fail |
LIGHTHOUSE_SKIP_RECENT_DAYS | 30 | Skip domains scanned within this many days |
LIGHTHOUSE_TIMEOUT_MS | 60000 | Puppeteer navigation timeout in milliseconds |
LIGHTHOUSE_LOCK_FILE | lighthouse-gather.lock | Lock file used to prevent concurrent runs |
LIGHTHOUSE_PROTOCOL_COLUMN | '' | Optional custom column holding the preferred protocol for each domain |
Protocol Resolution
If LIGHTHOUSE_PROTOCOL_COLUMN is set to a custom column name, the gather script uses the value in that column to build the domain URL. If it is left empty, the default protocol used is https://.
CLI Reference - lighthouse-gather.php
| Argument | Type | Description |
|---|---|---|
--category="Name" | key=value | Override the default category. Category name is case-sensitive. |
--domain=example.com | key=value | Scan one domain only. This also implies force mode for that domain. |
--batch=2 | key=value | Run multiple scans in parallel. Default is 1. |
--device=mobile | key=value | Override device mode. Allowed values are mobile, desktop, or both. |
--skip-recent=14 | key=value | Override the default recent-scan skip period for this run. |
--force | bare flag | Re-scan all matching domains regardless of lh_scanned_at. |
--dry-run | bare flag | Show what would be scanned. No scans are performed and no data is written. |
--debug | bare flag | Enable verbose output including extra diagnostic information. |
--setup-columns | bare flag | Create the required Lighthouse custom columns and exit. |
Example Commands
php lighthouse-gather.php php lighthouse-gather.php --batch=2 php lighthouse-gather.php --device=mobile php lighthouse-gather.php --domain=example.com php lighthouse-gather.php --force php lighthouse-gather.php --dry-run php lighthouse-gather.php --debug php lighthouse-gather.php --setup-columns
Re-Scan Behaviour
| Scenario | Behaviour |
|---|---|
lh_scanned_at is empty | Always scanned |
| Scanned within the configured skip-recent period | Skipped |
--force is present | Always scanned |
--domain=x is specified | Always scanned because force is implied |
Domain Eligibility
A domain is excluded from scanning if all three of the following are true:
availability = 'available'registry_expiryisNULLregistrar_expiryisNULL
This prevents clearly unregistered domains from being scanned unnecessarily.
Concurrency Lock
lighthouse-gather.php uses a lock file to prevent concurrent runs.
If a second instance starts while one is already running, it exits with a warning instead of overlapping the active run.
If a stale lock is found from a crashed process, the script removes it automatically and continues.
Scheduled Scanning
The lock file prevents re-entry if a previous run is still in progress, so overlapping scheduled runs are not normally a problem.
Linux Scheduled Scanning
The lighthouse-setup.sh script can optionally install a cron job for regular scanning. A common pattern is to run the gather script every 30 minutes with a small batch size.
Windows Scheduled Scanning
On Windows, scheduled execution is normally handled through Task Scheduler.
A batch file can call lighthouse-gather.php, and a VBScript wrapper can launch that batch file silently if needed.
Security Notes
lighthouse-gather.phpis CLI only and exits immediately if accessed through a browserlighthouse.phpshould only be used by authenticated WMD administrators- The scanner should run only in the controlled WMD SED environment
Who Should Use This Tool
This tool is useful for WMD SED administrators, technical website managers, SEO teams, accessibility reviewers, and anyone responsible for monitoring the quality of a portfolio of websites.
What the Tool Is Best Used For
The Lighthouse tool is best used for regular monitoring, identifying weak domains, prioritising technical improvement work, and tracking quality across multiple sites over time.
Important Practical Note
Lighthouse is an automated auditing tool. It is extremely useful, but it should not be treated as the only source of truth. Some findings still need human review and interpretation.
The best results come from using Lighthouse as an automated monitoring and discovery system, then following up important findings with manual review where needed.
Summary
The Lighthouse tool in WMD SED brings automated website quality monitoring directly into the domain management workflow.
It helps administrators understand performance, accessibility, SEO, and best-practice quality across a portfolio of domains, review details inside WMD SED, and take action based on measured results.