[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fivOZLOoEOLPvVKq8t_P1jJg0lW7z8o_t1KbzeIp9y7Y":3},{"slug":4,"display_name":5,"profile_url":6,"plugin_count":7,"total_installs":8,"avg_security_score":9,"avg_patch_time_days":10,"trust_score":11,"computed_at":12,"plugins":13},"materron","Miguel Angel Terrón","https:\u002F\u002Fprofiles.wordpress.org\u002Fmaterron\u002F",2,10,100,30,94,"2026-08-29T08:22:07.852Z",[14,37],{"slug":15,"name":16,"version":17,"author":5,"author_profile":6,"description":18,"short_description":19,"active_installs":8,"downloaded":20,"rating":9,"num_ratings":21,"last_updated":22,"tested_up_to":23,"requires_at_least":24,"requires_php":25,"tags":26,"homepage":32,"download_link":33,"security_score":9,"vuln_count":34,"unpatched_count":34,"last_vuln_date":35,"fetched_at":36},"podcast-analytics-for-op3","Podcast Analytics for OP3","2.7.0","\u003Cp>\u003Ca href=\"https:\u002F\u002Fop3.dev\" rel=\"nofollow ugc\">OP3\u003C\u002Fa> (Open Podcast Prefix Project) is a \u003Cstrong>free, open-source podcast analytics service\u003C\u002Fstrong> committed to open data and listener privacy. This plugin integrates OP3 with any WordPress podcast site in minutes.\u003C\u002Fp>\n\u003Ch4>What it does\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Automatic feed prefix\u003C\u002Fstrong> — Adds \u003Ccode>https:\u002F\u002Fop3.dev\u002Fe\u002F\u003C\u002Fcode> before every audio enclosure URL in your RSS feed. Works with PowerPress (Blubrry), Seriously Simple Podcasting, Podlove, and any plugin that generates a standard RSS2 podcast feed.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Dashboard widget\u003C\u002Fstrong> — Shows your podcast’s downloads for the last 7 days directly on the WordPress dashboard.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Statistics page\u003C\u002Fstrong> — A dedicated admin page with download counts per episode, switchable between last 24 hours, 7 days, and 30 days.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Private podcast support\u003C\u002Fstrong> — Podcasts behind a restricted\u002Fpassword-protected feed (e.g. with Restrict Content Pro) get their own self-hosted download-tracking endpoint instead of the OP3 prefix, since OP3 cannot access authenticated feeds by design. Statistics for private podcasts are calculated from your own database and shown alongside your public podcasts. Download counting for private podcasts follows the same methodology OP3 documents for its own public counting (startup-probe handling, one-download-per-listener-per-day deduplication, bot filtering), so numbers are comparable in kind, not just in table layout.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Apps & devices breakdown\u003C\u002Fstrong> — See which podcast apps (Spotify, Apple Podcasts, Overcast…) your listeners use, for both public and private podcasts.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Country map\u003C\u002Fstrong> — A world map colored by download volume, plus a ranked country list, for both public and private podcasts (private podcasts require a free MaxMind GeoLite2 license key).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom date range\u003C\u002Fstrong> — Pick any “from\u002Fto” range for your stats, in addition to the quick 24h\u002F7d\u002F30d tabs.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Best time to publish\u003C\u002Fstrong> — Charts showing downloads by hour of day and by weekday, in your site’s own timezone.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Unique listeners\u003C\u002Fstrong> — A deduplicated listener count, for both public and private podcasts.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Audience overlap\u003C\u002Fstrong> — When two or more podcasts are shown together, see how many listeners they share, as a matrix and a ranked list. Public podcasts are compared against public podcasts, and private against private — see the FAQ below for why they’re never mixed.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Download alerts\u003C\u002Fstrong> — Get an email when an episode (published more than 14 days ago) has an unusual spike or drop in downloads compared to the previous week. Configured in a dedicated \u003Cstrong>OP3 Analytics \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Alertas\u003C\u002Fstrong> page, with its own history log.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Growth ranking\u003C\u002Fstrong> — See which episodes are climbing or falling fastest, comparing the selected period against the equal-length period right before it.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>App comparison\u003C\u002Fstrong> — When two or more podcasts are shown together, compare their apps\u002Fdevices breakdown side by side.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Printable report\u003C\u002Fstrong> — The “Print \u002F PDF” button now includes a short plain-language explanation under each section, so a printed or exported report is understandable without the interactive dashboard.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>How the OP3 prefix works\u003C\u002Fh4>\n\u003Cp>OP3 is a transparent redirect service. When a listener downloads an episode:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Their app requests \u003Ccode>https:\u002F\u002Fop3.dev\u002Fe\u002Fyoursite.com\u002Fepisode.mp3\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>OP3 logs the download anonymously and immediately redirects to \u003Ccode>https:\u002F\u002Fyoursite.com\u002Fepisode.mp3\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>The audio file is served normally from your server\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Your audio files are not modified or hosted anywhere else. Only the URL in the RSS feed changes. Listener privacy is protected — OP3 never stores raw IP addresses.\u003C\u002Fp>\n\u003Ch4>Why OP3?\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>100% free and open source\u003C\u002Fstrong> — no subscription, no lock-in\u003C\u002Fli>\n\u003Cli>\u003Cstrong>No signup required\u003C\u002Fstrong> to start measuring — just add the prefix\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Open data\u003C\u002Fstrong> — your stats are publicly accessible to anyone, including app developers\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Privacy-first\u003C\u002Fstrong> — no raw IPs stored, no tracking pixels\u003C\u002Fli>\n\u003Cli>Every show automatically gets a free public stats page at \u003Ccode>op3.dev\u002Fshow\u002F{uuid}\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Requirements\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>A WordPress site with a podcast RSS feed\u003C\u002Fli>\n\u003Cli>A bearer token from \u003Ca href=\"https:\u002F\u002Fop3.dev\u002Fapi\u002Fkeys\" rel=\"nofollow ugc\">op3.dev\u002Fapi\u002Fkeys\u003C\u002Fa> for statistics (the feed prefix works without one)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>External Services\u003C\u002Fh3>\n\u003Cp>This plugin connects to two external services. Both are optional in the sense that the plugin’s core feature (the feed prefix) works without any account, but statistics require them.\u003C\u002Fp>\n\u003Ch4>OP3 (op3.dev)\u003C\u002Fh4>\n\u003Cp>Used for public podcasts: the feed prefix and the statistics API.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>What it’s for:\u003C\u002Fstrong> Adds an anonymous download-tracking prefix to your public podcast feed enclosures, and retrieves the resulting download counts, per-episode data, apps\u002Fdevices, and country\u002Fregion breakdown for the Statistics page and Dashboard widget.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>What is sent and when:\u003C\u002Fstrong> When a listener downloads a podcast episode, their request passes through \u003Ccode>op3.dev\u003C\u002Fcode> before reaching your audio file — OP3 logs anonymised request data (no raw IP addresses are stored by OP3). Separately, when you view the Statistics page or Dashboard widget, the plugin makes an authenticated request to the OP3 API (\u003Ccode>op3.dev\u002Fapi\u002F1\u002F\u003C\u002Fcode>) using your bearer token to retrieve this data. No personal data from your WordPress site (user accounts, post content, etc.) is sent to OP3.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Service URL:\u003C\u002Fstrong> \u003Ca href=\"https:\u002F\u002Fop3.dev\" rel=\"nofollow ugc\">https:\u002F\u002Fop3.dev\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Terms of Service:\u003C\u002Fstrong> \u003Ca href=\"https:\u002F\u002Fop3.dev\u002Fterms\" rel=\"nofollow ugc\">https:\u002F\u002Fop3.dev\u002Fterms\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Privacy Policy:\u003C\u002Fstrong> \u003Ca href=\"https:\u002F\u002Fop3.dev\u002Fprivacy\" rel=\"nofollow ugc\">https:\u002F\u002Fop3.dev\u002Fprivacy\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>MaxMind GeoLite2 (optional, private podcasts only)\u003C\u002Fh4>\n\u003Cp>Only used if you mark a podcast as private AND enter a MaxMind license key in the plugin settings. Public podcasts never use this service (they already get country data from OP3).\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>What it’s for:\u003C\u002Fstrong> Resolves the country of a private podcast’s listeners from their IP address, using a local country-ranges database built from MaxMind’s free GeoLite2 data.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>What is sent and when:\u003C\u002Fstrong> Once (and periodically, weekly, to keep the data current), the plugin downloads the GeoLite2 Country CSV database from MaxMind’s servers using your license key. No visitor data is ever sent to MaxMind — the lookup happens entirely on your own server against the locally stored database, and the raw IP address is never stored, only a country code and a daily-rotating salted hash used to deduplicate listeners.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Service URL:\u003C\u002Fstrong> \u003Ca href=\"https:\u002F\u002Fwww.maxmind.com\" rel=\"nofollow ugc\">https:\u002F\u002Fwww.maxmind.com\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Terms of Service:\u003C\u002Fstrong> \u003Ca href=\"https:\u002F\u002Fwww.maxmind.com\u002Fen\u002Fend-user-license-agreement\" rel=\"nofollow ugc\">https:\u002F\u002Fwww.maxmind.com\u002Fen\u002Fend-user-license-agreement\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Privacy Policy:\u003C\u002Fstrong> \u003Ca href=\"https:\u002F\u002Fwww.maxmind.com\u002Fen\u002Fprivacy-policy\" rel=\"nofollow ugc\">https:\u002F\u002Fwww.maxmind.com\u002Fen\u002Fprivacy-policy\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Privacy Policy\u003C\u002Fh3>\n\u003Cp>No data is collected from your site’s visitors beyond what is described in the External Services section above. IP addresses are never stored in raw form by this plugin — only a daily-rotating salted hash (for private-podcast unique-listener deduplication) and, when GeoLite2 is configured, a resolved country code.\u003C\u002Fp>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cp>The world map used in the country statistics (\u003Ccode>admin\u002Fimg\u002Fworld-map.svg\u003C\u002Fcode>) is based on \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fflekschas\u002Fsimple-world-map\" rel=\"nofollow ugc\">“Simple SVG World Map”\u003C\u002Fa> by Fritz Lekschas, editing original artwork by Al MacDonald, licensed under \u003Ca href=\"https:\u002F\u002Fcreativecommons.org\u002Flicenses\u002Fby-sa\u002F3.0\u002F\" rel=\"nofollow ugc\">CC BY-SA 3.0\u003C\u002Fa>.\u003C\u002Fp>\n","Integrate OP3 open podcast analytics with WordPress: prefix your feed automatically and view download stats in your dashboard.",656,6,"2026-07-15T12:09:00.000Z","7.0.2","6.3","8.0",[27,28,29,30,31],"analytics","feed","op3","podcast","statistics","https:\u002F\u002Fgithub.com\u002Fmaterron\u002Fpodcast-analytics-for-op3","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpodcast-analytics-for-op3.2.7.0.zip",0,null,"2026-07-22T17:31:50.256Z",{"slug":38,"name":39,"version":40,"author":5,"author_profile":6,"description":41,"short_description":42,"active_installs":34,"downloaded":43,"rating":34,"num_ratings":34,"last_updated":44,"tested_up_to":23,"requires_at_least":24,"requires_php":25,"tags":45,"homepage":50,"download_link":51,"security_score":9,"vuln_count":34,"unpatched_count":34,"last_vuln_date":35,"fetched_at":36},"connector-for-vozcaster","Connector for VozCaster","1.5.14","\u003Cp>\u003Cstrong>VozCaster\u003C\u002Fstrong> is a Telegram bot that turns voice notes into fully published podcast episodes on your WordPress site. This plugin — \u003Cstrong>Connector for VozCaster\u003C\u002Fstrong> — is the WordPress side of the system: it receives episodes from the bot and publishes them using \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fpowerpress\u002F\" rel=\"ugc\">PowerPress\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>You send a voice note to the bot, and a published draft (or live episode) appears on your site with audio, title, content and featured image. No editing, no manual file uploads, no opening the WordPress dashboard.\u003C\u002Fp>\n\u003Ch4>What it does\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Receives audio\u003C\u002Fstrong> from the VozCaster bot and uploads it to your WordPress media library.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Creates podcast episodes\u003C\u002Fstrong> using PowerPress, with episode and season numbering managed automatically.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Supports multiple podcasts on the same site\u003C\u002Fstrong> — works with any PowerPress custom channels you have configured.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Per-podcast settings\u003C\u002Fstrong>: title prefix, intro\u002Foutro audio, post footer (signature), category mapping.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Granular permissions\u003C\u002Fstrong>: choose which WordPress users can publish to which podcast.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Token-based authentication\u003C\u002Fstrong> so the bot never sees your WordPress password.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Free and Pro\u003C\u002Fh4>\n\u003Cp>This plugin is free and open source, and basic publishing through the bot is free too — no card, no invitation. The audio is always processed for you: silence trimming, basic noise reduction and intro\u002Foutro mixing.\u003C\u002Fp>\n\u003Cp>The paid \u003Cstrong>Pro\u003C\u002Fstrong> and \u003Cstrong>Studio\u003C\u002Fstrong> plans add the full AI workflow: automatic transcription (Whisper), a complete article written from what you said, a generated featured image, and advanced noise reduction (DeepFilter) — so the published episode arrives with title, content and cover already done, sounding its best. Pro includes 30 AI episodes per month, Studio 100. See \u003Ca href=\"https:\u002F\u002Fvozcaster.com\u002Fpricing.html\" rel=\"nofollow ugc\">plans and pricing\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Languages\u003C\u002Fh4>\n\u003Cp>The bot conversation is currently in Spanish. Episode content is generated in the language you record in — the transcription detects it automatically.\u003C\u002Fp>\n\u003Ch4>How it works\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Install and activate this plugin on your WordPress site.\u003C\u002Fli>\n\u003Cli>In \u003Cstrong>Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Connector for VozCaster\u003C\u002Fstrong>, authorise one or more WordPress users to publish via the bot.\u003C\u002Fli>\n\u003Cli>Open Telegram, talk to the VozCaster bot, run \u003Ccode>\u002Fconectar\u003C\u002Fcode> and link your WordPress site.\u003C\u002Fli>\n\u003Cli>Send a voice note or audio file to the bot. The episode appears on your site, ready to review or publish.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Requirements\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>WordPress with the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fpowerpress\u002F\" rel=\"ugc\">PowerPress\u003C\u002Fa> plugin installed and activated.\u003C\u002Fli>\n\u003Cli>A Telegram account.\u003C\u002Fli>\n\u003Cli>A WordPress user authorised to publish via the bot (configurable in the plugin settings — any role works as long as the administrator marks the user as authorised).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>External Services\u003C\u002Fh3>\n\u003Cp>This plugin requires an external service to function: the \u003Cstrong>VozCaster bot\u003C\u002Fstrong>, a Telegram bot operated by the plugin author (Miguel Ángel Terrón Bote). The plugin is the WordPress-side component; the bot performs audio processing and orchestrates publication.\u003C\u002Fp>\n\u003Cp>The following data is transmitted:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\n\u003Cp>\u003Cstrong>From the bot to your WordPress site, via this plugin’s REST API\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Audio files received by the bot (sent by you via Telegram).\u003C\u002Fli>\n\u003Cli>Optional featured images.\u003C\u002Fli>\n\u003Cli>Episode metadata: title, description, content, episode number, season, feed slug.\u003C\u002Fli>\n\u003Cli>An authentication token issued to your WordPress user during the connection flow.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>These calls are initiated by the bot, not by the plugin. They reach your site through standard REST endpoints registered by this plugin under \u003Ccode>\u002Fwp-json\u002Fvozpress\u002Fv1\u002F\u003C\u002Fcode>.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>From your WordPress site to the bot (only during the user authorisation flow)\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>When a WordPress user connects via \u003Ccode>\u002Fconectar\u003C\u002Fcode> in Telegram, your browser is redirected to your WordPress login. After login, this plugin issues a token and returns it to the bot to complete the handshake.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>From the bot’s server to Telegram’s servers\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>User-sent voice messages and audio files pass through Telegram’s infrastructure as part of normal bot communication. See Telegram’s Privacy Policy: https:\u002F\u002Ftelegram.org\u002Fprivacy\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>From the bot’s server to AI providers (text only)\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>To draft the episode title, description and content, the bot sends the transcribed \u003Cem>text\u003C\u002Fem> of your recording to \u003Cstrong>Anthropic (Claude)\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>If you request a cover image, the bot sends a \u003Cem>text prompt\u003C\u002Fem> to \u003Cstrong>OpenAI\u003C\u002Fstrong> to generate the image.\u003C\u002Fli>\n\u003Cli>Only text is sent, and only when content or image generation is requested. Your audio file is \u003Cstrong>never\u003C\u002Fstrong> transmitted to these providers.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Audio is transcribed locally with a Whisper model on the bot’s server; other audio processing (DeepFilter noise reduction, ffmpeg, and an Ollama model used only as a local fallback) also runs locally. The audio file itself is not sent to any third-party AI service.\u003C\u002Fp>\n\u003Cp>Service URLs and policies:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>VozCaster (bot service): https:\u002F\u002Fvozcaster.com\u003C\u002Fli>\n\u003Cli>VozCaster privacy policy: https:\u002F\u002Fvozcaster.com\u002Fprivacy\u003C\u002Fli>\n\u003Cli>VozCaster terms of service: https:\u002F\u002Fvozcaster.com\u002Fterms\u003C\u002Fli>\n\u003Cli>Telegram Messenger: https:\u002F\u002Ftelegram.org\u003C\u002Fli>\n\u003Cli>Telegram privacy policy: https:\u002F\u002Ftelegram.org\u002Fprivacy\u003C\u002Fli>\n\u003Cli>Telegram terms of service: https:\u002F\u002Ftelegram.org\u002Ftos\u003C\u002Fli>\n\u003Cli>Anthropic (Claude, AI text generation): https:\u002F\u002Fwww.anthropic.com\u003C\u002Fli>\n\u003Cli>Anthropic privacy policy: https:\u002F\u002Fwww.anthropic.com\u002Flegal\u002Fprivacy\u003C\u002Fli>\n\u003Cli>Anthropic terms of service: https:\u002F\u002Fwww.anthropic.com\u002Flegal\u002Fconsumer-terms\u003C\u002Fli>\n\u003Cli>OpenAI (AI image generation): https:\u002F\u002Fopenai.com\u003C\u002Fli>\n\u003Cli>OpenAI privacy policy: https:\u002F\u002Fopenai.com\u002Fpolicies\u002Fprivacy-policy\u003C\u002Fli>\n\u003Cli>OpenAI terms of service: https:\u002F\u002Fopenai.com\u002Fpolicies\u002Fterms-of-use\u003C\u002Fli>\n\u003C\u002Ful>\n","Connect your WordPress to the VozCaster Telegram bot to publish podcast episodes from voice notes, directly into PowerPress.",174,"2026-07-02T15:09:00.000Z",[46,30,47,48,49],"automation","powerpress","telegram","transcription","https:\u002F\u002Fvozcaster.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fconnector-for-vozcaster.1.5.14.zip"]