{"id":391970,"date":"2026-11-09T02:11:01","date_gmt":"2026-11-09T02:11:01","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/guardafoto\/"},"modified":"2026-11-09T03:24:33","modified_gmt":"2026-11-09T03:24:33","slug":"guardafoto","status":"publish","type":"plugin","link":"https:\/\/en-au.wordpress.org\/plugins\/guardafoto\/","author":23591791,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.2","stable_tag":"1.1.2","tested":"7.1.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"GuardaFoto","header_author":"A3Q Global","header_description":"Adds a free tool that lets visitors paste a YouTube, Spotify, Deezer or Apple Music link and download its public profile photo, banner, thumbnail or cover in the sizes published by the platform \u2014 and download the video itself from TikTok and Instagram links.","assets_banners_color":"ffb800","last_updated":"2026-11-09 03:24:33","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/guardafoto.com\/","header_author_uri":"https:\/\/guardafoto.com\/about\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":63,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.2":{"tag":"1.0.2","author":"guardafoto","date":"2026-11-09 02:10:37","revision":3791729},"1.1.0":{"tag":"1.1.0","author":"guardafoto","date":"2026-11-09 02:42:37","revision":3791754},"1.1.1":{"tag":"1.1.1","author":"guardafoto","date":"2026-11-09 02:54:41","revision":3791761},"1.1.2":{"tag":"1.1.2","author":"guardafoto","date":"2026-11-09 03:24:33","revision":3791779}},"upgrade_notice":{"1.1.2":"<p>The editor tool is now where you look for a photo: &quot;GuardaFoto \u2014 Extract the photo here&quot;, next to the featured image in both editors.<\/p>","1.1.1":"<p>The whole plugin now speaks your site&#039;s language: complete English\/Spanish internationalisation for the tool, the dashboard and the editor.<\/p>","1.1.0":"<p>GuardaFoto now works inside your dashboard and your post editor too: import photos into the Media Library, set featured images and insert pictures into your content without leaving WordPress.<\/p>","1.0.2":"<p>The visible front-end credit is gone and the external service is fully documented in the readme.<\/p>","1.0.1":"<p>Results now include a Video section for TikTok and Instagram links, with the downloadable video files next to the photo or cover.<\/p>","1.0.0":"<p>Initial public release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3791729,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3791729,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3791729,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3791729,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"guardafoto\/tool":{"name":"guardafoto\/tool","title":"GuardaFoto"}},"tagged_versions":["1.0.2","1.1.0","1.1.1","1.1.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3791729,"resolution":"1","location":"assets","locale":"","width":850,"height":1090},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3791729,"resolution":"2","location":"assets","locale":"","width":850,"height":1090},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3791754,"resolution":"3","location":"assets","locale":"","width":1280,"height":720},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3791779,"resolution":"4","location":"assets","locale":"","width":1280,"height":939}},"screenshots":{"1":"The GuardaFoto lookup box added to a page with the shortcode or block.","2":"A resolved result with its preview and verified download sizes.","3":"The GuardaFoto page in wp-admin: paste a link, download each photo or import it straight into the Media Library.","4":"Writing a post: the \"GuardaFoto \u2014 Extract the photo here\" panel in the editor sidebar, next to the featured image, ready to import a photo without leaving the post."}},"plugin_section":[],"plugin_tags":[42453,22299,8188,1326,1610],"plugin_category":[50,56],"plugin_contributors":[291573],"plugin_business_model":[],"class_list":["post-391970","plugin","type-plugin","status-publish","hentry","plugin_tags-downloader","plugin_tags-profile-photo","plugin_tags-spotify","plugin_tags-thumbnail","plugin_tags-youtube","plugin_category-media","plugin_category-social-and-sharing","plugin_contributors-guardafoto","plugin_committers-guardafoto"],"banners":{"banner":"https:\/\/ps.w.org\/guardafoto\/assets\/banner-772x250.png?rev=3791729","banner_2x":"https:\/\/ps.w.org\/guardafoto\/assets\/banner-1544x500.png?rev=3791729","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/guardafoto\/assets\/icon-128x128.png?rev=3791729","icon_2x":"https:\/\/ps.w.org\/guardafoto\/assets\/icon-256x256.png?rev=3791729","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/guardafoto\/assets\/screenshot-1.png?rev=3791729","caption":"The GuardaFoto lookup box added to a page with the shortcode or block."},{"src":"https:\/\/ps.w.org\/guardafoto\/assets\/screenshot-2.png?rev=3791729","caption":"A resolved result with its preview and verified download sizes."},{"src":"https:\/\/ps.w.org\/guardafoto\/assets\/screenshot-3.png?rev=3791754","caption":"The GuardaFoto page in wp-admin: paste a link, download each photo or import it straight into the Media Library."},{"src":"https:\/\/ps.w.org\/guardafoto\/assets\/screenshot-4.png?rev=3791779","caption":"Writing a post: the \"GuardaFoto \u2014 Extract the photo here\" panel in the editor sidebar, next to the featured image, ready to import a photo without leaving the post."}],"raw_content":"<!--section=description-->\n<p>GuardaFoto adds a simple, free photo lookup tool to any post or page. A visitor pastes a supported public link, and the tool displays the image together with every verified downloadable size returned by the GuardaFoto service.<\/p>\n\n<p>Supported lookups include:<\/p>\n\n<ul>\n<li>YouTube channel profile photos, up to 1600 x 1600 when published by the channel.<\/li>\n<li>YouTube channel banners.<\/li>\n<li>YouTube video thumbnails, including the HD thumbnail when it exists.<\/li>\n<li>Spotify artist photos and album or playlist covers.<\/li>\n<li>Deezer artist photos and covers.<\/li>\n<li>Apple Music album and song artwork.<\/li>\n<li>TikTok profile photos and downloadable videos.<\/li>\n<li>Instagram post photos, reel covers and downloadable reel and video-post MP4 files.<\/li>\n<\/ul>\n\n<p>Add the tool with the <strong>GuardaFoto<\/strong> block or with this shortcode:<\/p>\n\n<pre><code>[guardafoto]\n<\/code><\/pre>\n\n<p>To force a language for one shortcode instance, use:<\/p>\n\n<pre><code>[guardafoto lang=\"es\"]\n<\/code><\/pre>\n\n<p>or:<\/p>\n\n<pre><code>[guardafoto lang=\"en\"]\n<\/code><\/pre>\n\n<p>With <code>lang=\"auto\"<\/code>, or when no language is supplied, GuardaFoto uses Spanish for Spanish WordPress locales and English otherwise. Since 1.1.1 the whole plugin interface \u2014 the front-end tool, the dashboard page, the block-editor panel and the classic-editor meta box \u2014 is fully translated through the standard WordPress i18n system (text domain <code>guardafoto<\/code>), shipping with a complete Spanish translation that follows the site's language automatically.<\/p>\n\n<p><strong>New in 1.1.0 \u2014 GuardaFoto inside your dashboard and your editor.<\/strong> The same lookup is now available where you work:<\/p>\n\n<ul>\n<li>A <strong>GuardaFoto page in the admin menu<\/strong>: paste a link, download each photo, or import it straight into your Media Library.<\/li>\n<li>A <strong>GuardaFoto panel in the block editor<\/strong> while you write a post, in the document sidebar right by the featured image and titled <strong>\"GuardaFoto \u2014 Extract the photo here\"<\/strong>: import a photo and set it as the featured image, import it and insert it into the content, or just import it to the Media Library.<\/li>\n<li>A <strong>GuardaFoto meta box in the classic editor<\/strong>, in the side column next to the featured-image box with the same \"Extract the photo here\" title and the same three actions: featured image (the featured-image box updates without reloading), insert into the content, or plain import.<\/li>\n<\/ul>\n\n<p>The plugin adds no visible credit and no external links to the front end, and it makes no external request when it is activated or when a page is merely viewed. The external lookup described below happens only after a visitor submits a link in the tool, or after an administrator submits one in the dashboard page, the editor panel or the classic meta box.<\/p>\n\n<p>The photographs and artwork belong to their respective owners. This plugin only helps visitors access images that the relevant platform already publishes publicly; it does not grant any licence or right to reuse an image.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin relies on the GuardaFoto API, a third-party service operated by A3Q Global:<\/p>\n\n<ul>\n<li>Service: GuardaFoto \u2014 https:\/\/guardafoto.com<\/li>\n<li>About the service: https:\/\/guardafoto.com\/about\/<\/li>\n<li>API endpoint used by this plugin: https:\/\/guardafoto.com\/api\/resolve<\/li>\n<li>Terms of use for the service: https:\/\/guardafoto.com\/terms\/<\/li>\n<li>Privacy policy for the service: https:\/\/guardafoto.com\/privacy\/<\/li>\n<\/ul>\n\n<p>When a visitor enters a link and presses the tool's button, the visitor's browser sends <strong>only the URL that the visitor pasted<\/strong> to the GuardaFoto API so that it can be resolved. The plugin does not send WordPress user data, site data, cookies, post content or administrator information to GuardaFoto. GuardaFoto resolves supported links against the public information made available by the relevant platform and returns the image name, type and public image URLs.<\/p>\n\n<p>The dashboard tool introduced in 1.1.0 (the GuardaFoto admin page, the block-editor panel and the classic-editor meta box) uses the same API the same way: when an administrator pastes a link there and runs the lookup, the WordPress server sends <strong>only that pasted URL<\/strong> to the same endpoint and shows the result. Nothing is sent while pages are viewed or edited.<\/p>\n\n<p>One action goes one step further, and only when the administrator explicitly clicks it: <strong>Import<\/strong>. On an import click \u2014 including \"set as featured image\" and \"insert into content\" \u2014 the WordPress server downloads the image file the administrator selected, from the public platform URL that the API returned, and stores it in the site's own Media Library as a regular attachment, exactly like an upload made by hand. The plugin never downloads code or executable files, and it never imports anything on its own: no click, no download.<\/p>\n\n<p>Use of the images and destination services remains subject to the applicable platform terms, including:<\/p>\n\n<ul>\n<li>YouTube Terms of Service: https:\/\/www.youtube.com\/t\/terms<\/li>\n<li>Spotify Terms and Conditions of Use: https:\/\/www.spotify.com\/legal\/end-user-agreement\/<\/li>\n<li>Deezer Terms of Use: https:\/\/www.deezer.com\/legal\/cgu<\/li>\n<li>Apple Media Services Terms and Conditions: https:\/\/www.apple.com\/legal\/internet-services\/itunes\/<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>guardafoto<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory, or install the ZIP file through <strong>Plugins &gt; Add New &gt; Upload Plugin<\/strong> in WordPress.<\/li>\n<li>Activate <strong>GuardaFoto<\/strong> through the <strong>Plugins<\/strong> screen.<\/li>\n<li>Edit a post or page.<\/li>\n<li>Insert the <strong>GuardaFoto<\/strong> block, or add the <code>[guardafoto]<\/code> shortcode.<\/li>\n<li>Publish the page and paste a supported public link into the tool to test it.<\/li>\n<li>To use it yourself, open the <strong>GuardaFoto<\/strong> menu in the dashboard, or the GuardaFoto panel while editing a post, and import photos straight into your Media Library.<\/li>\n<\/ol>\n\n<p>No account, API key or configuration is required.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"which%20links%20work%3F\"><h3>Which links work?<\/h3><\/dt>\n<dd><p>Public YouTube channel and video links, Spotify artist, album, track, playlist, show and episode links, Deezer artist, album, track and playlist links, and Apple Music album and song links are supported. TikTok profile and video links and Instagram post and reel links also work \u2014 for those, the tool lists the downloadable video next to the photo or cover. Instagram profile photos cannot be fetched: Meta shows them only to logged-in accounts. A private, deleted or otherwise unavailable item cannot be resolved.<\/p><\/dd>\n<dt id=\"does%20guardafoto%20offer%20every%20possible%20size%3F\"><h3>Does GuardaFoto offer every possible size?<\/h3><\/dt>\n<dd><p>It displays the real image sizes returned by the GuardaFoto API. The largest available size depends on what the source platform publishes. For example, a YouTube video may not have an HD thumbnail, while a channel profile photo may be available up to 1600 x 1600.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20store%20visitor%20links%20or%20photos%3F\"><h3>Does the plugin store visitor links or photos?<\/h3><\/dt>\n<dd><p>Not on its own. The front-end tool stores nothing in the WordPress database and does not save the submitted link or the returned images on the WordPress server. The dashboard tools save nothing either \u2014 unless an administrator clicks <strong>Import<\/strong> for a photo, in which case WordPress downloads that one file and keeps it in the Media Library as a normal attachment, under the administrator's control. Submitted links are never stored.<\/p><\/dd>\n<dt id=\"can%20i%20add%20a%20photo%20straight%20into%20my%20media%20library%2C%20or%20use%20it%20in%20the%20post%20i%20am%20writing%3F\"><h3>Can I add a photo straight into my Media Library, or use it in the post I am writing?<\/h3><\/dt>\n<dd><p>Yes \u2014 that is what the dashboard side of the plugin is for. Open the <strong>GuardaFoto<\/strong> menu, paste a link, and each photo offers <strong>Download<\/strong> and <strong>Import to Media Library<\/strong>. While you edit a post, the GuardaFoto panel (block editor) or meta box (classic editor) adds two more actions per photo: <strong>Import &amp; set as featured image<\/strong> and <strong>Import &amp; insert into content<\/strong>. Videos stay download-only: this version does not import videos into the Media Library.<\/p><\/dd>\n<dt id=\"why%20does%20the%20tool%20need%20an%20external%20api%3F\"><h3>Why does the tool need an external API?<\/h3><\/dt>\n<dd><p>Some public platform pages and image variants cannot be resolved reliably from a visitor's browser alone. GuardaFoto's API performs that lookup centrally, so this plugin stays small and does not need to scrape or connect directly to each platform from WordPress.<\/p><\/dd>\n<dt id=\"can%20i%20use%20the%20tool%20more%20than%20once%20on%20one%20page%3F\"><h3>Can I use the tool more than once on one page?<\/h3><\/dt>\n<dd><p>Yes. Each shortcode or block instance works independently. The CSS and JavaScript are loaded only on pages where an instance is rendered.<\/p><\/dd>\n<dt id=\"who%20owns%20the%20downloaded%20images%3F\"><h3>Who owns the downloaded images?<\/h3><\/dt>\n<dd><p>The channel, artist, label, photographer or other original rights holder. GuardaFoto and this plugin do not claim ownership and do not grant reuse rights. Obtain permission from the owner before using an image publicly or commercially.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>The block-editor panel is now titled \"GuardaFoto \u2014 Extract the photo here\" and sits in the document sidebar right by the featured image, open and ready while you write: paste a link and import the photo, set it as the featured image or insert it into the content \u2014 no hunting through menus.<\/li>\n<li>The classic-editor meta box moved to the side column with high priority, next to the featured-image box, with the same \"Extract the photo here\" title and the full set of actions adapted to the narrow column.<\/li>\n<li>Fixed the classic-editor lookup, which could not run inside the post edit form (a form cannot live inside another form): the box now works from a plain container, wired to its button and the Enter key.<\/li>\n<li>The new title is translated like everything else: in Spanish it reads \"GuardaFoto \u2014 Extrae la foto aqu\u00ed\".<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Full internationalisation: every interface string \u2014 front-end tool, dashboard page, block-editor panel, classic-editor meta box and error messages \u2014 now goes through the WordPress i18n system (text domain <code>guardafoto<\/code>).<\/li>\n<li>Ships with a complete Spanish translation (es_ES); Spanish locales such as es_MX or es_AR fall back to it automatically when no exact-locale translation exists.<\/li>\n<li>The block editor controls (language selector included) are translated too, via script translations.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>New dashboard page under the <strong>GuardaFoto<\/strong> admin menu: paste a link, download each photo, or import it straight into the Media Library.<\/li>\n<li>New GuardaFoto panel in the block editor: per photo you can import it, import it and set it as the featured image, or import it and insert it into the content.<\/li>\n<li>New GuardaFoto meta box in the classic editor with the same actions; setting the featured image refreshes the featured-image box without a page reload.<\/li>\n<li>Results in the dashboard include the downloadable videos for TikTok and Instagram links (download-only, with a note when a video exceeds the site's upload limit).<\/li>\n<li>The front-end shortcode and block behave exactly as before.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Removed the visible \u201cPowered by\u201d credit from the front end: the tool no longer displays any credit text or external link on public pages.<\/li>\n<li>Documented the external GuardaFoto API service in the readme, including links to its terms of use and privacy policy.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Added a Video section to the results: TikTok and Instagram links now list the downloadable video files (with dimensions and file size) returned by the GuardaFoto API, next to the photo or cover.<\/li>\n<li>Added TikTok, Instagram, X and Twitch labels to the results and a specific message for Instagram profile links, which cannot be fetched.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Added the <code>[guardafoto]<\/code> shortcode.<\/li>\n<li>Added a dynamic GuardaFoto Gutenberg block.<\/li>\n<li>Added English and Spanish tool interfaces.<\/li>\n<li>Added lookups for supported YouTube, Spotify, Deezer and Apple Music links through the free GuardaFoto API.<\/li>\n<\/ul>","raw_excerpt":"Paste a public YouTube, Spotify, Deezer or Apple Music link and download its profile photo, banner, thumbnail or cover in the platform's sizes.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/391970","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=391970"}],"author":[{"embeddable":true,"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/guardafoto"}],"wp:attachment":[{"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=391970"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=391970"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=391970"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=391970"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=391970"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=391970"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}