[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$faw05EYjegIIT5_plgayxLZx6CoieLePsD00typHP1RY":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":21,"download_link":22,"security_score":23,"vuln_count":13,"unpatched_count":13,"last_vuln_date":24,"fetched_at":25,"vulnerabilities":26,"developer":27,"crawl_stats":24,"alternatives":35,"analysis":139,"fingerprints":205},"all-in-one-seo-pack-importer","All in One SEO Pack Importer",".1.5.2","Syed Balkhi","https:\u002F\u002Fprofiles.wordpress.org\u002Fsmub\u002F","\u003Cp>Imports SEO data from Thesis to All in One SEO Pack. This is useful if\u003C\u002Fp>\n\u003Cul>\n\u003Cli>You are leaving Thesis for a different theme or\u003C\u002Fli>\n\u003Cli>You prefer the superior SEO of All in One SEO Pack\u003C\u002Fli>\n\u003Cli>You know that postmeta is best handled by plugins rather than by themes\u003C\u002Fli>\n\u003C\u002Ful>\n","Imports SEO data from Thesis to All in One SEO Pack. This is useful if You are leaving Thesis for a different theme or You prefer the superior SEO o &hellip;",500,138829,0,"2019-02-22T22:32:00.000Z","5.1.22","2.1","",[19,20],"all-in-one-seo-pack","thesis","http:\u002F\u002Fsemperfiwebdesign.com\u002Faioseopi","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fall-in-one-seo-pack-importer.0.1.5.2.zip",85,null,"2026-03-15T15:16:48.613Z",[],{"slug":28,"display_name":7,"profile_url":8,"plugin_count":29,"total_installs":30,"avg_security_score":31,"avg_patch_time_days":32,"trust_score":33,"computed_at":34},"smub",94,23510130,91,795,73,"2026-04-03T17:31:56.995Z",[36,57,79,100,118],{"slug":37,"name":38,"version":39,"author":40,"author_profile":41,"description":42,"short_description":43,"active_installs":44,"downloaded":45,"rating":46,"num_ratings":47,"last_updated":48,"tested_up_to":49,"requires_at_least":50,"requires_php":17,"tags":51,"homepage":55,"download_link":56,"security_score":23,"vuln_count":13,"unpatched_count":13,"last_vuln_date":24,"fetched_at":25},"woocommerce-all-in-one-seo-pack","All In One SEO Pack for WooCommerce","1.3.4","Josh Kohlbach","https:\u002F\u002Fprofiles.wordpress.org\u002Fjkohlbach\u002F","\u003Cp>This Plugin extends the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fall-in-one-seo-pack\u002F\" rel=\"ugc\">All in One SEO Pack\u003C\u002Fa> Plugin (by \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fhallsofmontezuma\u002F\" rel=\"nofollow ugc\">Michael Torbert\u003C\u002Fa>) to display the All in One SEO Pack dialog on the Add\u002FEdit Products screen within WooCommerce.\u003Cbr \u002F>\nWithout this Plugin you cannot add\u002Fedit\u002Fmanage All in One SEO Pack meta details which is why I developed this solution.\u003C\u002Fp>\n\u003Cp>Some features:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Title\u003C\u002Fli>\n\u003Cli>Description\u003C\u002Fli>\n\u003Cli>Keywords\u003C\u002Fli>\n\u003Cli>Title Attributes\u003C\u002Fli>\n\u003Cli>Menu Title\u003C\u002Fli>\n\u003Cli>Disable Product\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>For more information visit: http:\u002F\u002Fwww.visser.com.au\u002Fwoocommerce\u002F\u003C\u002Fp>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Open Products and edit a Product\u003C\u002Fli>\n\u003Cli>Under All in One SEO Pack add SEO meta details\u003C\u002Fli>\n\u003Cli>Press Update to save changes\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>That’s it!\u003C\u002Fp>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>If you have any problems, questions or suggestions please join the members discussion on my WooCommerce dedicated forum.\u003C\u002Fp>\n\u003Cp>http:\u002F\u002Fwww.visser.com.au\u002Fwoocommerce\u002Fforums\u002F\u003C\u002Fp>\n\u003Ch3>Disclaimer\u003C\u002Fh3>\n\u003Cp>It is not responsible for any harm or wrong doing this Plugin may cause. Users are fully responsible for their own use. This Plugin is to be used WITHOUT warranty.\u003C\u002Fp>\n","Manage All in One SEO Pack meta details for WooCommerce Products within the Add\u002FEdit Products view within the WordPress Administration.",3000,287711,88,14,"2023-09-05T06:06:00.000Z","5.0.25","2.9.2",[52,19,53,54],"aioseo","woocommerce-product-seo","woocommerce-seo","http:\u002F\u002Fwww.visser.com.au\u002Fwoocommerce\u002Fplugins\u002Fall-in-one-seo-pack\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwoocommerce-all-in-one-seo-pack.zip",{"slug":58,"name":59,"version":60,"author":61,"author_profile":62,"description":63,"short_description":64,"active_installs":65,"downloaded":66,"rating":46,"num_ratings":67,"last_updated":68,"tested_up_to":69,"requires_at_least":70,"requires_php":17,"tags":71,"homepage":76,"download_link":77,"security_score":78,"vuln_count":13,"unpatched_count":13,"last_vuln_date":24,"fetched_at":25},"seo-data-transporter","SEO Data Transporter","1.1.1","StudioPress","https:\u002F\u002Fprofiles.wordpress.org\u002Fstudiopress\u002F","\u003Cp>This plugin allows you to transfer your inputs SEO data from one theme\u002Fplugin to another. We all know how difficult it can be to switch themes or dump plugins. The fact that themes and plugins store their inputs SEO data differently makes it even harder. This plugin remedies that.\u003C\u002Fp>\n\u003Cp>Just choose what platform your moving away from, and what platform you want to move to. Click “analyze” to see what records and elements are compatible, and click “convert” to make the conversion.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Supported Themes\u003C\u002Fstrong>\u003Cbr \u002F>\n* Builder\u003Cbr \u002F>\n* Catalyst\u003Cbr \u002F>\n* Frugal\u003Cbr \u002F>\n* Genesis\u003Cbr \u002F>\n* Headway\u003Cbr \u002F>\n* Hybrid\u003Cbr \u002F>\n* Thesis 1.x\u003Cbr \u002F>\n* WooFramework\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Supported Plugins\u003C\u002Fstrong>\u003Cbr \u002F>\n* Add Meta Tags\u003Cbr \u002F>\n* All in One SEO Pack\u003Cbr \u002F>\n* Greg’s High Performance SEO\u003Cbr \u002F>\n* Headspace2\u003Cbr \u002F>\n* Infinite SEO\u003Cbr \u002F>\n* Jetpack Advanced SEO\u003Cbr \u002F>\n* Meta SEO Pack\u003Cbr \u002F>\n* Platinum SEO\u003Cbr \u002F>\n* Praison SEO\u003Cbr \u002F>\n* SEO Title Tag\u003Cbr \u002F>\n* SEO Ultimate\u003Cbr \u002F>\n* The SEO Framework\u003Cbr \u002F>\n* Yoast SEO\u003C\u002Fp>\n","This plugin allows you to transfer your inputs SEO data from one theme\u002Fplugin to another.",2000,173487,31,"2025-12-04T17:49:00.000Z","6.9.4","4.7.3",[72,73,74,20,75],"genesis","genesiswp","seo","thesiswp","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fseo-data-transporter\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fseo-data-transporter.1.1.1.zip",100,{"slug":80,"name":81,"version":82,"author":83,"author_profile":84,"description":85,"short_description":86,"active_installs":87,"downloaded":88,"rating":89,"num_ratings":90,"last_updated":91,"tested_up_to":92,"requires_at_least":93,"requires_php":94,"tags":95,"homepage":98,"download_link":99,"security_score":78,"vuln_count":13,"unpatched_count":13,"last_vuln_date":24,"fetched_at":25},"hypothesis","Hypothesis","0.7.5","dwhly","https:\u002F\u002Fprofiles.wordpress.org\u002Fdwhly\u002F","\u003Cp>Hypothesis is a web annotation tool that allows users to provide commentary, references, and insight on top of news, blogs, scientific articles, books, terms of service, ballot initiatives, legislation and regulations, software code and more. You can find out more at \u003Ca href=\"http:\u002F\u002Fhypothes.is\u002F\" rel=\"nofollow ugc\">http:\u002F\u002Fhypothes.is\u002F\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>This plugin will allow you to automatically embed Hypothesis in your site.\u003C\u002Fp>\n\u003Cp>Without this plugin, you would have to follow \u003Ca href=\"https:\u002F\u002Fweb.hypothes.is\u002Fhelp\u002Fembedding-hypothesis-in-websites-and-platforms\u002F\" rel=\"nofollow ugc\">these steps\u003C\u002Fa>, but with this plugin you only need to check some checkboxes, and you will be good to go.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fweb.hypothes.is\u002Fterms-of-service\u002F\" rel=\"nofollow ugc\">Terms of Service\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fweb.hypothes.is\u002Fprivacy\u002F\" rel=\"nofollow ugc\">Privacy Policy\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","An open platform for the collaborative evaluation of knowledge.",200,23423,98,7,"2025-12-02T08:57:00.000Z","6.9.0","6.2","7.4",[96,97,80],"annotation","comments","https:\u002F\u002Fhypothes.is\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fhypothesis.0.7.5.zip",{"slug":101,"name":102,"version":60,"author":103,"author_profile":104,"description":105,"short_description":106,"active_installs":87,"downloaded":107,"rating":108,"num_ratings":109,"last_updated":110,"tested_up_to":111,"requires_at_least":112,"requires_php":17,"tags":113,"homepage":116,"download_link":117,"security_score":23,"vuln_count":13,"unpatched_count":13,"last_vuln_date":24,"fetched_at":25},"superfish","Superfish Menus","Matt Hodder","https:\u002F\u002Fprofiles.wordpress.org\u002Fmatthodder\u002F","\u003Cp>Adds jQuery Superfish effects to most WordPress menus.\u003C\u002Fp>\n","Adds jQuery Superfish effects to most WordPress menus.",14178,72,9,"2014-01-02T19:04:00.000Z","3.7.41","3.0",[114,115,101,20],"jquery","menu","http:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fsuperfish\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsuperfish.zip",{"slug":119,"name":120,"version":121,"author":122,"author_profile":123,"description":124,"short_description":125,"active_installs":78,"downloaded":126,"rating":29,"num_ratings":90,"last_updated":127,"tested_up_to":128,"requires_at_least":129,"requires_php":130,"tags":131,"homepage":137,"download_link":138,"security_score":23,"vuln_count":13,"unpatched_count":13,"last_vuln_date":24,"fetched_at":25},"spoken-word","Spoken Word","1.0.1","Weston Ruter","https:\u002F\u002Fprofiles.wordpress.org\u002Fwestonruter\u002F","\u003Cp>Add text-to-speech (TTS) to content, with playback controls, read-along highlighting, multi-lingual support, and settings for rate, pitch, and voice.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Uses local text-to-speech engine in user’s browser. Directly interfaces with the \u003Ccode>speechSynthesis\u003C\u002Fcode> browser API. Zero external requests or dependencies.\u003C\u002Fli>\n\u003Cli>Words are selected\u002Fhighlighted as they are being spoken to allow you to read along.\u003C\u002Fli>\n\u003Cli>Skips speaking elements that should not be read, including footnote superscripts (the \u003Ccode>sup\u003C\u002Fcode> element).\u003C\u002Fli>\n\u003Cli>Pauses of different length added are between headings versus paragraphs.\u003C\u002Fli>\n\u003Cli>Controls remain in view during playback, with each the current text being spoken persistently being scrolled into view. (Requires browser support for \u003Ccode>position:sticky\u003C\u002Fcode>.)\u003C\u002Fli>\n\u003Cli>Back\u002Fforward controls allow you to skip to the next paragraph; when not speaking, the next paragraph to read will be selected entirely.\u003C\u002Fli>\n\u003Cli>Select text to read from that point; click on text during speech to immediately change position.\u003C\u002Fli>\n\u003Cli>Multi-lingual support, allowing embedded text with \u003Ccode>[lang]\u003C\u002Fcode> attribute to be spoken by the appropriate voice (assuming the user has it installed).\u003C\u002Fli>\n\u003Cli>Settings for changing the default voice (for each language), along with settings for the rate of speech and its pitch. (Not supported by all engines.) Changes can be made while speaking.\u003C\u002Fli>\n\u003Cli>Hit escape to pause during playback.\u003C\u002Fli>\n\u003Cli>Voice preferences are persistently stored in \u003Ccode>localStorage\u003C\u002Fcode>, with changes synced across windows (of a given site).\u003C\u002Fli>\n\u003Cli>Ability to use JS in standalone manner (such as in bookmarklet).\u003C\u002Fli>\n\u003Cli>Known to work in the latest desktop versions of Chrome, Firefox, and Safari. (Tested on OSX.) It does not work reliably in mobile\u002Ftouch browsers on Android or iOS, apparently due both to the (still experimental) \u003Ccode>speechSynthesis\u003C\u002Fcode> API not being implemented well enough on those systems and\u002For programmatic range selection does not work the same way as on desktop. For these reasons, the functionality is disabled by default on mobile operating systems.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwestonruter.github.io\u002Fspoken-word\u002Ftest\u002Fexample.html\" rel=\"nofollow ugc\">Try it out\u003C\u002Fa> on standalone example with some test content.\u003C\u002Fp>\n\u003Ch4>Theme Config\u003C\u002Fh4>\n\u003Cp>The settings for Spoken Word are presented in an HTML5 \u003Ccode>dialog\u003C\u002Fcode> element. For browsers that do not yet support this feature, the plugin bundles the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FGoogleChrome\u002Fdialog-polyfill\" rel=\"nofollow ugc\">dialog-polyfill\u003C\u002Fa>. The polyfill is only included if it is detected the browser does not support \u003Ccode>dialog\u003C\u002Fcode> natively. The inclusion of the polyfill can be disabled by adding the following to your theme or plugin:\u003C\u002Fp>\n\u003Cpre>\nadd_filter( 'spoken_word_include_dialog_polyfill', '__return_false' );\n\u003C\u002Fpre>\n\u003Cp>For themes that have a sticky header (such as the nav menu in Twenty Seventeen) you may need to add some additional CSS to ensure that the sticky-positioned playback controls do not get hidden behind the sticky header. For example in Twenty Seventeen, you can add the following to the Custom CSS in the Customizer:\u003C\u002Fp>\n\u003Cpre>\n@media screen and (min-width: 782px) {\n    body:not(.admin-bar) .spoken-word--active {\n        top: calc( 0.5em + 70px );\n    }\n    body.admin-bar .spoken-word--active {\n        top: calc( 0.5em + 32px + 70px );\n    }\n}\n\u003C\u002Fpre>\n\u003Ch4>Internals\u003C\u002Fh4>\n\u003Cp>A bookmarklet can be used to load the Spoken Word functionality into any site, even non-WordPress sites where the plugin is not installed. The key is to use the appropriate \u003Ccode>contentSelector\u003C\u002Fcode>:\u003C\u002Fp>\n\u003Cpre>\n( () => {\n    const link = document.createElement( 'link' );\n    link.rel = 'stylesheet';\n    link.href = 'https:\u002F\u002Funpkg.com\u002Fspoken-word\u002Fcss\u002Fstyle.css';\n    document.head.appendChild( link );\n\n    const script = document.createElement( 'script' );\n    script.src = 'https:\u002F\u002Funpkg.com\u002Fspoken-word\u002Fdist\u002Fspoken-word.js';\n    script.addEventListener( 'load', () => {\n        spokenWord.initialize( {\n            contentSelector: [ \u002F* 👈 Amend as desired. *\u002F\n                '.hentry',\n                '.entry-content',\n                '.h-entry',\n                '.e-content',\n                '[itemprop=\"articleBody\"]',\n            ].join( ', ' )\n        } );\n    } );\n    document.head.appendChild( script );\n} )();\n\u003C\u002Fpre>\n\u003Cp>The \u003Ccode>spokenWord.initialize()\u003C\u002Fcode> function takes an object as its argument which can have the following properties:\u003C\u002Fp>\n\u003Cpre>\n * @param {string}  contentSelector         - CSS Selector to find the elements for speaking.\n * @param {Element} rootElement             - Root element within which to look for content.\n * @param {Object}  chunkifyOptions         - Options passed into chunkify.\n * @param {boolean} useDashicons            - Whether to use Dashicons.\n * @param {Object}  defaultUtteranceOptions - Default utterance options when none are supplied from localStorage.\n\u003C\u002Fpre>\n\u003Cp>The dialog and the controls are rendered using \u003Ca href=\"https:\u002F\u002Fpreactjs.com\u002F\" rel=\"nofollow ugc\">Preact\u003C\u002Fa>. For a list of all the modules used by this plugin, see the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fwestonruter\u002Fspoken-word\u002Fblob\u002Fmaster\u002Fpackage.json\" rel=\"nofollow ugc\">package.json\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>This plugin is \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fwestonruter\u002Fspoken-word\" rel=\"nofollow ugc\">developed on GitHub\u003C\u002Fa> where the source can be viewed. Please \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fwestonruter\u002Fspoken-word\u002Fissues\" rel=\"nofollow ugc\">report issues\u003C\u002Fa> there. Pull requests welcome. The \u003Ccode>spoken-word\u003C\u002Fcode> package is also \u003Ca href=\"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fspoken-word\" rel=\"nofollow ugc\">published on npm\u003C\u002Fa>.\u003C\u002Fp>\n","Add text-to-speech (TTS) to content, with playback controls, read-along highlighting, multi-lingual support, and settings for rate, pitch, and voice.",6111,"2018-01-21T22:22:00.000Z","4.9.29","4.7","5.4",[132,133,134,135,136],"audio","speech-synthesis","text-to-speech","tts","voice","https:\u002F\u002Fgithub.com\u002Fwestonruter\u002Fspoken-word","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fspoken-word.1.0.1.zip",{"attackSurface":140,"codeSignals":152,"taintFlows":194,"riskAssessment":195,"analyzedAt":204},{"hooks":141,"ajaxHandlers":148,"restRoutes":149,"shortcodes":150,"cronEvents":151,"entryPointCount":13,"unprotectedCount":13},[142],{"type":143,"name":144,"callback":145,"file":146,"line":147},"action","admin_menu","aioseop_mrt_i","all-in-one-seo-pack-importer.php",12,[],[],[],[],{"dangerousFunctions":153,"sqlUsage":154,"outputEscaping":175,"fileOperations":13,"externalRequests":13,"nonceChecks":192,"capabilityChecks":192,"bundledLibraries":193},[],{"prepared":13,"raw":109,"locations":155},[156,159,161,163,165,166,168,171,173],{"file":146,"line":157,"context":158},53,"$wpdb->get_var() with variable interpolation",{"file":146,"line":160,"context":158},55,{"file":146,"line":162,"context":158},57,{"file":146,"line":164,"context":158},71,{"file":146,"line":33,"context":158},{"file":146,"line":167,"context":158},75,{"file":146,"line":169,"context":170},105,"$wpdb->query() with variable interpolation",{"file":146,"line":172,"context":170},106,{"file":146,"line":174,"context":170},107,{"escaped":13,"rawEcho":90,"locations":176},[177,180,182,184,186,188,190],{"file":146,"line":178,"context":179},59,"raw output",{"file":146,"line":181,"context":179},60,{"file":146,"line":183,"context":179},61,{"file":146,"line":185,"context":179},77,{"file":146,"line":187,"context":179},78,{"file":146,"line":189,"context":179},79,{"file":146,"line":191,"context":179},86,1,[],[],{"summary":196,"deductions":197},"The \"all-in-one-seo-pack-importer\" plugin v.1.5.2 exhibits a mixed security posture.  On the positive side, the static analysis reveals a minimal attack surface with no registered AJAX handlers, REST API routes, shortcodes, or cron events.  Furthermore, the absence of known CVEs in its history suggests a history of responsible development or a lack of high-profile vulnerabilities being publicly disclosed. The presence of nonce and capability checks, while minimal, is a good practice.\n\nHowever, significant concerns arise from the code analysis. A notable weakness is the complete lack of prepared statements for all nine SQL queries. This is a substantial risk, as it exposes the plugin to potential SQL injection vulnerabilities. Additionally, none of the seven output operations are properly escaped, meaning there's a high likelihood of cross-site scripting (XSS) vulnerabilities. The lack of taint analysis data is also a gap, as it prevents a deeper understanding of potential data handling risks.  While the plugin has no known vulnerabilities currently, the identified coding practices (raw SQL and unescaped output) present inherent risks that could be exploited if an attacker finds a suitable entry point.\n\nIn conclusion, while the plugin has a small attack surface and a clean vulnerability history, the critical coding flaws related to SQL queries and output escaping present significant, exploitable risks. Developers must address these issues to improve the plugin's security.",[198,201],{"reason":199,"points":200},"All SQL queries use prepared statements",10,{"reason":202,"points":203},"No output is properly escaped",8,"2026-03-16T19:36:57.230Z",{"wat":206,"direct":211},{"assetPaths":207,"generatorPatterns":208,"scriptPaths":209,"versionParams":210},[],[],[],[],{"cssClasses":212,"htmlComments":214,"htmlAttributes":215,"restEndpoints":218,"jsGlobals":219,"shortcodeOutput":220},[213],"wrap",[],[216,217],"name=\"migrate-aioseopi\"","value=\"\u003C?php echo wp_create_nonce( 'aioseopi-migrate-nonce' ); ?>\"",[],[],[221],"\u003Cinput type=\"submit\" class=\"button-primary\" value=\"Import Thesis SEO Data\"\u002F>"]