Tutorial

Photo Engine connects Lightroom Classic to WordPress. Publish your photos straight from Lightroom, with their titles, captions, keywords and collections, and when you edit a photo later, one click on Publish updates it everywhere on your site. No exporting, no uploading, no hunting for the old file in the Media Library.

In 30 seconds

  1. Install Photo Engine in WordPress, and the WP/LR Sync plugin in Lightroom Classic.
  2. In Lightroom, add a WP/LR Sync publish service with your key, your site’s address and the token from Meow Apps → Photo Engine.
  3. Drag photos into it and click Publish. Edit them later, publish again: WordPress follows.
  • Photo EngineThe WordPress side, free on WordPress.org. It receives your photos, keeps the links, and organizes everything in folders and collections.
  • WP/LR SyncThe Lightroom side, a publish service for Lightroom Classic. It comes with a licence key, from the WP/LR Sync page.

1. Install both plugins

  1. In WordPress, go to Plugins → Add New, search for Photo Engine, install and activate it.
  2. Download WP/LR Sync and your key from your account, and unzip it. The folder must be named wplr.lrplugin: the .lrplugin ending is how Lightroom recognizes a plugin.
  3. Put that folder somewhere it will stay, then in Lightroom open File → Plug-in Manager, click Add, select it, and make sure it’s enabled.

Any folder works. Good places are /Applications/Adobe Lightroom Classic/Adobe Lightroom Classic.app/Contents/PlugIns/ on a Mac, and %APPDATA%\Adobe\Lightroom\Modules\ on Windows. Lightroom may offer to upgrade your catalog afterwards: that’s normal.

2. Connect Lightroom to your site

In Lightroom’s Library, click the + next to Publish Services, choose Go to Publishing Manager, click Add and pick WP/LR Sync.

Lightroom Classic Publish Services panel, with the menu to open the Publishing Manager

Three fields matter, in the WP/LR Sync | Authentication section:

  • Key: your WP/LR Sync licence key.
  • Site URL: the base address of your site, exactly as it is (https or http, with www or without), with no /wp-admin at the end.
  • Token: in WordPress, open Meow Apps → Photo Engine, and copy Your Token from the Basics tab. It connects Lightroom as your own WordPress account.
WP/LR Sync settings in Lightroom: Key, Site URL and Token, then the fields synchronized with WordPress
Photo Engine Basics tab: Media Organizer enabled, and Your Token for the WP/LR Sync plugin in Lightroom

Click Login, then save. If it doesn’t connect, a firewall plugin like Wordfence may be blocking the requests: allowlist /?wplr-sync-api. Everything else is on the common issues page.

Use one catalog per website. You can create several publish services in that catalog for the same site, as long as they hold different photos.

3. Choose what goes to WordPress

In WP/LR Sync | Synchronization & Metadata, choose which Lightroom field fills the title, the caption, the ALT text and the description. The first upload uses all of them. After that, only the fields you tick next to Synchronize are updated, so you can keep editing the others in WordPress.

  • Image Sizing: set a limit, like a long edge of 2,500 pixels. Full-size originals are heavy, and some servers time out on them. Lightroom makes these files; WP/LR Sync only delivers them.
  • File Naming: it decides the file name on the first upload. Later publishes keep that name, so nothing on your site breaks. To rename files afterwards, use Media File Renamer.

Custom content for the fields

Instead of a single Lightroom field, you can build the text yourself with keys in braces. Write pipes (|) where you need quotes: they’re turned into quotes for you, because Lightroom doesn’t accept them there.

Taken by <a href=|{creatorUrl}|>{creator}</a>.
Taken in {location}, {city}, {country}.
File: {folderName}/{fileName}

The most useful keys are title, caption, location, city, country, creator, creatorUrl, copyright, folderName and fileName. Here is the full list ↗.

4. Publish, edit, publish again

Like any Lightroom publish service: drag photos into it and click Publish. They arrive in your Media Library. Change a photo later (crop, colors, keywords, a new watermark) and Lightroom lists it as modified: publish again, and the same media in WordPress gets the new version, with all its sizes, wherever you used it.

Collections and folders you create inside the publish service appear in WordPress too. And to replace a photo with a better one everywhere on your site, select both and use Library → Plug-in Extras → Switch Photos.

5. Organize and show your collections

Media → Organizer shows your folders and collections, the ones from Lightroom and the ones you make in WordPress. Click one, and it gives you a shortcode, ready to copy into a page.

Photo Engine Media Organizer: a Lightroom folder with four collections as cards, and its shortcode ready to copy

With Meow Gallery, a folder becomes a collection of albums ([meow-collection wplr-folder="4"]) and a collection becomes a gallery. The standard WordPress shortcode understands them as well: [gallery wplr-collection="12"]. Add a photo to the collection in Lightroom, publish, and the gallery on your page has it too.

No Lightroom? The Organizer works on its own: Photo Engine is also a free way to sort a Media Library into folders and collections.

6. Keywords

Photo Engine always keeps your Lightroom keywords. To use them in WordPress, open the Keywords (Tags) tab: Enable Keywords adds a Keywords taxonomy to the Media Library (attachment_keyword), and Sync Keywords chooses which taxonomy is kept in sync, that one or one from your theme. Hover a keyword in that tab to copy its shortcode, like [gallery wplr-keywords="3,8"]: it shows every photo with those keywords.

Photo Engine Keywords (Tags) tab: Create the Keywords Taxonomy enabled, synced with attachment_keyword

Turned it on with photos already published? Resync with Extensions, in the Extensions & Debug tab, replays everything so your keywords catch up.

7. Link the photos already on your site

Hundreds of photos uploaded before Photo Engine? Link them to Lightroom instead of uploading them again. In Lightroom, open Library → Plug-in Extras → Total Synchronization, select your site and the photos to compare, and click Start. It matches them by their metadata, then by how they look, so a large library can take a while.

WP/LR Total Synchronization in Lightroom: a WordPress photo and its Lightroom match side by side, with Link, Link + Next, Unlink and Ignore

Go through the matches with LINK + NEXT. IGNORE is for logos and images that will never be in Lightroom, and UNLINK undoes a mistake. When you’re done, publish: the linked photos are refreshed with your export settings.

Some photos look too different to match on their own (heavy edits, crops). Link those by hand: in the Advanced tab, click Create LR IDs and copy the photo’s LR ID from the metadata panel. Paste it next to the photo in Consolidate with Lightroom, click Link, then drag the photo into your publish service.

Photo Engine Consolidate with Lightroom: unlinked photos, each with a field to type its LR ID and a Link button

For developers

Photo Engine keeps the whole hierarchy of folders, collections and keywords, and shares it with themes and plugins through PHP functions, actions and a REST API (wplr/v1). That’s how a theme can turn each Lightroom collection into a portfolio page. Everything is on the API page.

Questions

Lightroom says it can’t log in, or “Got an error from WP”. Check the Site URL first (https, www), then your firewall or security plugin. The common issues page goes through each case.

Does it work with the new Lightroom (not Classic)? No. Publish services only exist in Lightroom Classic.

If I remove a photo from the publish service, is it deleted from WordPress? Removing it from a collection only takes it out of that collection. Once it isn’t in any collection of the service anymore, the media is deleted from WordPress for good, sizes included. Lightroom asks before it publishes that, so take a second to check.

Stuck somewhere? Our support is here to help.