[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fKMzS8KrPbTj-EX9tctP0pISLHQKqaJ8oTVYDvkdnHpg":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":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":25,"download_link":26,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":32,"crawl_stats":29,"alternatives":37,"analysis":152,"fingerprints":488},"dpabottomofpostpage","dpaBottomofPostPage","1.24 [20200928]","peter achutha","https:\u002F\u002Fprofiles.wordpress.org\u002Fpeter-achutha\u002F","\u003Cp>Please Deactivate and Delete previous version before installing this version. This plugin allows you to add more than one message at the bottom of your WordPress post or page. You can have as many messages as you need as there is no limit to how many messages you have at the bottom of your post or page. Examples of messages are Google Authorship and Copyright notice, Googles Ads from AdSense, Facebook + Google+ and Twitter Like and Share buttons, and even other affiliate adverts like advertisements from Commission Junction, ClickBank and other affiliate programs and even Sign Up forms. The plugin is SEO sensitive by allowing or diasbling a message to be part of the webpage SEO. You can show post messages in Home, Category & Archives summary pages. Can process and display shortcodes.\u003C\u002Fp>\n\u003Cp>With version 1.05 you can disable some pages or post from displaying messages.\u003C\u002Fp>\n\u003Cp>As of version 1.19 shortcodes can now be displayed through the messages.\u003C\u002Fp>\n\u003Cp>My thanks to Cynthia K. Wunsch, http:\u002F\u002Fwww.striketherightnote.com, for requesting me to allow the posts to be shown in Home, Category & Archives summary pages.\u003Cbr \u002F>\nMy thanks to Scott Million, http:\u002F\u002Fwww.apartmentforrentinsaigon.com, for requesting me for some pages and some post not to display messages.\u003C\u002Fp>\n\u003Cp>You can visit our website, https:\u002F\u002Fwww.drpeterscode.com\u002Fadd-messages-footers-ads-to-bottom-of-every-post-and-page.php, too.\u003C\u002Fp>\n\u003Ch3>1.01\u003C\u002Fh3>\n\u003Col>\n\u003Cli>\n\u003Cp>Any messages that might affect your SEO can be saved elsewhere and not on your webpage.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>All file names and sub-directory names were changed to lower case so that it will be more compatible with all servers. Due to the filename changes to lower case, if you have problems when you upgrade, then delete Version 1.00 first and then reinstall version 1.01. Do save, copy and paste into a text file, all your messages before deleting the plugin.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>1.02\u003C\u002Fh3>\n\u003Cp>Add ability to display messages in Home, Category & Archives summary pages. Add a title for each message area so that when you return months later you have a Title to describe each meaasge and not forget what you did.\u003C\u002Fp>\n\u003Ch3>1.03\u003C\u002Fh3>\n\u003Cp>Fixed a bug that was not displaying messages correctly at the bottom of a page.\u003C\u002Fp>\n\u003Ch3>1.04\u003C\u002Fh3>\n\u003Cp>Changed some of the PHP code to be more compatible with WordPress PHP and no errors when debug is turned on.\u003C\u002Fp>\n\u003Ch3>1.05\u003C\u002Fh3>\n\u003Cp>Added feature to allow or to stop display messages at bottom of individual post or pages.\u003C\u002Fp>\n\u003Ch3>1.06\u003C\u002Fh3>\n\u003Cp>Undid some of upgradres in version 1.04 upgrades to minimise the spurious memory errors.\u003C\u002Fp>\n\u003Ch3>1.07\u003C\u002Fh3>\n\u003Cp>Some form data was not checked if isset(). Now it checks the data in the form fields is set.\u003C\u002Fp>\n\u003Ch3>1.08\u003C\u002Fh3>\n\u003Cp>Found out that when you upgrade any plugin, WordPress will delete the existing plugin before downloading the upgrade version. Since this plugin saves all settings in the plugin directory all settings were lost upon upgrading. With version 1.08 a separate directory is created …\u002Fwp-contents\u002Fplugins\u002Fdpabottomofpostpagedata\u002F and all settings are saved in the altrnative sub-directory. Thus even after upgrading the original seetings are still available.\u003C\u002Fp>\n\u003Cp>Changed all variable names to begin with $spmybp_.\u003C\u002Fp>\n\u003Ch3>1.09\u003C\u002Fh3>\n\u003Cp>Fixed display of messages in multi-post index page and other bugs.\u003C\u002Fp>\n\u003Ch3>1.10\u003C\u002Fh3>\n\u003Cp>Fixed messages disappearing when posts were edited\u003C\u002Fp>\n\u003Ch3>1.11\u003C\u002Fh3>\n\u003Cp>Fixed messages disappearing when posts were edited\u003C\u002Fp>\n\u003Ch3>1.12\u003C\u002Fh3>\n\u003Cp>Fixed messages disappearing when posts were edited.\u003C\u002Fp>\n\u003Ch3>1.13\u003C\u002Fh3>\n\u003Cp>Corrected the link for two images that were not displayed.\u003C\u002Fp>\n\u003Ch3>1.14\u003C\u002Fh3>\n\u003Cp>Add two positions for messages. The original Bottom of Content and add display of messages in the WP footer as End of Document position.\u003C\u002Fp>\n\u003Ch3>1.15\u003C\u002Fh3>\n\u003Cp>Allowed position of messages in footer to be moved a little by adjusting its ranking.\u003C\u002Fp>\n\u003Ch3>1.16\u003C\u002Fh3>\n\u003Cp>As per WordPress request added additional security checks of form data. Inserted .htaccess files.  As per WordPress request moved data files from \u002Fwp-content\u002Fplugins\u002Fdpabottomofpostpage\u002F to \u002Fwp-content\u002Fuploads\u002Fdpabottomofpostpage\u002F and ensured that plugin directory names are not hard coded. Now Bottom of Content messages can be prioritsed and the default priority is 200.\u003C\u002Fp>\n\u003Ch3>1.17\u003C\u002Fh3>\n\u003Cp>Found some undefined variables and set them. Added the ability to delete messages. Changed the way the messages are stored.\u003C\u002Fp>\n\u003Ch3>1.18\u003C\u002Fh3>\n\u003Cp>Simplified the .htaccess file in plugin and upload directory. Made option to allow or disallow  javascript.\u003C\u002Fp>\n\u003Ch3>1.19\u003C\u002Fh3>\n\u003Cp>Allowed shortcodes to be processed and displayed in the messages.\u003C\u002Fp>\n\u003Ch3>1.20\u003C\u002Fh3>\n\u003Cp>Added Facebook, Google and Twitter Like buttons below messages.\u003C\u002Fp>\n\u003Ch3>1.21\u003C\u002Fh3>\n\u003Cp>Fixed to work with latest upgrades to WordPress 5.2.2.\u003C\u002Fp>\n\u003Ch3>1.22\u003C\u002Fh3>\n\u003Cp>added tiny backlink\u003C\u002Fp>\n\u003Ch3>1.23\u003C\u002Fh3>\n\u003Cp>added links to affiliate program on Amazon. ok for WordPress version 5.5.1\u003C\u002Fp>\n\u003Ch3>1.24\u003C\u002Fh3>\n\u003Cp>added one more link. ok for WordPress version 5.5.1\u003C\u002Fp>\n","This plugin can add several messages or adverts to the bottom of every WordPress post and page and now messages can be shown in in Home, Category &amp &hellip;",30,7338,100,2,"2020-09-27T18:43:00.000Z","5.5.18","3.9.1","",[20,21,22,23,24],"ads","bottom-of-page","bottom-of-post","page-footer","post-footer","https:\u002F\u002Fdrpeterscode.com\u002Fadd-messages-footers-ads-to-bottom-of-every-post-and-page.php","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdpabottomofpostpage.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":33,"display_name":7,"profile_url":8,"plugin_count":14,"total_installs":34,"avg_security_score":27,"avg_patch_time_days":11,"trust_score":35,"computed_at":36},"peter-achutha",40,84,"2026-04-04T10:45:41.417Z",[38,58,82,106,127],{"slug":39,"name":40,"version":41,"author":42,"author_profile":43,"description":44,"short_description":45,"active_installs":46,"downloaded":47,"rating":13,"num_ratings":48,"last_updated":49,"tested_up_to":50,"requires_at_least":51,"requires_php":18,"tags":52,"homepage":56,"download_link":57,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"ninja-footers-lite","Ninja Footers","0.2.0","samurai9design","https:\u002F\u002Fprofiles.wordpress.org\u002Fsamurai9design\u002F","\u003Cp>\u003Ca href=\"http:\u002F\u002Fwww.samurai9design.com\u002Fninja-footers\u002F\" rel=\"nofollow ugc\">Ninja Footers\u003C\u002Fa> is an internal linking tool that let’s you add customizable & clickable footers to all of your WordPress posts.\u003C\u002Fp>\n\u003Cp>Post footers should be an essential part of any WordPress blog’s design.  Post footers can help any blog reach it’s potential by providing 4 measureable assets:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>1. Internal Linking\u003C\u002Fstrong> By adding clickable links that redirect users to other parts of your website you can drastically improve your website Search Engine Optimization.  By installing Ninja Footers you can automatically add post footers to all of your previous blog entries. A site with 50 existing posts will instantly have an additional 50 links directing users and Google toward toward the page or post of your choice..  The impact of Ninja Footers can often be seen and tracked almost immediately in respects to website’s Google’s page ranking.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>2. Easier Site Navigation\u003C\u002Fstrong> By adding custom page footers to your WordPress blog you can send engaged readers to the exact page or post of your choice.  You know your blog and the content it contains but your readers may not.  A customizable post footer gives you the power to direct readers towards the content that they will find most valuable.\u003C\u002Fp>\n\u003Cp>As an added benefit, multiple page views will reduce your website’s bounce rate.  A lower bounce rate let’s Google know that your site has valuable content.  Google’s main function is to assist users in finding the information they are looking for. Bounce rate is one of the many variables they consider when determining page ranking by making your site easier to navigate you help your readers, Google and your site’s SEO.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>3. Keywords & Anchor Text\u003C\u002Fstrong> Ninja Footers is fully customizable.  This gives you an extra opportunity to add keywords to every post in your blog.  If your anchor text (the clickable part)  uses your keywords, you can increase the impact of your post footers dramatically.  Including keywords in the anchor text lets Google know what your “target page” is about which then makes it easier for Google to send relevant readers to your site.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>4. Increased Conversion\u003C\u002Fstrong> Pop-ups that “fire” the second you visit a site can be annoying.  However, if a reader has made it to the end a blog post it is fair to assume they are an engaged reader.  The post footer is a perfect place to add a conversion opportunity.  Whether it be a mailing list Optin form or an invitation to follow one of your social media channels, there is no better spot than directly after you have already provided your audience information they find valuable.  Post footers can dramatically help almost any WordPress website.  They help your readers navigate your site, Google understand your site, give you an extra customer conversion opportunity and can play an essential role in your site’s SEO strategy.\u003C\u002Fp>\n\u003Ch4>Advance Features\u003C\u002Fh4>\n\u003Cp>Use the advance settings to control where and how the footer is displayed.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Select which pages you’d like to display your Ninja Footers on.  E.g: you may not want your Home page to contain a customized footer section.\u003C\u002Fli>\n\u003Cli>Control whether to display after post excerpts or not.\u003C\u002Fli>\n\u003Cli>Use the priority setting to troubleshoot conflicts with other plugins or themes.\u003C\u002Fli>\n\u003Cli>Works with shortcodes to create advance footers with slideshows, contact forms or whatever you desire.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Install Ninja Footers by Samurai 9 Design today and give us a week to do what we do.  Then let us know how much these customizable post footers have helped your website.\u003C\u002Fp>\n","Create customizable footers for your posts.",200,10281,5,"2016-06-01T05:45:00.000Z","4.5.33","4.0",[53,54,22,55,24],"about-the-author","append-to-post","custom-post","http:\u002F\u002Fwww.samurai9design.com\u002Fninja-footers\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fninja-footers-lite.0.2.0.zip",{"slug":59,"name":60,"version":61,"author":62,"author_profile":63,"description":64,"short_description":65,"active_installs":66,"downloaded":67,"rating":68,"num_ratings":69,"last_updated":70,"tested_up_to":71,"requires_at_least":72,"requires_php":73,"tags":74,"homepage":78,"download_link":79,"security_score":80,"vuln_count":14,"unpatched_count":69,"last_vuln_date":81,"fetched_at":30},"intelly-posts-footer-manager","Posts Footer Manager","2.2.0","Data443 Risk Mitigation, Inc.","https:\u002F\u002Fprofiles.wordpress.org\u002Fdata443\u002F","\u003Cp>Data443 is a Data Security and Privacy Compliance company that is publicly traded \u003Ca href=\"https:\u002F\u002Ffinance.yahoo.com\u002Fquote\u002FATDS?p=ATD\" rel=\"nofollow ugc\">ATDS\u003C\u002Fa>.  We have been providing leading GDPR compliance products such as \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fgdpr-framework\u002F\" rel=\"nofollow ugc\">WordPress GDPR Framework\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fwww.data443.com\u002Fclassidocs-home\u002F\" rel=\"nofollow ugc\">ClassiDocs\u003C\u002Fa>, Blockchain privacy, and enterprise cloud eDiscovery tools.\u003C\u002Fp>\n\u003Cp>One of this few things that isn’t under your control when you manage a WordPress site is the Post’s footer, the stuff you usually insert after the content of your posts.\u003C\u002Fp>\n\u003Cp>There are tons of plugin that insert automatically their widgets after the content, the problem you NEED to verify how they fit with your theme… and you start to modify the theme code or leave a mess because essentially you can’t control it.\u003C\u002Fp>\n\u003Cp>I bet I can find lots of stuff at the end of your posts and I bet you never had a tool to order the items or space them correctly.\u003C\u002Fp>\n\u003Cp>Usually in your blog you have:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Share buttons\u003C\u002Fli>\n\u003Cli>Subscription box\u003C\u002Fli>\n\u003Cli>Related posts\u003C\u002Fli>\n\u003Cli>Author bio box\u003C\u002Fli>\n\u003Cli>Banners\u003C\u002Fli>\n\u003Cli>Opt-in boxes\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Of course your visitors can’t decide what to do once read the post, they get confused!\u003C\u002Fp>\n\u003Cp>That’s why we created Post’s Footer Manager\u003C\u002Fp>\n\u003Cp>When a visitor read an article or a page on your site and reach the end of the post, you should display the best things in order to keep it on the site or convert into a subscriber.\u003C\u002Fp>\n\u003Cp>So, what you need is not an hard coding of your theme, but something that manages and gives you the control of this important part of your site.\u003C\u002Fp>\n\u003Cp>With Post’s Footer Manager you put your widgets, insert shortcodes, scripts and so on, with an easy drag and drop interface that let you decide what display before, based on a specific category or a key page.\u003C\u002Fp>\n\u003Cp>Intact, Post’s Footer Manager comes with a well-organized groups and elements that let you decide HOW display your post’s footer, cleaning the mess, giving priority at what really matters and reaching a best performance in terms of page views, conversions and time on site.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>Upgrade to PRO and get:\u003C\u002Fstrong>\u003Cbr \u002F>\n  1. Unlimited groups and elements\u003Cbr \u002F>\n  2. Custom Post Type support\u003Cbr \u002F>\n  3. Animation effects to catch reader attention\u003Cbr \u002F>\n  Check the PREMIUM version at \u003Ca href=\"https:\u002F\u002Fintellywp.com\u002Fposts-footer-manager\u002F?utm_source=wordpress-org&utm_medium=plugin-page&utm_campaign=IPFM\" rel=\"nofollow ugc\">https:\u002F\u002Fintellywp.com\u002Fposts-footer-manager\u002F\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fblockquote>\n","Clean the mess after your content! Organize your post's footer, insert what you want, order elements, create groups for specific categories.",20,5157,60,1,"2025-01-15T20:34:00.000Z","6.7.5","2.7","7.3",[75,76,77,23,24],"after-content","call-to-action","content-in-post-footer","https:\u002F\u002Fintellywp.com\u002Fposts-footer-manager\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fintelly-posts-footer-manager.2.2.0.zip",69,"2025-04-04 00:00:00",{"slug":83,"name":84,"version":85,"author":86,"author_profile":87,"description":88,"short_description":89,"active_installs":90,"downloaded":91,"rating":35,"num_ratings":92,"last_updated":93,"tested_up_to":94,"requires_at_least":95,"requires_php":96,"tags":97,"homepage":103,"download_link":104,"security_score":13,"vuln_count":69,"unpatched_count":28,"last_vuln_date":105,"fetched_at":30},"google-site-kit","Site Kit by Google – Analytics, Search Console, AdSense, Speed","1.174.0","Google","https:\u002F\u002Fprofiles.wordpress.org\u002Fgoogle\u002F","\u003Cp>Site Kit is the official WordPress plugin from Google for insights about how people find and use your site. Site Kit is the one-stop solution to deploy, manage, and get insights from critical Google tools to make the site successful on the web. It provides authoritative, up-to-date insights from multiple Google products directly on the WordPress dashboard for easy access, all for free.\u003C\u002Fp>\n\u003Ch4>Bringing the best of Google tools to WordPress\u003C\u002Fh4>\n\u003Cp>Site Kit includes powerful features that make using these Google products seamless and flexible:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Easy-to-understand stats directly on your WordPress dashboard\u003C\u002Fli>\n\u003Cli>Official stats from multiple Google tools, all in one dashboard\u003C\u002Fli>\n\u003Cli>Quick setup for multiple Google tools without having to edit the source code of your site\u003C\u002Fli>\n\u003Cli>Metrics for your entire site and for individual posts\u003C\u002Fli>\n\u003Cli>Easy-to-manage, granular permissions across WordPress and different Google products\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Supported Google tools\u003C\u002Fh4>\n\u003Cp>Site Kit shows key metrics and insights from different Google products:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Search Console:\u003C\u002Fstrong> Understand how Google Search discovers and displays your pages in Google Search. Track how many people saw your site in Search results, and what query they used to search for your site.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Analytics:\u003C\u002Fstrong> Explore how users navigate your site and track goals you’ve set up for your users to complete.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>AdSense:\u003C\u002Fstrong> Keep track of how much your site is earning you.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>PageSpeed Insights:\u003C\u002Fstrong> See how your pages perform compared to other real-world sites. Improve performance with actionable tips from PageSpeed Insights.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Tag Manager:\u003C\u002Fstrong> Use Site Kit to easily set up Tag Manager- no code editing required. Then, manage your tags in Tag Manager.\u003C\u002Fli>\n\u003C\u002Ful>\n","Site Kit is a one-stop solution for WordPress users to use everything Google has to offer to make them successful on the web.",5000000,243881054,980,"2026-03-10T15:16:00.000Z","6.9.4","5.2","7.4",[98,99,100,101,102],"adsense","analytics","google","pagespeed-insights","search-console","https:\u002F\u002Fsitekit.withgoogle.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fgoogle-site-kit.1.174.0.zip","2020-05-21 00:00:00",{"slug":107,"name":108,"version":109,"author":110,"author_profile":111,"description":112,"short_description":113,"active_installs":114,"downloaded":115,"rating":116,"num_ratings":117,"last_updated":118,"tested_up_to":94,"requires_at_least":119,"requires_php":96,"tags":120,"homepage":18,"download_link":124,"security_score":125,"vuln_count":69,"unpatched_count":28,"last_vuln_date":126,"fetched_at":30},"google-listings-and-ads","Google for WooCommerce","3.5.3","WooCommerce","https:\u002F\u002Fprofiles.wordpress.org\u002Fwoocommerce\u002F","\u003Cp>Effortlessly sync your WooCommerce product feed across Google and be seen by millions of engaged shoppers with the Google for WooCommerce extension. Download and setup takes just five minutes.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Grow your business with $500 in Google Ads credit\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>To help you get started running campaigns, you can get $500 in ad credit when you spend your first $500 on Google Ads within 60 days.\u003C\u002Fp>\n\u003Cp>\u003Cem>Terms and conditions apply.\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Sync your WooCommerce product feed to Google Merchant Center\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Seamlessly integrate your WooCommerce store with Google and set yourself up for success.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>Sync your WooCommerce product feed to Google Merchant Center\u003C\u002Fstrong> in just a few clicks. With our API-integrated Product Sync feature, all the data and functionalities from your WooCommerce store will be linked to Google with seamless server-to-server connection.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Have your product listings automatically updated in real time\u003C\u002Fstrong> so your prices, promotions, inventories, and other product details stay accurate and synchronized across all your listings.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Access all the tools and features you need\u003C\u002Fstrong> to manage your WooCommerce store and grow your business — centralized in one place.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Find the right audiences and sell to high-intent customers with Google Ads\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Now your WooCommerce store is discoverable on Google – and you’re ready to \u003Cstrong>launch a Google Ads campaign!\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Put Google AI to work for you\u003C\u002Fstrong> by launching a Google Ads Performance Max campaign. Combined with your unique business insight, Performance Max can help you reach high-value customers using optimized placements, bidding, and more – all aligned with your budget and specific goals.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Showcase your products across Google Shopping, Search, YouTube, Gmail, Maps, Display, and Discover\u003C\u002Fstrong> – from a single campaign. Manage all your Google Ads campaigns from your WooCommerce dashboard and on the WooCommerce Mobile App.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Save time and effort\u003C\u002Fstrong> by using Google AI to help scale your asset creation. Performance Max will not only create additional copy and images based on the creative you upload, but also mix and match them for the best performing ad combinations.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Get custom insights and improve your conversions using Google tag\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Once you’re running Google Ads campaigns, the Google tag feature in the extension enables conversion tracking to give you insights — so you can test and learn what works, and fine-tune your strategy.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Easily adjust your product listings in real time\u003C\u002Fstrong> to reflect your learnings and business expertise. While the extension maps product attributes by default, it’s simple to modify if you’d like more control.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Leverage automatic Google tagging and conversion tracking to measure what’s working and what’s not.\u003C\u002Fstrong> With insight into your customers’ purchase journey, you’ll be able to pinpoint how effectively your ads translate into valuable customer activity.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Take your conversion tracking further with enhanced conversions\u003C\u002Fstrong> — a feature designed to improve your measurement accuracy by collecting privacy-conscious data without the need for third-party cookies. So you have the right data to help make your campaign more effective.\u003C\u002Fli>\n\u003C\u002Ful>\n","Native integration with Google that allows merchants to easily display their products across Google’s network.",900000,39664091,54,257,"2026-03-04T21:01:00.000Z","6.6",[20,100,121,122,123],"listings","product-feed","woocommerce","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fgoogle-listings-and-ads.3.5.3.zip",99,"2024-11-18 09:24:48",{"slug":128,"name":129,"version":130,"author":131,"author_profile":132,"description":133,"short_description":134,"active_installs":135,"downloaded":136,"rating":137,"num_ratings":138,"last_updated":139,"tested_up_to":94,"requires_at_least":140,"requires_php":96,"tags":141,"homepage":147,"download_link":148,"security_score":149,"vuln_count":150,"unpatched_count":28,"last_vuln_date":151,"fetched_at":30},"duracelltomi-google-tag-manager","GTM4WP – A Google Tag Manager (GTM) plugin for WordPress","1.22.3","Thomas Geiger","https:\u002F\u002Fprofiles.wordpress.org\u002Fduracelltomi\u002F","\u003Cp>Google Tag Manager (GTM) is Google’s free tool for everyone to manage and deploy analytics and marketing tags as well as other code snippets\u003Cbr \u002F>\nusing an intuitive web UI. To learn more about this tool, visit the \u003Ca href=\"https:\u002F\u002Fmarketingplatform.google.com\u002Fabout\u002Ftag-manager\u002F\" rel=\"nofollow ugc\">official website\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>This plugin places the GTM container code snippets onto your WordPress website so that you do not need to add it manually.\u003Cbr \u002F>\nMultiple containers are also supported!\u003C\u002Fp>\n\u003Cp>The plugin complements your GTM setup by pushing page meta data and user information into the so called data layer.\u003Cbr \u002F>\nGoogle’s official help pages includes \u003Ca href=\"https:\u002F\u002Fdevelopers.google.com\u002Ftag-platform\u002Ftag-manager\u002Fdatalayer#datalayer\" rel=\"nofollow ugc\">more details about the data layer\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>PHP 7.4 is required to use this plugin.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch4>GTM container code placement\u003C\u002Fh4>\n\u003Cp>The original GTM container code is divided into two parts:\u003C\u002Fp>\n\u003Cp>The first part is a javascript code snippet that is added to the \u003Ccode>\u003Chead>\u003C\u002Fcode> section of every page of the website.\u003Cbr \u002F>\nThis part is critical to enable all features of GTM, and this plugin helps to place this part\u003Cbr \u002F>\ncorrectly on your site.\u003C\u002Fp>\n\u003Cp>The second part is an iframe snippet that acts as a failsafe\u002Ffallback should users’ JavaScript be disabled.\u003Cbr \u002F>\nGoogle recommends – for best performance – to place this code snippet directly after the opening \u003Ccode>\u003Cbody>\u003C\u002Fcode> tag on each page.\u003C\u002Fp>\n\u003Cp>Albeit not ideal, it will work when placed lower in the code. This plugin provides a code placement option for the second code snippet.\u003C\u002Fp>\n\u003Cp>If your WordPress theme is compatible with the additions of WordPress 5.2 then this plugin will place this second code to the right place.\u003Cbr \u002F>\nUsers of the Genisis theme, GeneratePress theme, Elementor, Oxygen Builder and Beaver Builder Theme will also have this placed correctly.\u003Cbr \u002F>\nTo utilize this, set the compatibility mode in plugin options to off.\u003C\u002Fp>\n\u003Cp>All other users can place this second code snippet using a custom PHP code (“Manually coded” option) or select the so called “Footer” option to\u003Cbr \u002F>\nadd the code lower in the code (it is not the recommended way but will work)\u003C\u002Fp>\n\u003Ch4>Basic data included\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>post\u002Fpage titles\u003C\u002Fli>\n\u003Cli>post\u002Fpage dates\u003C\u002Fli>\n\u003Cli>post\u002Fpage category names\u003C\u002Fli>\n\u003Cli>post\u002Fpage tag names\u003C\u002Fli>\n\u003Cli>post\u002Fpage author ID and name\u003C\u002Fli>\n\u003Cli>post\u002Fpage ID\u003C\u002Fli>\n\u003Cli>post types\u003C\u002Fli>\n\u003Cli>post format\u003C\u002Fli>\n\u003Cli>post count on the current page + in the current category\u002Ftag\u002Ftaxonomy\u003C\u002Fli>\n\u003Cli>custom terms associated with any post type\u003C\u002Fli>\n\u003Cli>logged in status\u003C\u002Fli>\n\u003Cli>logged in user role\u003C\u002Fli>\n\u003Cli>logged in user ID (to track cross device behaviour in Google Analytics)\u003C\u002Fli>\n\u003Cli>logged in user email address (both unhashed and SHA256 hased values to be used with tracking)\u003C\u002Fli>\n\u003Cli>logger in user creation date\u003C\u002Fli>\n\u003Cli>site search data\u003C\u002Fli>\n\u003Cli>site name and id (for WordPress multisite instances)\u003C\u002Fli>\n\u003Cli>IP address of the visitor (please use the explicit consent of the visitor to utilize this)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Browser \u002F OS \u002F Device data\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>browser data (name, version, engine)\u003C\u002Fli>\n\u003Cli>OS data (name, version)\u003C\u002Fli>\n\u003Cli>device data (type, manufacturer, model)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Data is provided using the WhichBrowser library: http:\u002F\u002Fwhichbrowser.net\u002F\u003C\u002Fp>\n\u003Ch4>Weather data\u003C\u002Fh4>\n\u003Cp>(beta)\u003C\u002Fp>\n\u003Cp>Push data about users’ current weather conditions into the dataLayer. This can be used to generate weather-related\u003Cbr \u002F>\naudience\u002Fremarketing lists on ad platforms and allows for user segmentation in your web analytics solutions:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>weather category (clouds, rain, snow, etc.)\u003C\u002Fli>\n\u003Cli>weather description: more detailed data\u003C\u002Fli>\n\u003Cli>temperature in Celsius or Fahrenheit\u003C\u002Fli>\n\u003Cli>air pressure\u003C\u002Fli>\n\u003Cli>wind speed and degrees\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Weather data is queried from Open Weather Map. Depending on your websites traffic, additional fees may apply:\u003Cbr \u002F>\nhttp:\u002F\u002Fopenweathermap.org\u002Fprice\u003C\u002Fp>\n\u003Cp>An (free) API key from OpenWeatherMap is required for this feature to work.\u003C\u002Fp>\n\u003Cp>ipstack.com is used to determine the site visitor’s location. A (free) API key from IPStack.com is required for this feature to work:\u003Cbr \u002F>\nhttps:\u002F\u002Fipstack.com\u002Fproduct\u003C\u002Fp>\n\u003Ch4>Media player events\u003C\u002Fh4>\n\u003Cp>(experimental)\u003C\u002Fp>\n\u003Cp>Track users’ interaction with any embedded media:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>YouTube\u003C\u002Fli>\n\u003Cli>Vimeo\u003C\u002Fli>\n\u003Cli>Soundcloud\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>DataLayer events can be chosen to fire upon media player load, media is being played, paused\u002Fstopped and optionally when\u003Cbr \u002F>\nthe user reaches 10, 20, 30, …, 90, 100% of the media duration.\u003C\u002Fp>\n\u003Cp>Tracking is supported for embedded media using the built-in oEmbed feature of WordPress as well as most other media plugins\u003Cbr \u002F>\nand copy\u002Fpasted codes. Players injected into the website after page load are not currently supported.\u003C\u002Fp>\n\u003Ch4>Scroll tracking\u003C\u002Fh4>\n\u003Cp>Fire tags based on how the visitor scrolls from the top to the bottom of a page.\u003Cbr \u002F>\nAn example would be to separate “readers” (who spend a specified amount of time on a page) from “scrollers”\u003Cbr \u002F>\n(who only scroll through within seconds). You can use these events to fire Analytics tags and\u002For remarketing\u002Fconversion tags\u003Cbr \u002F>\n(for micro conversions).\u003C\u002Fp>\n\u003Cp>Scroll tracking is based on the solution originally created by\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Nick Mihailovski\u003C\u002Fli>\n\u003Cli>Thomas Baekdal\u003C\u002Fli>\n\u003Cli>Avinash Kaushik\u003C\u002Fli>\n\u003Cli>Joost de Valk\u003C\u002Fli>\n\u003Cli>Eivind Savio\u003C\u002Fli>\n\u003Cli>Justin Cutroni\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Original script:\u003Cbr \u002F>\nhttp:\u002F\u002Fcutroni.com\u002Fblog\u002F2012\u002F02\u002F21\u002Fadvanced-content-tracking-with-google-analytics-part-1\u002F\u003C\u002Fp>\n\u003Ch4>Blacklist & Whitelist Tag Manager tags, triggers and variables\u003C\u002Fh4>\n\u003Cp>To increase website security, you have the option to white- and blacklist tags\u002Ftriggers\u002Fvariables.\u003Cbr \u002F>\nYou can prevent specific tags from firing or the use of certain variable types regardless of your GTM setup.\u003C\u002Fp>\n\u003Cp>If the Google account associated with your GTM account is being hacked, an attacker could easily\u003Cbr \u002F>\nexecute malware on your website without accessing its code on your hosting server. By blacklisting custom HTML tags\u003Cbr \u002F>\nand\u002For custom JavaScript variables you can secure the Tag Manager container.\u003C\u002Fp>\n\u003Ch4>Integration\u003C\u002Fh4>\n\u003Cp>Google Tag Manager for WordPress integrates with several popular plugins. More integration to come!\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Contact Form 7: fire an event when a Contact Form 7 form was submitted with any result (mail sent, mail failed, spam detected, invalid input)\u003C\u002Fli>\n\u003Cli>WooCommerce:\n\u003Cul>\n\u003Cli>Implementation of \u003Ca href=\"https:\u002F\u002Fdevelopers.google.com\u002Ftag-manager\u002Fecommerce-ga4\" rel=\"nofollow ugc\">GA4 E-commerce\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Does not support promotions since WooCommerce does not have such a feature (yet)\u003C\u002Fli>\n\u003Cli>Does not support refunds\u003C\u002Fli>\n\u003Cli>Compatibility with High Performance Order Storage (HPOS)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>AMP: load your AMP container on the AMP version of your pages\u003C\u002Fli>\n\u003Cli>Cookiebot: use automatic cookie blocking mode if needed\u003C\u002Fli>\n\u003Cli>Google Consent Mode v2: fire the “default” command with specific consent flags to integrat with non-certified Consent Management Platforms (CMPs) and plugins.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Server side containers\u003C\u002Fh4>\n\u003Cp>If you are using a \u003Ca href=\"https:\u002F\u002Fdevelopers.google.com\u002Ftag-manager\u002Fserverside\u002Fsend-data#update_the_gtmjs_source_domain\" rel=\"nofollow ugc\">server side container\u003C\u002Fa>\u003Cbr \u002F>\nyou can enter your custom domain name and custom path to load gtm.js from your there.\u003C\u002Fp>\n\u003Ch4>Exclude specific user roles from being tracked\u003C\u002Fh4>\n\u003Cp>You can set which user roles needs to be excluded from tracking when a user with that role visits the frontend. This will completely disable the container code for that user.\u003C\u002Fp>\n","Advanced tag management for WordPress with Google Tag Manager",700000,13906369,90,154,"2025-12-15T14:45:00.000Z","3.4.0",[142,143,144,145,146],"google-ads","google-analytics","google-tag-manager","gtm","tag-manager","https:\u002F\u002Fgtm4wp.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fduracelltomi-google-tag-manager.1.22.3.zip",98,3,"2022-05-31 00:00:00",{"attackSurface":153,"codeSignals":197,"taintFlows":424,"riskAssessment":471,"analyzedAt":487},{"hooks":154,"ajaxHandlers":193,"restRoutes":194,"shortcodes":195,"cronEvents":196,"entryPointCount":28,"unprotectedCount":28},[155,161,164,167,170,173,177,181,185,189,191],{"type":156,"name":157,"callback":158,"file":159,"line":160},"action","save_post","spmybpz_bottom_saved_posts","dpabottomofpostpage-functionality.php",1055,{"type":156,"name":162,"callback":158,"file":159,"line":163},"post_updated",1056,{"type":156,"name":165,"callback":158,"file":159,"line":166},"edit_post",1057,{"type":156,"name":168,"callback":158,"file":159,"line":169},"publish_post",1058,{"type":156,"name":171,"callback":158,"file":159,"line":172},"pre_post_update",1059,{"type":156,"name":174,"callback":175,"file":159,"line":176},"trash_post","spmybpz_bottom_trash_posts",1060,{"type":156,"name":178,"callback":179,"file":159,"line":180},"admin_menu","spmybpz_zbopp_actions",1061,{"type":182,"name":183,"callback":4,"file":159,"line":184},"filter","the_content",1069,{"type":156,"name":186,"callback":187,"file":159,"line":188},"wp_footer","dpabottomofpostpageEnd",1070,{"type":182,"name":183,"callback":4,"priority":46,"file":159,"line":190},1072,{"type":156,"name":186,"callback":187,"priority":46,"file":159,"line":192},1073,[],[],[],[],{"dangerousFunctions":198,"sqlUsage":294,"outputEscaping":296,"fileOperations":422,"externalRequests":28,"nonceChecks":28,"capabilityChecks":28,"bundledLibraries":423},[199,203,205,208,211,213,215,218,221,224,227,230,233,235,237,239,241,243,246,248,250,253,255,257,260,262,264,266,268,270,273,276,278,280,283,285,288,290,292],{"fn":200,"file":159,"line":201,"context":202},"unserialize",161,"$spmybpz_pplist = unserialize( $spmybpz_tmpstr );",{"fn":200,"file":159,"line":46,"context":204},"$spmybpz_ppplist = unserialize( $spmybpz_tmpstr );",{"fn":200,"file":159,"line":206,"context":207},278,"$spmybpz_data_str_buttons = unserialize( $spmybpz_tmpstr);",{"fn":200,"file":159,"line":209,"context":210},318,"$spmybpz_data_str = unserialize( $spmybpz_tmpstr);",{"fn":200,"file":159,"line":212,"context":202},334,{"fn":200,"file":159,"line":214,"context":204},344,{"fn":200,"file":159,"line":216,"context":217},380,"$spmybpz_post_SEO = unserialize( $spmybpz_tmpstr);",{"fn":200,"file":159,"line":219,"context":220},392,"$spmybpz_msg_array = unserialize( spmybpz_zbopp_read_file( $spmybpz_msg_array_file, 8 ));",{"fn":200,"file":159,"line":222,"context":223},397,"$spmybpz_tmpstr_html_array = unserialize( spmybpz_zbopp_read_file( $spmybpz_tmpstr_html_array_file, ",{"fn":200,"file":159,"line":225,"context":226},467,"$spmybpz_page_SEO = unserialize( $spmybpz_tmpstr);",{"fn":200,"file":159,"line":228,"context":229},478,"$spmybpz_page_msg_array = unserialize( spmybpz_zbopp_read_file( $spmybpz_page_msg_array_file, 11 ));",{"fn":200,"file":159,"line":231,"context":232},484,"$spmybpz_tmpstr_page_html_array = unserialize( spmybpz_zbopp_read_file( $spmybpz_tmpstr_page_html_ar",{"fn":200,"file":159,"line":234,"context":207},651,{"fn":200,"file":159,"line":236,"context":210},694,{"fn":200,"file":159,"line":238,"context":202},711,{"fn":200,"file":159,"line":240,"context":204},722,{"fn":200,"file":159,"line":242,"context":217},761,{"fn":200,"file":159,"line":244,"context":245},772,"$spmybpz_msg_array = unserialize( spmybpz_zbopp_read_file( $spmybpz_msg_array_file, 18 ));",{"fn":200,"file":159,"line":247,"context":223},778,{"fn":200,"file":159,"line":249,"context":226},848,{"fn":200,"file":159,"line":251,"context":252},859,"$spmybpz_page_msg_array = unserialize( spmybpz_zbopp_read_file( $spmybpz_page_msg_array_file, 21 ));",{"fn":200,"file":159,"line":254,"context":232},865,{"fn":200,"file":159,"line":256,"context":210},1028,{"fn":200,"file":258,"line":259,"context":210},"spmybpz_zbopp_setup_form.php",185,{"fn":200,"file":258,"line":261,"context":207},230,{"fn":200,"file":258,"line":263,"context":217},256,{"fn":200,"file":258,"line":265,"context":226},309,{"fn":200,"file":258,"line":267,"context":202},363,{"fn":200,"file":258,"line":269,"context":204},413,{"fn":200,"file":258,"line":271,"context":272},793,"$spmybpz_tmpstr = unserialize( spmybpz_zbopp_read_file( $spmybpz_setup_file, 36 ) );",{"fn":200,"file":258,"line":274,"context":275},882,"$spmybpz_tmpstr = unserialize( spmybpz_zbopp_read_file( $spmybpz_setup_file, 37 ) );",{"fn":200,"file":258,"line":277,"context":217},1019,{"fn":200,"file":258,"line":279,"context":226},1032,{"fn":200,"file":258,"line":281,"context":282},1079,"$spmybpz_msg_array = unserialize( spmybpz_zbopp_read_file( $spmybpz_msg_array_file, 41 ));",{"fn":200,"file":258,"line":284,"context":223},1083,{"fn":200,"file":258,"line":286,"context":287},1118,"$spmybpz_page_msg_array = unserialize( spmybpz_zbopp_read_file( $spmybpz_page_msg_array_file, 44 ));",{"fn":200,"file":258,"line":289,"context":232},1122,{"fn":200,"file":258,"line":291,"context":202},1430,{"fn":200,"file":258,"line":293,"context":204},1473,{"prepared":28,"raw":28,"locations":295},[],{"escaped":297,"rawEcho":298,"locations":299},4,82,[300,303,305,306,307,309,310,312,314,316,317,319,320,322,323,324,325,326,327,328,329,330,332,333,335,336,338,339,341,342,344,345,347,349,350,352,354,356,357,358,359,360,361,362,363,364,366,367,369,370,372,373,375,377,379,381,383,385,386,388,389,391,392,394,395,397,398,399,400,402,403,405,406,408,409,411,413,414,415,416,418,420],{"file":159,"line":301,"context":302},621,"raw output",{"file":258,"line":304,"context":302},1152,{"file":258,"line":304,"context":302},{"file":258,"line":304,"context":302},{"file":258,"line":308,"context":302},1153,{"file":258,"line":308,"context":302},{"file":258,"line":311,"context":302},1162,{"file":258,"line":313,"context":302},1163,{"file":258,"line":315,"context":302},1172,{"file":258,"line":315,"context":302},{"file":258,"line":318,"context":302},1173,{"file":258,"line":318,"context":302},{"file":258,"line":321,"context":302},1281,{"file":258,"line":321,"context":302},{"file":258,"line":321,"context":302},{"file":258,"line":321,"context":302},{"file":258,"line":321,"context":302},{"file":258,"line":321,"context":302},{"file":258,"line":321,"context":302},{"file":258,"line":321,"context":302},{"file":258,"line":321,"context":302},{"file":258,"line":331,"context":302},1284,{"file":258,"line":331,"context":302},{"file":258,"line":334,"context":302},1285,{"file":258,"line":334,"context":302},{"file":258,"line":337,"context":302},1286,{"file":258,"line":337,"context":302},{"file":258,"line":340,"context":302},1287,{"file":258,"line":340,"context":302},{"file":258,"line":343,"context":302},1288,{"file":258,"line":343,"context":302},{"file":258,"line":346,"context":302},1292,{"file":258,"line":348,"context":302},1305,{"file":258,"line":348,"context":302},{"file":258,"line":351,"context":302},1313,{"file":258,"line":353,"context":302},1314,{"file":258,"line":355,"context":302},1373,{"file":258,"line":355,"context":302},{"file":258,"line":355,"context":302},{"file":258,"line":355,"context":302},{"file":258,"line":355,"context":302},{"file":258,"line":355,"context":302},{"file":258,"line":355,"context":302},{"file":258,"line":355,"context":302},{"file":258,"line":355,"context":302},{"file":258,"line":365,"context":302},1374,{"file":258,"line":365,"context":302},{"file":258,"line":368,"context":302},1375,{"file":258,"line":368,"context":302},{"file":258,"line":371,"context":302},1384,{"file":258,"line":371,"context":302},{"file":258,"line":374,"context":302},1390,{"file":258,"line":376,"context":302},1419,{"file":258,"line":378,"context":302},1433,{"file":258,"line":380,"context":302},1461,{"file":258,"line":382,"context":302},1476,{"file":258,"line":384,"context":302},1489,{"file":258,"line":384,"context":302},{"file":258,"line":387,"context":302},1490,{"file":258,"line":387,"context":302},{"file":258,"line":390,"context":302},1491,{"file":258,"line":390,"context":302},{"file":258,"line":393,"context":302},1496,{"file":258,"line":393,"context":302},{"file":258,"line":396,"context":302},1501,{"file":258,"line":396,"context":302},{"file":258,"line":396,"context":302},{"file":258,"line":396,"context":302},{"file":258,"line":401,"context":302},1503,{"file":258,"line":401,"context":302},{"file":258,"line":404,"context":302},1504,{"file":258,"line":404,"context":302},{"file":258,"line":407,"context":302},1505,{"file":258,"line":407,"context":302},{"file":258,"line":410,"context":302},1506,{"file":258,"line":412,"context":302},1511,{"file":258,"line":412,"context":302},{"file":258,"line":412,"context":302},{"file":258,"line":412,"context":302},{"file":258,"line":417,"context":302},1526,{"file":258,"line":419,"context":302},1527,{"file":258,"line":421,"context":302},1528,6,[],[425,443,452],{"entryPoint":426,"graph":427,"unsanitizedCount":69,"severity":442},"dpabottomofpostpageEnd (dpabottomofpostpage-functionality.php:262)",{"nodes":428,"edges":439},[429,434],{"id":430,"type":431,"label":432,"file":159,"line":433},"n0","source","$_SERVER",530,{"id":435,"type":436,"label":437,"file":159,"line":301,"wp_function":438},"n1","sink","echo() [XSS]","echo",[440],{"from":430,"to":435,"sanitized":441},false,"medium",{"entryPoint":444,"graph":445,"unsanitizedCount":69,"severity":451},"\u003Cdpabottomofpostpage-functionality> (dpabottomofpostpage-functionality.php:0)",{"nodes":446,"edges":449},[447,448],{"id":430,"type":431,"label":432,"file":159,"line":433},{"id":435,"type":436,"label":437,"file":159,"line":301,"wp_function":438},[450],{"from":430,"to":435,"sanitized":441},"low",{"entryPoint":453,"graph":454,"unsanitizedCount":422,"severity":470},"\u003Cspmybpz_zbopp_setup_form> (spmybpz_zbopp_setup_form.php:0)",{"nodes":455,"edges":467},[456,459,461,465],{"id":430,"type":431,"label":457,"file":258,"line":458},"$_POST (x4)",691,{"id":435,"type":436,"label":460,"file":258,"line":277,"wp_function":200},"unserialize() [Object Injection]",{"id":462,"type":431,"label":463,"file":258,"line":464},"n2","$_POST (x2)",558,{"id":466,"type":436,"label":437,"file":258,"line":311,"wp_function":438},"n3",[468,469],{"from":430,"to":435,"sanitized":441},{"from":462,"to":466,"sanitized":441},"high",{"summary":472,"deductions":473},"The 'dpabottomofpostpage' plugin exhibits a mixed security posture. While it boasts zero known CVEs and a clean vulnerability history, suggesting a generally stable codebase over time, the static analysis reveals significant concerns. The presence of 39 dangerous function calls, particularly `unserialize`, combined with taint analysis showing flows with unsanitized paths, is a major red flag.  Specifically, a high-severity taint flow indicates a potential for malicious data manipulation. The fact that 95% of output is not properly escaped presents a high risk of Cross-Site Scripting (XSS) vulnerabilities. The complete lack of nonce checks and capability checks on entry points, which are zero in this case, offers no protection against unauthorized actions if any were to be discovered.  While the plugin's minimal attack surface and exclusive use of prepared statements for SQL are positive attributes, the identified issues with data sanitization, output escaping, and the inherent risks of deserialization present a substantial security risk that requires immediate attention.",[474,477,480,483,485],{"reason":475,"points":476},"Unsanitized path in taint flow (high severity)",12,{"reason":478,"points":479},"Dangerous function 'unserialize' present",10,{"reason":481,"points":482},"Insufficient output escaping (95% unescaped)",8,{"reason":484,"points":48},"No nonce checks on entry points",{"reason":486,"points":48},"No capability checks on entry points","2026-03-16T22:39:15.089Z",{"wat":489,"direct":498},{"assetPaths":490,"generatorPatterns":493,"scriptPaths":494,"versionParams":495},[491,492],"\u002Fwp-content\u002Fplugins\u002Fdpabottomofpostpage\u002Fspmybpz_zbopp_setup_form.js","\u002Fwp-content\u002Fplugins\u002Fdpabottomofpostpage\u002Fspmybpz_zbopp_setup_form.css",[],[491],[496,497],"dpabottomofpostpage\u002Fspmybpz_zbopp_setup_form.css?ver=","dpabottomofpostpage\u002Fspmybpz_zbopp_setup_form.js?ver=",{"cssClasses":499,"htmlComments":501,"htmlAttributes":504,"restEndpoints":506,"jsGlobals":507,"shortcodeOutput":509},[500],"spmybpz_zbopp_setup_form_wrap",[502,503],"\u003C!-- dpabottomofpostpage setup form -->","\u003C!-- end of dpabottomofpostpage setup form -->",[505],"data-tab-id",[],[508],"spmybpz_zbopp_var",[]]