Repository navigation
Add Barn2 WordPress plugin detections - #394
Open
KatieKeith wants to merge 2 commits into
Open
KatieKeith wants to merge 2 commits into
KatieKeith wants to merge 2 commits into
Conversation
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>
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": {
"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
}
}
} |
There was a problem hiding this comment.
🟢 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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds 15 WordPress plugins published by Barn2 to category 87, plus one icon (
Barn2.svg) shared across the entries, in the same wayWooCommerce.svgis shared by the WooCommerce extensions already inw.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
TablePressandThe Events Calendar:Three plugins (
Password Protected Categories,WooCommerce Private Store,WooCommerce Protected Categories) enqueue a stylesheet but no front-end JavaScript, so those entries carrydomonly.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 & Sortinstalls toposts-data-tableandWooCommerce Product Tabsinstalls towoocommerce-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
woocommerce-product-tabledocument-library-proposts-table-prowoocommerce-product-tabs-propassword-protected-categorieswoocommerce-quick-view-prowoocommerce-protected-categorieswoocommerce-wholesale-prodocument-library-litewoocommerce-product-optionsposts-data-tablewoocommerce-private-storewoocommerce-bulk-variationswoocommerce-product-filterswoocommerce-fast-cartTwo 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:
/wp-content/plugins/document-library-pro/(RT Software, broadcast graphics)posts-table-proinstall (University of Washington, Center for Philosophy for Children)Note on the free Posts Table entry
Barn2's demo site for the free plugin is offline, so I verified
posts-data-tableagainst a local WordPress Playground run of the blueprint the plugin itself ships atassets/blueprints/blueprint.json, which is what drives its wordpress.org live preview. Both the stylesheet and the script were present:Checks
npm run lintandnpm run validateboth pass.npm testfails onmainas well, before this change, becausetests/wpt.jsrequiresWPT_SERVER,WPT_API_KEYandPR_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: