Skip to content

Navigation Menu

Sign in
Sign up

Latest commit

History

2,461 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

wordpress-plugins

GitHub Actions Update Frequency WordPress Plugins Go Version

A continuously updated repository that monitors and collects data from the official WordPress Plugin Directory, automatically refreshed every 6 hours using GitHub Actions.

πŸš€ Overview

This repository serves as a comprehensive monitoring system for WordPress plugins, tracking the entire ecosystem from the official WordPress Plugin Directory. It provides developers, security researchers, and WordPress administrators with up-to-date plugin information and metadata.

βš™οΈ How It Works

Automated Monitoring Pipeline

Schedule: Runs every 6 hours
Trigger: Also on push to main branch
Process:
1. πŸ“Š Queries WordPress Plugin API for total plugin count
2. πŸ” Scrapes plugin metadata using wppdm
3. πŸ’Ύ Stores data in structured JSON format
4. βœ… Automatically commits and pushes updates

Tools Used

  • wppdm: Custom tool for WordPress plugin data mining
  • WordPress Plugin API: Official source for plugin information
  • GitHub Actions: For automation and scheduling
  • jq: For JSON processing and data extraction

πŸ“‚ Repository Structure

wordpress-plugins-monitor/
β”œβ”€β”€ .github/workflows/
β”‚ └── monitor.yml # Automation workflow
β”œβ”€β”€ plugins.json # Plugin metadata (auto-generated)
β”œβ”€β”€ plugins_count.txt # Total plugin count (auto-generated)
└── README.md

πŸ› οΈ Usage

Accessing Plugin Data

The collected data is available in two main formats:

  1. plugins_count.txt: Contains the total number of plugins in the WordPress directory
  2. plugins.json: Comprehensive metadata for all available plugins

Example Usage

# Get total plugin count
cat plugins_count.txt
# Query specific plugin information from JSON
jq '.[] | select(.slug == "woocommerce")' plugins.json
# Extract plugin names and versions
jq '.[] | {name, version, downloaded}' plugins.json
# Find recently updated plugins
jq '.[] | select(.last_updated > "2024-01-01")' plugins.json

For Developers

import json
import requests
# Load plugin data directly from this repository
url = "https://raw.githubusercontent.com/rix4uni/wordpress-plugins/main/plugins.json"
response = requests.get(url)
plugins_data = response.json()
# Analyze plugin ecosystem
total_plugins = len(plugins_data)
active_plugins = [p for p in plugins_data if p.get('active_installs', 0) > 0]
recent_updates = [p for p in plugins_data if p.get('last_updated', '').startswith('2024')]

πŸ”„ Automation Details

  • Schedule: Runs every 6 hours (0 */6 * * *)
  • Data Source: Official WordPress Plugin API (api.wordpress.org/plugins/info/1.2/)
  • Tools:
    • wppdm for plugin data mining
    • jq for JSON processing
    • GitHub Actions for automation
  • Commit: Automatically commits changes with IST timestamp

πŸ“Š Data Collection

What We Monitor

  • Plugin Metadata: Name, slug, version, description
  • Statistics: Active installations, ratings, downloaded count
  • Timestamps: Last updated, added dates
  • Compatibility: Tested up to WordPress version
  • Author Information: Developer details and profiles
  • Repository Links: WordPress.org and author URLs

Sample Data Structure

{
 "name": "Example Plugin",
 "slug": "example-plugin",
 "version": "1.2.3",
 "author": "developer123",
 "author_profile": "https://profiles.wordpress.org/developer123/",
 "contributors": {},
 "requires": "5.8",
 "tested": "6.3",
 "requires_php": "7.4",
 "rating": 90,
 "ratings": {
 "1": 1,
 "2": 1,
 "3": 2,
 "4": 3,
 "5": 23
 },
 "num_ratings": 30,
 "support_threads": 5,
 "support_threads_resolved": 3,
 "active_installs": 10000,
 "last_updated": "2024εΉ΄01月15ζ—₯ 10:30:00",
 "added": "2023εΉ΄05月20ζ—₯ 14:25:00",
 "homepage": "https://wordpress.org/plugins/example-plugin/",
 "download_link": "https://downloads.wordpress.org/plugin/example-plugin.1.2.3.zip",
 "tags": {
 "ecommerce": "Ecommerce",
 "payment": "Payment"
 },
 "donate_link": "",
 "banners": {
 "low": "https://ps.w.org/example-plugin/assets/banner-772x250.jpg",
 "high": "https://ps.w.org/example-plugin/assets/banner-1544x500.jpg"
 }
}

πŸ”— Related Projects

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /