Category: Studio Resources

  • Troubleshooting Elementor Editor Not Loading (Without Losing Content)

    This guide walks you through how we fixed the problem without rebuilding the page from scratch.

    ⚠️ The Issue: Draft Page Won’t Load

    A client reached out after noticing that their draft homepage wouldn’t open in the Elementor editor, while the live homepage still loaded—just very slowly. They had already made major edits on the draft and wanted to avoid starting over.

    Initial signs pointed to a setting or feature conflict inside Elementor.

    What We Found

    • Elementor Experiments Were Active
      We reviewed the settings under Elementor → Features. Changing these between default, active, and inactive didn’t solve the issue.
    • Conflict With Container Layout
      Disabling Elementor’s Container feature fixed the loading problem—but wiped the page content.
    • The Real Culprit: Icon List Widget
      We isolated the issue to Elementor’s built-in Icon List widget. Disabling it from the Element Manager let the editor load again without deleting content.

    How We Fixed It

    1. Cloned the Site to Staging
      So we could safely test settings without affecting the live version.
    1. Disabled the Container Feature
      This restored editor access, but temporarily removed the draft’s content.
    1. Pinpointed the Problem Widget
      We tested individual widgets and found that the Icon List was causing the crash.
    1. Disabled the Icon List
      After turning off just this widget, both the live and test pages loaded perfectly in the editor.

    What Changed After the Fix

    • Elementor editor loads on both test and live homepages
    • No content was lost or deleted
    • Editor is slightly faster (but may still lag on heavy pages)

    Lessons Learned

    • Don’t overlook Elementor’s built-in widgets — even standard elements can cause crashes when combined with certain features
    • Use staging to test — always safer to run experiments outside of your live site
    • Container layouts aren’t always stable — disabling them temporarily can help isolate the issue
    • Performance matters — large pages with complex layouts can still affect editor speed

    Need Elementor Help?

    If Elementor is freezing, glitching, or making your pages disappear — let’s fix it before it affects your workflow.

  • How to Fix Submission Errors in Gravity Forms Caused by Google Sheets Plugin Conflicts

    Issue Background:

    On a certification form built with Gravity Forms and Gravity Perks’ Nested Forms feature, users could fill out the first set of fields but faced errors or endless loading when trying to submit additional entries.

    The form had previously functioned normally, prompting a review of recent changes and potential conflicts with third-party plugins or environment mismatches.

    Diagnosis & Key Findings:

    • Deactivated potential blockers: reCAPTCHA, WP Rocket, and Imagify were ruled out as causes.
    • Validated field setup: No form-level misconfiguration was found.
    • Traced issue to GF Google Sheet Connector: The integration had silently failed due to being disconnected—likely triggered by staging environment restrictions.

    Resolution Steps:

    1. Isolated the broken integration:
      Identified GF Google Sheet Connector as the issue during plugin-by-plugin testing.
    1. Reconnected Google account:
      Reauthenticated the plugin using the correct Google credentials and enabled sheet syncing again.
    1. Tested with nested entries:
      Ran successful form submissions using the full “Add House” flow to confirm resolution.
    1. Planned ahead for production:
      Logged the integration as an environment-sensitive plugin to reconnect prior to launch.

    Final Outcome:

    After restoring the Google Sheets connection, multi-entry Gravity Forms submissions worked as intended. The issue was contained to the staging environment, allowing the client to move forward confidently with their site launch.

    Form not submitting? Not sure which plugin is breaking it?

    Integriti Studio can help debug third-party integration conflicts and restore your Gravity Forms workflow—no submission left behind.

  • How to Fix Mailchimp Tagging Issues for WooCommerce Subscriptions

    Issue Overview

    A WooCommerce store using Mailchimp noticed new customers weren’t receiving the correct tags—especially the “MEMBER” tag used to unlock gated content and trigger welcome emails. One subscription product was especially affected, despite orders being placed successfully.

    The tagging issue created downstream problems with:

    • Segment-based automations
    • Membership access logic
    • Visibility of subscriber types in Mailchimp

    Diagnosis & Fix

    Check your Mailchimp setup

    Make sure the tag (e.g. “MEMBER”) exists in your Mailchimp audience and is tied to an automation or WooCommerce trigger.

    Investigate SKU conditions

    In this case, Mailchimp tagging was based on product SKUs. The affected product didn’t have its SKU included in the tag logic—so tags weren’t applied when it was purchased.

    ️ Update SKU-based logic

    Edit your automation workflow or plugin rules to include all relevant SKUs. Save and refresh connections between WooCommerce and Mailchimp.

    ✅ Run a test

    Make a test purchase of the affected product. Check the Mailchimp contact record to ensure both the general tag (“MEMBER”) and product-specific tags (e.g., “INSIDER-MONTHLY”) appear.

    Backfill missed tags

    Use filters or exports to identify subscribers who missed the tag. Add tags manually or run a one-time automated update using purchase history.

    Final Outcome

    After updating the tagging rules, all new subscribers are now correctly tagged—improving automation flow and ensuring members get the right content and access.

    Need reliable Mailchimp tagging for your WooCommerce store?

    Integriti Studio helps brands fine-tune their email automations and eCommerce integrations for flawless performance.

  • How to Fix Weglot Redirection Loops on WordPress

    The Problem: Stuck in the Wrong Language

    The client’s site used Weglot to manage English and German versions. When users selected German, they were redirected correctly. But when switching back to English, they kept getting bounced back to the German version—even after clearing cookies. The issue was frustrating and made the language switcher feel broken.

    What We Found

    • Weglot Auto-Redirect Setting: The plugin was set to redirect based on browser language. This alone can cause looping if not managed carefully.
    • Custom Cookie Script: A region-based redirect snippet was setting cookies and overriding manual user choices.
    • Admin Login Loop: The redirect script also affected backend access to the German WordPress dashboard, creating a login loop.

    ️ How We Fixed It

    Step 1: Turn Off Auto-Redirects

    We disabled Weglot’s browser-based auto-redirection feature to prevent the plugin from making assumptions about user preference.

    Step 2: Disable Custom Snippet

    We located a custom snippet that set a cookie and forced redirects based on referrer data. This was the main culprit and was temporarily disabled.

    Step 3: Inspect the JavaScript

    A deeper code audit revealed JavaScript aggressively applying cookie logic and redirection. This was interfering with Weglot’s own controls.

    Step 4: Comment the Problem Lines

    Instead of deleting, we commented out the section that set and read cookies for redirection. This preserved the snippet in case it was needed later.

    Step 5: Clear All Caches

    Browser, server, and plugin caches were purged to remove any residual behavior.

    Step 6: Retest Everything

    We verified proper language switching across devices, in incognito mode, and logged in/out states. Everything worked smoothly.

    Final Result

    Users can now switch languages freely without being redirected back to the wrong version. The admin area works normally, and the client confirmed the redirection loop is gone for good.

    Key Learnings

    • Custom scripts + plugins = potential conflict
    • Auto-redirection and cookies should never clash
    • Always test after code changes, even if things look fixed
    • Caching can make debugging harder—clear everything!

    Need multilingual site support?

  • How to Group Workday Job Locations Using Reference IDs in WordPress

    Summary

    Importing job data from Workday into WordPress can create messy, duplicated location listings—especially when variations like “Home Office USA – Texas” and “Home Office USA – California” are treated separately. This guide shows how Integriti Studio streamlined job listings by consolidating these into one unified taxonomy term using reference IDs and WP All Import.

    The Problem

    Job locations from Workday were appearing multiple times on the job board—each variation technically unique due to state-level detail, but visually redundant for users.

    What We Found

    ✅ Variations with unique IDs

    Each Workday location used a unique reference ID (e.g., Aberdeen = ID 128), despite looking similar in text.

    ✅ Duplicate listings

    The frontend displayed dozens of “Home Office USA” variations instead of one grouped category.

    How We Fixed It

    1. Custom taxonomy strategy

    We decided to leave Workday data untouched and consolidate entries within WordPress using taxonomy terms.

    2. Smart import rules

    WP All Import was configured to detect and group job locations based on their reference ID instead of the raw text.

    3. Custom PHP for hierarchy

    We added a function that placed each matched location under a single parent term: “Home Office USA.”

    4. Manual sync reminders

    Since the import isn’t automated, new Workday locations must be manually mapped in WordPress with matching slugs.

    Final Result

    Job listings now show a clean, user-friendly “Home Office USA” group, without the confusion of redundant entries—boosting clarity and consistency across the board.

    Need a Smarter Workday Integration?

    Integriti Studio helps streamline complex imports and taxonomy structures—without disrupting your data.

  • How to Improve WooCommerce Checkout Speed Without Breaking Your Site

    Page Lag Hurting Sales?


    If your WooCommerce site feels sluggish during checkout, you’re not alone. Slow “Start My Free Trial” or “Get Started” buttons can cost real conversions—especially when they’re buried under third-party scripts and plugin bloat. Here’s how we tackled the issue and delivered faster user experiences without major code rewrites.

    What We Found

    • Over 25 third-party scripts loaded on checkout, including heavy HubSpot tracking
    • Elementor add-on plugins creating unnecessary page weight
    • Server-side caching (Pressable’s Batcache) wasn’t working as expected
    • GTmetrix reports showed poor metrics (e.g. TBT: 4.9s, Grade D)

    What We Fixed First

    • Disabled non-critical third-party scripts
    • Applied frontend performance best practices
    • Noticed immediate improvements in perceived speed

    Plugin Audit Results

    • Removed 5 Elementor add-ons that offered duplicate functionality
    • Speed noticeably improved on staging after cleanup
    • Recommended further plugin trimming with careful QA

    Next-Level Fixes We Suggested

    • A deeper developer-led review of remaining performance bottlenecks
    • Exploring Airlift or similar advanced performance solutions
    • Reworking caching configurations for long-term gains

    Need a Speed Makeover for Checkout?
    If your WooCommerce checkout drags—even with plugins and caching in place—it might be time to rework what’s under the hood.

  • How to Migrate a WordPress Site Without Losing SEO

    Before You Migrate

    • Full Backup First: Secure your files, database, and settings with reliable plugins like UpdraftPlus or BlogVault.
    • SEO Audit: Track important SEO metrics in Google Search Console and Analytics before you migrate.
    • URL & Meta Inventory: Use Screaming Frog to map all important URLs and metadata.
    • Fast, Reliable Hosting: Make sure your new host is optimized for WordPress speed, SSL, and security.

    How to Migrate

    • Plugin Method: Ideal for simple sites. Use tools like Duplicator or Migrate Guru.
    • Manual Migration: Best for large or complex websites. It takes more work but gives you full control.

    Protect SEO with Redirects

    • Keep URLs Same: Avoid changing URLs if possible.
    • 301 Redirects: If you must change URLs, implement 301 redirects to pass SEO authority.
    • Test Everything: Use online tools to confirm redirects are working with no errors or loops.

    Fix Links & On-Page SEO

    • Check Internal Links: Use Broken Link Checker to repair broken internal links.
    • Optimize Meta Tags: Make sure all titles, descriptions, and headers are intact.
    • Schema Check: Double-check that your structured data (schema) is still in place.

    Post-Migration Cleanup

    • Speed Up the Site: Optimize images and caching for faster load times.
    • HTTPS Check: Confirm your SSL is installed and working.
    • Mobile First: Test responsiveness on multiple screen sizes.

    Tell Google You’ve Moved

    • Resubmit Sitemap: Upload your sitemap to Google Search Console.
    • Check Indexing: Use URL Inspection to confirm crawlability.
    • Watch Analytics: Track traffic for any sudden drops and troubleshoot fast.

    Avoid SEO Mistakes

    • Skipping redirect tests.
    • Forgetting to noindex your staging site.
    • Missing canonical URL updates.
    • Misconfiguring robots.txt.

    Conclusion

    Moving your website shouldn’t cost you your SEO. Follow these steps for a smooth, SEO-friendly migration. Want expert help with your next migration? Integriti Studio has you covered.

  • How to Prevent Duplicate Form Submissions in Contact Form 7 Using JavaScript

    The Problem: Why It Happens

    If a user taps the submit button again before the first form finishes processing. You will likely end up with multiple submissions—cluttering inboxes, CRMs or databases. This usually happens when:

    • Forms are inside modals or tabs.
    • The response is slow or unclear.
    • There’s no feedback that the form is processing.

    Preventing extra clicks is the key to keeping your submissions clean.

    How to Diagnose It

    ✅ Confirm your form is using Contact Form 7.
    ✅ Check if it’s embedded in modals, popups, or tabs.
    ✅ Test: Click multiple times. Do you receive multiple emails or database entries?

    If yes—it’s time to fix it.

    The Fix: One Line of Defense

    1️⃣ Leverage CF7’s Built-In Events


    Contact Form 7 provides JavaScript events that trigger at specific points. We’ll use wpcf7mailsent because it only fires after a successful form submission.

    2️⃣ Target the Form Intelligently


    Instead of relying on fixed IDs, use a wrapper like #cform so your code is flexible and won’t break when forms change.

    3️⃣ The Script:

    document.addEventListener(‘wpcf7mailsent’, function (event) {

     if (event.target.closest(‘#cform’)) {

       const submitButton = event.target.querySelector(‘input[type=”submit”]’);

       if (submitButton) {

         submitButton.disabled = true;

       }

     }

    }, false);

    4️⃣ Why This Method Works


    Using wpcf7mailsent ensures that the button only disables after a successful submission—not before validation, like the wpcf7submit event would. That way, you don’t accidentally block valid form attempts.

    What You’ll Achieve

    ✅ Better UX for your visitors.
    ✅ Clean, single submissions in your inbox.
    ✅ No more spammy duplicates.

    Need help improving your WordPress forms or custom workflows? We build

  • How to Prioritize Products in WordPress Search Results

    What Was Happening

    Search queries like “virus” or “case study” didn’t return any product results, even though matching products were published and indexed. Meanwhile, unrelated static pages showed up instead. Custom search behavior that once prioritized products had stopped working after some plugin or theme updates.

    What We Found

    No Priority for CPTs


    The theme’s search.php and functions.php didn’t include any logic to elevate custom post types like “product” over standard posts and pages.

    ⚙️ WP_Query Was Basic


    The query wasn’t configured to weight or include custom fields or taxonomies, leading to inconsistent results.

    How We Fixed It

    1. Adjusted the Search Query


    We added a pre_get_posts filter in functions.php to explicitly prioritize the product post type:

    php

    CopyEdit

    function prioritize_products_in_search($query) {
     if (!is_admin() && $query->is_main_query() && $query->is_search) {
       $query->set(‘post_type’, [‘product’, ‘page’, ‘post’]);
     }
    }
    add_action(‘pre_get_posts’, ‘prioritize_products_in_search’);

    2. Tweaked Search Ranking


    Where relevant, we added meta_query conditions to help highlight results with product-related fields or keywords.

    3. Cleaned Up the Layout


    We also updated the styling to clearly differentiate product search results from regular posts or pages.

    4. Excluded Unwanted Results


    Certain pages were excluded altogether based on the client’s request — helping keep the results more relevant and conversion-focused.

    The Result

    Now, when users search, product pages are displayed first, followed by any relevant blog posts or static pages. No more dead ends or confusing results.

    Want your WordPress search to highlight your most important content?
    Let Integriti Studio optimize your search experience.

  • How to Prioritize Products in WordPress Search Results

    What Was Happening

    Search queries like “virus” or “case study” didn’t return any product results, even though matching products were published and indexed. Meanwhile, unrelated static pages showed up instead. Custom search behavior that once prioritized products had stopped working after some plugin or theme updates.

    What We Found

    No Priority for CPTs


    The theme’s search.php and functions.php didn’t include any logic to elevate custom post types like “product” over standard posts and pages.

    ⚙️ WP_Query Was Basic


    The query wasn’t configured to weight or include custom fields or taxonomies, leading to inconsistent results.

    How We Fixed It

    1. Adjusted the Search Query


    We added a pre_get_posts filter in functions.php to explicitly prioritize the product post type:

    php

    CopyEdit

    function prioritize_products_in_search($query) {
     if (!is_admin() && $query->is_main_query() && $query->is_search) {
       $query->set(‘post_type’, [‘product’, ‘page’, ‘post’]);
     }
    }
    add_action(‘pre_get_posts’, ‘prioritize_products_in_search’);

    2. Tweaked Search Ranking


    Where relevant, we added meta_query conditions to help highlight results with product-related fields or keywords.

    3. Cleaned Up the Layout


    We also updated the styling to clearly differentiate product search results from regular posts or pages.

    4. Excluded Unwanted Results


    Certain pages were excluded altogether based on the client’s request — helping keep the results more relevant and conversion-focused.

    The Result

    Now, when users search, product pages are displayed first, followed by any relevant blog posts or static pages. No more dead ends or confusing results.

    Want your WordPress search to highlight your most important content?
    Let Integriti Studio optimize your search experience.