[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fJm5VlAHg8Rb7F-PgC2TuUFD9Wznc9-7F22R3yDG_JfI":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"num_ratings":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":23,"download_link":24,"security_score":25,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28,"vulnerabilities":29,"developer":30,"crawl_stats":27,"alternatives":36,"analysis":131,"fingerprints":276},"url-shortener","URL Shortener","4.0.2","Gerald Yeo","https:\u002F\u002Fprofiles.wordpress.org\u002Fgeraldyeo\u002F","\u003Cp>\u003Cstrong>Notice: I’ve have since stopped development of this plugin as I feel that the state of URL Shortening services seems to have converged and there isn’t much more progress I have in the pipeline for this plugin.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fwiki.fusedthought.com\u002Fdocs\u002Furl-shortener-wordpress-plugin\" title=\"URL Shortener\" rel=\"nofollow ugc\">URL Shortener\u003C\u002Fa> allows you to generate shortlinks for post\u002Fpages using URL Shorteners (e.g. Bit.ly, Su.pr and many others), with a few additional features.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Please check your settings when upgrading to Version 4.0 from previous versions prior to it.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>What’s New with 4.0\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>QR Code Support (using Google Chart API)\u003C\u002Fli>\n\u003Cli>Additional Shorteners (Goo.gl, dlvr.it, yourls) \u003C\u002Fli>\n\u003Cli>Nice ID links with QR Code (i.e. http:\u002F\u002Fyour_site\u002F123.qr)\u003C\u002Fli>\n\u003Cli>Version 4.0 features completely refactored code once again. Now includes classes which allows developers to easily extend the plugin.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Features:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Automatic generation of a Short URL\u002FShortlinks\u003C\u002Fli>\n\u003Cli>\u003Cem>Cached Shortlink\u003C\u002Fem> – thus generated only once. \u003C\u002Fli>\n\u003Cli>Choose to generate shortlinks using permalinks or the posts ID (e.g. http:\u002F\u002Fyour_site\u002Findex.php?p=123).\u003C\u002Fli>\n\u003Cli>Relatively extensive shortlink support\u003C\u002Fli>\n\u003Cli>\u003Cem>Action Hooks available\u003C\u002Fem> for other plugins to utilize generated shortlinks (From Ver 3.0 Onwards)\u003C\u002Fli>\n\u003Cli>Nice ID links – http:\u002F\u002Fyour_site\u002F123 instead of http:\u002F\u002Fyour_site\u002Findex.php?p=123\u003C\u002Fli>\n\u003Cli>Shortcode support (Ver 3.1): Place [shortlink] in your article where you want to display the shortened url.\u003C\u002Fli>\n\u003Cli>Append a link to short URL below your post content (Ver 3.1.1)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Refer to the documentation\u002Fwiki page at http:\u002F\u002Fwiki.fusedthought.com\u002Fdocs\u002Furl-shortener-wordpress-plugin for more information (eg. installation guide and known issues etc).\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Services currently supported are:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>goo.gl (beta)\u003C\u002Fli>\n\u003Cli>bit.ly\u003C\u002Fli>\n\u003Cli>tinyurl\u003C\u002Fli>\n\u003Cli>is.gd\u003C\u002Fli>\n\u003Cli>Su.pr\u003C\u002Fli>\n\u003Cli>snipurl \u002F Snurl \u002F Snipr \u002F Sn.im \u002F Cl.lk\u003C\u002Fli>\n\u003Cli>cl.gs\u003C\u002Fli>\n\u003Cli>chilp.it\u003C\u002Fli>\n\u003Cli>smsh (aka sm00sh)\u003C\u002Fli>\n\u003Cli>urli.nl\u003C\u002Fli>\n\u003Cli>unfake.it \u003C\u002Fli>\n\u003Cli>awe.sm\u003C\u002Fli>\n\u003Cli>Voizle \u003C\u002Fli>\n\u003Cli>Interdose API\u003C\u002Fli>\n\u003Cli>dlvr.it\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Suspended\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Ping.fm (Will be suspended until they reopen their API)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Available Template Tags\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>On-demand shortening function:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C?php fts_shorturl('http:\u002F\u002Fwww.google.com', 'bitly'); ?>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>To show the generated links::\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C?php fts_show_shorturl($post); ?>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Or if WordPress 3.0:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C?php the_shortlink(); ?>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>https:\u002F\u002Fcodex.wordpress.org\u002FFunction_Reference\u002Fthe_shortlink\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Available hooks and filters\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>fts_use_shortlink (Action Hook)\u003C\u002Fli>\n\u003Cli>fts_filter_shortlink (Filter)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Future Versions and on:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>More services\u002Ffeatures can be added upon request (http:\u002F\u002Fcode.google.com\u002Fp\u002Furl-shortener-plugin\u002Fissues\u002Flist)\u003C\u002Fli>\n\u003Cli>Do note that due to my increasing need to concentrate on my studies, and a lack of financial contribution from such plugin development, I cannot possibly accede to all requests. \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Support via:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>https:\u002F\u002Fwordpress.org\u002Ftags\u002Furl-shortener\u003C\u002Fli>\n\u003Cli>Contact me via my website ( http:\u002F\u002Fwww.fusedthought.com\u002Fcontact\u002F )\u003C\u002Fli>\n\u003Cli>Please check the FAQ\u003C\u002Fli>\n\u003C\u002Ful>\n","This plugin allows you to generate shortlinks for post\u002Fpages using URL Shorteners (e.g. Bit.ly, Su.pr, YOURLS, Goo.gl and many others).",100,29870,2,"2015-02-14T13:45:00.000Z","3.1.4","2.7","",[19,20,21,22,4],"short-url","shorten","shortlink","url","http:\u002F\u002Fwww.fusedthought.com\u002Fdownloads#url-shortener-wordpress-plugin","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Furl-shortener.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":31,"display_name":7,"profile_url":8,"plugin_count":32,"total_installs":11,"avg_security_score":25,"avg_patch_time_days":33,"trust_score":34,"computed_at":35},"geraldyeo",1,30,84,"2026-04-05T01:36:25.927Z",[37,59,80,99,117],{"slug":38,"name":39,"version":40,"author":41,"author_profile":42,"description":43,"short_description":44,"active_installs":45,"downloaded":46,"rating":47,"num_ratings":48,"last_updated":49,"tested_up_to":50,"requires_at_least":51,"requires_php":17,"tags":52,"homepage":57,"download_link":58,"security_score":11,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"link-shortener","Link Shortner","1.1","Dipakkumar Parmar","https:\u002F\u002Fprofiles.wordpress.org\u002Fdipakparmar443\u002F","\u003Cp>Link Shortner helps you generate short links and share any URL on or off your WordPress website.\u003Cbr \u002F>\nWith this plugin, you can:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Create short links for posts.\u003C\u002Fli>\n\u003Cli>Share short links on social media, emails, or anywhere online.\u003C\u002Fli>\n\u003Cli>Quickly regenerate links with one click from your WordPress admin.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Whether you’re managing content, marketing campaigns, or just want neat and professional URLs, Link Shortner makes it simple and effective.\u003C\u002Fp>\n","Link Shortner allows you to easily create clean, branded short permalink links for your posts custom URL.",900,11021,90,11,"2025-08-31T10:13:00.000Z","6.8.5","5.6",[53,54,55,56,4],"links","post","shorten-url","shortlinks","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Flink-shortener\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flink-shortener.1.1.zip",{"slug":60,"name":61,"version":62,"author":63,"author_profile":64,"description":65,"short_description":66,"active_installs":67,"downloaded":68,"rating":11,"num_ratings":69,"last_updated":70,"tested_up_to":71,"requires_at_least":51,"requires_php":72,"tags":73,"homepage":76,"download_link":77,"security_score":78,"vuln_count":32,"unpatched_count":26,"last_vuln_date":79,"fetched_at":28},"codehaveli-bitly-url-shortener","Bitly URL Shortener","1.5.1","Codehaveli","https:\u002F\u002Fprofiles.wordpress.org\u002Fcodehaveli\u002F","\u003Cp>\u003Cstrong>Bitly URL Shortener\u003C\u002Fstrong> (Previously Codehaveli Bitly URL Shortener) uses the functionality of Bitly API to generate bitly short link automatically from your WordPress dashboard when you publish new post.\u003C\u002Fp>\n\u003Cp>Bitly URL Shortener allows you to connect your WordPress Website to the Bitly API via access token and Group GUID.\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Generate Bitly link automatically when publishing posts without leaving your site.\u003C\u002Fli>\n\u003Cli>Share Bitly link from your Post List and Post Edit page with social share buttons.\u003C\u002Fli>\n\u003Cli>Gutenberg block for displaying social share icons (Facebook, LinkedIn, X\u002FTwitter, Telegram, WhatsApp).\u003C\u002Fli>\n\u003Cli>Support for Custom Post Types with option to choose from your list of post types.\u003C\u002Fli>\n\u003Cli>Support for Custom Bitly Domain (for paid Bitly plans).\u003C\u002Fli>\n\u003Cli>Generate Bitly link of your old posts with just one click from post list.\u003C\u002Fli>\n\u003Cli>WP-CLI support for bulk generating short links via command line.\u003C\u002Fli>\n\u003Cli>REST API endpoints for programmatic access to short URL generation.\u003C\u002Fli>\n\u003Cli>Post column in admin showing generated short URLs.\u003C\u002Fli>\n\u003Cli>Metabox in post edit page for quick access to short URL and share options.\u003C\u002Fli>\n\u003Cli>Optimized code with modern PHP 7.4+ features and proper error handling.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Terms of Use\u003C\u002Fh3>\n\u003Cp>This is not an official plugin of \u003Ca href=\"https:\u002F\u002Fbitly.com\" rel=\"nofollow ugc\">https:\u002F\u002Fbitly.com\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>This plugin only connects your \u003Ca href=\"https:\u002F\u002Fbitly.com\" rel=\"nofollow ugc\">https:\u002F\u002Fbitly.com\u003C\u002Fa> account to your WordPress site.\u003C\u002Fp>\n\u003Cp>Please read \u003Ca href=\"https:\u002F\u002Fbitly.com\u002Fpages\u002Fprivacy\" rel=\"nofollow ugc\">privacy\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fbitly.com\u002Fpages\u002Fterms-of-service\" rel=\"nofollow ugc\">terms of service\u003C\u002Fa> of \u003Ca href=\"https:\u002F\u002Fbitly.com\" rel=\"nofollow ugc\">Bitly\u003C\u002Fa> before using this plugin.\u003C\u002Fp>\n\u003Ch3>Bug reports\u003C\u002Fh3>\n\u003Cp>Bug reports for Bitly URL Shortener are welcomed in our Bitly URL Shortener \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Froyrakesh\u002Fcodehaveli-bitly-url-shortener\" rel=\"nofollow ugc\">repository on GitHub\u003C\u002Fa>. Please note that GitHub is not a support forum, and that issues that are not properly qualified as bugs will be closed.\u003C\u002Fp>\n\u003Ch3>Further Reading\u003C\u002Fh3>\n\u003Cp>For more info on Bitly and Codehaveli, check out the following:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.codehaveli.com\u002F\" rel=\"nofollow ugc\">Codehaveli\u003C\u002Fa> official homepage\u003C\u002Fli>\n\u003Cli>Read “How to generate Bitly OAuth access token?” from \u003Ca href=\"https:\u002F\u002Fwww.codehaveli.com\u002Fhow-to-generate-bitly-oauth-access-token\u002F\" rel=\"nofollow ugc\">Codehaveli Blog\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Bitly \u003Ca href=\"https:\u002F\u002Fbitly.is\u002F2XxT9BN\" rel=\"nofollow ugc\">API Documentation\u003C\u002Fa> \u003C\u002Fli>\n\u003Cli>Follow Codehaveli on \u003Ca href=\"https:\u002F\u002Fwww.facebook.com\u002Fcodehaveli\" rel=\"nofollow ugc\">Facebook\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.instagram.com\u002Fcodehaveli\u002F\" rel=\"nofollow ugc\">Instagram\u003C\u002Fa> & \u003Ca href=\"https:\u002F\u002Ftwitter.com\u002Fcodehaveli\" rel=\"nofollow ugc\">Twitter\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Plugin \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Froyrakesh\u002Fcodehaveli-bitly-url-shortener\" rel=\"nofollow ugc\">GitHub Repository\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","Bitly URL Shortener uses the functionality of Bitly API to generate Bitly short link without leaving your WordPress site.",600,14840,5,"2026-01-29T14:56:00.000Z","6.9.4","7.4",[74,75,54,19,4],"bitly","connector","https:\u002F\u002Fgithub.com\u002Froyrakesh\u002Fcodehaveli-bitly-url-shortener","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcodehaveli-bitly-url-shortener.1.5.1.zip",99,"2025-06-05 00:00:00",{"slug":81,"name":82,"version":83,"author":84,"author_profile":85,"description":86,"short_description":87,"active_installs":11,"downloaded":88,"rating":89,"num_ratings":90,"last_updated":91,"tested_up_to":92,"requires_at_least":93,"requires_php":17,"tags":94,"homepage":97,"download_link":98,"security_score":25,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"shorter-links","Shorter Links","2.1.0","akrabat","https:\u002F\u002Fprofiles.wordpress.org\u002Fakrabat\u002F","\u003Cp>The \u003Cstrong>Shorter Links\u003C\u002Fstrong> WordPress plugin overrides the default WordPress\u003Cbr \u002F>\n“shortlink” URL with one that has a custom text in it. You can also set a\u003Cbr \u002F>\ndifferent base URL.\u003C\u002Fp>\n\u003Cp>A custom field called “Shorter link” is created once a post is saved,\u003Cbr \u002F>\nso that you can change the shortlink to a more memorable set of\u003Cbr \u002F>\ncharacters.\u003C\u002Fp>\n\u003Cp>The choice of base URL to use for the short link can be configured within\u003Cbr \u002F>\nSettings->Shorter Links.\u003C\u002Fp>\n\u003Cp>Related Links:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fakrabat.com\u002Fshorter-links\" rel=\"nofollow ugc\">Plugin home page\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Licence\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under the \u003Ca href=\"http:\u002F\u002Fakrabat.com\u002Flicense\u002Fnew-bsd\" rel=\"nofollow ugc\">New BSD license\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>History\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>2.1.0 – 8 August 2015\u003C\u002Fstrong>\u003Cbr \u002F>\nRework to look for the shorter link after WordPress has done its processing. This\u003Cbr \u002F>\nmeans that a shorterlink that represents a date won’t affect an archive list.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>2.0.6 – 8 August 2015\u003C\u002Fstrong>\u003Cbr \u002F>\nEnsure that the short_link is correct when using a post id.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>2.0.5 – 8 August 2015\u003C\u002Fstrong>\u003Cbr \u002F>\nUpdated Tested up to 4.3\u003C\u002Fp>\n\u003Cp>\u003Cstrong>2.0.3 – 9 July 2012\u003C\u002Fstrong>\u003Cbr \u002F>\nBug fix so that archives work.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>2.0.2 – 23 June 2012\u003C\u002Fstrong>\u003Cbr \u002F>\nFall back to REQUEST_URI if there’s nothing interesting in $query_vars.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>2.0.1 – 20 June 2012\u003C\u002Fstrong>\u003Cbr \u002F>\nUpdated to handle 4 digit short links that look like a year to WordPress.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>2.0.0 – 21 November 2010\u003C\u002Fstrong>\u003Cbr \u002F>\nUpdated to be WordPress 3.0 or above, so we only need to hook into the WordPress\u003Cbr \u002F>\nshortlink system\u003C\u002Fp>\n\u003Cp>\u003Cstrong>1.8.2 – 21 November 2010\u003C\u002Fstrong>\u003Cbr \u002F>\nFix permissions issue on settings page. This is the last version that works\u003Cbr \u002F>\non WordPress 2.9.x or earlier.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>1.8.1 – 7 September 2010\u003C\u002Fstrong>\u003Cbr \u002F>\nBug fix to remove a warning.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>1.8 – 1 September 2010\u003C\u002Fstrong>\u003Cbr \u002F>\nuse shortlink rather than shorturl for WordPress less than 3.\u003Cbr \u002F>\nFor WordPress 3 or higher, hook into the new shortlink system.\u003Cbr \u002F>\nFix the admin page so that it displays in WordPress 3.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>1.7 – 11 Feburary 2010\u003C\u002Fstrong>\u003Cbr \u002F>\nHandle failures better.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>1.6 – 10 January 2010\u003C\u002Fstrong>\u003Cbr \u002F>\nUpdate version number in correct places so that the WP plugins system notices the update.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>1.5 – 29 December 2009\u003C\u002Fstrong>\u003Cbr \u002F>\nSupport permalinks that start with \u002F%category%\u002F\u003C\u002Fp>\n\u003Cp>\u003Cstrong>1.4 – 14 April 2009\u003C\u002Fstrong>\u003Cbr \u002F>\nSupport rel=”shorturl” as per \u003Ca href=\"http:\u002F\u002Fsites.google.com\u002Fa\u002Fsnaplog.com\u002Fwiki\u002Fshort_url\" rel=\"nofollow ugc\">Robert Spychala’s Short URL Auto-Discovery proposal\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>1.3 – 14 April 2009\u003C\u002Fstrong>\u003Cbr \u002F>\nAdd support for setting the base URL. Patch by \u003Ca href=\"davemastergeneral@gmail.com\" rel=\"nofollow ugc\">Dave Marshall\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>1.2 – 13 April 2009\u003C\u002Fstrong>\u003Cbr \u002F>\nOnly send the \u003Ccode>Link\u003C\u002Fcode> HTTP header as recommended by \u003Ca href=\"http:\u002F\u002Fshiflett.org\u002Fblog\u002F2009\u002Fapr\u002Fa-rev-canonical-http-header\" rel=\"nofollow ugc\">Shiflett\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>1.1 – 13 April 2009\u003C\u002Fstrong>\u003Cbr \u002F>\nFixed output of HTTP headers. Patch by \u003Ca href=\"http:\u002F\u002Fbethesignal.org\u002F\" rel=\"nofollow ugc\">Jeff Waugh\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>1.0 – 11 April 2009\u003C\u002Fstrong>\u003Cbr \u002F>\nInitial release.\u003C\u002Fp>\n","Override the default WordPress \"shortlink\" URL with one that has a custom text in it. You can also set a different base URL.",7033,76,4,"2015-08-08T10:35:00.000Z","4.3.34","3.0",[53,95,21,96,4],"revcanonical","shorturl","http:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fshorter-links\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fshorter-links.2.1.0.zip",{"slug":100,"name":101,"version":102,"author":103,"author_profile":104,"description":105,"short_description":106,"active_installs":107,"downloaded":108,"rating":109,"num_ratings":110,"last_updated":17,"tested_up_to":111,"requires_at_least":93,"requires_php":17,"tags":112,"homepage":114,"download_link":115,"security_score":11,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":116},"bitly-shortlinks-multisite","Bit.ly Shortlinks Multisite (Uses OAuth 2 API)","1.2","Denis Lam","https:\u002F\u002Fprofiles.wordpress.org\u002Fspiffyd\u002F","\u003Cp>WordPress generates shortlinks for your posts and pages. By default it uses the \u003Ccode>?p=\u003C\u002Fcode> with the post ID added to it, but if you have a rather long domain name this isn’t very useful. If you use \u003Ca href=\"http:\u002F\u002Fbit.ly\" rel=\"nofollow ugc\">Bit.ly\u003C\u002Fa>, this plugin will help you replace the shortlink WordPress generates with a proper Bit.ly shortlink.\u003C\u002Fp>\n\u003Cp>This plugin uses the latest Bit.ly OAuth 2 draft specification API instead of its deprecated V3 API and enables you to use generic access token to automatically enable Bit.ly shortlinks in your entire multisite network without the need for each site user to have to tinker with any settings or authentication configurations.\u003C\u002Fp>\n","This plugin replaces the default WordPress shortlinks with Bit.ly shortlinks for your single site or multisite WordPress network.",10,3149,74,3,"3.5.2",[74,113,21,56,4],"multisite","http:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fbitly-shortlinks-multisite\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbitly-shortlinks-multisite.1.2.zip","2026-03-15T10:48:56.248Z",{"slug":118,"name":119,"version":120,"author":121,"author_profile":122,"description":123,"short_description":124,"active_installs":107,"downloaded":125,"rating":11,"num_ratings":32,"last_updated":126,"tested_up_to":111,"requires_at_least":127,"requires_php":17,"tags":128,"homepage":17,"download_link":130,"security_score":25,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"bitly-url-generator","Bitly URL Generator","1.0","micahwave","https:\u002F\u002Fprofiles.wordpress.org\u002Fmicahwave\u002F","\u003Cp>Automatically creates a \u003Ca href=\"http:\u002F\u002Fbit.ly\" rel=\"nofollow ugc\">bit.ly\u003C\u002Fa> url for each of your posts when they get published. To display the shortened url, simple use \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FFunction_Reference\u002Fwp_get_shortlink\" rel=\"nofollow ugc\">wp_get_shortlink\u003C\u002Fa> in your template file.\u003C\u002Fp>\n\u003Ch3>Arbitrary section 1\u003C\u002Fh3>\n","Automatically creates a bit.ly url for each of your posts when they get published.",3362,"2012-12-19T13:41:00.000Z","3.3",[129,74,21,22,4],"bit-ly","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbitly-url-generator.zip",{"attackSurface":132,"codeSignals":202,"taintFlows":232,"riskAssessment":267,"analyzedAt":275},{"hooks":133,"ajaxHandlers":189,"restRoutes":196,"shortcodes":197,"cronEvents":201,"entryPointCount":13,"unprotectedCount":26},[134,140,144,149,153,157,161,165,168,172,176,179,182,186],{"type":135,"name":136,"callback":137,"file":138,"line":139},"action","wp_head","fts_shortlink_wp_head","url-shortener.php",114,{"type":135,"name":141,"callback":142,"file":138,"line":143},"wp","fts_shortlink_header",115,{"type":145,"name":146,"callback":147,"priority":107,"file":138,"line":148},"filter","get_sample_permalink_html","fts_get_shortlink_html",120,{"type":145,"name":150,"callback":151,"priority":107,"file":138,"line":152},"get_shortlink","pub_gateway",132,{"type":135,"name":154,"callback":155,"priority":107,"file":138,"line":156},"future_to_publish","transition_get_shortlink",137,{"type":135,"name":158,"callback":159,"file":138,"line":160},"admin_menu","plugin_menu",141,{"type":145,"name":162,"callback":163,"priority":107,"file":138,"line":164},"post_row_actions","table_hover_link",145,{"type":145,"name":166,"callback":163,"priority":107,"file":138,"line":167},"page_row_actions",146,{"type":135,"name":169,"callback":170,"file":138,"line":171},"admin_head","fts_urlshortener_adminhead",147,{"type":135,"name":173,"callback":174,"file":138,"line":175},"load-edit.php","fts_urlshortener_edit_head",148,{"type":135,"name":177,"callback":174,"file":138,"line":178},"load-edit-pages.php",149,{"type":145,"name":180,"callback":180,"priority":107,"file":138,"line":181},"template_redirect",158,{"type":145,"name":183,"callback":184,"file":138,"line":185},"the_content","fts_filter_append_post",168,{"type":145,"name":183,"callback":187,"file":138,"line":188},"fts_filter_append_post_qr",171,[190],{"action":191,"nopriv":192,"callback":193,"hasNonce":194,"hasCapCheck":192,"file":138,"line":195},"urlshortener_act",false,"fts_urlshortener_ajaxcallback",true,153,[],[198],{"tag":21,"callback":199,"file":138,"line":200},"shortcode_support",164,[],{"dangerousFunctions":203,"sqlUsage":204,"outputEscaping":206,"fileOperations":26,"externalRequests":26,"nonceChecks":13,"capabilityChecks":26,"bundledLibraries":231},[],{"prepared":26,"raw":26,"locations":205},[],{"escaped":26,"rawEcho":48,"locations":207},[208,212,213,215,217,219,221,223,225,227,229],{"file":209,"line":210,"context":211},"inc\\options_page.php",133,"raw output",{"file":209,"line":167,"context":211},{"file":209,"line":214,"context":211},193,{"file":209,"line":216,"context":211},223,{"file":209,"line":218,"context":211},261,{"file":209,"line":220,"context":211},455,{"file":138,"line":222,"context":211},363,{"file":138,"line":224,"context":211},445,{"file":138,"line":226,"context":211},446,{"file":138,"line":228,"context":211},749,{"file":138,"line":230,"context":211},762,[],[233],{"entryPoint":234,"graph":235,"unsanitizedCount":26,"severity":266},"\u003Curl-shortener> (url-shortener.php:0)",{"nodes":236,"edges":262},[237,242,248,250,255,258],{"id":238,"type":239,"label":240,"file":138,"line":241},"n0","source","$_POST",480,{"id":243,"type":244,"label":245,"file":138,"line":246,"wp_function":247},"n1","sink","header() [Header Injection]",547,"header",{"id":249,"type":239,"label":240,"file":138,"line":241},"n2",{"id":251,"type":244,"label":252,"file":138,"line":253,"wp_function":254},"n3","wp_redirect() [Open Redirect]",548,"wp_redirect",{"id":256,"type":239,"label":257,"file":138,"line":241},"n4","$_POST (x2)",{"id":259,"type":244,"label":260,"file":138,"line":228,"wp_function":261},"n5","echo() [XSS]","echo",[263,264,265],{"from":238,"to":243,"sanitized":194},{"from":249,"to":251,"sanitized":194},{"from":256,"to":259,"sanitized":194},"low",{"summary":268,"deductions":269},"The \"url-shortener\" plugin v4.0.2 exhibits a generally strong security posture based on the provided static analysis. The absence of known CVEs and a clean vulnerability history suggest a well-maintained codebase. The plugin demonstrates good practices by avoiding dangerous functions, file operations, and external HTTP requests, while also utilizing prepared statements for its SQL queries and implementing nonce checks.  However, a significant concern arises from the complete lack of output escaping on all identified output points. This could lead to Cross-Site Scripting (XSS) vulnerabilities if user-supplied data is rendered directly in the browser without proper sanitization. Additionally, the presence of AJAX handlers and shortcodes, while limited in number and with some security checks, still represents potential entry points that could be exploited if underlying vulnerabilities related to input validation or output escaping are present.",[270,273],{"reason":271,"points":272},"All outputs are unescaped",16,{"reason":274,"points":107},"No capability checks on entry points","2026-03-16T21:06:56.108Z",{"wat":277,"direct":286},{"assetPaths":278,"generatorPatterns":281,"scriptPaths":282,"versionParams":283},[279,280],"\u002Fwp-content\u002Fplugins\u002Furl-shortener\u002Fcss\u002Furl-shortener.css","\u002Fwp-content\u002Fplugins\u002Furl-shortener\u002Fjs\u002Furl-shortener.js",[],[280],[284,285],"url-shortener\u002Fcss\u002Furl-shortener.css?ver=","url-shortener\u002Fjs\u002Furl-shortener.js?ver=",{"cssClasses":287,"htmlComments":289,"htmlAttributes":290,"restEndpoints":292,"jsGlobals":293,"shortcodeOutput":295},[288],"fts_shortlink",[],[291],"data-fts-shortlink-id",[],[294],"fts_shorturl_ajax_object",[296],"[shortlink]"]