Skip to content

Add Barn2 WordPress plugin detections - #394

Open
KatieKeith wants to merge 2 commits into
HTTPArchive:mainfrom
KatieKeith:add-barn2-wordpress-plugins
Open

KatieKeith wants to merge 2 commits into
HTTPArchive:mainfrom
KatieKeith:add-barn2-wordpress-plugins

Conversation

@KatieKeith

@KatieKeith KatieKeith commented Oct 1, 2026 •

Copy link
Copy Markdown

Adds 15 WordPress plugins published by Barn2 to category 87, plus one icon (Barn2.svg) shared across the entries, in the same way WooCommerce.svg is shared by the WooCommerce extensions already in w.json.

Barn2 is a UK plugin company that has been selling WordPress and WooCommerce plugins since 2016. Its plugins are currently detected by nothing in this repository, which leaves them missing from WordPress plugin market share analysis.

How detection works

Each plugin is fingerprinted on its own plugin folder path in an asset URL, matching the existing WordPress plugin entries such as TablePress and The Events Calendar:

"dom": "link[href*='/wp-content/plugins/woocommerce-product-table/']",
"scriptSrc": "/wp-content/plugins/woocommerce-product-table/"

Three plugins (Password Protected Categories, WooCommerce Private Store, WooCommerce Protected Categories) enqueue a stylesheet but no front-end JavaScript, so those entries carry dom only.

The folder slugs were taken from a real multisite install rather than from the GitHub repository names, which differ in several cases. Posts Table with Search & Sort installs to posts-data-table and WooCommerce Product Tabs installs to woocommerce-product-tabs-pro.

Verification

Every entry was confirmed with node cli.js <url> against a live page, and the asset path was confirmed in the page HTML. The "verified on" column below is the URL used.

Plugins added

Technology Plugin folder Size of user base Verified on
WooCommerce Product Table woocommerce-product-table +24,000 websites https://producttable.barn2.com/shop/
Document Library Pro document-library-pro 13,000 websites https://rtsw.co.uk/document-library/
Posts Table Pro posts-table-pro 13,000 websites https://poststablepro.barn2.com/
WooCommerce Product Tabs woocommerce-product-tabs-pro 11,000 websites https://producttabs.barn2.com/product/high-tech-drone/
Password Protected Categories password-protected-categories 6,000 websites https://passwordcat.barn2.com/
WooCommerce Quick View Pro woocommerce-quick-view-pro 5,000 websites https://quickviewpro.barn2.com/
WooCommerce Protected Categories woocommerce-protected-categories 5,000 websites https://protectedcat.barn2.com/
WooCommerce Wholesale Pro woocommerce-wholesale-pro 4,700 websites https://wholesale.barn2.com/wholesale-store/
Document Library Lite document-library-lite 4,000+ active installs https://documentlibrary-free.barn2.com/
WooCommerce Product Options woocommerce-product-options 3,700 websites https://quickviewpro.barn2.com/
Posts Table with Search & Sort posts-data-table 3,000+ active installs WordPress Playground, see note below
WooCommerce Private Store woocommerce-private-store 2,700 websites https://privatestore.barn2.com/
WooCommerce Bulk Variations woocommerce-bulk-variations 2,600 websites https://producttable.barn2.com/shop/
WooCommerce Product Filters woocommerce-product-filters 2,400 websites https://productfilters.barn2.com/
WooCommerce Fast Cart woocommerce-fast-cart 2,300 websites https://fastcart.barn2.com/

Two of the plugins are free on wordpress.org, where the active install count is public. The figures for the paid plugins are the ones published on each plugin's own sales page, linked above. No customer data is used anywhere in this pull request.

Independent sites

Most of the verification URLs above are Barn2's own public demo sites, because these plugins load their assets only on the pages that use them, which makes third-party examples hard to pin down from search alone. Two independent sites, found by public search rather than from Barn2's records:

Note on the free Posts Table entry

Barn2's demo site for the free plugin is offline, so I verified posts-data-table against a local WordPress Playground run of the blueprint the plugin itself ships at assets/blueprints/blueprint.json, which is what drives its wordpress.org live preview. Both the stylesheet and the script were present:

<link rel='stylesheet' id='posts-data-table-css'
  href='.../wp-content/plugins/posts-data-table/assets/css/posts-data-table-main.css?ver=1.4.13' />
<script id="posts-data-table-js"
  src=".../wp-content/plugins/posts-data-table/assets/js/posts-data-table-main.js?ver=1.4.13">

Checks

npm run lint and npm run validate both pass. npm test fails on main as well, before this change, because tests/wpt.js requires WPT_SERVER, WPT_API_KEY and PR_NUMBER, which are only set in CI.

I have not run npm run sync_icons, since it uploads to the HTTP Archive GCS bucket.

Happy to trim the list if 15 is too many for one pull request, or to split the smaller plugins out into a follow-up.


Test websites:

KatieKeith and others added 2 commits October 1, 2026 18:43
Adds 15 WordPress plugins published by Barn2 (https://barn2.com) to
category 87. Each is fingerprinted by its own plugin folder path in an
asset URL, consistent with the existing WordPress plugin entries.

Three of the entries rely on a stylesheet only, because those plugins
enqueue no front-end JavaScript; the rest match on both the stylesheet
and the script.

All 15 were confirmed against live pages with cli.js.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
WPT test run for https://almanac.httparchive.org/en/2022/

WPT test run results: http://webpagetest.httparchive.org/results.php?test=261019_6D_S
Detected technologies:

{
    "detected": {
        "IaaS": "Google Cloud",
        "JavaScript libraries": "web-vitals",
        "RUM": "web-vitals",
        "Performance": "Priority Hints,Google Cloud Trace",
        "Security": "HSTS",
        "Webmail": "Google Workspace",
        "Email": "Google Workspace",
        "Analytics": "Google Analytics",
        "CDN": "Cloudflare",
        "Miscellaneous": "RSS,Open Graph"
    },
    "detected_apps": {
        "Google Cloud": "",
        "web-vitals": "",
        "Priority Hints": "",
        "HSTS": "",
        "Google Workspace": "",
        "Google Cloud Trace": "",
        "Google Analytics": "",
        "Cloudflare": "",
        "RSS": "",
        "Open Graph": ""
    },
    "detected_technologies": {
        "Google Cloud": {
            "name": "Google Cloud",
            "description": "Google Cloud is a suite of cloud computing services.",
            "slug": "google-cloud",
            "categories": [
                {
                    "id": 63,
                    "slug": "iaas",
                    "description": "Provides computing resources",
                    "groups": [
                        7
                    ],
                    "name": "IaaS",
                    "priority": 8
                }
            ],
            "confidence": 100,
            "version": "",
            "icon": "Google Cloud.svg",
            "website": "https://cloud.google.com",
            "pricing": [],
            "cpe": "cpe:2.3:a:google:cloud_platform:*:*:*:*:*:*:*:*"
        },
        "web-vitals": {
            "name": "web-vitals",
            "description": "The web-vitals JavaScript is a tiny, modular library for measuring all the web vitals metrics on real users.",
            "slug": "web-vitals",
            "categories": [
                {
                    "id": 59,
                    "slug": "javascript-libraries",
                    "description": "Collections of pre-written JavaScript code",
                    "groups": [
                        9
                    ],
                    "name": "JavaScript libraries",
                    "priority": 9
                },
                {
                    "id": 78,
                    "slug": "rum",
                    "description": "Tools that track performance as experienced by users",
                    "groups": [
                        2
                    ],
                    "name": "RUM",
                    "priority": 9
                }
            ],
            "confidence": 100,
            "version": "",
            "icon": "web-vitals.svg",
            "website": "https://github.com/GoogleChrome/web-vitals",
            "pricing": [],
            "cpe": null
        },
        "Priority Hints": {
            "name": "Priority Hints",
            "description": "Priority Hints exposes a mechanism for developers to signal a relative priority for browsers to consider when fetching resources.",
            "slug": "priority-hints",
            "categories": [
                {
                    "id": 92,
                    "slug": "performance",
                    "description": "Tools that measure and optimize site speed",
                    "groups": [
                        7
                    ],
                    "name": "Performance",
                    "priority": 9
                }
            ],
            "confidence": 100,
            "version": "",
            "icon": "Priority Hints.svg",
            "website": "https://wicg.github.io/priority-hints/",
            "pricing": [],
            "cpe": null
        },
        "HSTS": {
            "name": "HSTS",
            "description": "HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.",
            "slug": "hsts",
            "categories": [
                {
                    "id": 16,
                    "slug": "security",
                    "description": "Technologies that protect websites from vulnerabilities and attacks",
                    "groups": [
                        11
                    ],
                    "name": "Security",
                    "priority": 9
                }
            ],
            "confidence": 100,
            "version": "",
            "icon": "default.svg",
            "website": "https://www.rfc-editor.org/rfc/rfc6797#section-6.1",
            "pricing": [],
            "cpe": null
        },
        "Google Workspace": {
            "name": "Google Workspace",
            "description": "Google Workspace, formerly G Suite, is a collection of cloud computing, productivity and collaboration tools.",
            "slug": "google-workspace",
            "categories": [
                {
                    "id": 30,
                    "slug": "webmail",
                    "description": "Systems that allow users to send and receive emails through a browser",
                    "groups": [
                        4
                    ],
                    "name": "Webmail",
                    "priority": 2
                },
                {
                    "id": 75,
                    "slug": "email",
                    "description": "Systems that manage email communication",
                    "groups": [
                        4,
                        2
                    ],
                    "name": "Email",
                    "priority": 9
                }
            ],
            "confidence": 100,
            "version": "",
            "icon": "Google.svg",
            "website": "https://workspace.google.com/",
            "pricing": [],
            "cpe": null
        },
        "Google Cloud Trace": {
            "name": "Google Cloud Trace",
            "description": "Google Cloud Trace is a distributed tracing system that collects latency data from applications and displays it in the Google Cloud Console.",
            "slug": "google-cloud-trace",
            "categories": [
                {
                    "id": 92,
                    "slug": "performance",
                    "description": "Tools that measure and optimize site speed",
                    "groups": [
                        7
                    ],
                    "name": "Performance",
                    "priority": 9
                }
            ],
            "confidence": 100,
            "version": "",
            "icon": "google-cloud-trace.svg",
            "website": "https://cloud.google.com/trace",
            "pricing": [],
            "cpe": null
        },
        "Google Analytics": {
            "name": "Google Analytics",
            "description": "Google Analytics is a free web analytics service that tracks and reports website traffic.",
            "slug": "google-analytics",
            "categories": [
                {
                    "id": 10,
                    "slug": "analytics",
                    "description": "Tools that track user behavior and provide insights into website performance",
                    "groups": [
                        8
                    ],
                    "name": "Analytics",
                    "priority": 9
                }
            ],
            "confidence": 100,
            "version": "",
            "icon": "Google Analytics.svg",
            "website": "https://google.com/analytics",
            "pricing": [],
            "cpe": null
        },
        "Cloudflare": {
            "name": "Cloudflare",
            "description": "Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.",
            "slug": "cloudflare",
            "categories": [
                {
                    "id": 31,
                    "slug": "cdn",
                    "description": "(Content Delivery Network) Distribute website content globally to improve load times for users",
                    "groups": [
                        7
                    ],
                    "name": "CDN",
                    "priority": 9
                }
            ],
            "confidence": 100,
            "version": "",
            "icon": "CloudFlare.svg",
            "website": "https://www.cloudflare.com",
            "pricing": [],
            "cpe": null
        },
        "RSS": {
            "name": "RSS",
            "description": "RSS is a family of web feed formats used to publish frequently updated works—such as blog entries, news headlines, audio, and video—in a standardized format.",
            "slug": "rss",
            "categories": [
                {
                    "id": 19,
                    "slug": "miscellaneous",
                    "description": "Tools and technologies that don't fit into other categories",
                    "groups": [
                        6
                    ],
                    "name": "Miscellaneous",
                    "priority": 10
                }
            ],
            "confidence": 100,
            "version": "",
            "icon": "RSS.svg",
            "website": "https://www.rssboard.org/rss-specification",
            "pricing": [],
            "cpe": null
        },
        "Open Graph": {
            "name": "Open Graph",
            "description": "Open Graph is a protocol that is used to integrate any web page into the social graph.",
            "slug": "open-graph",
            "categories": [
                {
                    "id": 19,
                    "slug": "miscellaneous",
                    "description": "Tools and technologies that don't fit into other categories",
                    "groups": [
                        6
                    ],
                    "name": "Miscellaneous",
                    "priority": 10
                }
            ],
            "confidence": 100,
            "version": "",
            "icon": "Open Graph.png",
            "website": "https://ogp.me",
            "pricing": [],
            "cpe": null
        }
    }
}

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The additions follow existing detection patterns and have no identified blocking issues.

No open issues 🎉

What changed in this PR

Adds detection for 15 Barn2 plugins to the WordPress plugin catalog, expanding market-share coverage.

Changes:

  • Adds plugin-specific stylesheet and script fingerprints, with metadata and WordPress requirements.
  • Adds a shared Barn2 icon for all new entries.
File Description
src/​technologies/​w.json Adds 10 WooCommerce plugin detections.
src/​technologies/​p.json Adds category-protection and two posts-table detections.
src/​technologies/​d.json Adds Document Library Lite and Pro detections.
src/​images/​icons/​Barn2.svg Provides the shared Barn2 icon.

Review effort: Balanced

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants