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
- Install Photo Engine in WordPress, and the WP/LR Sync plugin in Lightroom Classic.
- In Lightroom, add a WP/LR Sync publish service with your key, your site’s address and the token from Meow Apps β Photo Engine.
- Drag photos into it and click Publish. Edit them later, publish again: WordPress follows.
1. Install both plugins
- In WordPress, go to Plugins β Add New, search for Photo Engine, install and activate it.
- Download WP/LR Sync and your key from your account, and unzip it. The folder must be named
wplr.lrplugin: the.lrpluginending is how Lightroom recognizes a plugin. - 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.

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-adminat 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.


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.

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.

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.

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.

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.