Title: OST Site Inspection
Author: orienst
Published: <strong>September 17, 2026</strong>
Last modified: September 17, 2026

---

Search plugins

![](https://s.w.org/plugins/geopattern-icon/ost-site-inspection.svg)

# OST Site Inspection

 By [orienst](https://profiles.wordpress.org/orienst/)

[Download](https://downloads.wordpress.org/plugin/ost-site-inspection.1.0.0.zip)

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

 [Support](https://wordpress.org/support/plugin/ost-site-inspection/)

## Description

OST Site Inspection collects the checks you run before a site goes live, or before
you hand it over to a client, into a single admin screen.

#### Main features

 * **Visibility status** — Reports “can it be reached” and “is it exposed to search
   engines” as two separate axes. It inspects HTTP Basic authentication, maintenance
   mode, the `noindex` setting and `robots.txt`.
 * **Checklist** — About 50 pre-delivery items, managed as two layers: an automated
   result and a status set by the person in charge. Notes, reviewer and review time
   are recorded, and the sheet can be exported as CSV or as a printable report.
 * **Domain check** — Finds URLs pointing at unintended domains in post content,
   custom fields, options, taxonomies and theme files. Useful for catching staging
   URLs left behind after a migration.
 * **Logs** — Records PHP errors, uncaught exceptions and fatal errors in the database
   and shows them in the admin screen, so you do not need FTP access to read them.
 * **Site Health** — Summarises the results of the WordPress Site Health tool.

#### Shared settings across Orienst plugins

The settings screen lives under “Settings > Orienst Settings”. This page is shared
with other plugins by Orienst Inc. (such as OST AIO Smart Schema), so installing
several of them on the same site still produces a single menu entry.

The company and office information on the “Common Settings” tab is shared by all
of these plugins, and editing it from any one of them saves the same values. Uninstalling
this plugin does not delete that shared data, because the other plugins use it.

#### Design decisions

 * **No files are written to the server.** Logs are stored in the database, so no
   log file is ever placed in a publicly reachable directory.
 * **No mu-plugin or drop-in is created.** Nothing opaque is left behind on the 
   server.
 * **No dependency on `WP_DEBUG` / `WP_DEBUG_LOG`.** Errors are recorded even when
   those constants are disabled.
 * **Rendering the admin bar or an admin page never triggers an HTTP request.** 
   The visibility status is always shown, but when no cached value exists the plugin
   displays a lightweight result that requires no request. The site is only contacted
   when the Visibility tab is opened or when “Re-check now” is pressed.
 * **The automated result and the reviewer’s status are kept separate.** Running
   a check never overwrites a human decision; applying automated results is an explicit
   action (“Apply automated results”).
 * **Automated judgement is limited to items that can be decided mechanically.**
   Ambiguous items are presented as information only, and the decision is left to
   a person.
 * **No bulk URL replacement.** The domain check only reports findings; it never
   rewrites the database.

Note: the admin interface of this plugin is currently provided in Japanese. Translations
can be contributed at translate.wordpress.org once the plugin is published.

### External services

This plugin does not use, connect to or send any data to a third-party service or
API.

The plugin does send HTTP requests, but only to the following destinations, and 
only while an administrator is running a scan from the plugin’s screens:

 * **The site’s own URL.** Used to determine the public visibility status (HTTP 
   status, Basic authentication, maintenance mode, `noindex`, `robots.txt`) and 
   to fetch pages for the checklist. Triggered when the Visibility tab is opened,
   when “Re-check now” is pressed, and during a detailed scan.
 * **URLs that already appear in the site’s own content.** Link targets and image
   URLs written in posts are requested to detect broken links and oversized images.
   This happens only during a detailed scan, which is started manually.

No data about the site or its users is sent to Orienst Inc. or to any other party.
The number of outbound requests is capped by the “Maximum number of external requests”
option on the Settings tab; setting it to `0` disables requests to any host other
than the site itself.

The host names listed in the “Excluded hosts” option are _not_ contacted by the 
plugin. They are domains that the domain check ignores when scanning the site’s 
own content for unintended URLs.

## Installation

 1. Upload the plugin and activate it.
 2. Open “Settings > Orienst Settings” and select the “Site Inspection” tab.
 3. In “Checklist”, press “Run lightweight check”.

## FAQ

### Where are the logs stored?

In a dedicated database table (`{prefix}ostins_logs`). No log file is created on
the server, so there is no risk of a log being read directly over HTTP.

### What happens if the same error occurs many times?

Identical entries (same level, message, file and line) are merged into a single 
record with an occurrence counter. There are also limits on the number of records
written per request and on the total number of stored records.

### How do I write a log entry from my theme?

Use the following action:

    ```
    do_action( 'ostins_log', 'manual', 'message', $_POST, $post_id );
    ```

Because it is called through `do_action()`, your theme will not raise an error if
this plugin is deactivated or deleted. Add the call in `functions.php` or another
theme file, and enable “Manual log” under “Current recording settings” on the Log
tab for it to be recorded.

### Is personal information stored in the logs?

Masking is enabled by default. In manual logs, values whose key suggests a name,
phone number or email address are replaced with `****`. In mail logs the key names
are not available, so email addresses, phone numbers and postal codes found in the
recipient, subject and body are masked instead. Names and street addresses cannot
be identified reliably and are therefore kept, so it is recommended to disable mail
logging and delete the stored logs before handing a site over.

Manual logs and mail logs are both disabled by default. The request URL recorded
with an error always has query-string tokens (password reset keys, nonces and similar)
masked, regardless of the masking setting.

### The detailed scan stops partway through.

Lower “Pages per batch” on the Settings tab. The scan is split into batches and 
can be re-run safely after an interruption.

### The domain check lists URLs of web font or analytics services I use on purpose.

Add their host names to “Excluded hosts” on the Settings tab, one per line. A host
also excludes its subdomains. Developers can change the list with the `ostins_domain_excluded_hosts`
filter.

### Can the plugin replace URLs in bulk?

No. Bulk replacement can corrupt serialized data. This plugin only detects occurrences;
use a tool such as WP-CLI’s `wp search-replace` to perform the replacement.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“OST Site Inspection” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ orienst ](https://profiles.wordpress.org/orienst/)

[Translate “OST Site Inspection” into your language.](https://translate.wordpress.org/projects/wp-plugins/ost-site-inspection)

### Interested in development?

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

## Changelog

#### 1.0.0

 * Initial release.
 * The settings screen is located under “Settings > Orienst Settings”, sharing its
   menu, company information and office information with other plugins by Orienst
   Inc.
 * Settings, checklist data and logs from the previous implementation (the `ost_ins_`
   prefix) are migrated automatically on activation.
 * Manual logging from a theme uses `do_action( 'ostins_log', ... )`. Replace the
   previous `ost_ins_log` action if you are using it.

## Meta

 *  Version **1.0.0**
 *  Last updated **23 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.1.1**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [checklist](https://wordpress.org/plugins/tags/checklist/)[debug](https://wordpress.org/plugins/tags/debug/)
   [log](https://wordpress.org/plugins/tags/log/)[security](https://wordpress.org/plugins/tags/security/)
   [seo](https://wordpress.org/plugins/tags/seo/)
 *  [Advanced View](https://wordpress.org/plugins/ost-site-inspection/advanced/)

## Ratings

No reviews have been submitted yet.

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

[See all reviews](https://wordpress.org/support/plugin/ost-site-inspection/reviews/)

## Contributors

 *   [ orienst ](https://profiles.wordpress.org/orienst/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/ost-site-inspection/)