{"id":378265,"date":"2026-10-10T05:38:48","date_gmt":"2026-10-10T05:38:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/broken-here\/"},"modified":"2026-10-10T05:38:41","modified_gmt":"2026-10-10T05:38:41","slug":"broken-here","status":"publish","type":"plugin","link":"https:\/\/tir.wordpress.org\/plugins\/broken-here\/","author":23576872,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.3","requires":"6.4","requires_php":"7.4","requires_plugins":null,"header_name":"Broken Here","header_author":"Broken Here","header_description":"A Report issue button for your site. Each report reaches your team with a screenshot, the page, the browser and the errors behind it.","assets_banners_color":"8587dc","last_updated":"2026-10-10 05:38:41","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/brokenhere.com\/docs\/wordpress","header_author_uri":"https:\/\/brokenhere.com\/?ref=wordpress-plugin","rating":0,"author_block_rating":0,"active_installs":0,"downloads":43,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"brokenhere","date":"2026-10-10 05:38:41","revision":3737630}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3737630,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3737630,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3737630,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3737630,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3737630,"resolution":"1","location":"assets","locale":"","width":1920,"height":1200},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3737630,"resolution":"2","location":"assets","locale":"","width":1920,"height":1620},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3737630,"resolution":"3","location":"assets","locale":"","width":1920,"height":1080}},"screenshots":{"1":"The Report issue button and the report form on a WordPress site.","2":"The report your team gets: the screenshot, the page, the browser, the errors and the failed requests.","3":"Settings \u203a Broken Here: the key, where the button sits and who can report."}},"plugin_section":[],"plugin_tags":[253348,14791,145645,24832,147509],"plugin_category":[],"plugin_contributors":[285476],"plugin_business_model":[],"class_list":["post-378265","plugin","type-plugin","status-publish","hentry","plugin_tags-bug-report","plugin_tags-bug-tracking","plugin_tags-client-feedback","plugin_tags-feedback-widget","plugin_tags-website-feedback","plugin_contributors-brokenhere","plugin_committers-brokenhere"],"banners":{"banner":"https:\/\/ps.w.org\/broken-here\/assets\/banner-772x250.png?rev=3737630","banner_2x":"https:\/\/ps.w.org\/broken-here\/assets\/banner-1544x500.png?rev=3737630","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/broken-here\/assets\/icon-128x128.png?rev=3737630","icon_2x":"https:\/\/ps.w.org\/broken-here\/assets\/icon-256x256.png?rev=3737630","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/broken-here\/assets\/screenshot-1.png?rev=3737630","caption":"The Report issue button and the report form on a WordPress site."},{"src":"https:\/\/ps.w.org\/broken-here\/assets\/screenshot-2.png?rev=3737630","caption":"The report your team gets: the screenshot, the page, the browser, the errors and the failed requests."},{"src":"https:\/\/ps.w.org\/broken-here\/assets\/screenshot-3.png?rev=3737630","caption":"Settings \u203a Broken Here: the key, where the button sits and who can report."}],"raw_content":"<!--section=description-->\n<p>Somebody finds something broken on your site: a client, a colleague, a customer. They press <strong>Report issue<\/strong>, write one sentence and send it.<\/p>\n\n<p>Your team gets a report with everything they never typed:<\/p>\n\n<ul>\n<li>a screenshot of the page, with password fields blurred before it is taken<\/li>\n<li>the page's address, the browser, the operating system and the screen size<\/li>\n<li>the element on the page, if they pointed at one<\/li>\n<li>the JavaScript errors and console warnings from your site's own code<\/li>\n<li>the requests that failed around the moment they reported<\/li>\n<\/ul>\n\n<p>Nobody has to explain what they were doing, and nobody has to ask them what browser they use.<\/p>\n\n<h4>Nobody needs an account to report<\/h4>\n\n<p>The people reporting write a sentence and press Send. No sign-up, no email address required, nothing to install. That is the point: the person who finds the bug is rarely the person who can fix it.<\/p>\n\n<h4>Made for sites you build for someone else<\/h4>\n\n<p>Send your client the site, and their \"the form doesn't work\" arrives with the error that stopped it. Before launch, show the button only to people logged in to the site, so your client can report and visitors see nothing. After launch, turn it on for everyone.<\/p>\n\n<h4>Where the reports go<\/h4>\n\n<p>To your inbox on brokenhere.com, as an email to your team if they want one, and into the tracker your team already uses once you connect it. A developer can hand a report to a coding agent, which opens a fix for your team to review.<\/p>\n\n<h4>Light on your pages<\/h4>\n\n<p>The button loads after your page and never delays it. The screenshot tool is only downloaded when somebody starts a report.<\/p>\n\n<h4>Getting started<\/h4>\n\n<ol>\n<li>Install and activate the plugin.<\/li>\n<li><a href=\"https:\/\/brokenhere.com\/login?mode=up&amp;ref=wordpress-directory\">Create a free account<\/a> on brokenhere.com and add your site.<\/li>\n<li>Paste your project key under <strong>Settings \u203a Broken Here<\/strong>.<\/li>\n<\/ol>\n\n<p>Broken Here is free for one site. Plans for more sites are on <a href=\"https:\/\/brokenhere.com\/pricing?ref=wordpress-directory\">brokenhere.com\/pricing<\/a>.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects your site to Broken Here (https:\/\/brokenhere.com), a bug-reporting service. Nothing is loaded from it until you save a project key.<\/p>\n\n<p>With a key saved, the pages of your site (every page, or only pages seen by people logged in to WordPress, as you choose) load the Broken Here widget, <code>https:\/\/brokenhere.com\/w.js<\/code>, in the visitor's browser. When it loads, the widget asks brokenhere.com for your project's settings; that request says which site it came from, which is how your project's Setup shows that the button is live.<\/p>\n\n<p>When somebody sends a report, the widget sends Broken Here:<\/p>\n\n<ul>\n<li>what they wrote, and their name and email only if they give them;<\/li>\n<li>the page's address, with the value of any parameter named like a secret (a token, a password, a session) replaced in the browser;<\/li>\n<li>the browser, operating system, window size and language;<\/li>\n<li>a screenshot of the page, with password fields and any area you choose blurred in the browser first, and any images they attach;<\/li>\n<li>the element they pointed at, if they did;<\/li>\n<li>recent JavaScript errors and console warnings and errors from your site's own code;<\/li>\n<li>recent and failed network requests: the address without its query string, the method, the status and how long it took.<\/li>\n<\/ul>\n\n<p>Request bodies are sent only if you turn that on in your project's settings, only for failed requests to your own site, with anything under a secret-looking name replaced in the browser. The widget never sends request or response headers, cookies or <code>console.log<\/code> output, and it sets no cookies. It keeps an unsent report in the visitor's own browser so it is not lost, and a sign-in token for your team members. On the free plan, the report form shows a small link to brokenhere.com.<\/p>\n\n<p>Broken Here's terms of service: https:\/\/brokenhere.com\/terms\nBroken Here's privacy policy: https:\/\/brokenhere.com\/privacy<\/p>\n\n<!--section=installation-->\n<ol>\n<li>In your WordPress admin, go to <strong>Plugins \u203a Add New Plugin<\/strong>, search for <strong>Broken Here<\/strong>, then install and activate it.<\/li>\n<li>Create a free account at <a href=\"https:\/\/brokenhere.com\/login?mode=up&amp;ref=wordpress-directory\">brokenhere.com<\/a> and add your site. Your project's <strong>Setup<\/strong> shows its key, which starts with <code>wq_<\/code>.<\/li>\n<li>Go to <strong>Settings \u203a Broken Here<\/strong> and paste the key. Pasting the whole script tag from Setup works too.<\/li>\n<li>Open your site. The <strong>Report issue<\/strong> button is in the bottom right corner, and your project's Setup says <strong>Live<\/strong>.<\/li>\n<\/ol>\n\n<p>If a caching plugin is active, clear its cache after saving, so visitors get pages with the button.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20the%20people%20reporting%20need%20an%20account%3F\"><h3>Do the people reporting need an account?<\/h3><\/dt>\n<dd><p>No. They write a sentence and press Send. Adding their name or email is up to them.<\/p><\/dd>\n<dt id=\"where%20do%20i%20find%20my%20project%20key%3F\"><h3>Where do I find my project key?<\/h3><\/dt>\n<dd><p>On brokenhere.com, open your project, then <strong>Settings \u203a Setup<\/strong>. The key starts with <code>wq_<\/code>.<\/p><\/dd>\n<dt id=\"can%20i%20show%20the%20button%20only%20to%20my%20client%3F\"><h3>Can I show the button only to my client?<\/h3><\/dt>\n<dd><p>Yes. Under <strong>Settings \u203a Broken Here<\/strong>, choose <strong>Only people logged in to this site<\/strong>. Give your client a login to the site, and visitors see nothing.<\/p><\/dd>\n<dt id=\"can%20i%20use%20my%20own%20link%20instead%20of%20the%20floating%20button%3F\"><h3>Can I use my own link instead of the floating button?<\/h3><\/dt>\n<dd><p>Yes. Any link to <code>#report-a-bug<\/code> opens the report form: add a menu item, a button or a link with that address. To hide the floating button, set <strong>Button<\/strong> to <strong>No floating button, only my own links<\/strong>.<\/p><\/dd>\n<dt id=\"can%20i%20move%20the%20button%20or%20change%20its%20colour%3F\"><h3>Can I move the button or change its colour?<\/h3><\/dt>\n<dd><p>Choose a corner under <strong>Settings \u203a Broken Here<\/strong>. For the colours, add this to <strong>Appearance \u203a Customize \u203a Additional CSS<\/strong> (or <strong>Styles \u203a Additional CSS<\/strong> in the site editor) with your own colour:<\/p>\n\n<pre><code>[data-wq-root] { --wq-accent: #2f6b4f; }\n<\/code><\/pre>\n\n<p>The <a href=\"https:\/\/brokenhere.com\/docs\/customising?ref=wordpress-directory\">customising guide<\/a> lists every colour and font you can set.<\/p><\/dd>\n<dt id=\"does%20it%20slow%20my%20site%20down%3F\"><h3>Does it slow my site down?<\/h3><\/dt>\n<dd><p>No. The button loads asynchronously after your page. A small script in the page's head keeps any error thrown while the page loads until the button arrives; it only listens.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20caching%20and%20optimization%20plugins%3F\"><h3>Does it work with caching and optimization plugins?<\/h3><\/dt>\n<dd><p>Yes. Clear the cache after changing the settings. If your optimization plugin delays JavaScript until the visitor scrolls or taps, the button appears then. The small script that keeps errors from the start of the page load is marked so that WP Rocket, LiteSpeed Cache, Jetpack Boost and Cloudflare's Rocket Loader run it straight away; with another plugin that delays it, add <code>broken-here-early<\/code> to that plugin's list of scripts not to delay.<\/p><\/dd>\n<dt id=\"is%20it%20gdpr-friendly%3F%20does%20it%20set%20cookies%3F\"><h3>Is it GDPR-friendly? Does it set cookies?<\/h3><\/dt>\n<dd><p>The button sets no cookies. Password fields are blurred in the visitor's browser before the screenshot is taken, and addresses lose anything that looks like a secret before they are sent. Headers, cookies and <code>console.log<\/code> output are never collected. The details are under External services, below, and in <a href=\"https:\/\/brokenhere.com\/docs\/privacy?ref=wordpress-directory\">what gets captured<\/a>.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20woocommerce%20and%20page%20builders%3F\"><h3>Does it work with WooCommerce and page builders?<\/h3><\/dt>\n<dd><p>Yes. The button is added to every page your theme prints, whatever built it.<\/p><\/dd>\n<dt id=\"what%20about%20multisite%3F\"><h3>What about multisite?<\/h3><\/dt>\n<dd><p>Each site in a network is a site in Broken Here, with its own key under its own <strong>Settings \u203a Broken Here<\/strong>.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20reports%20if%20i%20delete%20the%20plugin%3F\"><h3>What happens to my reports if I delete the plugin?<\/h3><\/dt>\n<dd><p>They stay in Broken Here. Deleting the plugin removes its settings from WordPress and nothing else.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release: the Report issue button on every page, or only for people logged in, in the corner you choose or opened from your own links.<\/li>\n<\/ul>","raw_excerpt":"A Report issue button for your site. Each report reaches your team with a screenshot, the page, the browser and the errors behind it.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/tir.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/378265","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tir.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/tir.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/tir.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=378265"}],"author":[{"embeddable":true,"href":"https:\/\/tir.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/brokenhere"}],"wp:attachment":[{"href":"https:\/\/tir.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=378265"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/tir.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=378265"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/tir.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=378265"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/tir.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=378265"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/tir.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=378265"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/tir.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=378265"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}