PHPackages                             webhubworks/craft-ohdear - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. webhubworks/craft-ohdear

ActiveCraft-plugin[Testing &amp; Quality](/categories/testing)

webhubworks/craft-ohdear
========================

Integrate the Oh Dear monitoring service into Craft CMS.

5.7.2(2w ago)63.2k↑560%2proprietaryPHPPHP ^8.2

Since May 25Pushed 2w ago1 watchersCompare

[ Source](https://github.com/webhubworks/craft-ohdear)[ Packagist](https://packagist.org/packages/webhubworks/craft-ohdear)[ RSS](/packages/webhubworks-craft-ohdear/feed)WikiDiscussions v5 Synced 3d ago

READMEChangelog (10)Dependencies (40)Versions (68)Used By (0)

Oh Dear plugin for Craft CMS 5.x
================================

[](#oh-dear-plugin-for-craft-cms-5x)

Integrate Oh Dear into Craft CMS.

[![Oh Dear overview](https://raw.githubusercontent.com/webhubworks/craft-ohdear/develop/resources/img/screenshots/overview.jpg)](https://raw.githubusercontent.com/webhubworks/craft-ohdear/develop/resources/img/screenshots/overview.jpg)

Requirements
------------

[](#requirements)

This plugin requires **Craft CMS 5.0.0** or later and **PHP 8.2** or later.

You'll also have to provide an Oh Dear API key.

🙏 You can create an Oh Dear account using our affiliate link: [Oh Dear](https://ohdear.app/?via=webhub) We will offer you a free license key for Craft Oh Dear if you sign up using our affiliate link. Just send us a message.

Installation
------------

[](#installation)

To install the plugin, follow these instructions.

1. Open your terminal and go to your Craft project:

    ```
     cd /path/to/project

    ```
2. Then tell Composer to load the plugin.

    ```
     composer require webhubworks/craft-ohdear

    ```
3. Install and enable the plugin:

    ```
     ./craft plugin/install ohdear && ./craft plugin/enable ohdear

    ```

    OR: In the Control Panel, go to Settings → Plugins and click the “Install” button for Oh Dear.

Oh Dear Overview
----------------

[](#oh-dear-overview)

Craft Oh Dear provides deep integration into Craft and saves developer's time by empowering editors.

With Oh Dear you don‘t just monitor your homepage but your entire website. Oh Dear monitors uptime, checks your SSL certificates, detects broken links and mixed content. Craft Oh Dear integrates all this nicely into the Control Panel.

To learn more about the features visit the [plugin store page](https://plugins.craftcms.com/ohdear).

Configuring Oh Dear
-------------------

[](#configuring-oh-dear)

Go to the settings page and paste your Oh Dear API key. (You can create a token on Oh Dears's [API token page](https://ohdear.app/user/api-tokens).) You can choose from the sites of all teams that your personal Oh Dear account belongs to.

Currently there is no multi-site support. You can only connect to a single Oh Dear site from one Craft installation. Multi-site support is on our Roadmap. Let us know if you desperately need it.

### Caching expensive health checks via cron

[](#caching-expensive-health-checks-via-cron)

`Check::cve()` and `Check::abandonedPackages()` spawn one or more `composer` subprocesses every time the health-check endpoint is hit. With several outstanding advisories this can easily push the endpoint past Oh Dear's response-time budget.

Opt into cron-refreshed caching in `config/ohdear.php`:

```
use webhubworks\ohdear\health\checks\Check;

return [
    'healthChecks' => [
        Check::cve()->cachedViaCron(60 * 60 * 12),
        Check::abandonedPackages()->cachedViaCron(60 * 60 * 12),
        // …
    ],
];
```

Then schedule the refresh command on cron, more frequently than the staleness threshold you configured:

```
*/30 * * * * cd /path/to/site && php craft ohdear/health-check/refresh >/dev/null 2>&1
```

While caching is enabled the health-check endpoint reads from cache only. Until the first refresh has run, the check returns `STATUS_WARNING` with a "Not yet computed" message. If the cached result is older than the staleness threshold, the previous result is still returned but its status is downgraded to `STATUS_WARNING` with `staleSince` in meta. With caching disabled (default), behavior is unchanged.

Oh Dear Roadmap
---------------

[](#oh-dear-roadmap)

- Application Health Checks for site security
- More Checks like Sitemap, DNS, Scheduled Tasks etc.

Questions and answers
---------------------

[](#questions-and-answers)

### Why not just use Oh Dear‘s dashboard?

[](#why-not-just-use-oh-dears-dashboard)

As an Oh Dear customer you can be a member of many teams each with their own monitored websites. It is tailored to you as a developer. With Craft Oh Dear you‘ll bring all relevant features to your Craft editors. Empower them to find and fix broken links and mixed content, check app and certificate health, review performance metrics and analyse uptime.

### Does Craft Oh Dear detect 404s?

[](#does-craft-oh-dear-detect-404s)

Oh Dear crawls your website to find broken links that refer to external or internal pages from the point of view of a user that is on your site. Thus it cannot detect 404 errors for users that arrive from outside to your website. For this purpose you may find several other Craft plugins or services that detect 404s to your site when they occure.

### What's Mixed Content?

[](#whats-mixed-content)

Take a look at this good explanation on [MDN](https://developer.mozilla.org/en-US/docs/Web/Security/Mixed_content).

### Is this an official Oh Dear plugin?

[](#is-this-an-official-oh-dear-plugin)

This plugin is independent from Oh Dear. You can see all available 3rd party integrations in [Oh Dear's docs](https://ohdear.app/docs/integrations/3rd-party-integrations/introduction).

### Where is version 3?

[](#where-is-version-3)

Starting at version 4 the version number will correspond to the Craft version that the plugin runs on. Craft Oh Dear 2 requires Craft 3 and Craft Oh Dear 3 does not exist. New features will only be available in Craft Oh Dear 5 which requires Craft 5.

Brought to you by [webhub](https://webhub.de)

###  Health Score

59

—

FairBetter than 98% of packages

Maintenance96

Actively maintained with recent releases

Popularity27

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity83

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 82.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~40 days

Recently: every ~6 days

Total

56

Last Release

20d ago

Major Versions

4.5.2 → 5.2.12024-11-21

4.5.3 → 5.2.22025-05-13

4.5.4 → 5.2.32025-06-02

4.6.1 → 5.3.12025-08-29

4.7.0 → 5.5.02026-04-20

PHP version history (2 changes)2.0.0PHP ^8.0

5.0.0PHP ^8.2

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/53560154?v=4)[webhub](/maintainers/webhubworks)[@webhubworks](https://github.com/webhubworks)

---

Top Contributors

[![rostockahoi](https://avatars.githubusercontent.com/u/16897125?v=4)](https://github.com/rostockahoi "rostockahoi (214 commits)")[![marventhieme](https://avatars.githubusercontent.com/u/53627227?v=4)](https://github.com/marventhieme "marventhieme (24 commits)")[![MariusKnirk](https://avatars.githubusercontent.com/u/111346131?v=4)](https://github.com/MariusKnirk "MariusKnirk (15 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (3 commits)")[![jorisnoo](https://avatars.githubusercontent.com/u/5810772?v=4)](https://github.com/jorisnoo "jorisnoo (2 commits)")[![Saboteur777](https://avatars.githubusercontent.com/u/9061795?v=4)](https://github.com/Saboteur777 "Saboteur777 (2 commits)")

---

Tags

craft-plugincraftcmsmonitoringohdeartestcmsCraftcraftcmscraft-pluginoh dear

###  Code Quality

TestsCodeception

### Embed Badge

![Health badge](/badges/webhubworks-craft-ohdear/health.svg)

```
[![Health](https://phpackages.com/badges/webhubworks-craft-ohdear/health.svg)](https://phpackages.com/packages/webhubworks-craft-ohdear)
```

###  Alternatives

[craftcms/feed-me

Import content from XML, RSS, CSV or JSON feeds into entries, categories, Craft Commerce products, and more.

293952.6k33](/packages/craftcms-feed-me)[verbb/formie

The most user-friendly forms plugin for Craft.

102393.6k70](/packages/verbb-formie)[verbb/vizy

A flexible visual editor field for Craft.

4250.4k](/packages/verbb-vizy)[verbb/hyper

A user-friendly links field for Craft.

24147.8k12](/packages/verbb-hyper)[open-dxp/opendxp

Content &amp; Product Management Framework (CMS/PIM)

9421.6k61](/packages/open-dxp-opendxp)[verbb/social-poster

Automatically post entries to social media.

918.5k](/packages/verbb-social-poster)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
