// IPSonic MONITORING TOOLKIT / DOCUMENTATION
ipsonic-probe rainbow unicorn

ipsonic-probe ✦

YAML-driven infrastructure validation. Platform-agnostic checks. Zero cloud dependencies.

DNSTCPHTTP / TLSYAML CONFIGCLI FIRSTKISSOFFLINE READY

Part of the ipsonic project ↗ Visit the main website

WordPress - Public Homepage

92-wordpress-homepage.yaml

HTTP(S)

What this example does

WordPress operations: WordPress - Public Homepage. Use it for routine availability checks, post-update verification and incident triage.

Checks and behavior

  • Sends an GET request to https://www.example.com/.
  • Checks allowed/denied HTTP status codes.
  • Validates required, forbidden or matching HTTP headers.
  • Looks for expected response content and/or rejects known error markers.
  • Validates redirect behavior and destination constraints.
  • TLS settings cover certificate trust, certificate expiry.
  • Applies response-time thresholds for operational alerting.
  • Formats results for nagios output.

Adapt example domains, addresses, credentials and thresholds to your environment before use.

YAML configuration

Download original YAML

# Copyright (c) 2026 mati peterson. Maintainer: mati peterson <ipsonic@mailbox.org>. Project: https://ipsonic.com/probe/. Disclaimer: Provided AS IS, without warranty of any kind. Use at your own risk; validate checks and configurations before production use.
# WordPress public homepage smoke test / technical acceptance example.
# Replace the domain and site-specific title marker before use.
# Do not assume all WordPress themes include the same HTML content.
name: "WordPress - Public Homepage"
url: "https://www.example.com/"
request:
  method: GET
  user_agent: "ipsonic-probe-wordpress/1.0"
  follow_redirects: true
timeouts:
  connect: 3
  response: 10
tls:
  verify: true
  min_valid_days: 30
tests:
  status:
    allow: [200]
  redirects:
    max_count: 3
    require_https: true
    allowed_hosts: [www.example.com, example.com]
  headers:
    exists: [Content-Type]
    contains:
      Content-Type: [text/html]
  body:
    contains: ["<html"]
    not_contains: ["Error establishing a database connection", "There has been a critical error on this website"]
monitoring:
  service_name: "WordPress Public Homepage"
  output: nagios
  on_failure: critical
  thresholds:
    response_time:
      warning: 2
      critical: 5