Why am I getting an "Unable to communicate with the server. You are either not connected to the Internet, or the server is not responding" error?
This could be happening for one of two reasons: either you entered the Server URL incorrectly and your server name cannot be resolved, or your firewall is blocking Internet access for Lightroom. To check if this is a firewall issue, from Lightroom's main menu, go Help > Check for Updates, see if Lightroom throws a similar error.
How to fix the HTTP Error 405 "This method requires HTTP POST"?
Your server is configured to redirect all traffic to HTTPS, so when you specify your server address as with the http:// prefix you are causing an internal redirect from the HTTP to HTTPS protocol. When such redirects take place, the information contained in the original request gets lost. In order to solve this you must specify the server's URL with the https:// prefix to allow the plugin talk to your server without any redirects.
Why am I getting "Missing API Handler" errors?
Most likely you don't have the ws.php script in your Piwigo environment. The ws.php file is the API endpoint, which must be present in order for external applications (in this case my plugin) to communicate with your Piwigo environment. If you intentionally renamed the ws.php, you must specify its full URL in plugin settings, see How can I protect my Piwigo instance from cross-scripting attacks? below.
You can easily check whether your ws.php script is in place. Let's assume your Piwigo site is running at www.mysite.com. Accessing http://wwww.mysite.com/ws.php in the web browser should produce an XML document containing a "Missing method name" error. Anything else (eg. a "File not found" error) means the ws.php script is missing.
I get an error message "The certificate authority is invalid or incorrect".
This error is raised by Lightroom when you attempt to establish a HTTPS connection with a server using an invalid or self-signed certificate. Visit your secure site in the web browser then explicitly accept the invalid certificate. The system will put the certificate in the trusted store and will consider it valid.
The following article explains how to accept a self-signed certificate using Internet Explorer: http://www.poweradmin.com/help/sslhints/ie.aspx, and this discussion covers Google Chrome and Mac OS: http://stackoverflow.com/questions/7580508/getting-chrome-to-accept-self-signed-localhost-certificate.
Why am I getting HTTP Error 500?
HTTP Error 500 means a failure to execute a PHP script on the server. This can be caused by a dozen of different things, from insufficient memory limits to bad permissions. Essentially this is a server configuration issue and it needs to be addressed on the server side. A detailed error description can be found in Apache's error log file.
How can I protect my Piwigo instance from cross-scripting attacks?
Piwigo's API handler - the ws.php script is one of the most frequently used targets of cross-scripting attacks, because of its well know name. Starting with version 2.9.4, the Lightroom plugin supports custom API URLs. This allows you to rename the ws.php script to some obscure name, e.g. ws-secret365.php, thus hiding it from script kiddies. Once the ws.php has been renamed, point the Lightroom plugin to the new name by specifying the full URL of the API handler in the Server URL field, for example http://my-faithful-server.com/piwigo/ws-secret365.php.

Weird errors and weird behavior

I keep getting one of these HTTP error codes: 403, 406, 418, 503, 508.
I am getting an "Access Denied" error shortly after trying to connect or upload photos.
My site becomes unresponsive for 5-10 minutes when I try using the plugin.
My IP address keeps getting blacklisted.

Possible cause #1: request rate limit

Many hosting providers protect sites from brute force attacks by imposing a rate-limit on incoming requests. The problems listed above are side-effects of this. You can experiment with the throttling option (Piwigo Export Options > Server Performance Tuning) and apply pauses between requests. This, however, will make the plugin work much slower.
Also, try contacting your hosting provider and ask them to exclude your IP address (if you have a static IP) from the rate-limiting rule. You also may need to opt for a more expensive hosting plan, or go with a different hosting provider.

Possible cause #2: modSecurity rules

Another cause of HTTP Error 403 could be a modSecurity rule, which some hosting providers apply to all accounts. One of my clients (Eric Wouters) kindly provided the rule he found in his Cpanel. The security rule attempts to address the security vulnerability found in earlier versions of Piwigo. And to do so, it simply blocks all API requests to Piwigo and produces HTTP error 403 in response. Clearly, this prevents the plugin from communicating with the server. I suggest installing the latest version of Piwigo to address the concern of vulnerability, then working with your hosting provider to remove the blocking rule.
Why am I getting upload errors?
First things first - make sure you can upload photos using Piwigo's web uploader. If your uploads fail there, then it's definitely a configuration issue. Most likely, the memory limit for PHP is set too low. Edit your php.ini file and set the memory_limit parameter to at least 64M:
memory_limit = 64M
If your PHP installation has the suhosin patch, the memory limit must be increased in the suhosin.ini configuration file as well:
suhosin.memory_limit = 64M
Restart Apache and try uploading again using the web uploader.
Once you are able to upload using the web uploader, try uploading from the Lightroom plug-in.
Second, do not use FastCGI, make sure to run PHP as an Apache module.
Another frequent cause of upload and connection related errors is the mod_security module. mod_security is an Apache module that provides intrusion detection and prevention for web applications. It aims at shielding web applications from known and unknown attacks, such as SQL injection attacks, cross-site scripting, path traversal attacks, etc. This all sounds good, however, when poorly configured mod_security can also shred totally innocent and legitimate requests. When this happens you can experience all sorts of trouble ranging from server errors ("HTTP Error 400 Bad Request" and "HTTP Error 500 Inernal Server Failure") to seemingly random alterations and disappearance of API requests. If you have your own server and can configure it at your will I recommend disabling mod_security, at least to check if things start working as expected once your take mod_security out of the equation. Then you can work on configuring it correctly so it does not interfere with the Piwigo API. Things starting to look more bleak if you are on a "shared hosting" plan where your provider controls Apache and PHP configurations. Some providers would work with you and make reasonable configuration changes, some (particularly those who provide free or nearly free hosting) would not change a thing. My only advise to you in this case is that you look for alternatives.
What is the maximum file size I can upload?
The maximum file size Piwigo can accept depends on your PHP setting for the maximum post size. The default setting in most PHP installations is 8MB, which should be more than enough in most applications. If you are uploading very large photos (larger than 3600px long @ 100% JPEG quality - not sure why you'd want to do that), you need to increase the post_max_size parameter.
post_max_size = 16M
If your PHP installation has the suhosin patch, the post limit must be increased in the suhosin.ini configuration file as well:
suhosin.post.max_value_length = 16M
What image settings should I use?
I recommend the following combo:
  • JPEG Quality: 80-85%
  • Resize to Fit (checked): Long Edge, 1200-1600 pixels
  • Sharpen For (checked): Screen, Amount: Standard
This combination produces good quality JPEGs for viewing purpose, typically 600 - 900 KB in size.
Do I need to make any changes in my Piwigo installation?
No additional changes on Piwigo's side are required.
What do Piwigo Publish Options do?
  • Create develop snapshots on Publish - with this option selected, each publish operation creates a Develop Snapshot (available in Lightroom on the Snapshots panel within the Develop module). This option is useful only if rely on Snapshots in your workflow.
  • Synchronize photo comments and ratings on Publish - with this option selected, the plug-in retrieves photo comments and ratings from your Piwigo service each time you publish or update photos. If you are not using comments and ratings, unchecking this option allows to improve performance.
  • Use chunked uploads - this option allows to split file uploads in multiple chunks, similarly to Piwigo's web uploader. This is the preferred method of uploading photos in Piwigo 2.3.3 and above.
  • Validate "Image Sizing" settings before the upload - Enables the plug-in to make sure the size of output images is within the reasonable range of 500 - 10000 pixels. Smaller images will be look funny, and larger will take a very long time to upload and most likely would simply cause out-of-memory errors on the server. However, for practical reasons you should keep Gallery uploads within even a stricter range of 800 - 1600 pixels.
Why do all options in the Piwigo Export Section appear grayed out?
You are running an unregistered copy of the plug-in. These options are available only in the registered version.    
What does the Advanced option in the Your Account section do?
This option was added in version 1.7.1. This enables you to implement additional security measures at your server, as outlined in RFC2617. Two HTTP Access Authentication methods are supported - Basic and Digest Access Authentication. Note: this is an additional authentication method, which depending on the configuration can restrict access to the entire Piwigo installation, or just the ws.php script - the Piwigo API endpoint. The user name and password for this authentication method should be different from your Piwigo user name and password.
After the upgrade to Piwigo 2.4 I am having trouble synchronizing metadata. How do I solve this?
In Piwigo 2.4 the standard setting for meta synchronization is deactivated. You should edit the config_default.inc.php file and enable the following values: // use_iptc: Use IPTC data during database synchronization with files // metadata $conf['use_iptc'] = true; // use_exif: Use EXIF data during database synchronization with files // metadata $conf['use_exif'] = true;
How do I control the visibility level of uploaded photos?
Please find the explanation in version 1.8.0 announcement.
What do Keyword Filters do?
The new feature added in version 1.9.1 enables you to exclude certain keywords from the export to Piwigo. Lightroom provides the ability to include or exclude individual keywords from export operations, however this affects all export operations, regardless of the destination. This makes it extremely difficult to handle scenarios where you want to have certain "personal" keywords remain present when you upload photos to your hard drive or internal web site for your family, however  strip them out when uploading to a publicly accessible Piwigo site. Now you can specify matching rules to apply additional filtering.
There are two types of matching patterns - for individual keywords and for keyword trees (parent-child keyword hierarchies). Any rule containing the > character is a path matching rule, otherwise it is a keyword matching rule. You can use the * symbol as the wildcard for matching any number of any characters.
Exclusion Rules are applied first and their remove matching keywords. Inclusion Rules are applied second, and they put matching keywords back into the list of exported keywords.

Example 1:

Exclusion Rules: * Inclusion Rules: Piwigo>* Effect: Only keywords that are children of "Piwigo" will be included in the export.

Example 2:

Exclusion Rules: Famiy>* Inclusion Rules: -no rules- Effect: This removes all keywords that are children of "Family".
Unable to access photo #... It may have been dissociated from the album and is currently not associated to any album in your gallery.
This usually happens when you delete a gallery containing photos via Piwigo's admin console. This removes the gallery but leaves photos in 'orphaned' state. Log into Piwigo as administrator, go Administration > Photos > Recent Photos and search for photos that are not associated with any album, then delete them. After that Lightroom will be able to re-upload these photos if needed.
Got another question? Ask alloyphoto@alloyphoto.com, so I can improve and expand this section.