X
🐾 Coming from PetMatchPro 6.x? Version 8 adds real adoption analytics, similar-animal suggestions, SEO-friendly URLs, and overlay badges. See What's New →
PetMatchPro
  • Partners
    • AnimalsFirst
    • PetPoint
    • RescueGroups
  • What’s New
  • Shop
  • Demo
  • FAQ
  • Knowledge Base
  • About Us
  • Contact Us
  • My Account
  • Cart
Select Page
Green rocket icon for Getting Started documentation category

Getting Started

6
  • Activate Your License
  • Setup Wizard Walkthrough
  • Connecting Your Shelter System
  • Understanding License Tiers
  • Creating Your First Search Page
  • Creating Your First Detail Page
Blue code brackets icon for Shortcodes and Configuration documentation category

Shortcodes & Configuration

12
  • Shortcode Builder
  • [pmp-search] Reference
  • [pmp-details] Reference
  • [pmp-detail] Reference
  • [pmp-option] Reference
  • Parameters by License Tier
  • Common Shortcode Recipes
  • Pagination Setup
  • Excluding Values
  • Search Filter Button
  • Detail Button Hover Text
  • Search Card Hover Text
Purple palette icon for Templates and Design documentation category

Templates & Design

8
  • Search Templates Gallery
  • Detail Templates Gallery
  • Poster Templates
  • Theme Template Overrides
  • Color Customization
  • Font Size Customization
  • Detail Title Formats
  • Dynamic Banners
Orange image with star icon for Icons and Overlays documentation category

Icons & Overlays

6
  • Understanding Pet Icons
  • Understanding Overlays
  • Icon Reference Gallery
  • Customizing Icon Display
  • Value-Based Icons
  • Icon Size Customization
Teal tag icon for Labels and Customization documentation category

Labels & Customization

3
  • Custom Labels Guide
  • Changing Labels via Filtering
  • Custom Currency & Date Formats
Blue funnel icon for Filters and Search documentation category

Filters & Search

6
  • Custom Filter Groups & Labels
  • Setting Up Search Filters
  • Species & Breed Filtering
  • Filter Value Management
  • Excluding Values via Filtering
  • Partner-Specific Filter Options
Violet chain link icon for Partner Integration Guides documentation category

Partner Guides

3
  • AnimalsFirst Integration Guide
  • PetPoint Integration Guide
  • RescueGroups Integration Guide
Red bar chart icon for Analytics and Tracking documentation category

Analytics & Tracking

8
  • Understanding PMP Analytics
  • GA4 Configuration
  • Google Tag Manager Setup
  • Leveraging Analytics
  • WP-Cron Requirements for PetMatchPro Analytics
  • Queue Health and Tools
  • Privacy and Data Retention
  • Off-Bootstrap Impression Ingest
Amber wrench icon for Troubleshooting and FAQ documentation category

Troubleshooting

15
  • Common Error Messages
  • API Connection Issues
  • Template Not Found Errors
  • Theme Template Override Not Loading
  • Performance & Caching Best Practices
  • Animals Not Displaying
  • Stale Content / Cache Issues
  • Styling Conflicts
  • Empty Field Display
  • Analytics Queue Stuck or WP-Cron Not Running
  • Premium Feature Not Appearing After Upgrade
  • Troubleshoot the PetMatchPro Shortcode Builder
  • Reading PMP Debug Logs
  • wp-config.php Configuration Constants
  • How to Contact Support
Lightbulb icon representing PetMatchPro best practices guides for homepage layouts, button strategy, performance tuning, and template selection

Best Practices

11
  • Featuring Animals on Your Homepage
  • Adding Animals to Sidebars and Other Pages
  • Using Banners and Subtitles Effectively
  • Overlays and Icons for Quick Visual Cues
  • Writing Effective Detail Page Instructions
  • Button Configuration for Conversion
  • Optimizing Performance with API Caching
  • Customizing Typography and Icon Sizes
  • Lost and Found Search Best Practices
  • Template Selection Guide
  • Preconnect to Your Partner Photo CDN – PetMatchPro
View Categories
  • Home
  • Knowledge Base
  • Analytics & Tracking
  • Off-Bootstrap Impression Ingest

Off-Bootstrap Impression Ingest

7 min read

Off-Bootstrap Impression Ingest #

Requires Preferred license. Applies to PetMatchPro 8.17.0 and later.

This article explains the fast analytics ingest path added in 8.17.0: what it is, why it exists, how to confirm it is active, how to install it manually when your host blocks the automatic install, and an optional Cloudflare rule for very high-traffic sites.

What the Fast Ingest Endpoint Is #

Every time a visitor scrolls a search page, PetMatchPro records which animal cards they saw (“impressions”). Before 8.17.0 each batch of impressions was posted to WordPress’s admin-ajax.php. That endpoint boots all of WordPress plus every active plugin – your security plugin, page builder, SEO plugin, and PetMatchPro itself – on every anonymous beacon, just to run one tiny database write. On a busy day that full bootstrap (~500 ms of server work per beacon) can tie up every available PHP worker, and new visitors stop being able to connect.

8.17.0 moves that write off the full bootstrap. On activation PetMatchPro installs a tiny must-use plugin (a “drop-in”) at wp-content/mu-plugins/pmp-ingest-loader.php. Must-use plugins run before the normal plugin stack, so the drop-in can catch the impression beacon, do the same validated database write, and finish – in roughly 20-50 ms instead of ~500 ms – without ever loading your security plugin, page builder, or the rest of the stack. The result is roughly 10-20x more spike headroom on the same server.

Two things to understand about this design:

  • It deliberately runs before your security stack. Skipping that stack is exactly what makes it fast. The endpoint is therefore strictly limited: it only accepts a sanitized, size-capped list of impressions and only ever performs one parameterized INSERT. It cannot do anything else.
  • It is never a hard dependency. If the drop-in is missing, blocked, or fails for any reason, impression beacons automatically fall back to the old admin-ajax.php path. You never lose data – you only lose the speed-up.

You can confirm whether it is active under PetMatchPro > Analytics > Analytics Queue Health, on the Fast Ingest row. “Active” means the drop-in is installed and beacons are using it. “Inactive” means beacons are using the admin-ajax fallback.

Adaptive Backoff #

The endpoint also protects itself. It watches how far behind the impression buffer is and, when the buffer climbs, tells the visitor’s browser to flush impressions less often (and, at the very top, to wait before retrying). This sheds load before the server saturates, and recovers automatically when traffic calms down. This is computed entirely on your own server – no third-party service is required, and it works the same for every site out of the box.

Manual Install (When Your Host Blocks the Automatic One) #

Some managed hosts make the wp-content/mu-plugins/ directory read-only or absent. When PetMatchPro cannot write the drop-in automatically, it shows an admin notice (“fast analytics ingest is not active – your host blocked the automatic install”) and keeps tracking impressions on the standard path. Your analytics are not broken; only the high-traffic protection is off. This only materially matters for high-traffic sites.

To install it by hand:

  1. Connect to your site by SFTP or your host’s file manager.
  2. Navigate to wp-content/. If a mu-plugins folder does not exist there, create one (exactly that name, all lowercase).
  3. In wp-content/plugins/petmatchpro/includes/analytics/ you will find a manager that can regenerate the loader. The simplest reliable approach is to let PetMatchPro write the file once permissions allow: ask your host to make wp-content/mu-plugins/ writable, then deactivate and reactivate PetMatchPro (or just load any admin page) so the drop-in is written automatically.
  4. If the directory must stay read-only, ask your host to copy PetMatchPro’s generated loader into wp-content/mu-plugins/pmp-ingest-loader.php for you. It is a small, self-contained file that simply forwards the impression beacon to PetMatchPro.

To confirm it worked: reload PetMatchPro > Analytics > Analytics Queue Health and check that the Fast Ingest row reads “Active”. The admin notice will also clear on the next page load.

Wordfence (and Other Scanners) Will Flag the New File #

Because the drop-in is a brand-new must-use plugin, Wordfence’s file-change scan will email you something like “New must-use plugin detected: pmp-ingest-loader.php“. This is expected and not a compromise. PetMatchPro created the file on purpose; it is the fast ingest loader described above. You can safely acknowledge / mark it as seen in Wordfence. The file is rewritten automatically on each PetMatchPro upgrade and removed when you deactivate the plugin, so you may see the same notice again after an update – also expected.

Optional: Cloudflare Aggregate Rate-Limit Rule #

This step is optional and plan-dependent. Most sites should skip it. PetMatchPro’s own adaptive backoff already protects the server without any edge rule. Add this only if you run large media-driven traffic spikes and you are actually seeing those floods reach PHP. If you are not sure, you do not need it.

The rule must be a true Rate Limiting rule, which counts requests over time. A plain Custom rule cannot do this – it can only Block or Challenge on a match, with no counting, so a Custom rule on this match would block every impression beacon and silently break your analytics. Do not substitute a Custom rule for the Rate Limiting rule described below.

Standalone Rate Limiting rules are only available on certain Cloudflare plans. On lower tiers the Create rule menu under Security rules shows only Custom rules, Managed rules, and Templates – with no Rate Limiting option. If that is what you see, this hardening is simply not available on your plan, and that is fine: skip it and rely on the built-in backoff, or upgrade your Cloudflare plan if you specifically need edge rate limiting.

The key is to make it an aggregate rate limit, not per-IP: a media event brings many thousands of different visitors, so a per-IP limit would never trigger. You want to cap the total rate of impression beacons.

Cloudflare’s navigation has changed over time. The current path is below; older dashboards listed this under Security > WAF > Rate limiting rules.

  1. In the Cloudflare dashboard, open Security > Security rules.
  2. Click the Create rule dropdown and choose Rate limiting rule. If you do not see that option (only Custom rules, Managed rules, and Templates appear), your plan does not include standalone rate limiting – check Templates for a rate-limit starter, otherwise skip this section.
  3. Match: URI Path equals / and URI Query String contains pmp_ingest and Request Method equals POST.
  4. Counting (with the same characteristics as): set the characteristic to something constant so it counts in aggregate, not per-IP – for example the Host header or another fixed header – rather than the client IP.
  5. Rate: choose a ceiling comfortably above your normal peak beacon rate (watch the Queue Health card during a busy hour to gauge it), over a 10-second window.
  6. Action: Block with a custom response code of 429. PetMatchPro’s beacon already understands a 429 and will back off, so this degrades gracefully.

Because the action returns the same 429 the client already honors, an over-the-limit flood is throttled at Cloudflare’s edge and the browser quietly slows its flush rate – no errors are shown to visitors.

A Note on Click-Through Rate During Extreme Spikes #

A future PetMatchPro release may, during an extreme spike only, record a representative sample of impressions (and scale the totals back up) instead of every single one, as a last-resort safety net. Clicks, shares, and other deliberate actions are never sampled – they are always recorded exactly. If sampling is ever active during a spike, click-through rates measured against that window should be read as estimates rather than exact figures. This note is here for completeness; sampling is not enabled in 8.17.0.

Next Steps #

  • Queue Health and Tools – Reading the Queue Health card, including the Fast Ingest row
  • WP-Cron Requirement – The cron that drains the impression buffer
  • Understanding PMP Analytics – What these impressions feed
Off-Bootstrap Impression Ingest ultima modifica: 2026-06-23T13:04:45-04:00 da PetMatchPro
Updated on June 24, 2026

What are your Feelings

  • Happy
  • Normal
  • Sad

Share This Article :

  • Facebook
  • X
  • LinkedIn
  • Pinterest
Privacy and Data RetentionUnderstanding PMP Analytics

Submit a Comment Cancel reply

Your email address will not be published. Required fields are marked *

Table of Contents
  • Off-Bootstrap Impression Ingest
    • What the Fast Ingest Endpoint Is
    • Adaptive Backoff
    • Manual Install (When Your Host Blocks the Automatic One)
    • Wordfence (and Other Scanners) Will Flag the New File
    • Optional: Cloudflare Aggregate Rate-Limit Rule
    • A Note on Click-Through Rate During Extreme Spikes
    • Next Steps

© Copyright 2018-2026 by PetMatchPro, All Rights Reserved

  • Privacy Policy
  • Terms of Use
  • Disclaimer
  • Login