{"id":382890,"date":"2026-10-11T18:51:48","date_gmt":"2026-10-11T18:51:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/vinilogy-covers\/"},"modified":"2026-10-11T23:02:06","modified_gmt":"2026-10-11T23:02:06","slug":"vinilogy-covers","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/vinilogy-covers\/","author":23582028,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.2.2","stable_tag":"0.2.2","tested":"7.1.3","requires":"6.5","requires_php":"8.0","requires_plugins":null,"header_name":"Vinilogy Covers","header_author":"Vinilogy","header_description":"Finds the missing album covers of your WooCommerce record shop, downloads them to the media library and sets them only after you approve them.","assets_banners_color":"46433c","last_updated":"2026-10-11 23:02:06","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/www.vinilogy.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":59,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.2.1":{"tag":"0.2.1","author":"vinilogy","date":"2026-10-11 18:51:37","revision":3739982},"0.2.2":{"tag":"0.2.2","author":"vinilogy","date":"2026-10-11 23:02:06","revision":3740253}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3739982,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3739982,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500-es_ES.png":{"filename":"banner-1544x500-es_ES.png","revision":3740240,"resolution":"1544x500","location":"assets","locale":"es_ES","width":1544,"height":500},"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3740240,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250-es_ES.png":{"filename":"banner-772x250-es_ES.png","revision":3740240,"resolution":"772x250","location":"assets","locale":"es_ES","width":772,"height":250},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3740240,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.2.1","0.2.2"],"block_files":[],"assets_screenshots":{"screenshot-1-es_ES.png":{"filename":"screenshot-1-es_ES.png","revision":3740240,"resolution":"1","location":"assets","locale":"es_ES","width":1400,"height":984},"screenshot-1.png":{"filename":"screenshot-1.png","revision":3739982,"resolution":"1","location":"assets","locale":"","width":1600,"height":1125},"screenshot-2-es_ES.png":{"filename":"screenshot-2-es_ES.png","revision":3740240,"resolution":"2","location":"assets","locale":"es_ES","width":1400,"height":1094},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3739982,"resolution":"2","location":"assets","locale":"","width":1600,"height":1125},"screenshot-3-es_ES.png":{"filename":"screenshot-3-es_ES.png","revision":3740240,"resolution":"3","location":"assets","locale":"es_ES","width":1400,"height":984},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3739982,"resolution":"3","location":"assets","locale":"","width":1600,"height":1250}},"screenshots":{"1":"Proposals waiting for review, with the album found, the image source and the confidence of each match.","2":"Covers already set: any of them can be undone.","3":"Settings: Vinilogy key, placeholder detection and the optional Discogs fallback (off by default)."}},"plugin_section":[],"plugin_tags":[6135,218,24716,213688,286],"plugin_category":[45,50],"plugin_contributors":[285891],"plugin_business_model":[],"class_list":["post-382890","plugin","type-plugin","status-publish","hentry","plugin_tags-album-covers","plugin_tags-music","plugin_tags-product-images","plugin_tags-vinyl","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_category-media","plugin_contributors-vinilogy","plugin_committers-vinilogy"],"banners":{"banner":"https:\/\/ps.w.org\/vinilogy-covers\/assets\/banner-772x250.png?rev=3740240","banner_2x":"https:\/\/ps.w.org\/vinilogy-covers\/assets\/banner-1544x500.png?rev=3740240","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/vinilogy-covers\/assets\/icon-128x128.png?rev=3739982","icon_2x":"https:\/\/ps.w.org\/vinilogy-covers\/assets\/icon-256x256.png?rev=3739982","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/vinilogy-covers\/assets\/screenshot-1.png?rev=3739982","caption":"Proposals waiting for review, with the album found, the image source and the confidence of each match."},{"src":"https:\/\/ps.w.org\/vinilogy-covers\/assets\/screenshot-2.png?rev=3739982","caption":"Covers already set: any of them can be undone."},{"src":"https:\/\/ps.w.org\/vinilogy-covers\/assets\/screenshot-3.png?rev=3739982","caption":"Settings: Vinilogy key, placeholder detection and the optional Discogs fallback (off by default)."}],"raw_content":"<!--section=description-->\n<p>Many independent record shops have hundreds or thousands of records online without a cover, or with the same placeholder image on every product. Vinilogy Covers finds those products, looks each record up in the Vinilogy catalogue and downloads its cover from Cover Art Archive.<\/p>\n\n<p>It needs a free Vinilogy key, which you request by email (see \"Installation\"), and it talks to the services listed under \"External services\".<\/p>\n\n<p>Nothing changes in your shop until you say so:<\/p>\n\n<ul>\n<li>Covers are downloaded to your media library and wait for your review.<\/li>\n<li>Each proposal shows the album found, why it was matched and a confidence score.<\/li>\n<li>Approve them one by one, the ones you select, or all above a confidence level.<\/li>\n<li>Anything you approve can be undone; discarded downloads are deleted.<\/li>\n<\/ul>\n\n<p>How records are identified, from most to least reliable:<\/p>\n\n<ol>\n<li><strong>Barcode<\/strong> (EAN\/UPC), read from the usual barcode fields or from the SKU when it is a valid barcode: the cover of that very edition.<\/li>\n<li><strong>Artist and title<\/strong>, read from product attributes or from the product name. Shop habits such as \"SURNAME, NAME\", \"(LP, 180g)\", \"\u2013 COLOURED VINYL\" or used-condition notes in the name (\"VG+\") are cleaned up before searching.<\/li>\n<\/ol>\n\n<p>Proposals with a confidence of 85 or more come pre-selected. In our test with 100 records from one shop, every pre-selected proposal was correct; always review the rest.<\/p>\n\n<p><strong>Optional Discogs fallback.<\/strong> When Cover Art Archive has no image, the plugin can also use the Discogs cover from the Vinilogy catalogue. It is off by default: Discogs images are uploaded by its users and its terms restrict reusing them on other sites, so each shop decides. Every downloaded image records its source.<\/p>\n\n<p>Vinilogy is a free comparison site for vinyl records sold by independent shops in Spain: https:\/\/www.vinilogy.com<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin relies on external services to find and download covers. It only contacts them after a shop administrator clicks \"Find products without a cover\", and then for each product in the queue (in the background, or while the Covers screen is open).<\/p>\n\n<p><strong>Vinilogy cover lookup<\/strong> \u2013 https:\/\/api.vinilogy.com (run by Vinilogy, https:\/\/www.vinilogy.com)\nUsed to identify each record and get the address of its cover.\nSent for each product without a cover: its barcode if it has one, otherwise the artist and title read from the product, plus the shop's Vinilogy key. No data about customers, orders or users is sent.\nTerms: https:\/\/www.vinilogy.com\/condiciones#portadas \u2013 Privacy: https:\/\/www.vinilogy.com\/privacidad#portadas<\/p>\n\n<p><strong>Cover Art Archive<\/strong> (run by the MetaBrainz Foundation and the Internet Archive) \u2013 https:\/\/coverartarchive.org\nThe cover image is downloaded from coverartarchive.org, which redirects to the Internet Archive (archive.org). The request carries the usual connection data (IP address of your server, user agent).\nTerms: https:\/\/musicbrainz.org\/doc\/About\/Data_License and https:\/\/archive.org\/about\/terms.php \u2013 Privacy: https:\/\/metabrainz.org\/privacy and https:\/\/archive.org\/about\/terms.php<\/p>\n\n<p><strong>Discogs<\/strong> (only if the shop turns on the fallback) \u2013 https:\/\/www.discogs.com\nThe cover image is downloaded from i.discogs.com. The request carries the usual connection data.\nTerms: https:\/\/support.discogs.com\/hc\/en-us\/articles\/360009334593-API-Terms-of-Use \u2013 Privacy: https:\/\/support.discogs.com\/hc\/en-us\/articles\/360009334513-Privacy-Policy<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin (WooCommerce must be active).<\/li>\n<li>Request a free key by emailing hola@vinilogy.com.<\/li>\n<li>Open WooCommerce \u2192 Album covers, expand \"Settings\" at the bottom of the screen and paste the key.<\/li>\n<li>Click \"Find products without a cover\" and review the proposals.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"will%20it%20change%20my%20products%20without%20asking%3F\"><h3>Will it change my products without asking?<\/h3><\/dt>\n<dd><p>No. Covers are only downloaded to the media library; a product changes only when you approve its cover, and you can undo it.<\/p><\/dd>\n<dt id=\"what%20counts%20as%20%22without%20a%20cover%22%3F\"><h3>What counts as \"without a cover\"?<\/h3><\/dt>\n<dd><p>Products with no image, and products whose image is shared by many products (5 or more by default, adjustable), which is what a placeholder looks like. Products that already have their own cover are never touched, and if you set one by hand while a proposal is waiting, the proposal is dropped.<\/p><\/dd>\n<dt id=\"does%20it%20cost%20anything%3F\"><h3>Does it cost anything?<\/h3><\/dt>\n<dd><p>No. The key is free and the plugin is free. Record shops are who Vinilogy is for.<\/p><\/dd>\n<dt id=\"where%20do%20the%20covers%20go%20before%20i%20approve%20them%3F\"><h3>Where do the covers go before I approve them?<\/h3><\/dt>\n<dd><p>To your media library, attached to the product but not used as its image. If you discard a proposal, that file is deleted.<\/p><\/dd>\n<dt id=\"what%20does%20the%20confidence%20number%20mean%3F\"><h3>What does the confidence number mean?<\/h3><\/dt>\n<dd><p>How sure the match is, from 0 to 100. Hover over it to see why: a barcode match of the exact edition scores highest; a match by artist and title scores lower when several albums or artists share that name. Proposals at 85 or more come pre-selected.<\/p><\/dd>\n<dt id=\"what%20if%20a%20cover%20is%20wrong%3F\"><h3>What if a cover is wrong?<\/h3><\/dt>\n<dd><p>Discard it, or undo it after approving: the product goes back to the image it had. You can always set your own image in the product editor, as usual.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20variable%20products%3F\"><h3>Does it work with variable products?<\/h3><\/dt>\n<dd><p>It sets the cover of the parent product, like any other product. Variations keep their own images.<\/p><\/dd>\n<dt id=\"my%20skus%20are%20not%20barcodes.%20does%20it%20still%20work%3F\"><h3>My SKUs are not barcodes. Does it still work?<\/h3><\/dt>\n<dd><p>Yes: the record is then identified by artist and title. A SKU is only treated as a barcode when it is a valid EAN\/UPC (8, 12, 13 or 14 digits with a correct check digit).<\/p><\/dd>\n<dt id=\"the%20search%20does%20not%20advance%20when%20i%20close%20the%20page\"><h3>The search does not advance when I close the page<\/h3><\/dt>\n<dd><p>Covers are fetched in the background by WordPress scheduled tasks. If your host has them disabled (DISABLE_WP_CRON), keep the Album covers screen open until the search finishes, or run <code>wp vinicov procesar<\/code>.<\/p><\/dd>\n<dt id=\"a%20product%20says%20%22not%20found%22.%20what%20now%3F\"><h3>A product says \"Not found\". What now?<\/h3><\/dt>\n<dd><p>Either Vinilogy does not have that record, or it has no cover image. Check that the product name has the artist and the title, or add a barcode, and use \"Search again\" at the bottom of the screen.<\/p><\/dd>\n<dt id=\"who%20owns%20the%20covers%3F\"><h3>Who owns the covers?<\/h3><\/dt>\n<dd><p>Their labels and artists. Record shops use them to show the album they sell. Cover Art Archive collects them for that kind of use; check its terms and, if you turn on the Discogs fallback, Discogs' terms.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20i%20delete%20the%20plugin%3F\"><h3>What happens when I delete the plugin?<\/h3><\/dt>\n<dd><p>Its settings, queue and pending downloads are removed. Covers you already approved stay on your products; each image keeps a note of where it came from (Cover Art Archive or Discogs) in its custom fields, so you can find and remove them later if you ever need to.<\/p><\/dd>\n<dt id=\"does%20it%20work%20from%20the%20command%20line%3F\"><h3>Does it work from the command line?<\/h3><\/dt>\n<dd><p>Yes, with WP-CLI: <code>wp vinicov buscar<\/code> (queue products without a cover), <code>wp vinicov procesar<\/code> (fetch covers), <code>wp vinicov ok --confianza=85<\/code> (approve all with that confidence or more), <code>wp vinicov estado<\/code> (counts by state).<\/p><\/dd>\n<dt id=\"how%20do%20i%20report%20a%20security%20issue%3F\"><h3>How do I report a security issue?<\/h3><\/dt>\n<dd><p>Write to hola@vinilogy.com. Please do not open a public issue.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.2.2<\/h4>\n\n<ul>\n<li>Spanish (es_ES) translation now ships with the plugin, so it shows in Spanish right after installing.<\/li>\n<\/ul>\n\n<h4>0.2.1<\/h4>\n\n<ul>\n<li>Longer prefix on all internal names, as requested by the WordPress.org plugin review.<\/li>\n<li>Translations now come from translate.wordpress.org.<\/li>\n<li>Clearer wording: approve, discard, undo. Messages say what happened to the products.<\/li>\n<li>Never overwrites a cover you set by hand while a proposal was waiting; undo only restores if the image is still the approved one.<\/li>\n<li>Pauses for ten minutes when the Vinilogy service cannot be reached, instead of retrying every minute.<\/li>\n<li>A SKU only counts as a barcode when it is a valid EAN\/UPC. Artist attributes with commas are no longer cut.<\/li>\n<li>Duplicating or deleting a product no longer leaves cover data or files behind.<\/li>\n<li>Each batch stops after 20 seconds and carries on in the next one.<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Translatable (English base).<\/li>\n<li>Discogs fallback, off by default.<\/li>\n<li>Clean uninstall.<\/li>\n<li>Declared compatible with WooCommerce order storage and block checkout.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>First version, tested with 100 records of a real shop.<\/li>\n<\/ul>","raw_excerpt":"Finds the missing album covers of your WooCommerce record shop and sets them only after you approve them.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/382890","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=382890"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/vinilogy"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=382890"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=382890"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=382890"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=382890"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=382890"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=382890"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}