ShahiLandin offers comprehensive settings to customize the plugin’s behavior, integrate with external services, and optimize performance. This guide covers all available settings and their configuration.
Accessing Settings
Navigate to Settings > ShahiLandin in your WordPress admin dashboard.
Settings Sections
General Settings
Default Status
Option: Default post status for new landing pages
Values: Draft, Pending, Published
Default: Draft
Purpose: Determines the initial status when creating new landing pages. Setting to “Draft” prevents accidental publication.
Recommendation: Keep as “Draft” for safety, especially in multi-user environments.
Enable Revisions
Option: Store revisions of landing page changes
Values: Enabled / Disabled
Default: Enabled
Purpose: WordPress saves previous versions of your landing pages, allowing you to revert changes.
Revision Limit: Maximum number of revisions to store per page
Default: 10 revisions
Storage Impact: Each revision increases database size. Lower the limit for better performance.
Enable Comments
Option: Allow comments on landing pages
Values: Enabled / Disabled
Default: Disabled
Purpose: Landing pages rarely need comments. Keep disabled to reduce spam and improve performance.
Dashboard Widgets
Option: Display ShahiLandin widgets on WordPress dashboard
Values: Enabled / Disabled
Default: Enabled
Purpose: Shows quick stats and recent landing pages on the main dashboard.
Analytics Settings
Analytics Enabled
Option: Master switch for analytics tracking
Values: Enabled / Disabled
Default: Enabled
Purpose: Enables or disables all analytics features globally.
Track Views
Option: Record page views for landing pages
Values: Enabled / Disabled
Default: Enabled
Purpose: Counts unique visitors to your landing pages. Uses transient caching to prevent duplicate counts.
Privacy Note: Collects IP addresses for duplicate detection (can be anonymized via filter).
Track Clicks
Option: Record button and link clicks
Values: Enabled / Disabled
Default: Enabled
Purpose: Tracks user interactions with CTAs and navigation elements.
Requirements: Requires JavaScript to be enabled in visitor’s browser.
Data Retention
Option: How long to keep analytics data
Values: 30 days, 60 days, 90 days, Forever
Default: Forever
Purpose: Automatically purges old analytics data to manage database size.
Cron Job: Runs daily to delete expired data.
Anonymize IP Addresses
Option: Hash IP addresses for GDPR compliance
Values: Enabled / Disabled
Default: Disabled
Purpose: Converts IP addresses to anonymized hashes before storage.
When to Enable: Required for GDPR compliance in European markets.
External Analytics Integrations
Mixpanel Token
Field: Mixpanel project token
Format: 32-character alphanumeric string
Optional: Leave empty to disable
Purpose: Sends analytics events to Mixpanel for advanced reporting.
Events Sent:
Landing Page ViewedLanding Page Converted- Custom properties for segmentation
shahilandin_viewshahilandin_conversion- Create a GA4 property in Google Analytics
- Navigate to Admin > Data Streams
- Copy Measurement ID
- Create Measurement Protocol API secret
- Paste both values into ShahiLandin settings
- Experiment completion notifications
- Migration queue status
- Draft publish failures
- System errors
- Create Slack incoming webhook in your workspace
- Choose destination channel
- Copy webhook URL
- Paste into ShahiLandin settings
- Ensure PHP
uploadmaxfilesizeis also increased - Check
postmaxsizedirective - Consider server memory limits
- Default: Standard WordPress allowed tags
- Relaxed: Permits additional elements (tables, custom attributes)
- Strict: Only basic formatting tags allowed
- OpenAI GPT-4
- Custom endpoint (configure via filter)
- Template Builder migrations
- Draft publish status
- System errors and warnings
- Make changes to desired settings
- Scroll to bottom of page
- Click Save Changes button
- Success message appears confirming save
- Go to Settings > ShahiLandin
- Scroll to bottom
- Click Reset to Defaults button
- Confirm in dialog
- All settings return to default values
- Go to Network Admin > Settings > ShahiLandin
- Configure network-wide defaults
- Individual sites can override unless locked
- Go to Settings > ShahiLandin (on individual site)
- Change settings for this site only
- Overrides network defaults
- User must have
manage_optionscapability - Administrator role required
- Disable other plugins temporarily
- Switch to default theme
- Purge all caches (plugin, server, CDN)
- Try in incognito mode
- Settings may be loaded from cache
- Use
wp option listto verify values - Another plugin may be overriding settings
- Check for
update_optionhooks - Current user lacks required capability
- Administrator access required
- Plugin may not be fully activated
- Try deactivating and reactivating
- Review settings quarterly: Ensure configuration still matches needs
- Document custom settings: Keep notes on why non-default values were chosen
- Test after changes: Verify landing pages still function correctly
- Backup before major changes: Export settings before bulk changes
- Use staging environment: Test new configurations before production
- Monitor after enabling features: Check performance impact of new features
Google Analytics 4
GA4 Measurement ID:
Format: G-XXXXXXXXXX
Optional: Leave empty to disable
GA4 API Secret:
Format: 22-character secret key
Optional: Required if Measurement ID is provided
Purpose: Integrates with Google Analytics 4 Measurement Protocol to send server-side events.
Events Sent:
Setup Instructions:
Slack Webhook
Field: Slack incoming webhook URL
Format: https://hooks.slack.com/services/...
Optional: Leave empty to disable
Purpose: Sends operational alerts to your Slack channel.
Alerts Include:
Setup Instructions:
Performance Settings
Performance Enabled
Option: Master switch for performance optimizations
Values: Enabled / Disabled
Default: Enabled
Purpose: Enables HTML/CSS minification and other optimizations.
Lazy Load Images
Option: Defer offscreen image loading
Values: Enabled / Disabled
Default: Enabled
Purpose: Adds loading="lazy" attribute to images, improving page load times.
Browser Compatibility: Works in modern browsers with native lazy loading support.
Minify CSS
Option: Remove whitespace from CSS
Values: Enabled / Disabled
Default: Disabled
Purpose: Compresses CSS to reduce file size.
Warning: May break CSS if syntax errors exist. Test thoroughly before enabling.
Minify HTML
Option: Remove whitespace from HTML
Values: Enabled / Disabled
Default: Disabled
Purpose: Compresses HTML output to reduce page size by 10-30%.
Safety: Preserves content in
and tags.Import Settings
Max File Size
Field: Maximum upload size for HTML imports
Format: Bytes (e.g., 524288 for 512KB)
Default: 524288 (512KB)
Purpose: Limits the size of HTML files that can be imported.
Increasing Limit:
Security: Larger files increase risk of memory exhaustion attacks. Increase cautiously.
Allowed HTML Tags
Option: HTML sanitization level
Values: Default, Relaxed, Strict
Default: Default
Purpose: Controls which HTML elements are allowed during import.
Levels:
Security Impact: "Relaxed" should only be used by trusted administrators.
Experiments Settings
Experiments Enabled
Option: Master switch for A/B testing features
Values: Enabled / Disabled
Default: Disabled
Purpose: Enables experiment creation and variant assignment.
Requirements: Analytics must also be enabled for conversion tracking.
Default Traffic Split
Field: Default percentage split for control/variant
Format: Percentage (e.g., 50 for 50/50 split)
Default: 50
Purpose: Pre-fills traffic split when creating new experiments.
Default Duration
Field: Default experiment length in days
Format: Integer (days)
Default: 14
Purpose: Pre-fills duration when creating new experiments.
Recommendation: 14-30 days for most sites, longer for low-traffic sites.
Auto-Select Winners
Option: Automatically implement winning variants
Values: Enabled / Disabled
Default: Disabled
Purpose: When confidence threshold is reached, automatically replace control with winning variant.
Safety: Sends notification email 24 hours before auto-selection.
Confidence Threshold
Field: Required confidence level for winner declaration
Format: Percentage (e.g., 95 for 95%)
Default: 95
Purpose: Determines when an experiment has statistically significant results.
Statistical Meaning: 95% confidence = less than 5% chance the winner is due to random variation.
Minimum Sample Size
Field: Minimum conversions per variant before declaring winner
Format: Integer
Default: 100
Purpose: Prevents premature winner declaration with insufficient data.
Template Builder Settings
Template Builder Enabled
Option: Enable next-generation template builder
Values: Enabled / Disabled
Default: Enabled
Purpose: Activates the Template Builder wizard and its features.
Disable When: Not using guided template creation (HTML import only).
AI Assistant API Key
Field: API key for AI-powered features
Format: Alphanumeric string (varies by provider)
Optional: Leave empty to disable AI features
Purpose: Enables AI Assistant for copy suggestions and CTA optimization.
Supported Providers:
Marketplace URL
Field: Custom marketplace instance URL
Format: Full URL (e.g., https://templates.example.com)
Optional: Leave empty to use default
Purpose: Points to a custom template marketplace for private template libraries.
Telemetry Settings
Telemetry Enabled
Option: Enable operational telemetry and event tracking
Values: Enabled / Disabled
Default: Enabled
Purpose: Sends usage data and operational metrics to configured services.
Events Tracked:
Privacy: No personally identifiable information is collected.
Notification Email
Field: Email address for system notifications
Format: Valid email address
Default: WordPress admin email
Purpose: Receives alerts about experiments, migrations, and errors.
Multiple Recipients: Use comma-separated list for multiple emails.
Advanced Configuration (Filters & Hooks)
Custom Maximum Upload Size
`php
addfilter('shahilandinmaximportsize', function($size) {
return 1048576; // 1MB instead of default 512KB
});
`
Custom Analytics Collection
`php
// Disable IP address collection
addfilter('shahilandinanalyticscollectip', '_returnfalse');
// Anonymize IP addresses
addfilter('shahilandinanalyticsanonymizeip', '_returntrue');
// Custom view cache duration (default: 1 hour)
addfilter('shahilandinviewcacheduration', function($duration) {
return 2 * HOURINSECONDS; // 2 hours
});
`
Custom HTML Sanitization
`php
// Allow additional HTML tags during import
addfilter('shahilandinallowed_html', function($tags) {
$tags['iframe'] = [
'src' => true,
'width' => true,
'height' => true,
];
return $tags;
});
`
Custom Preconnect Domains
`php
// Add additional preconnect hints
addfilter('shahilandinpreconnect_urls', function($urls) {
$urls[] = 'https://cdn.example.com';
$urls[] = 'https://analytics.example.com';
return $urls;
});
`
Custom Experiment Duration
`php
// Set minimum experiment duration
addfilter('shahilandinminexperimentduration', function($days) {
return 7; // Minimum 7 days
});
// Set maximum experiment duration
addfilter('shahilandinmaxexperimentduration', function($days) {
return 60; // Maximum 60 days
});
`
Saving Settings
Note: Some settings require cache clearing to take effect immediately.
Resetting Settings
Reset all settings to defaults:
Warning: This action cannot be undone. Export your settings first if needed.
Exporting/Importing Settings
Export Settings
`bash
wp option get shahilandin_settings > shahilandin-settings.json
`
Import Settings
`bash
wp option update shahilandin_settings --format=json < shahilandin-settings.json
`
Multisite Configuration
On WordPress multisite networks:
Network-Wide Settings
Network administrators can set defaults for all sites:
Site-Level Overrides
Site administrators can customize:
Locked Settings
Network admins can lock settings to prevent site-level changes:
`php
// In network's wp-config.php or plugin
addfilter('shahilandinlockable_settings', function($settings) {
return ['analyticsenabled', 'experimentsenabled'];
});
`
Troubleshooting Settings
Settings Not Saving
Check permissions:
Check for conflicts:
Clear cache:
Settings Reverting
Autoload issue:
Plugin conflict:
Can't Access Settings Page
Permission denied:
Page not found:
Best Practices
---
For specific feature configuration, see individual feature articles (Analytics, Performance, Experiments, etc.).
Share this article
Still need help?
Our support team is ready to assist you with personalized guidance for your workspace.