ShahiLanding

Settings & Configuration

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:

    1. Landing Page Viewed
    2. Landing Page Converted
    3. Custom properties for segmentation
    4. 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:

    5. shahilandin_view
    6. shahilandin_conversion
    7. Setup Instructions:

    8. Create a GA4 property in Google Analytics
    9. Navigate to Admin > Data Streams
    10. Copy Measurement ID
    11. Create Measurement Protocol API secret
    12. Paste both values into ShahiLandin settings
    13. 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:

    14. Experiment completion notifications
    15. Migration queue status
    16. Draft publish failures
    17. System errors
    18. Setup Instructions:

    19. Create Slack incoming webhook in your workspace
    20. Choose destination channel
    21. Copy webhook URL
    22. Paste into ShahiLandin settings
    23. 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:

    24. Ensure PHP uploadmaxfilesize is also increased
    25. Check postmaxsize directive
    26. Consider server memory limits
    27. 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:

    28. Default: Standard WordPress allowed tags
    29. Relaxed: Permits additional elements (tables, custom attributes)
    30. Strict: Only basic formatting tags allowed
    31. 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:

    32. OpenAI GPT-4
    33. Custom endpoint (configure via filter)
    34. 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:

    35. Template Builder migrations
    36. Draft publish status
    37. System errors and warnings
    38. 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

    39. Make changes to desired settings
    40. Scroll to bottom of page
    41. Click Save Changes button
    42. Success message appears confirming save
    43. Note: Some settings require cache clearing to take effect immediately.

      Resetting Settings

      Reset all settings to defaults:

    44. Go to Settings > ShahiLandin
    45. Scroll to bottom
    46. Click Reset to Defaults button
    47. Confirm in dialog
    48. All settings return to default values
    49. 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:

    50. Go to Network Admin > Settings > ShahiLandin
    51. Configure network-wide defaults
    52. Individual sites can override unless locked
    53. Site-Level Overrides

      Site administrators can customize:

    54. Go to Settings > ShahiLandin (on individual site)
    55. Change settings for this site only
    56. Overrides network defaults
    57. 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:

    58. User must have manage_options capability
    59. Administrator role required
    60. Check for conflicts:

    61. Disable other plugins temporarily
    62. Switch to default theme
    63. Clear cache:

    64. Purge all caches (plugin, server, CDN)
    65. Try in incognito mode
    66. Settings Reverting

      Autoload issue:

    67. Settings may be loaded from cache
    68. Use wp option list to verify values
    69. Plugin conflict:

    70. Another plugin may be overriding settings
    71. Check for update_option hooks
    72. Can't Access Settings Page

      Permission denied:

    73. Current user lacks required capability
    74. Administrator access required
    75. Page not found:

    76. Plugin may not be fully activated
    77. Try deactivating and reactivating
    78. Best Practices

    79. Review settings quarterly: Ensure configuration still matches needs
    80. Document custom settings: Keep notes on why non-default values were chosen
    81. Test after changes: Verify landing pages still function correctly
    82. Backup before major changes: Export settings before bulk changes
    83. Use staging environment: Test new configurations before production
    84. Monitor after enabling features: Check performance impact of new features

---

For specific feature configuration, see individual feature articles (Analytics, Performance, Experiments, etc.).

Share this article

Was this article helpful?

Help us improve our documentation

Still need help?

Our support team is ready to assist you with personalized guidance for your workspace.

Submit a support ticket