Shared Albums for Google Photos & Apple iCloud

Plugin Banner

Shared Albums for Google Photos & Apple iCloud

by Jan Zeman

Download
Description

Embed a shared Google Photos or Apple iCloud album directly from the source, without uploading copies to your WordPress media library.
Add one shortcode, choose a gallery, slider, or carousel layout, and the plugin turns your album into a responsive photo experience for desktop and mobile visitors.

It is built for photographers, bloggers, clubs, families, travel sites, event pages,
and anyone who already organizes photos in Google Photos or iCloud and wants to show them beautifully on a WordPress site.

Why Install It

  • No duplicate uploads – Keep your photos in Google Photos or iCloud and show them on your WordPress site.
  • Two sources, one shortcode – Google Photos and iCloud albums use the same shortcode, layouts, and options.
  • Less gallery maintenance – Update the album at the source instead of rebuilding galleries by hand.
  • A better visitor experience – Give people a responsive gallery, slider, carousel, fullscreen view, or lightbox.
  • Photo and video support – Share mixed albums without splitting them into separate WordPress galleries.
  • Mobile-friendly browsing – Let visitors swipe, tap, zoom, navigate, and enjoy slideshows naturally.
  • Useful presentation options – Show descriptions, dates, counters, buttons, and camera details when they help.
  • Your order – Keep the album’s order, shuffle it, or sort by date taken, oldest or newest first.
  • Built for real albums – Caching, lazy loading, and progressive loading help larger albums stay practical.

Why People Use It

Google Photos and iCloud are convenient for storing and sharing albums.
WordPress is where your audience is.
This plugin connects the two.

Instead of exporting photos, uploading them to the media library, rebuilding galleries,
and repeating the work after every album change, you can share the album once and embed it where you need it.

What Happens After Installing

The plugin adds its own WordPress admin menu with a friendly Guide page,
ready-to-use examples, a live shortcode playground, and the current parameter reference.

Start with a sample, paste your own Google Photos or iCloud share link,
preview the result, and place the shortcode where you want the album to appear.

Community Inspiration

The optional Community Directory helps you discover what other users are building with the plugin.

  • Browse real shortcode examples for layout ideas.
  • Copy a configuration and adapt it to your own album.
  • Rate useful examples and share your own.
  • Add a sample page URL if you want curious visitors to find your site.

Community features are optional. You can use the gallery plugin without joining or publishing anything.

External services

This plugin connects to the following external services. No visitor data is sent to them by the plugin itself; visitors’ browsers load the photos directly from the services below.

Google Photos

Used to show publicly shared Google Photos albums. When a page with a Google Photos album is rendered, the WordPress server requests the public album page from photos.google.com, and visitors’ browsers load the images and videos from *.googleusercontent.com. Only the shared album link is sent.
Terms of Service: https://policies.google.com/terms
Privacy Policy: https://policies.google.com/privacy

Apple iCloud

Used to show publicly shared iCloud albums. When a page with an iCloud album is rendered, the WordPress server requests the public album data from icloud.com, and visitors’ browsers load the images and videos from *.icloud-content.com. Only the shared album link is sent.
Terms of Service: https://www.apple.com/legal/internet-services/icloud/
Privacy Policy: https://www.apple.com/legal/privacy/

Shared Albums Community

Optional. Used only when a WordPress administrator opens the Community page or connects to the community. Browsing sends read-only requests to sa.janzeman.com; connecting, publishing and rating send the data described in the plugin’s privacy policy text (Settings > Privacy > Policy Guide in wp-admin).
Contact: [email protected]

Community Acknowledgements

This plugin has been shaped not only by code, but also by people willing to test early versions, question design decisions, and explain their real-world needs. Their ideas and thoughtful feedback continue to make it more useful and easier to use.

Special Recognition

  • Naveen Bachwani (@naveenbachwani) – An early adopter with a sharp eye and analytical mind. His feedback often improved usability while new features were still being designed, before they reached a public release. His many feature ideas, extensive testing, UX feedback, and detailed design discussions have helped shape photo information and descriptions, mobile and Fullscreen behavior, the Community Directory, and the current Lightbox and Fullscreen experience.

Personal note: It has been a genuine pleasure working with you, Naveen!

Everyone else who helped shape a feature is thanked in the Changelog, next to the version they contributed to.

Credits

  • Uses Swiper – MIT License
  • Uses Plyr – MIT License

Privacy Policy

This plugin does not collect or store any user data for its core gallery functionality.

Use of external Google services

  • The plugin fetches public Google Photos album pages from https://photos.google.com and image files from *.googleusercontent.com in order to render the galleries.
  • Only publicly shared album links are supported; the plugin has no access to private albums or any content that is not already available via a public share link.
  • The plugin does not collect, store, or transmit user credentials or personal data. It only caches album HTML and image URLs in WordPress transients for performance, and this cache is stored locally in your WordPress database.

Community Directory (optional, opt-in)

The Community Directory is optional. Browsing samples loads public examples from sa.janzeman.com.
Sign-in, ratings, and publishing are used only when you choose to connect to the community.

If you publish an entry, the community service stores the information you submit,
such as title, shortcode, description, tags, optional sample page URL, and optional display name.
You can delete your community account from the plugin admin page.

The community backend does not use cookies, analytics, advertising, or newsletters.

Support

  1. Install and activate the plugin.
  2. Open the new Shared Albums menu in WordPress admin.
  3. Start with the Guide page and its live examples.
  1. Slider layout with navigation and paging

    Slider layout with navigation and paging

  2. Slider layout with mosaic thumbnails

    Slider layout with mosaic thumbnails

  3. Gallery layout

    Gallery layout

  4. Carousel layout with video support

    Carousel layout with video support

  5. Fullscreen view with description and photo info

    Fullscreen view with description and photo info

  6. Progressive loading from preview to high-resolution image

    Progressive loading from preview to high-resolution image

  7. Live preview on the Guide page

    Live preview on the Guide page

  8. Custom description styling

    Custom description styling

  9. Fullscreen mosaic view

    Fullscreen mosaic view

  10. Overlay mosaic strip

    Overlay mosaic strip

  11. Community Directory for browsing and sharing examples

    Community Directory for browsing and sharing examples

Does this work with private albums?

No. The album must be shared by link: in Google Photos with Create link, in iCloud with Public Website turned on. The source pages in the plugin’s admin menu show the exact steps.

How many photos can I embed?

The plugin shows up to 300 photos and videos per album.
Google Photos usually exposes about 300 items from the shared album page. iCloud shared albums can hold up to 5,000 items; use order=”newest” or order=”oldest” with limit to choose which ones are shown.

Will this slow down my site?

It is designed to be light in normal use.
Album data is cached, images load progressively, and visitors do not download the whole album at once.

Can I customize the appearance?

Yes. The plugin includes ready-made examples and many presentation options.
You can also add your own CSS when you want full visual control.

Does it work on mobile?

Yes. The gallery is responsive and supports touch gestures, fullscreen viewing, and mobile-friendly navigation.

Is this an official Google or Apple plugin?

No. This plugin is not affiliated with or endorsed by Google LLC or Apple Inc. Google Photos™ is a trademark of Google LLC. Apple® and iCloud® are trademarks of Apple Inc.

Will it keep working forever?

There is no guarantee. Google Photos and Apple iCloud do not offer an official interface for embedding shared albums, so the plugin reads them the same way a web browser does. Either service can change the format of its shared albums at any time, which may stop the plugin from working until it is updated. The plugin is provided “as is”, without warranty of any kind, as stated in the GPL license.

Where can I find the source code?

The plugin source code and generic ZIP build tool are maintained on GitHub.

Outstanding support and responsiveness – highly recommended!

By plauritz on November 2, 2026

Title: Outstanding support and responsiveness – highly recommended!

I contacted Jan with a suggestion to extend his plugin to support Apple iCloud Shared Albums.

To my surprise, he developed a working version almost immediately and then implemented several improvements based on my testing and feedback.

Within just a few days, we had a solution displaying iCloud photos in a clean WordPress gallery, with captions below the images and without copying the photos to WordPress.

Jan has been exceptionally helpful, responsive and professional throughout the process.

This is open-source development and support at its very best. Highly recommended!

Excellent very functional plugin

By berlingo2008 on October 17, 2026

very update functional plugin. Very documented. With showcase samples and playground. Good support and follow up.thumbs up

Does exactly what I wanted done

By markcarrara on July 15, 2026

It took awhile to understand the short code syntax but once I got it, it did exactly what I wanted. Google albums load much faster than if stored on my website with the cheap hosting I have

Great Integration

By meanderingminds on June 22, 2026

This lightweight plugin allowed me to easily link Google Photo albums we already had to a memorial page on our website. It has so many customizable options and we will be able to integrate our stories and memories of our loved ones with the photos much more easily than trying to teach people how to use Google Photos.

The fact that anything I thought of as a “this would be great to have” feature was already included is amazing! Thank you so much for all of your hard work on this plugin.

Excellent plugin for publishing a photo album with Google Photos in WordPress

By valterbruno on June 2, 2026

This plugin is excellent for managing a photo album with Google Photos.
I haven’t found any others with these features yet.
The shortcode is very simple, both to create and edit.
The author is very helpful, quick to respond, and responsive to any new needs.
Highly recommended.

  • Valter

EXCELLENT, BUT one suggestion

By luisbenitez777 on April 23, 2026

I’m just hoping that in the future a fullscreen-mode=mosaic, can be added to preview the smaller photos in addition to the main image. It’s a beautiful plugin; you can tell there’s effort and dedication behind it. I truly find it gorgeous. 5 STARS. ¡GRACIAS!

Works as described. Good UX!

By naveenbachwani on April 9, 2026

The Shared Albums for Google Photos plugin by Jan Zeman has been terrific for my photo blog, making it effortless to pull photos from Google Photos into my gallery pages without the hassle of manual uploads.

I also suggested a few feature requests to suit photographers’ needs. Jan was not only prompt in his response, but soon pushed an updated release that included those improvements!

This plugin is well worth using and deserves five stars.

Ottimo plugin

By imaginans on March 31, 2026

Per l’incorporamento degli album pubblicati su Google Photos è di gran lunga il miglior plugin che ho trovato. Great job. Thanks, Jan

PS. If you could enter the name of the photo that would be great

Excellent for Digital Signage slideshows

By sandefjordtk on March 30, 2026

Sandefjord Tennis Club uses Shared Albums in Google Photos to display slideshows on Digital Signage in our clubhouse. This is a great way to showcase photos—not only on our webpage and social media but also when members and guests visit our club facilities.

Tips on how to use this: Create a page in WordPress for the album you would like to display. Example of shortcode to use with cache refresh set to 1 hour.

[jzsa-album link="YOUR URL HERE" mode="slider" show-title="true" show-counter="false" width="1920" height="1080" source-width="1920" source-height="1080" slideshow="true" slideshow-delay="5" interaction-lock="true" start-at="random" cache-refresh="1"]

Remember to choose template “Page Builder Full Width”, “no sidebar”, “disable navigation” and “disable Footer” in the Page Settings

Add the following CSS code to remove the white space on the top of the page

.pagebuilder-section {
padding: 0 0 !important;
}

Extra: Add the following CSS code to add a nice title on the page. Adjust the size of the font as necessary

.jzsa-album .swiper-pagination {
font-size: 70px !important;
font-weight: bold !important;
color: #000000 !important;
background-image: linear-gradient(
to bottom,
rgba(255,255,255,0) 0%,
rgba(255,255,255,1) 25%,
rgba(255,255,255,1) 75%,
rgba(255,255,255,0) 100%
);
}

Also I recommend resizing photos to 1920×1080 px in Google Photo album to make sure the photos are displayed correctly. If you are using a WordPress caching-plugin, make sure the page is excluded from caching.

Add the website to your favorite Digital Signage system. I recommend AbleSign as they provide Digital Signage for free with unlimited # of screens.

This is a really easy way to display your photo album, not only on your WordPress homepage, but anywhere you can think of where you can display a webpage!

Amazing functionality and support

By toonwolf on March 22, 2026

I recently started using the Shared Albums for Google Photos (by JanZeman) plugin, and it has been a game-changer for my WordPress site. It is a really feature-rich, easy-to-use tool that makes it incredibly simple to display photos from Google Photo Albums without the usual headache of manual uploads or complex API configurations.

What impressed me even more than the plugin itself was the developer’s responsiveness. I had a couple of suggestions for some minor feature tweaks, and Jan was super fast in responding. Not only did he listen to the feedback, but he actually improved and released a new version of the plugin with those exact improvements in record time.

If you are looking for a modern, responsive way to showcase your Google Photos—backed by a developer who genuinely cares about the user experience—I cannot recommend this plugin enough. Really impressive work! 5 stars from me…

3.0.1

  • Faster iCloud albums: the first photos now load straight from Apple, with one request to WordPress for the whole album instead of one per photo. This matters most on busy or slower hosts.
  • Loading spinners now appear only when loading takes more than a second, and fade in gently, so fast loads show no spinner at all.
  • Fixed: the lightbox could stop working with WP Rocket’s “Delay JavaScript execution”. On pages that show an album, the plugin now keeps its scripts and jQuery out of the delay, so no manual exclusions are needed. Thanks to @plauritz for reporting it.

3.0.0

  • Added Apple iCloud shared albums after @plauritz requested support for Apple iCloud. The same shortcode, layouts and options work for Google Photos and iCloud albums, including videos, descriptions, camera info and downloads.
  • Renamed the plugin to Shared Albums for Google Photos & Apple iCloud. The slug and existing shortcodes are unchanged.
  • Changed: videos are now shown by default (show-videos=”true”). Add show-videos=”false” to keep showing photos only.
  • Added gallery-caption to show a caption, such as the photo description, below each gallery tile instead of on top of the image, with gallery-caption-gap for the space above it.
  • Added album-heading to show the album title as a heading above the album, in every mode, with album-heading-text-align and album-heading-indent.
  • Added order=”oldest” and order=”newest” to sort photos by the date they were taken.
  • Added Google Photos and Apple iCloud pages with setup steps, supported features and samples.
  • Added a Primary Source setting and editable sample albums per source in Settings.
  • Added a Values column to the shortcode parameter reference.

2.5.3

  • Added shuffled photo order with order=”shuffle”.
  • Improved Guide examples and kept sample links stable when examples are renumbered.
  • Thanks to @berbux for requesting the shuffled photo order.

2.5.2

  • Fixed slider controls visibility for mouse users in touch-reported browsers.
  • Shortcode validation now warns when a shortcode sets options for the viewer that is not active.

2.5.1

  • Moved the Shortcode Migration Tool to Settings with an integrated live preview. Improved its output.
  • Fixed gallery information not appearing in scrollable galleries.

2.5.0

  • Fixed the Guide page becoming slow.
  • Default Viewer setting now saves instantly; no more Save button.
  • Simplified the Guide page: migration tool tucked away.

2.4.6

  • Better guard of shortcode typos.
  • Fixed a scrollable gallery trapping the page scroll on touch devices.

2.4.5

  • Bug fixes
  • Confirmed compatibility with WordPress 7.1.
  • Raised the minimum supported WordPress version from 5.0 to 5.5.
  • Thanks to @littauer for reporting arrow keys moving several galleries at once, and to @markstravels for reporting missing captions caused by negative time zones.

2.4.4

  • Minor changes

2.4.3

  • Lightbox is now recommended and is the default for new installations; existing installations retain Fullscreen for shortcodes without an explicit viewer.
  • The redesigned viewer syntax adds explicit selection and triggers, shared settings, isolated mode overrides, and broader feature parity between Lightbox and Fullscreen.
  • The Guide adds comparison samples, semantic validation, one-click legacy conversion, and a Migration Tool that explains every change.
  • Editable shortcodes now include Prettify, which standardizes quotes, spacing, and parameter order before applying the result.
  • The Community Directory stores version-compatible shortcode forms, and a new Community Acknowledgements section recognizes major contributors.
  • Fixed mosaic navigation arrows, viewer background stacking, Fullscreen autoplay, button routing, and whitespace inside migrated album links.

2.3.7

  • Improved plugin intro
  • Improve warning about “gallery-columns” in the “justified” mode

2.3.4

  • Email-based login for the Community feature
  • Extensive unit and end-to-end testing

2.3.1

  • Tested with WordPress 7.0
  • New: Lightbox – an alternative to native fullscreen
  • Basic shortcode real-time validation
  • Preparation of the Community feature for the release
  • Thanks to @valterbruno for the original Lightbox request and continued real-world testing.

2.2.0

  • New: Community Directory – browse, copy, and publish shortcode configurations and inspire others 🙂
  • Privacy by design: your email is never sent; account identity uses one-way hashes, and publishing data is sent only when you choose to share
  • Passwordless authentication: Connect from your WordPress admin, with no email or external account required
  • Interaction points and shortcode ratings are community fun, not a competition
  • Delete your account and all published entries at any time

2.1.8

  • Fullscreen support of mosaic
  • Warning added: Google truncates descriptions to 100 chars
  • Thanks to @luisbenitez777 for requesting mosaic thumbnails in Fullscreen.

2.1.7

  • Fixed info-wrap bug

2.1.6

  • Fixed slider mode getting stuck on loading spinner (regression from 2.1.5)

2.1.5

  • Reworked Guide page loading to reduce blocking and improve responsiveness
  • Improved cache/help guidance on the settings page

2.1.4

  • Screenshots added

2.1.3

  • Add “How the cache works” section
  • Improve Guide page loading experience

2.1.2

  • Make caching description more clear and prominent

2.1.0

  • Settings page moved to top-level admin menu with subpages for easier navigation and reference
  • Google Photo description can be supported after all 🙂
  • Introduce a halo effect to improve text readability

2.0.11

  • Swiper loop navigation

2.0.10

  • Lighter loading for large sliders

2.0.9

  • New fullscreen-max-width and fullscreen-max-height
  • New info-wrap and info text alignment parameters
  • New gallery-buttons-on-mobile behavior for touch devices
  • Responsive layout improvements

2.0.8

  • File name bug fix

2.0.7

  • New dynamic photo info overlays
  • EXIF placeholders with background loading
  • Slider, carousel, gallery and fullscreen photo info
  • All Settings page samples are editable by now, not only the Playground

2.0.6

  • Touch devices: Controls appear on tap and fade out on inactivity

2.0.5

  • Fullscreen vs inline controls
  • Video download support
  • Download UX & settings improvements
  • Thanks to @peterpolow for requesting separate inline and Fullscreen controls and video downloads.

2.0.4

  • New: Mosaic thumbnail strip (mosaic="true") for slider and carousel modes
  • Added fullscreen-background-color (default #000) to control fullscreen background separately
  • Fixed gallery mode where show-download-button="true" did not render the download button
  • Fixed slideshow option logic: use disabled, manual, or auto for slideshow and fullscreen-slideshow
  • Fixed fullscreen-toggle="click" for video slides in gallery mode
  • Improved iPhone pseudo-fullscreen behavior, including fullscreen arrow navigation
  • Added restore-to-last-viewed position when closing fullscreen
  • Thanks to @matiaspl for a public fork that inspired the mosaic feature.

2.0.3

  • New parameter: “cache-refresh”
  • Clear Cache button added

2.0.1

  • Fixed album titles being truncated (dates and special characters are now preserved)

2.0.0

  • Gallery mode support
  • Experimental video support
  • Shortcode parameters and their default values changed (Breaking. Apologies!)
  • Thanks to @peterpolow for the detailed requests and testing behind Gallery mode and video support, and to @toonwolf for the digital signage requests behind show-navigation and source-width/source-height.

1.0.6

  • New animated logo

1.0.3

  • Improved Settings page with more intuitive onboarding and richer, example-driven documentation
  • Added Shortcode Playground on the Settings page to test and preview [jzsa-album] shortcodes without leaving admin
  • Thanks to @gmrobbins for an early usability review that led to clearer onboarding and helped inspire Gallery mode.

1.0.2

  • Initial Settings page and onboarding content

1.0.1

  • Release related improvements

1.0.0

  • Initial release
  • Modern Swiper 11 library integration
  • Fullscreen mode with dedicated button
  • Play/pause button in fullscreen with spacebar keyboard shortcut
  • Download button with server-side proxy (optional, disabled by default)
  • Zoom support (pinch on touch devices)
  • Keyboard navigation (arrows to navigate, spacebar to play/pause in fullscreen)
  • Lazy loading for optimal performance
  • Progressive image loading with error recovery and placeholders
  • Click-to-fullscreen option
  • Random start position for galleries
  • SSRF protection and proper escaping
  • WordPress coding standards compliance
  • 24-hour caching mechanism
  • User-friendly error messages for invalid album URLs
  • Responsive design with touch gestures