[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f60LslrPZ9xKrcKqwTTG_RByatGHwLWrTrTxoHu1WTNE":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},"stevegrunwell","Steve Grunwell","https:\u002F\u002Fprofiles.wordpress.org\u002Fstevegrunwell\u002F",6,2120,85,30,84,"2026-04-04T07:04:40.316Z",[14,37,57,75,93,108],{"slug":15,"name":16,"version":17,"author":5,"author_profile":6,"description":18,"short_description":19,"active_installs":20,"downloaded":21,"rating":22,"num_ratings":23,"last_updated":24,"tested_up_to":25,"requires_at_least":26,"requires_php":27,"tags":28,"homepage":32,"download_link":33,"security_score":9,"vuln_count":34,"unpatched_count":34,"last_vuln_date":35,"fetched_at":36},"advanced-post-excerpt","Advanced Post Excerpt","1.0.0","\u003Cp>\u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FExcerpt\" rel=\"nofollow ugc\">WordPress post excerpts\u003C\u002Fa> can be a great way to hand-craft the summary of your content. Unfortunately, writing post excerpts isn’t as nice of an experience as what you find elsewhere in WordPress. Want to include links in your excerpts, or bold some text? Hopefully you know some HTML!\u003C\u002Fp>\n\u003Cp>Advanced Post Excerpts is designed to change that, by giving your editors an easy, intuitive interface for writing great post excerpts.\u003C\u002Fp>\n\u003Cp>For complete details and\u002For to contribute to ongoing development, please \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fstevegrunwell\u002Fadvanced-post-excerpt\" rel=\"nofollow ugc\">visit this project on GitHub\u003C\u002Fa>.\u003C\u002Fp>\n","Replace the default Post Excerpt meta box with a superior editing experience.",2000,22870,100,4,"2023-12-18T23:47:00.000Z","6.4.8","4.5","7.0",[29,30,31],"excerpts","tinymce","wysiwyg","https:\u002F\u002Fgithub.com\u002Fstevegrunwell\u002Fadvanced-post-excerpt","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadvanced-post-excerpt.1.0.0.zip",0,null,"2026-03-15T15:16:48.613Z",{"slug":38,"name":39,"version":40,"author":5,"author_profile":6,"description":41,"short_description":42,"active_installs":43,"downloaded":44,"rating":22,"num_ratings":45,"last_updated":46,"tested_up_to":47,"requires_at_least":48,"requires_php":49,"tags":50,"homepage":55,"download_link":56,"security_score":9,"vuln_count":34,"unpatched_count":34,"last_vuln_date":35,"fetched_at":36},"revision-strike","Revision Strike","0.6.0","\u003Cp>Unless post revisions are explicitly limited, WordPress will build up a hefty sum of revisions over time. While it’s great to have revision history for some recent content, the chances that old revisions will be necessary diminish the longer a post has been published. Revision Strike is designed to automatically remove these unneeded revisions on older, published posts.\u003C\u002Fp>\n\u003Ch4>How does it work?\u003C\u002Fh4>\n\u003Cp>First, a threshold is set, with a default of 30 days. Once a day, Revision Strike will run and find any post revisions in the database attached to published posts with a post date of at least 30 (or your custom threshold) days ago, and “strike” (tear-down and remove) them from the WordPress database.\u003C\u002Fp>\n\u003Ch4>Contributing\u003C\u002Fh4>\n\u003Cp>If you’d like to help build Revision Strike, please \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fstevegrunwell\u002Frevision-strike\" rel=\"nofollow ugc\">visit the plugin’s GitHub page\u003C\u002Fa>. Contributors are welcome, and \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fstevegrunwell\u002Frevision-strike#contributing\" rel=\"nofollow ugc\">details can be found in the repo’s README file\u003C\u002Fa>.\u003C\u002Fp>\n","Periodically purge old post revisions via WP Cron.",70,5834,1,"2017-09-16T17:45:00.000Z","4.8.28","4.2","5.4",[51,52,53,54],"cron","maintenance","performance","revisions","https:\u002F\u002Fstevegrunwell.com\u002Fblog\u002Frevision-strike","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frevision-strike.0.6.0.zip",{"slug":58,"name":59,"version":60,"author":5,"author_profile":6,"description":61,"short_description":62,"active_installs":63,"downloaded":64,"rating":22,"num_ratings":45,"last_updated":65,"tested_up_to":66,"requires_at_least":67,"requires_php":68,"tags":69,"homepage":73,"download_link":74,"security_score":9,"vuln_count":34,"unpatched_count":34,"last_vuln_date":35,"fetched_at":36},"schemify","Schemify","0.1.0","\u003Cp>Structured data allows developers and publishers to mark up content in a way that it’s easy for machines to understand. Proper use of structured data \u003Ca href=\"https:\u002F\u002Fdevelopers.google.com\u002Fsearch\u002Fdocs\u002Fguides\u002Fintro-structured-data\" rel=\"nofollow ugc\">enables third-parties like Google to parse reviews, event data, and contact information in meaningful ways\u003C\u002Fa>, ensuring you’re getting the most “bang” out of your publishing buck.\u003C\u002Fp>\n\u003Cp>Fortunately, the major players in the Search game, including Google, Microsoft, Yahoo!, and Yandex) came together in the early 2010s to form \u003Ca href=\"http:\u002F\u002Fschema.org\u002Fdocs\u002Fabout.html\" rel=\"nofollow ugc\">Schema.org\u003C\u002Fa>, a collaborative, community-driven standard for structured data.\u003C\u002Fp>\n\u003Cp>With the major search engines and communities behind it, we’re all marking up everything with appropriate structured data now, right?\u003C\u002Fp>\n\u003Cp>Unfortunately, the process of implementing Schema.org in a site — especially one driven by dynamic content — is less than straightforward. \u003Ca href=\"https:\u002F\u002Fwordpress.org\" rel=\"ugc\">WordPress\u003C\u002Fa>, for instance, \u003Ca href=\"https:\u002F\u002Fma.tt\u002F2015\u002F11\u002Fseventy-five-to-go\u002F\" rel=\"nofollow ugc\">powers roughly a quarter of the web\u003C\u002Fa>, but implementing structured data across hundreds of thousands of themes would be a nightmare.\u003C\u002Fp>\n\u003Cp>Or, at least it would be, if it weren’t for Schemify.\u003C\u002Fp>\n\u003Ch4>What does Schemify do?\u003C\u002Fh4>\n\u003Cp>There are two approaches to adding structured data to a website: via the markup or \u003Ca href=\"http:\u002F\u002Fjson-ld.org\u002F\" rel=\"nofollow ugc\">JSON for Linking Data (JSON-LD)\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Consider the following author information, which might appear at the bottom of a blog post:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>    \n        \n        \u003Ca href=\"https:\u002F\u002Fstevegrunwell.com\" rel=\"author nofollow ugc\">Steve Grunwell\u003C\u002Fa>\n        \u003Cp>Steve is the Director of Technology at Growella. When he's not working, you can find him speaking at conferences, roasting coffee, or spending time with his wife and daughter\u003C\u002Fp>\n    \n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>If I wanted this information to use Schema.org markup, it would look something like this:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>    \n        \n        \u003Ca href=\"https:\u002F\u002Fstevegrunwell.com\" rel=\"author nofollow ugc\">Steve Grunwell\u003C\u002Fa>\n        \u003Cp>Steve is the Director of Technology at Growella. When he's not working, you can find him speaking at conferences, roasting coffee, or spending time with his wife and daughter\u003C\u002Fp>\n    \n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>While that may not \u003Cem>seem\u003C\u002Fem> like a lot of work, that’s still a lot of extra markup being added. Even worse, a lot of that markup might normally be generated by WordPress helper functions like \u003Ca href=\"https:\u002F\u002Fdeveloper.wordpress.org\u002Freference\u002Ffunctions\u002Fget_avatar\u002F\" rel=\"nofollow ugc\">\u003Ccode>get_avatar()\u003C\u002Fcode>\u003C\u002Fa>, which means extra work to get the necessary \u003Ccode>itemprop\u003C\u002Fcode> attribute in place.\u003C\u002Fp>\n\u003Cp>Fortunately, the other approach for adding structured data is much more straight-forward in a theme, as it’s simply a JSON-LD object:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>    \n    {\n        \"@context\": \"http:\u002F\u002Fschema.org\",\n        \"@type\": \"Person\",\n        \"name\": \"Steve Grunwell\",\n        \"url\": \"https:\u002F\u002Fstevegrunwell.com\",\n        \"image\": \"https:\u002F\u002Fsecure.gravatar.com\u002Favatar\u002F88ea4e10ed968136228545d7112d82cb?s=200\",\n        \"description\": \"Steve is the Director of Technology at Growella. When he's not working, you can find him speaking at conferences, roasting coffee, or spending time with his wife and daughter\"\n    }\n    \n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>We simply generate this JSON-LD object and append it to our document’s \u003Ccode>\u003Cbody>\u003C\u002Fcode>. When Google or anyone else who supports JSON-LD structured data parses our page, they can immediately understand that Steve Grunwell is a person and determine his website, avatar, and biography.\u003C\u002Fp>\n\u003Cp>The best part? There’s no need to change the markup within our theme!\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Schemify aims to automate the generation of JSON-LD objects for content within WordPress.\u003C\u002Fstrong> Its flexible structure and reasonable defaults enables drop-in support for structured data, regardless of the WordPress theme.\u003C\u002Fp>\n","Automatically generate Schema.org JSON-LD markup for WordPress content.",20,2352,"2017-01-31T03:19:00.000Z","4.7.32","4.7","",[70,71,72],"json-ld","schema","structured-data","https:\u002F\u002Fstevegrunwell.com\u002Fschemify","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fschemify.0.1.0.zip",{"slug":76,"name":77,"version":78,"author":5,"author_profile":6,"description":79,"short_description":80,"active_installs":81,"downloaded":82,"rating":34,"num_ratings":34,"last_updated":83,"tested_up_to":84,"requires_at_least":85,"requires_php":68,"tags":86,"homepage":91,"download_link":92,"security_score":9,"vuln_count":34,"unpatched_count":34,"last_vuln_date":35,"fetched_at":36},"mcavoy","McAvoy","0.1.3","\u003Cp>McAvoy is a simple WordPress that logs site searches (and information about the people performing them) so you can get a better sense of what your audience is looking for. Is your navigation unclear? Are people regularly getting lost in your infinitely-scrolling homepage when they’re just trying to find the latest news on a topic? McAvoy is there, collecting the facts you need to make informed decisions!\u003C\u002Fp>\n\u003Cp>Best of all, McAvoy is meant to grow with you, sending search query data anywhere you need to in order to get the most meaningful results.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Notice:\u003C\u002Fstrong> In the interest of writing the best software possible, McAvoy requires a \u003Cem>minimum\u003C\u002Fem> of PHP 5.3. For more information, please see the Frequently Asked Questions.\u003C\u002Fp>\n\u003Cp>To keep up with the latest developments (or to contribute to ongoing development), please \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fstevegrunwell\u002Fmcavoy\" rel=\"nofollow ugc\">keep up with McAvoy on GitHub\u003C\u002Fa>!\u003C\u002Fp>\n","Discover what visitors are searching for on your WordPress site.",10,1724,"2016-04-27T03:38:00.000Z","4.5.33","4.4",[87,88,89,90],"query","search","site-search","tracking","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fmcavoy","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmcavoy.0.1.3.zip",{"slug":94,"name":95,"version":60,"author":5,"author_profile":6,"description":96,"short_description":97,"active_installs":81,"downloaded":98,"rating":22,"num_ratings":99,"last_updated":100,"tested_up_to":101,"requires_at_least":102,"requires_php":68,"tags":103,"homepage":106,"download_link":107,"security_score":9,"vuln_count":34,"unpatched_count":34,"last_vuln_date":35,"fetched_at":36},"son-of-clippy","Son of Clippy","\u003Cp>Beginning in Office 97, \u003Ca href=\"http:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FOffice_Assistant\" rel=\"nofollow ugc\">Microsoft included an Office Assistant named “Clippit”\u003C\u002Fa> (though his friends call him “Clippy”), a terribly annoying animated paper clip that \u003Cem>supposedly\u003C\u002Fem> helped you write, but more often than not became a shiny thing for people to get distracted by. Clippy gained friends throughout the years, including Merlin (a wizard), Rover (a dog), and Links (a cat). Clippy was retired in Office 2007, but the legacy of Clippy and Friends lives on to this day.\u003C\u002Fp>\n\u003Cp>After Clippy had been around long enough to be considered ironically funny (no judgement here, this is a whole plugin around the same joke), \u003Ca href=\"https:\u002F\u002Fwww.smore.com\u002F\" rel=\"nofollow ugc\">Smore\u003C\u002Fa>, an online flyer design tool, introduced \u003Ca href=\"https:\u002F\u002Fwww.smore.com\u002Fclippy-js\" rel=\"nofollow ugc\">Clippy.js\u003C\u002Fa>, a JavaScript-powered implementation of Clippy and friends for the modern web. Clippy.js serves as the backbone of this plugin.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Note:\u003C\u002Fstrong> In case you haven’t realized it yet, this plugin won’t do anything useful for you, but will add an animated character to your WordPress post edit screen. You can drag the character around, click on it, and watch it interact with your mouse, but this is strictly a novelty plugin.\u003C\u002Fp>\n","Add \"fun\" animated characters to your WordPress edit screens!",2057,8,"2014-12-18T00:50:00.000Z","4.1.42","3.9",[104,105],"nostalgia","novelty","https:\u002F\u002Fgithub.com\u002Fstevegrunwell\u002Fson-of-clippy","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fson-of-clippy.0.1.0.zip",{"slug":109,"name":110,"version":111,"author":5,"author_profile":6,"description":112,"short_description":113,"active_installs":81,"downloaded":114,"rating":115,"num_ratings":23,"last_updated":116,"tested_up_to":117,"requires_at_least":118,"requires_php":68,"tags":119,"homepage":124,"download_link":125,"security_score":9,"vuln_count":34,"unpatched_count":34,"last_vuln_date":35,"fetched_at":36},"wp-client-reference","WP Client Reference","0.42","\u003Cp>It’s common practice for digital agencies to build a WordPress site\u002Ftheme then simply hand it off to the client for day-to-day updating. The developers work hard to strike a balance between replicating the designer’s vision and making the theme easy for the client to use. As the design becomes more complex the developer faces questions: Will the client remember to wrap this in a \u003Ccode>\u003Cblockquote>\u003C\u002Fcode>? Can we count on the content manager remembering to add \u003Ccode>class=\"btn\"\u003C\u002Fcode> to that link?\u003C\u002Fp>\n\u003Cp>It can be equally frustrating from the client side. You don’t want to deal with learning HTML but you want your content to look just as well formatted as the stuff the agency put in at launch. The agency sent over a formatting\u002Fstyle guide but it never seems to be around when you need it.\u003C\u002Fp>\n\u003Cp>WP Client Reference attempts to solve these problems by embedding client documentation directly into WordPress. Now agencies can include style guides, tutorials, FAQs, and more without worrying about content managers on the client side not knowing how to format that complicated call-to-action. It’s also useful for any type of team to keep track of information (with versioning) right within WordPress.\u003C\u002Fp>\n\u003Ch3>Special Thanks\u003C\u002Fh3>\n\u003Cp>Thank you to duckgoesoink for catching the Knowledgebase\u002FUser conflict fixed in 0.41.\u003C\u002Fp>\n","Create a reference guide for clients right in the WordPress administration area.",3162,80,"2012-10-05T00:55:00.000Z","3.3.2","3.3",[120,121,122,123],"client","help","knowledgebase","reference","http:\u002F\u002Fstevegrunwell.com\u002Fwp-client-reference","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-client-reference.0.42.zip"]