{"id":380309,"date":"2026-10-09T10:37:18","date_gmt":"2026-10-09T10:37:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/barterbanner\/"},"modified":"2026-10-09T10:48:40","modified_gmt":"2026-10-09T10:48:40","slug":"barterbanner","status":"publish","type":"plugin","link":"https:\/\/ro.wordpress.org\/plugins\/barterbanner\/","author":23579191,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.7.0","stable_tag":"1.7.0","tested":"7.1.3","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"BarterBanner","header_author":"BarterBanner","header_description":"Traffic exchange for the independent web. Place recommendation blocks and banners, earn credits, get your own pages shown on other sites.","assets_banners_color":"","last_updated":"2026-10-09 10:48:40","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/barterbanner.com","header_author_uri":"https:\/\/profiles.wordpress.org\/coloterra\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":64,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.6.1":{"tag":"1.6.1","author":"coloterra","date":"2026-10-09 10:36:50","revision":3736419},"1.7.0":{"tag":"1.7.0","author":"coloterra","date":"2026-10-09 10:48:40","revision":3736433}},"upgrade_notice":{"1.7.0":"<p>Adds pinned blocks (sticky, bottom bar, side columns). Existing blocks stay\nas they are until you choose a pinning.<\/p>","1.6.1":"<p>Settings sanitization uses a WordPress core function. Nothing else changes.<\/p>","1.6.0":"<p>Cleaner uninstall and a full description of what the plugin sends to\nBarterBanner. No change to how blocks are shown.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3736419,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3736419,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3736419,"resolution":false,"location":"assets","locale":false}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.6.1","1.7.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[2608,42611,3669,1089,19820],"plugin_category":[53],"plugin_contributors":[285322],"plugin_business_model":[],"class_list":["post-380309","plugin","type-plugin","status-publish","hentry","plugin_tags-banners","plugin_tags-native-ads","plugin_tags-recommendations","plugin_tags-related-posts","plugin_tags-traffic-exchange","plugin_category-ratings-and-reviews","plugin_contributors-coloterra","plugin_committers-coloterra"],"banners":[],"icons":{"svg":"https:\/\/ps.w.org\/barterbanner\/assets\/icon.svg?rev=3736419","icon":"https:\/\/ps.w.org\/barterbanner\/assets\/icon.svg?rev=3736419","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Search traffic to small sites has fallen, and a niche blog rarely has a\nnewsletter, an app or a brand to fall back on. BarterBanner is one answer to\nthat gap: you show recommendation blocks from other participants, earn\ncredits, and spend them getting your own pages shown elsewhere.<\/p>\n\n<p>No money changes hands inside the exchange. Credits are earned and spent at a\nrate based on the measured quality of each site, so a site sending real\nreaders earns far more per impression than one sending bots. Every credit\nmovement is listed in your statement, with the other site named.<\/p>\n\n<p>The plugin connects your WordPress site to the BarterBanner service at\nhttps:\/\/barterbanner.com. You need a free BarterBanner account; see\n\"External services\" below for exactly what is exchanged with it.<\/p>\n\n<p><strong>What the plugin does<\/strong><\/p>\n\n<ul>\n<li>Adds the widget script to your pages \u2014 once per page, however many blocks\nyou place.<\/li>\n<li>Prints the domain verification meta tag, so you can activate your site\nwithout touching a template.<\/li>\n<li>Places blocks automatically inside posts, or manually via shortcode or a\n  do_action( 'barterbanner_block' ) hook for page builders.<\/li>\n<li>Tells you on its settings page whether the block is actually being shown.<\/li>\n<\/ul>\n\n<p><strong>Formats<\/strong><\/p>\n\n<ul>\n<li>Recommendation cards \u2014 1, 3 or 5 per block<\/li>\n<li>Banners \u2014 300x250, 728x90, 160x600, 320x50, responsive<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin relies on the BarterBanner service (https:\/\/barterbanner.com),\noperated by the BarterBanner project. Nothing is sent until you enter a site\ncode on the plugin's settings page.<\/p>\n\n<p><strong>1. The widget script, in your readers' browsers<\/strong><\/p>\n\n<p>On pages that carry a block, the plugin loads <code>https:\/\/barterbanner.com\/widget.js<\/code>.\nThe script then talks to the BarterBanner API from the reader's browser:<\/p>\n\n<ul>\n<li>to fetch the cards to show (<code>\/api\/widget\/banners<\/code>): your site code, the\nblock formats and the page language;<\/li>\n<li>for each card, once its block has been seen or the reader leaves the\npage (<code>\/api\/widget\/impression<\/code>; a view counts when at least half of the\nblock, 30% for a very large one, was on screen for one second without a\nbreak and two seconds in all): the single-use impression key the server\nissued for that card, the view time, whether the rule was met, the widget\nversion and the measurements behind that decision (the share of the block\nrequired and the best share seen, the share of the screen it covered, the\nlongest unbroken stretch) and how the block is pinned (not pinned,\nsticky, bottom bar, side column, or pinned by the page's own CSS);<\/li>\n<li>when a reader clicks a card (<code>\/api\/widget\/click<\/code>): that card's impression\nkey;<\/li>\n<li>on the destination site, if it also runs BarterBanner\n(<code>\/api\/widget\/landing<\/code>): the click key, that site's code, how long the\nreader stayed, how many pages of that site they opened in the tab and\nwhether they scrolled past half of a page.<\/li>\n<\/ul>\n\n<p>As with any web request, the service receives the reader's IP address,\nbrowser user agent and the page address (Referer). BarterBanner stores\nfingerprints of the IP address and of the user agent, made with a secret\nkey held only on its server (HMAC-SHA-256), not the values themselves; the\npage address is not stored. A fingerprint is a pseudonym, not\nanonymisation, and is treated as personal data in the privacy policy.<\/p>\n\n<p>The script sets no cookies and uses no local storage. After a reader clicks\na card, the script on the destination site keeps one page counter in\nsession storage, which the browser clears when the tab is closed.<\/p>\n\n<p><strong>2. Page count, from your server (optional)<\/strong><\/p>\n\n<p>If \"Count pages served\" is enabled, your server reports to\n    https:\/\/barterbanner.com\/api\/widget\/pageviews how many pages carried a block:\nyour site code, the date and the count \u2014 once per 25 pages or 30 minutes.\nNothing about readers is sent. You can turn this off on the settings page.<\/p>\n\n<p><strong>3. Domain verification<\/strong><\/p>\n\n<p>The verification token you paste is printed as a meta tag in your pages. The\nservice reads it from your home page when you press Check in your\nBarterBanner dashboard, and again about once a month to confirm the site is\nstill yours.<\/p>\n\n<ul>\n<li>Terms of use: https:\/\/barterbanner.com\/terms<\/li>\n<li>Privacy policy: https:\/\/barterbanner.com\/privacy<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Register at barterbanner.com and add your site.<\/li>\n<li>Install and activate this plugin.<\/li>\n<li>Open Settings \u2192 BarterBanner.<\/li>\n<li>Paste the verification token, save, then press Check in your dashboard.<\/li>\n<li>Paste the site code, pick where blocks should appear, save.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20to%20place%20the%20code%20manually%3F\"><h3>Do I need to place the code manually?<\/h3><\/dt>\n<dd><p>No. Choose a position under Settings \u2192 BarterBanner and blocks appear inside\nyour posts. The shortcode <code>[barterbanner format=\"native-3\"]<\/code> is there for\nfiner control.<\/p><\/dd>\n<dt id=\"my%20site%20is%20built%20with%20oxygen%2C%20bricks%20or%20elementor.\"><h3>My site is built with Oxygen, Bricks or Elementor.<\/h3><\/dt>\n<dd><p>Page builders draw templates themselves and bypass automatic insertion. The\nsettings page detects them and shows two ways to place a block: the shortcode\nin a text element, or <code>do_action( 'barterbanner_block' );<\/code> in a code element.<\/p><\/dd>\n<dt id=\"where%20should%20a%20block%20go%3F\"><h3>Where should a block go?<\/h3><\/dt>\n<dd><p>The middle of a post gets far more attention than the footer. Attention\nraises your quality score, and quality is what your impressions are worth.<\/p><\/dd>\n<dt id=\"does%20it%20slow%20the%20site%20down%3F\"><h3>Does it slow the site down?<\/h3><\/dt>\n<dd><p>The script loads asynchronously and after the page content. Blocks fill in\nonce the page is usable.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20settings%20if%20i%20delete%20the%20plugin%3F\"><h3>What happens to my settings if I delete the plugin?<\/h3><\/dt>\n<dd><p>Deleting the plugin removes all of its settings from your database.\nDeactivating it keeps them.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.7.0<\/h4>\n\n<ul>\n<li>Pinning: a block can stick while scrolling, sit in a bar at the bottom of\nthe screen, or in a column at the left or right edge (wide screens only).\nSet it on the settings page, or with pin=\"...\" in the shortcode. A pinned\nblock starts counting view time only after the reader has scrolled.<\/li>\n<li>Banner formats name their orientation (horizontal, vertical, rectangle).<\/li>\n<\/ul>\n\n<h4>1.6.1<\/h4>\n\n<ul>\n<li>On\/off settings are sanitized with WordPress's own wp_validate_boolean(), so \"false\" is read as off.<\/li>\n<\/ul>\n\n<h4>1.6.0<\/h4>\n\n<ul>\n<li>Settings are removed from the database when the plugin is deleted.<\/li>\n<li>Settings page styles are loaded the WordPress way, only on that page.<\/li>\n<li>Request data and block output are sanitized and escaped throughout.<\/li>\n<li>Readme: an \"External services\" section describing exactly what is sent to\nBarterBanner, and when.<\/li>\n<\/ul>\n\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>The page count skips robots: crawlers and scripts that announce\nthemselves, and requests without a user agent, no longer inflate it.<\/li>\n<li>Small sites report the count every 30 minutes as well as every 25 pages,\nso a quiet site's count is no longer lost at midnight.<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Automatic insertion now works under page builders. The check required the\nmain loop, and builders such as Oxygen render post content outside it, so\nthe block appeared on no page at all. A once-per-request guard replaces the\nloop requirement and serves the same purpose.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Tells you on the settings page whether the block is actually being shown,\nand when it last appeared. No more hunting through page source.<\/li>\n<li>Page builders (Oxygen, Bricks, Elementor) are detected. They draw templates\nthemselves and bypass automatic insertion, so the plugin says so instead of\nstaying silent, and offers a shortcode and a do_action hook.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Choose where the block appears: posts, pages, or both.<\/li>\n<li>Front page excluded by default, and any post or page can be excluded by id.<\/li>\n<li>The block now carries the language of the page, so cards come back in the\nlanguage the reader is reading rather than the one their browser is set to.<\/li>\n<li>Optional count of pages served with a block. A reader with an ad blocker\nnever loads the widget, so without this count every rate in the dashboard\ndivides by an unknown number. Nothing about the reader is sent.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release: settings page, verification meta tag, shortcode and\nauto-insertion into posts.<\/li>\n<\/ul>","raw_excerpt":"Traffic exchange for the independent web. Show other sites, get shown on theirs.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/380309","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=380309"}],"author":[{"embeddable":true,"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/coloterra"}],"wp:attachment":[{"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=380309"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=380309"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=380309"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=380309"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=380309"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=380309"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}