Issues & FAQ

Errors & Debugging

Installation Issues

Are you using Windows? If yes, the plugin for Lightroom must be unzip (usually, a double-click on the file will unzip it). Then, you can use the folder as the plugin. On MacOS, the (zipped) file is the plugin directly. That’s a Lightroom mystery 🙂
For now, the installation is manual and might appear tricky for the user: I really apologize about that!

In short: unzip, keep the files in a folder called wplr.lrplugin (the .lrplugin in the folder name is important) and pick this folder as the plugin in File->Plugin Manager in Lightroom.

Jeffrey Friedl (author of many LR plugins) wrote an amazing article about how to install those plugins. It is the best article so I don’t even want to attempt to write a better one. It is here: Installation and Management of LR Plugins.

Firewall & Security Plugins

Make sure you whitelist this URL on your site: /?wplr-sync-api

Connection / Publish Issues

Let’s see why the connection between the LR plugin and the WP plugin is not working. Please check every item of this list carefully. This covers 99.8% of the issues.

If the version of WP/LR Sync on the Lightroom side is before 5.x, then you might encounter issues as it’s not compatible with the latest versions available for WordPress.
Sounds like not a very clever question, but sometimes that might be that the plugin is disabled 🙂 Can you check your Plugins page in WordPress? If not, enable it and try everything again. Also, there are plugins that can disable other plugins or their functions. Please make sure you try to disable all the plugins and test WP/LR Sync alone (such plugin as Plugin Organizer, for example, can do that).
Make sure the WordPress URL you are using on the Lightroom side is the right one. Try it with http or https. It’s often an issue. Also, make sure your token is right.
Now, here is the flow of uploading a file with WP/LR Sync.

1. Lightroom Engine generates the image based on your Export Settings.
2. WP/LR Sync uploads this image from Lightroom to WordPress, as the original (full-size) image.
3. Thumbnails are created. Their numbers depend on your theme, and the plugins you might be using (WooCommerce adds many sizes for example).
4. If you are using a Retina, or WebP plugin, those images are created.
5. If you are using an Image Optimization plugin, all the images previously created will be optimized (that is a heavy operation).
6. More can happen depending on your plugins.

Servers usually only allow 30 seconds for a process to run (here, it concern the Step 3 to Step 6). If this process takes more time, the server ends it abruptly. There is unfortunately not way to go around this. In the case of WP/LR Sync, Lightroom will never ever know if the image was uploaded successfuly or not.

The size of the image generated by Lightroom influences the whole process, in an exponential way. So you should absolutely make sure the image generated by Lightroom isn’t huge. On the Lightroom side, in the Settings of the Publish Service, check the Export panel.

To understand more about timeouts and how to resolve them, have a look at this article:
WordFence blocks everything. I don’t know the version Pro, or way of handling this automatically, but one thing you can do is to add your own IP address to the Whitelisted IP addresses that bypass all rules field in WordFence. Can’t find your IP? Have a look in WordFence > All Options, and it will be shown below How does Wordfence gets IPs.

Another way is to add an entry to the Whitelisted URLs in your Firewall. Try this (yes, the URL is just a slash):

URL: /
Param Type: POST Body
Param Name: filePath

If you find another way to skip Wordfence, let me know (don’t hesitate to contact them).
This issue is not the most common, but it is easy to check. Access your website from the same computer where you are using Lightroom. If you can’t access your website (or that it takes forever to load), it means you have been blacklisted/blocked by your hosting service. Make sure you know your IP address (what is my IP?) and contact your hosting service, asking to be removed from the blacklist and better, to be added to the whitelist.
There are many tools nowadays to prevent us from giving our data to be uploaded everywhere. For example, there is a nice tool called Little Snitch that does that well. But don’t forget, you will need to let Lightroom access Internet to use WP/LR Sync 🙂
Strato seems to block POST requests by default. I found this interesting image here. Please have a look, that is probably the answer to this problem.
Make sure that the plugin and your website works normally. WP/LR Sync might not work properly if:

– Maintenance Mode is enabled (or using plugins like Coming Soon Page, Maintenance Mode,…)

– Privacy Mode is enabled (hosting services such as Flywheel have a feature called like this)

– The WP REST API is disabled by a security plugin (for example WP SpamShield and its Disable anti-spam for miscellaneous forms option )
you are using a captcha or something similar that restricts the access, for example by using reCAPTCHA

– The wp-admin not directly accessible, or the website access has been limited through the .htaccess (the Authentification Required popup)

– Make sure you are not using those plugins: ClefGoogle Authenticator, NinjaFirewall+, WP SpamShield, ShieldSecurity, Force Login, etc…

Once you found why it is not working, you need to find an alternative to do what you need.

If the issue comes from a security plugin, you will need to ask the developers of that security plugin to find a way to let WP/LR Sync go through. For your information, WP/LR Sync needs access to the WP-JSON API, and it also uses the wp_authenticate function to resolve your credentials.
You have to be aware that if any other plugin fails or generate an error during the syncing process, WP/LR Sync will be stopped. Therefore, you need to check your PHP Error Logs to make sure nothing happens during the WP/LR Sync process. Check it before using WP/LR Sync, perform an action (or the specific action which failed) and check it again. Did something happen in between?

Your PHP error logs are made accessible by your hosting service, if you don’t know where they are, the best is to ask them. You can also try to use such a plugin as Error Log Monitor (but they don’t always detect the error file). If you are willing to learn more about checking errors by yourself, check this: Monitor PHP Errors. Be careful, the PHP Error Logs is not the Access Error Logs, they are two different things.

Your PHP error logs are empty? It might not be normal, PHP error logs usually have notices, warnings, and errors. Please make sure the errors are actually being logged. For that, you can edit your functions.php (what is functions.php?) and insert such a line:

error_log( “Hello Error Logs!” );

Then load any page on your website, and check your PHP Error Logs again. If they are empty, it means that they are not working. Contact your hosting service in that case. Don’t forget to remove this line from your functions.php.

Alternatively, you can also have a look at your WPLRSync.log located in your Documents folder (LrClassicLogs directory), it sometimes contains interesting information.
Disable it, and try again. Does it work? Then an option are you are using in JetPack is blocking WP/LR Sync. One is that you need to authorize WP/LR through JetPack -> Settings -> Carousel, find WP/LR at the bottom of the page and enable it.
Disable all the plugins (except WP/LR Sync) and also disable all the extensions you have chosen for WP/LR Sync. Any error or warning generated by any plugin during the WP/LR Sync process will end up with an error for WP/LR Sync. That’s the way it is. Try without any plugins running. It works? Re-active them one by one, until you find the culprit 🙂

I had myself issues with plugins such as Media Library Assistant and WP Fastest Cache.
Some hosting services are cheap and/or simply not good and basically, reject too easily requests to WordPress API. Alternatively, you can use one of the hosting services I recommend, here.

Did nothing work?

I will not be able to give you more advice than what is on this page. The only way to debug your issue further is to:

  • Get your PHP Error Logs. This file is really necessary for debugging the issue. If you don’t find it, or if it is empty, have a look at this: How to Debug WordPress.
  • Get your WPLRSync.log. This file is on your own system, in the Documents folder (LrClassicLogs directory). If it is huge, delete it, reproduce the issue, and get the new WPLRSync.log file.
  • Contact me, and share with me those two files, and possibly, access to your install.

It is really important to follow this process to make sure that I can help you. Thank you.


Common Questions

You can learn about it here: The default post types in WordPress are pages, posts and attachments. Themes and plugins can create additional ones, for instance, galleries, videos, products, etc.
Envira and NextGEN are plugins that are working only with themselves. If you use NextGen or Envira to upload your photos to Lightroom, they will not be usable by another gallery plugin (or even the core Media Library in WordPress) if you wish to switch one day in the future. You will need to re-create everything from scratch. That is why WP/LR Sync was created. It synchronizes naturally with WordPress and has a powerful API that allows any other plugin, gallery or theme to plug into it and use its data.
The plugin doesn’t decide in which order to send the files, Lightroom does. And WordPress decides how to display them in the Media Library. There is no manual ordering possible in the Media Library, that is technically not doable (or that would be really tricky).

In the Media Library, the images are ordered by a field internally known as Upload Date, it is shown as the Date column. So basically the latest image you upload will be at the top. In Lightroom, you can choose that by drag & drop the images about to be sent for the first time (in New Photos to Publish). Then Publish. The last image to be uploaded will appear first in the Media Library.

Another way is to use the Use Photo Taken Date. I recommend this because the plugin will override the default process and use the Taken Date of the photo as the Upload Date. That will make your Media Library clean, with useful and re-usable data.

If you want to order images within a gallery synchronized by WP/LR Sync, this is possible. You need to use Custom Order in Lightroom for this specific gallery, and trigger a Re-Publish for any photo within this gallery to trigger this ordering update.
That’s not really possible. Also, it wouldn’t be a good idea, as your images on WordPress as been optimized or altered in some ways, with most of its metadata (EXIF) missing. Lightroom should be the source and the only source for your images and the associated metadata. You can consolidate and re-recreate the data in your WP/LR Sync Publish Service with the Total Synchronization module (please check the tutorial).
That is tricky. You should use only one catalog and one publish service with your WordPress site. If you synchronized many catalogs, it’s probably better to start clean ; you can keep the previously uploaded images in your WordPress (and they will not be removed anyway by WP/LR Sync), but you should remove them from the Photo Engine system, so that it’s shown as standard Media (as if they were uploaded manually). For this, you can enable the Debugging option in the Settings of Photo Engine, reload your admin, and visit the Photo Engine Menu that will become available. In there, you’ll find a Reset Photo Engine DB. That will really wipe all the WP/LR Sync data, so be careful! But it will not delete the images. Once it’s done, synchronize your latest catalog, and work with that catalog only.
If you have caching on your server (or a CDN) then the photos might not be refreshed. The plugin cannot do anything about it so you should try to reset your cache and/or you CDN. The refreshed photos should appear after that.

Of course, this could be the cache at many different level, so depending on the plugins and systems you are using for this, the way to resolve it is very different. Photon is also known to do that.

The only way to make sure the new image has been uploaded and synchronized, is to download the file by FTP and open it. Please do this before trying to check if there is an issue with the plugin itself.
For this to happen you need to either have a WordPress field link to ‘Keywords’ or you need the ‘All Meta’ box to be checked.
Check the module called Switch Photos (Library > Plugins Extra). You can then select two photos (the current one that you have in your WP and the one you want to exchange it in your LR and then it will be done. Easy!
The easiest way to do it would be to use the plugin called Media Library Assistant. If you have a problem, the developer behind it is very helpful and you can check this WordPress thread, it is quite useful.
Another way is to take advantage of the API available in WP/LR Sync. One of my users, Geet, wrote some code that keeps his custom meta (city, country) synchronized from the IPTC information. The code is available here.
The plugin considers that the language you are using in Lightroom is the default/base language you are using in WordPress. Therefore, on a fresh first new upload, all the media translations will received the texts from Lightroom and will be the same as the default media. The following synchronizations will not update those translations’ metadata anymore since they are supposed to be… translations 🙂 However, the default translation will always be synchronized with LR. I believe it is the way it should work.

Theme Assistant Extension

Check if you are using the “Reuse” feature in the settings of this extension. It is maybe the case that you have another post type somewhere else using the same title for your collection, or that you have a deleted one that has the same name. In both cases, WP/LR Sync will re-use it. Find it and delete it definitely, or disable the “Reuse” feature.
Enable the Debugging Tools, and check if the Hierarchy (the area on the right) is correct. This is what WP/LR Sync exactly knows about your Lightroom. If it is wrong, try to Re-Publish many of your images from the LR side, which should update the hierarchy maintained by WP/LR Sync.

Is the Hierarchy is right but your WordPress doesn’t have the Posts/Pages/Galleries (or whatever you linked it to) the same, try to Reset the Extensions, then Sync the Extensions again (in the Extensions menu). That will call your extensions (and therefore, the Post Types extension) to re-do everything.

Total Synchronization

If you want it to be faster, you can run the hashing process by yourself (Advanced tab) on all your photos using the fastest service you have (you can use a WordPress installed on your own machine). Those hashes can then be used for matching with any other service, it only has to be done once per photo.
No problem: in the LR Sync column of the Media Library there is an input field for the LR ID. Type in a ‘0’ and ‘Link’. The photo will be marked as ‘Ignored’. You can also do this during the matching.
How you manage those duplicated photos is up to you but personally I like to avoid this case. In WP/LR Sync, there is a dashboard that will show you the duplicated photos you have (based on the links between LR and WP). To enable this dashboard, go to Settings > Media and check the WP/LR Tools. Now go in your Media menu and there will a new WP/LR screen.

Issues with Extensions

If you are a user of the Real Media Library extension built-in WP/LR Sync, this extension is now deprecated and has been removed from the plugin in 2019. However, Matthias – the developer of Real Media Library – is in charge of another extension that might do this. It is available on the WordPress repository, here: WP/LR Sync Folders. If any issue with this extension, please use the Support Threads related to the plugin. They are here. However, it doesn’t look like Matthias is very active on it.