{"id":388688,"date":"2026-10-23T09:59:51","date_gmt":"2026-10-23T09:59:51","guid":{"rendered":"https:\/\/ru.wordpress.org\/plugins\/no-copy-photo-protection\/"},"modified":"2026-10-23T10:26:31","modified_gmt":"2026-10-23T10:26:31","slug":"nocopyru-photo-watermark","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/nocopyru-photo-watermark\/","author":23588169,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"7.1.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"NoCopyRU \u2013 Photo Watermark & Registry","header_author":"No Copy","header_description":"No Copy hidden watermark for Media Library photos, a registry record and No Copy AI search for copies. The \u201cProtected by No Copy\u201d badge and protection against saving photos on the site.","assets_banners_color":"091f43","last_updated":"2026-10-23 10:26:31","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/dashboard.no-copy.ru\/","header_author_uri":"https:\/\/no-copy.ru\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":99,"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":"nocopy","date":"2026-10-23 09:59:42","revision":3761353},"1.0.1":{"tag":"1.0.1","author":"nocopy","date":"2026-10-23 10:26:31","revision":3761401}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3761373,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3761373,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3761373,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3761373,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"nocopy\/badge":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"nocopy\/badge","title":"No Copy badge","category":"widgets","description":"The \u201cProtected by No Copy\u201d badge with a link to the verification page. It is shown only on your site.","keywords":["No Copy","badge","protection","copyright"],"textdomain":"nocopyru-photo-watermark","attributes":{"style":{"type":"string","default":""},"caption":{"type":"string","default":""},"lang":{"type":"string","default":""},"align":{"type":"string","default":""}},"supports":{"html":false,"align":false},"editorScript":"file:.\/index.js"}},"tagged_versions":["1.0.0","1.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3761436,"resolution":"1","location":"assets","locale":"","width":2940,"height":1432},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3761436,"resolution":"2","location":"assets","locale":"","width":2940,"height":1482},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3761436,"resolution":"3","location":"assets","locale":"","width":2940,"height":1400}},"screenshots":{"1":"Settings page: connection, protection on upload, Media Library protection.","2":"Badge and copy protection settings.","3":"The \"No Copy\" column in the Media Library."}},"plugin_section":[],"plugin_tags":[2972,19833,233,22129,3241],"plugin_category":[],"plugin_contributors":[288041],"plugin_business_model":[],"class_list":["post-388688","plugin","type-plugin","status-publish","hentry","plugin_tags-copyright","plugin_tags-image-protection","plugin_tags-media-library","plugin_tags-right-click","plugin_tags-watermark","plugin_contributors-nocopy","plugin_committers-nocopy"],"banners":{"banner":"https:\/\/ps.w.org\/nocopyru-photo-watermark\/assets\/banner-772x250.png?rev=3761373","banner_2x":"https:\/\/ps.w.org\/nocopyru-photo-watermark\/assets\/banner-1544x500.png?rev=3761373","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/nocopyru-photo-watermark\/assets\/icon-128x128.png?rev=3761373","icon_2x":"https:\/\/ps.w.org\/nocopyru-photo-watermark\/assets\/icon-256x256.png?rev=3761373","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/nocopyru-photo-watermark\/assets\/screenshot-1.png?rev=3761436","caption":"Settings page: connection, protection on upload, Media Library protection."},{"src":"https:\/\/ps.w.org\/nocopyru-photo-watermark\/assets\/screenshot-2.png?rev=3761436","caption":"Badge and copy protection settings."},{"src":"https:\/\/ps.w.org\/nocopyru-photo-watermark\/assets\/screenshot-3.png?rev=3761436","caption":"The \"No Copy\" column in the Media Library."}],"raw_content":"<!--section=description-->\n<p>NoCopyRU \u2013 Photo Watermark &amp; Registry connects your WordPress site to your No Copy account (https:\/\/no-copy.ru\/), a copyright protection service for photos.<\/p>\n\n<p>Every feature is turned on separately on the plugin settings page.<\/p>\n\n<ul>\n<li><strong>Protection on upload.<\/strong> JPG, PNG and WEBP photos uploaded to the Media Library receive the No Copy hidden watermark and a registry record before WordPress creates thumbnails, so only the protected version is published. The file keeps its format; author fields (Artist, Copyright, IPTC By-line and similar) are preserved.<\/li>\n<li><strong>Protection of existing photos.<\/strong> Photos uploaded earlier are protected by a background queue (WP-Cron) in small batches, with progress on the settings page. Photos that are already protected are skipped. The queue pauses when the account runs out of tokens and resumes after a top-up.<\/li>\n<li><strong>Media Library status.<\/strong> A \"No Copy\" column shows the status of each photo: Protected (date and ID), Not protected (with the reason), In queue, Error. You can protect a single file or use the bulk action.<\/li>\n<li><strong>\"Protected by No Copy\" badge.<\/strong> Add it with the <code>[nocopy_badge]<\/code> shortcode, the \"No Copy badge\" block, the widget, or the \"Show in the site footer\" option. The badge links to a public verification page with the number of registered works and the protection date. It is displayed only on your domain.<\/li>\n<li><strong>Copy protection.<\/strong> Prevents saving photos with right-click and drag-and-drop. Optionally, right-click, text selection and Ctrl+S are disabled on the whole page.<\/li>\n<li><strong>Optional WEBP conversion.<\/strong> Protected JPG and PNG photos can be stored as WEBP, together with their thumbnails.<\/li>\n<\/ul>\n\n<p>If a photo is copied anyway, No Copy AI search finds the copy, and the hidden watermark and the registry record help to prove authorship.<\/p>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>A No Copy account on the \"Pro\" plan or higher (API access).<\/li>\n<li>An API key from your No Copy account: section \"API upload\" (https:\/\/dashboard.no-copy.ru\/lite\/api-console.php).<\/li>\n<li>Tokens on the account balance. Protection is charged according to your plan; the current price per photo is shown on the plugin settings page.<\/li>\n<\/ul>\n\n<p>The plugin is translation-ready. The Russian translation will be delivered through translate.wordpress.org.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin relies on the No Copy service (https:\/\/no-copy.ru\/), operated by the No Copy team. API address: https:\/\/dashboard.no-copy.ru\/.<\/p>\n\n<ul>\n<li><strong>Photo protection.<\/strong> When a photo is protected (on upload, from the Media Library or by the queue), the image file and its file name are sent to https:\/\/dashboard.no-copy.ru\/api\/v1\/protect.php. The protected file is returned and stored in your Media Library. The work also appears in your No Copy account.<\/li>\n<li><strong>Account details.<\/strong> When you connect the API key and open the settings page, the plugin requests your account name, e-mail, plan and token balance from https:\/\/dashboard.no-copy.ru\/api\/v1\/index.php?e=me. The request includes the plugin version, the WordPress version and the site domain.<\/li>\n<li><strong>Site linking.<\/strong> When you link the site (required for the badge and copy protection), the site address is sent to https:\/\/dashboard.no-copy.ru\/api\/v1\/site.php.<\/li>\n<li><strong>Badge and copy protection.<\/strong> When these options are enabled, visitors' browsers load the scripts https:\/\/dashboard.no-copy.ru\/api\/w\/badge.js and https:\/\/dashboard.no-copy.ru\/api\/w\/guard.js. The badge requests public statistics (number of works, protection date) from the same server. Once every few hours, the browser sends a request with the page address so that No Copy can confirm the code is installed. The scripts do not set cookies.<\/li>\n<\/ul>\n\n<p>No data is sent until you enter an API key or enable the badge and copy protection.<\/p>\n\n<p>Terms of service: https:\/\/no-copy.ru\/\nPrivacy policy: https:\/\/dashboard.no-copy.ru\/confidential.html<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>nocopyru-photo-watermark<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install the ZIP archive via Plugins \u2192 Add New \u2192 Upload Plugin.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Open \"No Copy\" in the admin menu, paste your API key and click \"Connect\".<\/li>\n<li>Turn on the features you need: protection on upload, copy protection, footer badge.<\/li>\n<li>To protect photos uploaded earlier, click \"Protect unprotected\".<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"which%20formats%20are%20supported%3F\"><h3>Which formats are supported?<\/h3><\/dt>\n<dd><p>JPG, PNG and WEBP. A protected file keeps its format. You can optionally save protected JPG photos as PNG (larger files without any quality loss) or convert JPG and PNG photos to WEBP.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20there%20are%20not%20enough%20tokens%20or%20no%20copy%20does%20not%20respond%3F\"><h3>What happens if there are not enough tokens or No Copy does not respond?<\/h3><\/dt>\n<dd><p>The photo is uploaded as usual, without protection, and is marked \"Not protected\" with the reason. You can protect it later with the \"Protect again\" button in the Media Library. A repeated request for the same file is not charged twice.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20old%20image%20urls%20when%20the%20format%20changes%3F\"><h3>What happens to old image URLs when the format changes?<\/h3><\/dt>\n<dd><p>If a file is converted (for example, to WEBP), copies made from the protected file remain at the old URLs. Links in posts and in search engines keep working, and no unprotected copies remain on the site.<\/p><\/dd>\n<dt id=\"photos%20larger%20than%204500%20px\"><h3>Photos larger than 4500 px<\/h3><\/dt>\n<dd><p>No Copy accepts images up to a certain side length (currently 4500 px). By default the plugin downsizes larger photos to this limit before protection. If you turn this option off, such photos are left unprotected.<\/p><\/dd>\n<dt id=\"does%20the%20badge%20work%20on%20localhost%3F\"><h3>Does the badge work on localhost?<\/h3><\/dt>\n<dd><p>No. The badge and copy protection are issued for the site domain; IP addresses and localhost are not supported.<\/p><\/dd>\n<dt id=\"what%20is%20removed%20when%20the%20plugin%20is%20deleted%3F\"><h3>What is removed when the plugin is deleted?<\/h3><\/dt>\n<dd><p>Plugin settings and protection statuses in the Media Library. Protected files stay in place, and the works remain in your No Copy account.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Added the bundled Russian translation (ru_RU) for the admin screens and the block editor.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release: protection on upload, background queue for the Media Library, Media Library column and actions, badge (shortcode, block, widget, footer), copy protection, optional WEBP conversion.<\/li>\n<\/ul>","raw_excerpt":"Adds the No Copy hidden watermark and a registry record to Media Library photos, shows a \"Protected by No Copy\" badge and blocks saving photos.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/388688","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=388688"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/nocopy"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=388688"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=388688"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=388688"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=388688"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=388688"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=388688"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}