This guide covers the most common issues you might encounter with WPsigner and provides step-by-step solutions.
Quick Diagnostics
Section titled “Quick Diagnostics”Before troubleshooting specific issues, check the System Status:
- Go to WPsigner → More → System Status
- Review all health checks
- Address any items marked with ⚠️ or ❌
Installation Issues
Section titled “Installation Issues””Plugin could not be activated”
Section titled “”Plugin could not be activated””Symptoms:
- Error message on activation
- White screen after activation
- Plugin immediately deactivates
Causes & Solutions:
| Cause | Solution |
|---|---|
| PHP version too low | Upgrade to PHP 7.4 or higher |
| Missing OpenSSL | Enable OpenSSL extension |
| Memory limit | Increase to 128MB minimum |
| Plugin conflict | Deactivate other plugins to identify conflict |
How to check PHP version:
php -vHow to enable debug mode:
Add to wp-config.php:
define('WP_DEBUG', true);define('WP_DEBUG_LOG', true);define('WP_DEBUG_DISPLAY', false);Then check /wp-content/debug.log for specific errors.
”Upload failed - file size exceeds limit”
Section titled “”Upload failed - file size exceeds limit””Symptoms:
- Cannot upload plugin zip file
- Error during upload process
Solutions:
- Increase PHP upload limits in
php.ini:
upload_max_filesize = 64Mpost_max_size = 64Mmax_execution_time = 300- Or use FTP upload method:
- Extract the zip file locally
- Upload via FTP to
/wp-content/plugins/ - Activate in WordPress admin
Fatal error on activation
Section titled “Fatal error on activation”Full error message check:
- Enable debug mode (see above)
- Try activating again
- Check
/wp-content/debug.log - Search for the specific error
Common fatal errors:
| Error | Solution |
|---|---|
Cannot redeclare function | Plugin conflict - identify and deactivate |
Class not found | Missing dependency - reinstall plugin |
Memory exhausted | Increase WP_MEMORY_LIMIT |
Form integrations (Fluent Forms / WPForms)
Section titled “Form integrations (Fluent Forms / WPForms)”OTP says verified, but submit fails
Section titled “OTP says verified, but submit fails”Symptoms:
- OTP modal shows Identity verified
- Form then shows “Please verify your identity…” (or similar)
- No signed document is created
Solution:
- Update WPsigner to 3.1.1+
- Hard-refresh the form page (Ctrl+F5 / Cmd+Shift+R)
- Submit again and complete OTP once
This mainly affects content signing forms with many fields + OTP. See Fluent Forms, Formidable Forms, and WPForms.
Fluent Forms CC did not receive the signed PDF
Section titled “Fluent Forms CC did not receive the signed PDF”- Update to WPsigner 3.2.8+.
- In the feed, set CC email field to the form’s Email/CC field (do not paste
{inputs...}into Additional CC emails). - Submit a test and confirm that field contains a real email.
E2Pdf dropdown is missing on the Formidable feed
Section titled “E2Pdf dropdown is missing on the Formidable feed”E2Pdf is a separate plugin. Install and activate it. WPsigner does not bundle it, and there is no E2Pdf card in Integrations. Guide: E2Pdf.
If the dropdown is there but your template is not, the template must use extension = Formidable. WPsigner lists created templates even when they are not yet license-activated in E2Pdf (those rows show not activated in E2Pdf). Trashed templates stay hidden.
Formidable + E2Pdf created no document
Section titled “Formidable + E2Pdf created no document”- Update to WPsigner 3.2.12+.
- Confirm the E2Pdf template uses extension = Formidable and item = that form.
- Map Name + Email on the feed. Do not add the WPsigner Signing field on an E2Pdf form.
- Check
wp-content/debug.logfor[inSigner FormidableE2Pdf].
Formidable says “Your entry appears to be blocked spam!” {#formidable-blocked-spam}
Section titled “Formidable says “Your entry appears to be blocked spam!” {#formidable-blocked-spam}”That text is from Formidable, not WPsigner. Formidable was scanning the signature PNG (a large base64 string) against its denylist and WordPress Disallowed Comment Keys.
- Update to WPsigner 3.2.12+ (the signing field is skipped, like Formidable’s native Signature field).
- Name, email, and message are still checked.
- If it continues after the update, check Formidable → Global Settings → Spam, or another anti-spam plugin (CleanTalk, Akismet).
Formidable WPsigner Signing field looks like a text box
Section titled “Formidable WPsigner Signing field looks like a text box”Formidable 6 was converting the custom type to text. 3.2.12+ registers a real field type so the pad stays Draw / Type / Upload. Hard-refresh the form after updating.
No Download Signed PDF after Formidable content signing
Section titled “No Download Signed PDF after Formidable content signing”The button is added to Formidable’s Show message confirmation. If the form redirects to another URL, add {inSigner:download_button} there or in the notification email. Guide: Formidable Forms — Download.
WooCommerce lists WPsigner as incompatible
Section titled “WooCommerce lists WPsigner as incompatible”WPsigner declares HPOS and Cart/Checkout Blocks. If you just hit a fatal and recovery mode was on, WooCommerce did not see that declaration.
- Update to 3.2.12+ (declaration runs even in recovery mode).
- Click re-enable the plugin if the recovery notice is still there.
- On Plugins, switch the filter from Incompatible with WooCommerce features to All.
Access codes
Section titled “Access codes”The signer cannot request the code
Section titled “The signer cannot request the code”Request access code only appears for a random code sent after 3.2.8, and only to the email or phone already on that signer. A code you typed (SSN last-4, date of birth) cannot be resent from the signing page. Share it separately, or the signer enters the secret they already know.
The access-code page does not mention SSN / date of birth
Section titled “The access-code page does not mention SSN / date of birth”On Review, choose I’ll set the access code and fill Signer prompt (or use a preset). The prompt is not shown for a random PIN.
See Access codes.
Cannot save a content-signing feed
Section titled “Cannot save a content-signing feed”Symptoms:
- Feed Name and Form are filled
- Save shows “Please fill in Feed Name and Form”
- You are not using a PDF template (inline Signing field)
Solution: Update to 3.1.1+. Content-signing feeds do not require a template — only Feed Name and Form.
Wrong signer name on the document
Section titled “Wrong signer name on the document”Map a real Name / Names field. Do not map a field labeled only Username.
Field labels missing in feed mapping
Section titled “Field labels missing in feed mapping”In the PDF editor, double-click each field and set a Field name. Details: Form fields.
Email Issues
Section titled “Email Issues”Emails not sending
Section titled “Emails not sending”This is the most common issue. Emails may not send for several reasons.
Step 1: Verify email configuration
- Go to WPsigner → Settings → Email Settings
- Verify “From Name” and “From Email” are set
- Ensure email address is valid
Step 2: Send a test email
- Go to WPsigner → More → Email Templates
- Click Send Test
- Enter your email address
- Check if received
Step 3: Configure SMTP
WordPress’s default wp_mail() function often fails. Install an SMTP plugin:
| Plugin | Recommendation |
|---|---|
| WP Mail SMTP | Most popular, easy setup |
| FluentSMTP | Free, full-featured |
| Post SMTP | Good logging |
Step 4: Check SMTP logs
Most SMTP plugins have logging. Check for:
- Connection errors
- Authentication failures
- Rejected recipients
Emails going to spam
Section titled “Emails going to spam”Causes:
- No SPF/DKIM records
- Using @gmail.com as sender
- Poor sender reputation
- Missing authentication
Solutions:
-
Use your own domain for “From Email” (not @gmail.com)
-
Set up email authentication:
- Add SPF record to DNS
- Configure DKIM signing
- Set up DMARC policy
-
Check content:
- Avoid spam trigger words
- Don’t use all caps
- Include clear unsubscribe option (if applicable)
Signer claims they didn’t receive email
Section titled “Signer claims they didn’t receive email”Checklist:
- ✅ Verify email address is correct (check for typos)
- ✅ Check spam/junk folder
- ✅ Check “Promotions” tab (Gmail)
- ✅ Ask if email was blocked by corporate filter
- ✅ Use Resend option in document actions
- ✅ Review SMTP logs for delivery status
Document Issues
Section titled “Document Issues”Vietnamese or accented characters missing on the signed PDF
Section titled “Vietnamese or accented characters missing on the signed PDF”Symptoms:
- Names look fine on the signing page but the downloaded PDF shows boxes,
?, or missing marks - Certificate of Completion drops ă, ơ, ư, đ, or similar
Solution:
- Go to WPsigner → Languages
- Open Signed PDF fonts
- Install Accented Latin (Vietnamese and other Latin languages with accents)
- Click Use for signed PDFs
- Send a new test document — already flattened PDFs are not rewritten
For Chinese, Japanese, Korean, Arabic, Hebrew, or Thai, install that pack instead. Guide: Signed PDF fonts.
Require WordPress login will not stay checked
Section titled “Require WordPress login will not stay checked”The signer email is not a WordPress user, or the document has an active public campaign. Create the user first, pause the campaign, or leave the option off. Guide: WordPress login.
PDF generation failed
Section titled “PDF generation failed”Symptoms:
- Error when finalizing document
- Certificate of Completion not appending
- Blank or corrupted PDF output
Required extensions:
| Extension | Purpose | Check Command |
|---|---|---|
| GD | Image processing | `php -m |
| Imagick | Advanced image/PDF | `php -m |
| mbstring | String handling | `php -m |
Solutions:
-
Enable GD extension:
Terminal window # Ubuntu/Debiansudo apt-get install php-gdsudo service apache2 restart -
Check file permissions:
Terminal window # The uploads directory must be writablechmod 755 wp-content/uploadschmod 755 wp-content/uploads/wpsigner -
Increase memory limit: Add to
wp-config.php:define('WP_MEMORY_LIMIT', '256M');
Document upload fails
Section titled “Document upload fails”Common causes:
| Issue | Solution |
|---|---|
| File too large | Increase upload_max_filesize |
| Wrong format | Use PDF, PNG, or JPG only |
| Timeout | Increase max_execution_time |
| Permissions | Check /wp-content/uploads/ is writable |
Check upload limits:
- Go to WPsigner → More → System Status
- Review “Upload Size” value
- Increase if needed in
php.ini
Document appears blank or corrupted
Section titled “Document appears blank or corrupted”Possible causes:
- PDF was created with unsupported features
- PDF is password-protected
- File was corrupted during upload
Solutions:
- Try re-uploading the document
- Use a simpler PDF (avoid complex layers/fonts)
- Convert to PDF/A format
- Remove password protection before uploading
Signing Issues
Section titled “Signing Issues”Signing page not loading
Section titled “Signing page not loading”Symptoms:
- White screen when signer clicks link
- 404 error on signing page
- Redirect loop
Solutions:
-
Flush permalinks:
- Go to Settings → Permalinks
- Click Save Changes (without changing anything)
-
Check permalink structure:
- WPsigner requires “pretty” permalinks
- Select any option except “Plain”
-
Check for conflicts:
- Disable caching plugins temporarily
- Try a default theme
- Deactivate security plugins for testing
Signature pad not working
Section titled “Signature pad not working”Symptoms:
- Cannot draw on signature pad
- Signature not appearing
- Pad is unresponsive
Causes & Solutions:
| Cause | Solution |
|---|---|
| JavaScript error | Check browser console for errors |
| Cache | Clear browser cache, disable caching plugin |
| Plugin conflict | Test in incognito mode |
| Touch issues | Update browser, try different device |
Browser compatibility:
- Chrome 80+ ✅
- Firefox 75+ ✅
- Safari 13+ ✅
- Edge 80+ ✅
- Internet Explorer ❌ (not supported)
“Access denied” or “Invalid link”
Section titled ““Access denied” or “Invalid link””Causes:
- Link has expired
- Document was voided
- Link was already used (for single-use links)
- Wrong link/typo
Solutions:
- Check document status (expired? voided?)
- Use Resend to generate fresh email
- Verify the complete URL was clicked
Digital Signature Issues
Section titled “Digital Signature Issues””Certificate not found” error
Section titled “”Certificate not found” error”Symptoms:
- Error when signing document
- Digital signature not applying
- Adobe shows “Signature is invalid”
Solutions:
-
Configure Digital ID:
- Go to WPsigner → More → Digital ID
- Generate or upload a certificate
- Verify it shows as “Active”
-
Certificate expired:
- Check certificate validity dates
- Generate new or upload renewed certificate
Adobe shows “Unknown Signer”
Section titled “Adobe shows “Unknown Signer””This is expected for self-signed certificates.
For self-signed certificates, recipients must manually trust:
- Click on the signature in Adobe
- Click “Validate Signature”
- Choose “Trust this certificate”
For globally trusted signatures: Purchase a certificate from an AATL member (DigiCert, GlobalSign, etc.)
Timestamp not appearing
Section titled “Timestamp not appearing”Causes:
- TSA not enabled
- TSA server unreachable
- Firewall blocking requests
Solutions:
-
Enable TSA:
- Go to WPsigner → Settings → Legal & Privacy
- Check “Enable certified timestamp (TSA)”
- Save settings
-
Test TSA connection:
Terminal window curl -I https://freetsa.org/tsr -
Try different TSA:
- FreeTSA.org
- DigiCert timestamp server
- Sectigo timestamp server
Performance Issues
Section titled “Performance Issues”Plugin is slow
Section titled “Plugin is slow”Optimization steps:
-
Enable caching (but configure WPsigner exclusions)
-
Optimize database:
- Delete old/completed documents you no longer need
- Use a database optimization plugin
-
Upgrade hosting:
- Move from shared to VPS
- Ensure adequate PHP memory
-
CDN for static assets:
- Won’t help with signing pages
- Does help general WordPress performance
Signing page loads slowly
Section titled “Signing page loads slowly”Causes:
- Large PDF files
- Slow server
- Multiple large images in document
Solutions:
- Optimize PDF size before uploading
- Use compression for images
- Upgrade hosting resources
- Move to geographically closer hosting for your signers
API Issues
Section titled “API Issues”API returns 401 Unauthorized
Section titled “API returns 401 Unauthorized”Causes:
- Invalid API key
- Invalid API secret
- Key revoked
- Missing headers
Checklist:
- Verify API key is active (not revoked)
- Check both key AND secret are correct
- Ensure headers are set correctly:
X-WPS-API-KEY: your_key_hereX-WPS-API-SECRET: your_secret_here
API returns 403 Forbidden
Section titled “API returns 403 Forbidden”Causes:
- Key has read-only permissions for write endpoint
- User doesn’t have required WordPress capabilities
Solutions:
- Check key permissions (read vs read_write)
- Create new key with appropriate permissions
Rate limit exceeded
Section titled “Rate limit exceeded”Default limits:
- 60 requests per minute per key
Solutions:
- Implement request throttling in your code
- Use bulk endpoints where available
- Cache responses to reduce calls
WordPress Conflicts
Section titled “WordPress Conflicts”Conflict with caching plugins
Section titled “Conflict with caching plugins”Symptoms:
- Signing page shows cached content
- Changes not appearing
- Session issues
Solution - Add exclusions:
| Caching Plugin | Exclusion Pattern |
|---|---|
| WP Rocket | Add /sign/* to never cache URLs |
| W3 Total Cache | Add to page cache exceptions |
| LiteSpeed | Add to Do Not Cache URIs |
| WP Super Cache | Add to rejected pages |
Conflict with security plugins
Section titled “Conflict with security plugins”Common conflicts:
- Wordfence blocking signing requests
- iThemes Security blocking API
- Sucuri WAF filtering uploads
Solutions:
- Whitelist WPsigner paths (
/sign/*,/wp-json/wpsigner/*) - Add WPsigner to trusted plugins
- Review security logs for blocks
Theme compatibility issues
Section titled “Theme compatibility issues”Symptoms:
- Signing page has theme elements
- Broken layout on signing page
- Missing styles
Solutions:
- WPsigner signing pages should be standalone
- If theme is interfering, check for forced templates
- Report to support with theme name
Database Issues
Section titled “Database Issues”Missing database tables
Section titled “Missing database tables”Symptoms:
- “Table doesn’t exist” errors
- Plugin functions not working
- Data not saving
Solution:
-
Deactivate and reactivate plugin (triggers table creation)
-
If that fails, manually run table creation:
- Access your database via phpMyAdmin
- Check if
wp_wps_*tables exist - If missing, try reinstalling plugin
Data migration issues
Section titled “Data migration issues”When upgrading:
- Always backup before upgrading
- Check that database updates run successfully
- Review changelog for migration notes
Getting More Help
Section titled “Getting More Help”Information to gather before contacting support
Section titled “Information to gather before contacting support”Collect this information for faster resolution:
| Information | How to Get It |
|---|---|
| WordPress version | Dashboard → At a Glance |
| PHP version | System Status page |
| WPsigner version | Plugins page |
| Error messages | Debug log, browser console |
| Steps to reproduce | Write down exact steps |
| Screenshots | Capture error screens |
Enable debug mode
Section titled “Enable debug mode”For detailed error information:
// Add to wp-config.php (before "That's all, stop editing!")define('WP_DEBUG', true);define('WP_DEBUG_LOG', true);define('WP_DEBUG_DISPLAY', false);Errors are logged to /wp-content/debug.log
Contact support
Section titled “Contact support”If you’ve tried the troubleshooting steps:
- Visit wpsigner.com/contact
- Include all gathered information
- Attach debug logs and screenshots
- Describe expected vs actual behavior
Mobile app will not pair
Section titled “Mobile app will not pair”The native app needs Pro 3.2.2+ and HTTPS. Full steps: Connect the mobile app.
| Symptom | Fix |
|---|---|
| Generate QR is disabled | Serve the site over HTTPS |
| Scan does nothing / code expired | QR lasts 5 minutes — generate a new one |
| Confirmation numbers differ | You scanned a stale QR |
| REST errors or “Could not connect” | Allow /wp-json/insigner/v1/app* in the firewall / security plugin |
| Password login fails | Check the WordPress user can use signatures |
Android download: Google Play. iOS App Store listing is coming soon.
Next Steps
Section titled “Next Steps”- System Requirements - Verify compatibility
- Installation - Reinstallation steps
- FAQ - Common questions
- MainWP Troubleshooting - Dashboard / Clients / Sites contract issues
- Uncanny Automator Troubleshooting - Recipes, tokens, prefill, and messaging