Issues & FAQ

When Lightroom and WordPress don’t talk, the cause is almost always something sitting between them: a firewall, a security plugin, a slow server or a wrong address. Go through this page in order, and you’ll most likely find it in a couple of minutes.

Check these first

  1. Both sides are up to date: Photo Engine in WordPress and WP/LR Sync in Lightroom.
  2. The Site URL in Lightroom is exactly your site’s address, and the Token is the one in Meow Apps → Photo Engine → Basics.
  3. Your firewall or security plugin lets /?wplr-sync-api through.

1. Installing the plugin in Lightroom

“Script (Info.lua) is missing.” The plugin is still zipped, or the folder has the wrong name. Unzip it and make sure the folder is called wplr.lrplugin, then add that folder in File → Plug-in Manager.

The plugin disappears after a restart. Lightroom remembers where the folder was. If it was in Downloads or on the Desktop and got moved or cleaned up, put it somewhere permanent and add it again. The tutorial suggests good places.

2. Lightroom can’t connect

When you click Login, Lightroom sends your token to your site. The message it shows tells you where to look:

“This token seems to be invalid.” Copy it again from Photo Engine → Basics → Your Token, without spaces. If someone clicked Regenerate, the old token stopped working: paste the new one in Lightroom.

“Too many failed attempts. Please try again in 15 minutes.” After 20 wrong tokens, your site pauses the login for a while, to keep it safe. Fix the token first, wait, then try once.

“Authentification is missing.” The token field is empty, or something between Lightroom and your site removed it from the request, usually a firewall or a proxy.

No answer, an HTML page, or a 403. The request never reached Photo Engine. Check the Site URL first: https or http, with www or without, and nothing like /wp-admin at the end. Open it in your browser on the same computer: it should be your site.

Firewalls and security plugins

Lightroom talks to your site through /?wplr-sync-api. Anything that blocks requests coming from outside a browser can stop it:

  • Security plugins like Wordfence: allowlist /?wplr-sync-api, or your own IP address.
  • Site-wide locks: maintenance or coming soon mode, a “privacy mode” from your host, a password on the whole site (.htaccess), or a plugin that forces visitors to log in.
  • Your host: some block an IP after many requests. If your site doesn’t load from the computer running Lightroom, ask your host to unblock your IP.
  • Your own computer: a firewall app (Little Snitch, for example) must let Lightroom go online.

3. Uploads fail or time out

An error 408, 503 or 504, or “Service Unavailable”, means your server gave up before the photo was ready. Here is what happens for every photo you publish:

LightroomMakes the image from your export settings.
WordPressReceives it and builds every thumbnail size.
Your pluginsRetina, WebP, optimization… each adds work.

Many servers allow about 30 seconds for all of that. The bigger the image, the longer every step takes, so the fix is nearly always the same: in the publish service settings, set Image Sizing to a reasonable limit, like 2,500 pixels on the long edge. Fewer thumbnail sizes help too: Perfect Images lets you switch off the ones you don’t use. More in how to fix timeout errors.

Find the real error

If any plugin fails while a photo arrives, the whole publish fails with it. Three places tell you which one:

  • Your PHP error logs, from your host: how to find them.
  • Photo Engine’s log: turn on Advanced Logs in Photo Engine → Extensions & Debug, publish again, and read it there.
  • Lightroom’s log: WPLRSync.log, in your Documents folder, under LrClassicLogs.

Still nothing? Turn off your other plugins, publish one photo, then turn them back on one by one until the error comes back.

Common questions

I republished, but WordPress still shows the old photo. It’s almost always a cache: your caching plugin, your host or your CDN. Clear them. To be sure, open the image’s file address directly in a private window.

I changed keywords, but the photos aren’t marked to republish. Lightroom only marks them when keywords are synchronized: tick Keywords (or All Meta) next to Synchronize in the publish service settings.

How do I control the order of the photos? In a collection, open its settings in Lightroom and choose Sort by: by date, by name, or Default with Lightroom’s Custom Order (click Update to apply it). In the Media Library, photos follow their upload date; turn on Use Capture Date in Photo Engine → Basics to use the date they were taken.

Can I sync changes made in WordPress back to Lightroom? No. Lightroom is the source: the files on your site are resized copies, most of their metadata is gone, and Lightroom stays the one place to edit.

I used several catalogs with the same site and it’s a mess. Use one catalog per site. To start clean without losing your images, ask us: we’ll help you reset Photo Engine’s data safely.

How do I swap a photo on my site for another one from Lightroom? Select both in Lightroom and use Library → Plug-in Extras → Switch Photos.

What about WPML? Lightroom’s texts go to your default language. Translations get them on the first upload, then they’re yours: later publishes don’t overwrite them.

Total Synchronization

The matching takes forever. Comparing how photos look needs a “hash” of each one. Create them first, in the Advanced tab of Total Synchronization with Create Hashes, and the matching itself gets much faster.

Some images in WordPress should never be linked. Logos, icons, screenshots: click IGNORE on them, during the matching or in Consolidate with Lightroom. They won’t show up again.

Several WordPress images are linked to the same Lightroom photo. The Duplicated Links tab in Consolidate with Lightroom lists them. Careful there: its actions are immediate, and a deletion can’t be undone.

Still stuck?

Write to our support with your PHP error log and your WPLRSync.log (if it’s huge, delete it, try once more, and send the new one). With those two files, we can usually tell you exactly what’s wrong 🙂