Title: Marukin HG Site Reporter
Author: marukin-ad
Published: <strong>November 6, 2026</strong>
Last modified: November 6, 2026

---

Search plugins

![](https://s.w.org/plugins/geopattern-icon/marukin-hg-site-reporter.svg)

# Marukin HG Site Reporter

 By [marukin-ad](https://profiles.wordpress.org/marukinad/)

[Download](https://downloads.wordpress.org/plugin/marukin-hg-site-reporter.1.9.3.zip)

 * [Details](https://wordpress.org/plugins/marukin-hg-site-reporter/#description)
 * [Reviews](https://wordpress.org/plugins/marukin-hg-site-reporter/#reviews)
 *  [Installation](https://wordpress.org/plugins/marukin-hg-site-reporter/#installation)
 * [Development](https://wordpress.org/plugins/marukin-hg-site-reporter/#developers)

 [Support](https://wordpress.org/support/plugin/marukin-hg-site-reporter/)

## Description

Marukin HG Site Reporter provides a read-only REST endpoint for authorized monitoring
clients. You can use any server-side HTTP client; no proprietary management app,
hosted service, account, subscription or payment is required.

An administrator must issue a key and configure the client. Activating this plugin
alone does not authorize access or send site information anywhere.

#### Languages

English and Japanese are included. Settings, notices and error messages are displayed
in Japanese when the applicable WordPress site or user language is Japanese (ja),
without downloading a language pack. WordPress.org language packs take precedence
when available. API field names and authentication headers remain unchanged.

#### Reported information

 * Site title and home URL.
 * WordPress and web-server PHP versions.
 * Database type (MySQL or MariaDB) and version, when identifiable.
 * Installed standard plugins: identifiers, names, versions, activation states and
   cached update status.
 * WordPress update status and last update-check timestamps.
 * The most recent publication or modification timestamp among published, non-password-
   protected posts, pages and public custom post types.

No post bodies, user accounts, passwords, database credentials, download URLs, themes,
must-use plugins or drop-ins are returned. Database server metadata may be cached
for up to five minutes. Update status uses existing WordPress cache data; checks
older than 24 hours are reported as unknown rather than current.

#### API

Use the API URL displayed under Settings > Marukin HG Site Reporter. A typical request
is:

    ```
    GET /wp-json/hg-site-reporter/v1/status
    X-HG-Site-Reporter-Key: YOUR_64_CHARACTER_KEY
    Accept: application/json
    ```

Send this request over HTTPS from your server-side client. The JSON response has
schema_version 1. Bearer credentials and the old X-WP-Site-Reporter-Key header are
not accepted. Existing keys can be kept when upgrading.

The endpoint is read-only. It cannot edit content, install updates, delete files
or execute commands. Ordinary WordPress login credentials do not replace the API
key. Optional IPv4/IPv6 source-IP restrictions use exact addresses, not CIDR ranges.

#### Privacy and external services

This plugin does not initiate monitoring requests to an external service, include
analytics or load remote assets. It responds only to incoming requests that pass
HTTPS, API key and optional IP checks. The receiving client obtains the site information
listed above and controls its own retention. Configure only clients you trust, and
protect any stored keys and reports.

No additional third-party service is required. Normal WordPress update checks are
managed by WordPress itself; this plugin reads their cached results.

#### REST API restrictions

This plugin respects REST API restrictions imposed by other plugins and does not
override them. If a security plugin blocks this endpoint, configure an appropriate
exception in that plugin. For SiteGuard WP Plugin 1.8.10, add hg-site-reporter/v1
to its REST API exclusion namespaces. If using the retained legacy URL, also add
wp-site-reporter/v1. API key, HTTPS and optional IP checks still apply after an 
exception.

#### Security and operation

 * Keep keys out of URLs, public client-side code, logs and version control.
 * Exclude both the current and legacy API URLs, including rest_route query URLs,
   from CDN and page caches.
 * Do not log the X-HG-Site-Reporter-Key header.
 * If HTTP Basic authentication protects the site, configure server-level access
   separately. This plugin does not bypass Basic authentication or WAF rules.
 * Behind a CDN or proxy, configure trusted-proxy handling on the server for HTTPS
   and REMOTE_ADDR. Forwarded headers are not trusted directly.
 * Rate limiting and request audit logs are not provided. Configure them at the 
   web-server or WAF layer as needed.
 * Revoke or rotate a key immediately if it may have been disclosed.

The minimum versions preserve compatibility with older installations; they are not
security recommendations. Use maintained WordPress and PHP releases.

## Installation

 1. Upload marukin-hg-site-reporter.zip through Plugins > Add New > Upload Plugin, 
    or copy its folder to wp-content/plugins/.
 2. Activate Marukin HG Site Reporter.
 3. Open Settings > Marukin HG Site Reporter over HTTPS.
 4. Issue an API key. It is shown once; copy and store it securely.
 5. Copy the displayed API URL and configure your trusted HTTP client with the X-HG-
    Site-Reporter-Key header.
 6. Optionally restrict the client’s public source IP and verify a successful JSON 
    response.

PHP 7.0 or later is required. Keys are generated using random_bytes(); if secure
randomness is unavailable, issuing a key fails safely.

#### Upgrading from HG Site Reporter, WP Site Reporter or Company Monitor

Back up the site, then deactivate the old plugin before installing Marukin HG Site
Reporter. Do not run both together. The folder and main file names have changed.
Replace the old plugin files without using the WordPress Delete action: deleting
an old version through WordPress runs its uninstall handler and removes shared key
settings. If you already deleted it, issue a new key and update your client. Existing
key hashes and allowed IP settings in the same WordPress site are migrated; issuing
a new key is not required.

The old /wp-json/wp-site-reporter/v1/status URL is retained, but uses the same X-
HG-Site-Reporter-Key authentication. Company Monitor’s older URL is not registered.
Update clients that cannot send the current header. REST API restrictions must be
configured in the security plugin or server that applies them.

## FAQ

### Can I use this without a particular management app?

Yes. Any HTTPS client that sends the documented header can read the JSON endpoint.
No registration or proprietary app is necessary.

### Can I display an existing API key again?

No. Only its SHA-256 hash is stored. Rotate the key if it is lost and update your
client. Select the displayed API URL or the key at issuance to copy it manually.

### Why does the API return 401, 403 or 404?

Check the current key, allowed source IP, HTTPS detection, plugin activation and
the exact API URL. A missing or invalid key normally returns 401; HTTPS failures
return 403. A server, WAF or another plugin may return its own status. Ensure the
custom header reaches WordPress. A status code alone does not identify every cause.

### What happens on deactivation or deletion?

Deactivation stops the endpoint but keeps settings for reactivation. Deleting through
the WordPress Plugins screen removes current and legacy key hashes, allowed IPs 
and any retired plugin settings. On multisite, every site’s plugin settings are 
removed. Reinstalling requires a new key. Other plugins’ settings and site content
are not removed.

Deleting files directly with FTP does not run the uninstall handler; revoke the 
key first. Reports and credentials saved in your external client are not deleted
remotely.

### Is multisite supported?

Yes. API settings and keys are per site; settings changes require a super administrator.
Plugin inventory can include plugins shared across the network.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Marukin HG Site Reporter” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ marukin-ad ](https://profiles.wordpress.org/marukinad/)

[Translate “Marukin HG Site Reporter” into your language.](https://translate.wordpress.org/projects/wp-plugins/marukin-hg-site-reporter)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/marukin-hg-site-reporter/),
check out the [SVN repository](https://plugins.svn.wordpress.org/marukin-hg-site-reporter/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/marukin-hg-site-reporter/)
by [RSS](https://plugins.trac.wordpress.org/log/marukin-hg-site-reporter/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.9.3

 * Bundle Japanese translations for settings, notices, error messages and the plugin
   description.
 * Register the bundled language directory on init, while preserving WordPress.org
   language pack priority.
 * Keep API URLs, response fields, authentication headers and saved credentials 
   unchanged.

#### 1.9.2

 * Rename the plugin and text domain to Marukin HG Site Reporter (marukin-hg-site-
   reporter).
 * Require PHP 7.0 or later and use native secure key generation.
 * Use WordPress.org language packs instead of bundled translations and manual text-
   domain loading.
 * Preserve existing API URLs, authentication headers, keys and allowed IP addresses.

#### 1.9.1

 * Remove the API URL and API key copy buttons and their JavaScript.
 * Remove the REST API compatibility setting and its authentication-filter exception.
 * Remove the retired option while preserving existing keys and allowed IP addresses.
 * Restore the concise settings layout and Japanese wording, and add more space 
   around section headings.

#### 1.9.0

 * Add translatable interface strings and bundled Japanese translations.
 * Make the rest_disabled exception an explicit administrator opt-in, disabled by
   default.
 * Validate settings input types and document standalone API usage and data handling.
 * Standardize directory metadata and remove standalone development examples from
   the release package.

#### 1.8.2

 * Add API URL and one-time API key copy buttons.

#### 1.8.1

 * Remove current and legacy key settings on uninstall, including multisite.

#### 1.8.0

 * Authenticate exclusively through X-HG-Site-Reporter-Key.

## Meta

 *  Version **1.9.3**
 *  Last updated **8 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 4.7 or higher **
 *  Tested up to **7.1.4**
 *  PHP version ** 7.0 or higher **
 * Tags
 * [monitoring](https://wordpress.org/plugins/tags/monitoring/)[rest-api](https://wordpress.org/plugins/tags/rest-api/)
   [site management](https://wordpress.org/plugins/tags/site-management/)
 *  [Advanced View](https://wordpress.org/plugins/marukin-hg-site-reporter/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/marukin-hg-site-reporter/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/marukin-hg-site-reporter/reviews/)

## Contributors

 *   [ marukin-ad ](https://profiles.wordpress.org/marukinad/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/marukin-hg-site-reporter/)