Neil Matthews

Category: General Blogging

  • How I Combined CRM and Email Marketing Into One Tool

    Here’s the problem I had.  I was using lots of different tools for email marketing purposes.  I had an email provider; MailChimp, a CRM; Contactually and finally, a drip tool; Woodpecker for slowly dripped content.

    None of these tools were talking to each other, my lists were not segmented well, and updates were not happening across all tools when an unsubscribe happened or an email bounced.

    I needed a single solution, here’s the background to my problem and eventually what I did.

    Problem With CRM Tool

    I used Contactually, it was great it kept all my communications with a client or potential client in one place.  I could not send out a bulk email due to daily sending limits.

    There was no automated unsubscribe so I was manually removing people from my list.

    Problem With Email Tool

    MailChimp is great for sending out newsletters, and it has automated tasks to a certain level, but it did not do my 90 days reach out well (see below).  It could do drip work for lead magnets and onboarding.

    Using it as a CRM was none existent.

    Problem With Drip Tool

    I can send out automated 90 days reach outs, drip campaigns to onboard new maintenance clients and my email course “So you are hiring a developer for the first time”.

    The drip tool was limited to a certain number of email sends per day so bulk sends were not possible.

    I could record client details in a section called snippets.

    My ARS Process

    I have a continuous quality improvement process going on in my business called ARS, which stands for automating, reducing and systematising.  My email marketing was in dire need of an ARS review (I’m 46 and sniggering like a schoolboy as I write ARS review).

    Automate – I want all of my email marketing to be automated.

    Reduce – I want one service not three for my email marketing.

    Systematise – I want repeatable processes for sending emails and adding new leads/clients to that process.

    I wrote about my ARS process in depth in this post Kiss my ARS

    My Email Marketing Needs

    Here are my needs for mail marketing.

    Newsletters – I want to send out a weekly bulk email to my mailing list when I publish a new blog post

    90 day reach out – I send out a reminder email every 90 days to my clients to check if they need any help with their WordPress site, it’s a light touch courtesy email.  I have approximately 3500 people on my list, so I send out 50 reminders per day, this, in turn, keeps my funnel full and a steady stream of work is generated.  I’ll write about the benefit of automated reach out in its own blog post next week.

    SYAHD – this is a lead magnet email course that is dripped out over 5 days, one email per day. You can check out my free course So You Are Hiring A Developer? Avoid The Pit Falls!

    Maintenance onboarding – this is a 6-day onboarding email series explaining aspects of my maintenance plan.

    Sales and Offers – much like a newsletter I want to send out offers and sales en-mass as a bulk email.

    Over and above sending out emails I also have some organisational needs for my email marketing.

    Segmenting – I want to segment the people on my lists into maintenance clients, people at the top of my sales funnel who I don’t want to bombard with sales messages, one-off project clients and potential clients.

    Automated cleaning – I want to clean my list automatically and not have to edit things by hand.  I want an unsubscribe so people can opt out if they don’t like my work or need my services.  I want to remove bounced or false email addresses.

    Status – I want to be able to add a status to an email address if they reacting in a certain way, for example, if they respond to a marketing message, or if they are douche bags and I want to blacklist them 🙂

    My Solution

    The penny dropped when my drip solution Woodpecker created an integration with a bulk send service mailgun.com so the sending limit was lifted and I could send bulk emails.  I brought everything into Woodpecker. And dropped MailChimp and Contactually.

    Email capture – all of my emails are captured by forms created using Gravity Forms.  I have the Zapier addon installed so all captured emails are pushed into Woodpecker.  I can tag and

    I can create basic CRM features by recording the last work request against their record.

    Newsletters – I can create a new campaign and send out details of my latest blog posts to my full list.

    SYAHD – I’ve created a 5-day campaign which drip feeds my course, I have a Gravity Form which connects to that campaign.

    Maintenance Onboarding – I have a 6-day drip campaign which sends out details of my maintenance plan to new clients such as reporting issues, invoicing, the work we will do etc.

    Offers – It’s coming up to Cyber Monday so I can send out a bulk email to my entire list.

    Woodpecker automatically updates bad emails, offers unsubscribe links and

    It’s Not Perfect

    I only have basic CRM features, I don’t have an entire history of contacts, but to be perfectly honest just the last request for work is enough.

    Wrap up – How I Combined CRM and Email Marketing Into One Tool

    Tidying things up and automating things in my business is a very satisfying thing for me, as a solopreneur having tools in place that free up my time is a great thing.

    The fewer things I need to do means more billable time. Having a full funnel of leads is a very reassuring thing, but more about that next week.

    Photo Credit: onecog2many Flickr via Compfight cc

  • Enhancing Web Security with Cloudflare Turnstile: A Deep Dive into Intelligent Bot Mitigation

    Enhancing Web Security with Cloudflare Turnstile: A Deep Dive into Intelligent Bot Mitigation

    Introduction – Cloudflare Turnstile::
    In the dynamic landscape of online security, the battle against malicious bots and automated threats is constant. Enter Cloudflare Turnstile, a powerful tool designed to intelligently identify and mitigate potential threats while ensuring a seamless user experience. In this blog post, we will explore the features and benefits of Cloudflare Turnstile and understand how it contributes to a more secure and resilient web presence.

    The Rise of Automated Threats:

    As websites become more sophisticated, so do the threats they face. From content scraping to credential stuffing attacks, automated bots pose a serious risk to web applications. Traditional security measures often fall short, prompting the need for advanced solutions like Cloudflare Turnstile.

    What is Cloudflare Turnstile?

    Cloudflare Turnstile is a component of Cloudflare’s comprehensive security suite that focuses on mitigating automated threats. It employs a combination of advanced algorithms, machine learning, and real-time analysis to distinguish between legitimate traffic and malicious bots, offering a proactive defense mechanism for websites of all sizes.

    Key Features of Cloudflare Turnstile:

    1. Behavioral Analysis:

    • Cloudflare Turnstile goes beyond static rules by analyzing user behavior in real time. It considers factors such as mouse movements, click patterns, and other dynamic interactions to identify automated threats.

    2. Bot Intelligence:

    • Leveraging Cloudflare’s extensive network, Turnstile benefits from collective intelligence. It taps into a vast dataset of bot fingerprints and behavior patterns to continuously evolve its understanding of emerging threats.

    3. Challenge-Response Mechanism:

    • When suspicious behavior is detected, Turnstile can initiate challenge-response mechanisms, such as CAPTCHAs, to verify the legitimacy of the user. This ensures that bots are thwarted while allowing genuine users to proceed without interruption.

    4. Adaptive Learning:

    • Cloudflare Turnstile is designed to adapt to evolving threats. Through continuous learning, it refines its algorithms and strategies, ensuring that it stays ahead of emerging bot tactics.

    Implementing Cloudflare Turnstile:

    1. Sign Up for Cloudflare:
    • If you haven’t already, sign up for a Cloudflare account and add your website to the Cloudflare dashboard.
    1. Activate Security Features:
    • Enable the security features in the Cloudflare dashboard, including Turnstile, to start benefiting from its bot mitigation capabilities.
    1. Customize Settings:
    • Tailor the Turnstile settings to match the specific needs of your website. Adjust sensitivity levels, set challenge-response thresholds, and fine-tune other parameters to optimize performance.
    1. Monitor Analytics:
    • Regularly check the analytics provided by Cloudflare to gain insights into the effectiveness of Turnstile. Monitor bot detection rates, successful challenges, and any false positives.

    Benefits of Cloudflare Turnstile:

    1. Proactive Bot Mitigation:

    • Cloudflare Turnstile identifies and mitigates automated threats before they can impact your website, ensuring uninterrupted service for legitimate users.

    2. Adaptive Security:

    • The system continuously evolves and adapts to new bot tactics, staying one step ahead of potential threats.

    3. User-Friendly Experience:

    • By employing challenge-response mechanisms only when necessary, Turnstile maintains a positive user experience while effectively blocking malicious bots.

    Conclusion – Cloudflare Turnstile::

    Cloudflare Turnstile represents a cutting-edge solution in the ongoing battle against automated threats on the web. By leveraging advanced algorithms and adaptive learning, Turnstile provides a robust defense mechanism that goes beyond traditional security measures. Incorporate Cloudflare Turnstile into your web security strategy to enjoy a safer online environment, protect your website from malicious bots, and ensure a seamless experience for your users. Stay ahead of the curve with Cloudflare Turnstile, the intelligent choice for intelligent bot mitigation.

    If you need help implementing Cloudflare turnstile on your site give me a shout.

  • Securing Your Website Seamlessly: Exploring the Power of Google reCAPTCHA Version 3

    Securing Your Website Seamlessly: Exploring the Power of Google reCAPTCHA Version 3

    Introduction – Google reCAPTCHA Version 3:
    In the digital age, where online security is paramount, website owners are continually seeking robust solutions to protect against spam, bots, and other malicious activities. Google reCAPTCHA, a widely adopted security measure, has evolved to its third version, offering enhanced capabilities and a more user-friendly experience. In this blog post, we’ll delve into the features and benefits of Google reCAPTCHA Version 3 and explore how it can fortify your website against threats.

    The Evolution of Google reCAPTCHA:

    Google reCAPTCHA has come a long way since its inception, transitioning from traditional distorted text challenges to more sophisticated methods. Version 3 represents a paradigm shift in how website security is approached, moving away from user-visible challenges to a behind-the-scenes risk assessment system.

    Key Features of Google reCAPTCHA Version 3:

    1. Invisible and Frictionless:

    • Unlike its predecessors, reCAPTCHA Version 3 is invisible to users. There are no checkboxes or challenges to solve, providing a seamless and frictionless experience for genuine visitors.

    2. Score-Based Risk Assessment:

    • Instead of relying on binary pass/fail decisions, reCAPTCHA Version 3 assigns a risk score to each user interaction. The higher the score, the more likely the interaction is deemed suspicious.

    3. Adaptive CAPTCHA Challenges:

    • While users won’t see traditional challenges, reCAPTCHA Version 3 may dynamically trigger CAPTCHA challenges based on the risk score. This adaptive approach ensures that potential threats are appropriately addressed.

    4. Advanced Bot Detection:

    • Leveraging machine learning and behavioral analysis, reCAPTCHA Version 3 excels at identifying and blocking automated bots. This helps prevent spam submissions and safeguard sensitive data.

    Implementing Google reCAPTCHA Version 3 on Your Website:

    1. Sign Up for API Keys:
    1. Integrate the API Key:
    • Insert the provided API key into the HTML of your website. This is typically done in the form or login page where you want to implement reCAPTCHA.
    1. Configure reCAPTCHA Settings:
    • Adjust the sensitivity threshold by configuring the score required for a user to be considered legitimate. This can be done through your Google reCAPTCHA account.
    1. Monitor reCAPTCHA Analytics:
    • Regularly check the reCAPTCHA analytics dashboard to review the performance and effectiveness of the security measures.

    Benefits of Using Google reCAPTCHA Version 3:

    1. Enhanced User Experience:

    • Users appreciate the absence of disruptive challenges, leading to a more positive and user-friendly interaction with your website.

    2. Efficient Bot Detection:

    • By leveraging advanced risk assessment, reCAPTCHA Version 3 efficiently identifies and blocks automated bots, reducing the likelihood of spam and fraudulent activities.

    3. Adaptive Security Measures:

    • The system adapts to changing threats, dynamically adjusting its security measures based on user behavior and risk scores.

    Conclusion – Google reCAPTCHA Version 3:

    Google reCAPTCHA Version 3 represents a significant leap forward in website security, offering an invisible yet robust defense against spam and malicious bots. By seamlessly integrating into your website’s user experience, reCAPTCHA Version 3 provides an efficient and adaptive solution to safeguard your digital space. Embrace this evolution in security technology to fortify your website, enhance user trust, and ensure a safer online environment for both you and your visitors.

    If you are having issues with spam forms or comments, I can help.

    Photo by Markus Spiske on Unsplash

  • How To Enable Debugging On Your WordPress Site

    How To Enable Debugging On Your WordPress Site

    In this video I’ll show you how to enable debugging on your WordPress site so you can troubleshoot any issues that your site is having.

    Imagine the situation, your WordPress site has crashed and you have no idea what is causing the problem? Enter the WordPress debug system. Using this feature of WordPress we can track what is causing us our problems.

    We can enable debugging so the errors being thrown by your WordPress site are output to the screen. This then allows you to diagnose what the problem is.

    Another feature of the WordPress debugging system is the ability to log those bugs. Imagine you are having an intermittent bug, enable logging and capture the bug when it happens. Rather than throwing the errors to the screen, you can save them to a log for later review.

    In this video I’ll show you how to enable debugging via FTP, an FTP plugin (hint this won’t work when your site is down) and via cPanel or the file manager on your hosting.

    The log your generate can become huge very quickly and contains lots of sensitive information a hacker could use to exploit your site, so remember to disable this feature and remove all log files once you are done.

    Video – How To Enable Debugging On Your WordPress Site

    Code

    Here’s the code I added to wp-config.php. This system file is located in the root of your site’s file system.

    The log file will be saved into the file /wp-content/debug.log

    // Enable WP_DEBUG mode
    define( 'WP_DEBUG', true );
    
    // Enable Debug logging to the /wp-content/debug.log file
    define( 'WP_DEBUG_LOG', true );
    
    // Disable display of errors and warnings
    define( 'WP_DEBUG_DISPLAY', false );
    @ini_set( 'display_errors', 0 );

    Wrap Up – How To Enable Debugging On Your WordPress Site

    Hopefully this post and video have shown you how to enable debugging on your site to find out what is causing that problem.

    No how to fix that problem is another thing altogether, if you need help fixing a crashed WordPress site why not hire me.

    Photo by David Clode on Unsplash

  • GRAVITY FORMS Prepopulating Select Fields with Custom Post Type Data in WordPress Forms

    GRAVITY FORMS Prepopulating Select Fields with Custom Post Type Data in WordPress Forms

    Introduction – GRAVITY FORMS Prepopulating Select Fields with Custom Post Type Data:

    To create a more intuitive and user-friendly experience on your WordPress website, optimizing form interactions is key. One powerful way to enhance forms is by prepopulating select fields with data from custom post types. In this blog post, we’ll guide you through the process, including essential code snippets, on how to seamlessly prepopulate select fields with custom post type data in WordPress using the Gravity Forms plugin.

    Understanding the Power of Custom Post Types:

    WordPress custom post types offer a flexible way to organize and display content beyond standard posts and pages. Leveraging custom post types allows you to structure and categorize your content according to your website’s unique needs.

    Prepopulating Select Fields in Gravity Forms:

    Gravity Forms, a widely-used form builder plugin for WordPress, provides a straightforward method to prepopulate select fields with data from custom post types. Let’s walk through the steps, including the necessary code snippets:

    Step 1: Install and Activate Gravity Forms

    Ensure that you have the Gravity Forms plugin installed and activated on your WordPress site.

    Step 2: Create a Form

    Build the form using Gravity Forms, including a ‘Select’ field where you want the custom post type data to appear.

    Step 3: Obtain Custom Post Type Data

    Retrieve the data you wish to prepopulate in the select field from your custom post type. This could include titles, categories, or any other relevant information.

    Step 4: Set Up the Select Field

    Within the form editor, navigate to the ‘Select’ field’s settings. Under the ‘Choices’ section, choose ‘Dynamic Population.’ From the drop-down menu, select ‘Post Type’ as the data source.

    Step 5: Configure Dynamic Population Settings

    Now, let’s write the code to fetch the custom post type data. Add the following code to your theme’s functions.php file:

    // Function to get custom post type data
    function get_custom_post_type_data() {
        $args = array(
            'post_type' => 'your_custom_post_type', // Replace with your custom post type
            'posts_per_page' => -1,
        );
    
        $custom_posts = get_posts($args);
        $choices = array();
    
        foreach ($custom_posts as $post) {
            $choices[] = array(
                'text' => get_the_title($post->ID),
                'value' => $post->ID,
            );
        }
    
        return $choices;
    }

    Step 6: Implement Dynamic Population

    Still in your functions.php file, add the following code to enable dynamic population:

    // Dynamic Population for Gravity Forms
    add_filter('gform_pre_render', 'prepopulate_select_field');
    add_filter('gform_pre_validation', 'prepopulate_select_field');
    add_filter('gform_pre_submission_filter', 'prepopulate_select_field');
    add_filter('gform_admin_pre_render', 'prepopulate_select_field');
    
    function prepopulate_select_field($form) {
        foreach ($form['fields'] as &$field) {
            if ($field['type'] == 'select' && $field['inputType'] == 'single') {
                $field['choices'] = get_custom_post_type_data();
            }
        }
        return $form;
    }

    Step 7: Save and Test

    Save your form, update your post or page, and test the prepopulated select field to ensure it displays the custom post type data as intended.

    Conclusion – GRAVITY FORMS Prepopulating Select Fields with Custom Post Type Data:

    By incorporating these code snippets into your WordPress theme, you can seamlessly prepopulate select fields with data from custom post types using Gravity Forms. This not only enhances the user experience but also streamlines data entry for your users. Elevate your WordPress forms by integrating custom post type data and make form interactions on your website more intuitive than ever.

    If you need custom coding for your Gravity form project please get in touch.

    Photo by Kelly Sikkema on Unsplash

  • Streamlining Content Creation with Gravity Forms Post Creator Addon

    Introduction – Gravity Forms Post Creator Addon:

    In the dynamic world of website management, efficiency is key. Content creation, especially for WordPress websites, can be a time-consuming task. However, with the right tools, you can simplify the process and empower users to generate content effortlessly. One such tool that stands out is the Gravity Forms Post Creator Addon.

    Gravity Forms Overview:

    Gravity Forms is a powerful form builder plugin for WordPress, allowing users to create complex forms with ease. Whether you need a simple contact form or a detailed survey, Gravity Forms offers a user-friendly interface for designing and implementing forms on your website.

    Post Creator Addon Unveiled:

    The Gravity Forms Post Creator Addon takes the functionality of Gravity Forms to the next level by seamlessly integrating it with content creation on your WordPress site. This addon enables users to submit form entries directly as new posts or custom post types, eliminating the need for manual content creation and streamlining your workflow.

    Key Features:

    1. Custom Post Types:
      The Post Creator Addon allows you to specify the post type for the submitted form entries. This flexibility ensures that the content is organized according to your site’s structure.
    2. Advanced Field Mapping:
      Tailor your form fields to match the content structure of your posts. With advanced field mapping options, you can effortlessly link form fields to specific post attributes, such as title, content, categories, and tags.
    3. Media Uploads:
      Enhance the visual appeal of your posts by allowing users to upload media directly through the form. Whether it’s images, videos, or documents, the Post Creator Addon supports various file types.
    4. Conditional Logic:
      Create dynamic forms that adapt to user inputs. With conditional logic, you can show or hide specific form fields based on the user’s previous selections, providing a personalized experience.
    5. Draft and Publish Options:
      Control the status of the submitted content. Choose whether the entries should be saved as drafts or published immediately, giving you the flexibility to review and edit before publicizing.

    Use Cases:

    1. User-Generated Content:
      Encourage user engagement by allowing visitors to submit articles, testimonials, or other content directly through your website.
    2. Job Listings:
      Simplify the process of posting job listings on your site. Employers can fill out a form with details about the job, and the information is automatically converted into a new post.
    3. Event Listings:
      Manage event submissions effortlessly. Users can submit event details, including date, time, and location, and have them automatically transformed into event listings on your website.

    Conclusion:

    The Gravity Forms Post Creator Addon is a game-changer for WordPress website owners, offering a streamlined solution for content creation. By harnessing the power of Gravity Forms, this addon not only enhances the form-building experience but also empowers users to contribute to your site’s content effortlessly. Save time, reduce manual workload, and enhance user engagement with the Gravity Forms Post Creator Addon. Upgrade your website management experience today!

    If you need help building solutions with Gravity forms give me a shout.

  • Themeytale Of New York

    Themeytale Of New York

    The Themeytale Of New York: It’s the most wonderful time of the year again.

    I haven’t made this post for a couple of years, it’s been an annual event for me. Here we go again.

    Did you know there are plugins out there that allow you to decorate your website like you would a Christmas tree.

    In this video I’ll demo three of my favourites.

    Video

    Plugins Mentioned

    Here are links to the three plugins mentioned in this video.

    Weather Effect

    Xmas Decoration

    Pimp my site – Christmas Edition

    Wrap Up – Themeytale Of New York

    If you can’t have a bit of fun on your website at Christmas when can you? Send me screenshots of your site all Christmasfied.

    If you need help decorating your site for Christmas I’m available why not hire me as your Elf.

    Rest in peace Shane Macgowan, the creator of the best Christmas song ever Fairy-tale of New York, I dedicate this post to you.

    Photo by Denise Johnson on Unsplash

  • Tailoring the Add to Cart Process for Your Business

    Tailoring the Add to Cart Process for Your Business


    Introduction – Tailoring the Add to Cart Process for Your Business:

    In the ever-evolving landscape of online commerce, a one-size-fits-all approach rarely does justice to the unique identity of your business. WooCommerce, a robust and versatile e-commerce platform, empowers businesses to go beyond the basics and craft a tailored shopping experience. In this blog post, we’ll explore how WooCommerce customizations can elevate your add to cart process, making it a distinctive and seamless journey for your customers.


    1. Crafting an Intuitive Checkout Page: A Gateway to Conversion

    Your checkout page is more than just a form—it’s the final gateway to conversion. Customizing the checkout page in WooCommerce allows you to tailor the user experience to match your brand aesthetic. From adjusting the fields required to optimizing the layout, you have the power to create an intuitive and user-friendly checkout process that aligns with the unique identity of your business.

    Example Customization Tip: Utilize WooCommerce hooks and filters to rearrange or remove unnecessary checkout fields, streamlining the process for your customers.


    2. One-Click Wonder: Simplifying the Add to Cart Functionality

    Frictionless shopping experiences are the golden ticket to customer satisfaction. Implementing one-click add to cart functionality allows users to swiftly add products to their carts without navigating away from their current page. This customization not only reduces steps in the purchasing journey but also enhances the overall speed and efficiency of your WooCommerce store.

    Example Customization Tip: Leverage WooCommerce extensions or custom code snippets to enable one-click add to cart functionality, putting your customers on the express lane to purchase.


    3. Cross-Selling and Upselling Techniques: Maximizing Cart Value

    Strategic product recommendations can turn a single purchase into a shopping spree. Customize your product pages to include cross-selling and upselling elements that entice customers to explore complementary or upgraded items. This not only enhances the shopping experience but also maximizes the value of each transaction.

    Example Customization Tip: Utilize WooCommerce’s built-in cross-selling and upselling features, and experiment with personalized recommendations based on user behavior.


    4. Designing Custom Notifications: Engaging and Informative

    Communication is key, even in the world of e-commerce. Customize the notifications users receive after adding items to their carts. Craft engaging messages that reinforce their decision and provide essential information about the next steps. A personalized touch in these notifications can foster a sense of connection with your brand.

    Example Customization Tip: Use WooCommerce hooks to customize email templates and on-screen notifications, ensuring they align with your brand voice and offer clear guidance.


    Conclusion – Tailoring the Add to Cart Process for Your Business:

    In the dynamic realm of online retail, standing out is not just an option; it’s a necessity. WooCommerce customizations empower you to shape the add to cart process in a way that reflects the unique personality of your business. Whether it’s streamlining the checkout page, implementing one-click wonders, leveraging cross-selling techniques, or designing custom notifications, these customizations transform your WooCommerce store into a tailor-made shopping haven for your customers. Embrace the power of customization, and watch as your add to cart process becomes a true reflection of your brand’s identity.

    Tailoring the Add to Cart Process for Your Business

  • How I’m Using Chat GPT To Create Content For My Blog.

    How I’m Using Chat GPT To Create Content For My Blog.

    How I’m Using Chat GPT To Create Content For My Blog.

    I admit it, I’m using AI to create blog post content, there you go what you gonna do about it.

    BUT, I’m using Chat GPT to create content in a very strategic way, let me tell you more…

    In this post I’ll talk about how I’m using chat GPT to create content for my blog.

    Machine Content To Feed The Machine

    I’m using Chat GPT to create a lot of content! I’m talking at least one blog post per day, I create this content in about thirty minutes on Friday morning and schedule it to publish Monday through Thursday.

    I don’t send this content out to my list, it’s not designed to be read by people that subscribe via email it’s designed to feed the machine, the machine that is the Google SEO algorithm.

    I use machine generated content to feed the machine that is Google.

    I don’t send this content to my list because, well, it’s bland, it’s not that good, it a mashup of 101 other ideas out there on the internet. AI can’t create (yet) it can only give you a facsimile of what a human can create. I don’t want to send that to my list it’s not really that valuable.

    Real Content To Keep Real People Content

    After I’ve create my four machine generated blog posts I’ll settle down to create a real piece of original content.

    This will take me a couple of hours to write, record (if it’s a YouTube video) and publish almost three to four times as long as it takes me to bang out four Chat GPT pieces of content.

    I’m proud of that content, it valuable to people and I’ll happily send it to the people who follow me via my list or social media.

    If I’m Not Proud Of AI Content Why Publish it?

    Good question I have asked myself, the content does the following:

    • Raises the SEO signal that I create a lot of content and I create regularly
    • Creates an indicator of what I need to produce originally via clicks
    • Creates a lot of long tail content
    • Helps me generate a ton of blog post ideas
    • Give me a base text blog post I can add a video onto and add real value

    Video Demo

    Here’s a video to show you what I’m doing.

    Wrap Up – How I’m Using Chat GPT to Create Content for my Blog.

    I use AI, there you go, but I use it strategically.

    Is it working? Yes I’m seeing clicks from the search engines go up, more visits to my key pages like work with me, contact me and about me.

    It’s taken quiet some time for this to take effect, there was a lag of about three months before the needle started to move.

    I’m getting an increase in my lead magnet submissions and a definite uptick in requests from my work with me page. I call that a win.

    Photo by Aideal Hwa on Unsplash

  • Should I Show WooCommerce Prices Inc or Ex TAX?

    Should I Show WooCommerce Prices Inc or Ex TAX?

    In this video I’ll address the question “Should I Show WooCommerce Prices Inc or Ex TAX?”.

    In the UK we pay a sales tax called VAT (value added tax). It is collected by the company and paid to HMRC (His Majesties Revenue and Customs) the UK version of the IRS.

    For consumers buying products they need to suck it up and pay the tax, but for companies that are VAT registered they can reclaim that money, so in the UK it really depends upon on the the type of customer you sell to whether or not to inc/ex tax. B2C I recommend showing prices inc of tax, for B2B show it ex.

    In this video I’ll show you how to do both and I’ll add in a third custom solution where you can add a code snippet to show both.

    Video

    Code Snippet

    Here’s the code snippet I used in my demo. Copy and paste this into your functions.php file in your theme, or use the code snippet plugin.

    add_filter( 'woocommerce_get_price_html', 'nm_excl_incl_tax', 9999, 2 );
    
    function nm_excl_incl_tax( $price, $product ) {
    
    if ( wc_tax_enabled() ) {
    
    if ( 'incl' === get_option( 'woocommerce_tax_display_shop' ) ) {
    $price = wc_price( wc_get_price_including_tax( $product ) ) . ' <small class="woocommerce-price-suffix">' . WC()->countries->inc_tax_or_vat() . '</small>';
    } else {
    $price = wc_price( wc_get_price_excluding_tax( $product ) ) . ' <small class="woocommerce-price-suffix">' . WC()->countries->ex_tax_or_vat() . '</small>' . '<br/>' . 'Incl. Tax: ' . wc_price( wc_get_price_including_tax( $product ) );
    }
    
    }
    
    return $price;
    }

    You can use my code snippet generator as seen in the video from this link WooCommmerce Code Generator. It’s free to use and will create a woocommerce code snippet from plain English.

    Here’s a link to my post on using the code snippet plugin. Check out the video on how to install the code snippet plugin and how to add the snippet you generate or copy from above.

    Wrap Up – Should I Show WooCommerce Prices Inc or Ex TAX?

    It really depends upon your audience but I hope I have given you enough options to show or hide that pesky tax rate on your WooCommerce store.

    If you need help with your WooCommerce tax setup why not hire me. I offer development services and WooCommerce maintenance.

    Photo by Bermix Studio on Unsplash

  • Multi language woocommerce store

    Multi language woocommerce store

    Introduction – Multi language WooCommerce store

    I was asked by my client to make a Multi language WooCommerce store. They have a Canadian part of their business and it’s a legal requirement to have the site in French and English.

    Using the Polylang plugin were were able to add translations for the store in both languages so all the product pages, checkout cart and thankyou pages were in both languages

    The after sale emails were also translated depending upon which language the customer check out in.

    I’ve built with multi language / multi currency sites using WPML, but we were forced to use Polylang due to the host we were using,

    It worked seamlessly in the end after some custom coding of the way we output strings.

    We used the pro version of Polylang to take into account their WooCommerce extension. I also use this third part tool to show translatable strings in the back end of WordPress.

    Video

    Here’s a video walk through of the multilanguage site I built using Polylang

    Wrap up – Multi language WooCommerce store

    If you need help building a multi landguage / multi currency WooCommmerce store please visit the work with me page.

  • My Journey into Understanding First Contentful Paint (FCP)

    My Journey into Understanding First Contentful Paint (FCP)

    INtroduction – First Contentful Paint

    As a web developer, I’ve always been fascinated by the intricate world of web performance metrics. One metric that has consistently piqued my interest is “First Contentful Paint” or FCP. In this blog post, I’ll take you on a journey to demystify FCP, explaining what it is, why it matters, and how it influences the user experience.

    What Exactly is First Contentful Paint (FCP)?

    Let’s begin with the basics. FCP is a critical metric used to gauge a website’s loading performance. It marks the moment when the first meaningful content element appears on the user’s screen as a webpage loads. This content element can take various forms, such as text, images, or graphics, but it’s always something that adds value to the user’s experience.

    Why Does FCP Matter?

    1. Enhancing User Experience

    User experience is at the core of web development, and FCP plays a pivotal role in shaping it. FCP determines how quickly users perceive your website to load. A swift FCP can create a positive impression, making users feel like your site is responsive and user-friendly. Conversely, a slow FCP can lead to user frustration and potentially drive them away.

    2. Perceived Speed

    FCP contributes to the perceived loading speed of your webpage. Even if the entire page isn’t fully loaded, a rapid FCP can give users the impression that your site is loading quickly and efficiently. This perception is crucial for keeping users engaged and satisfied.

    3. SEO and Search Engine Rankings

    In the competitive online landscape, search engine optimization (SEO) is vital for website visibility. Search engines like Google consider page speed and user experience as ranking factors. Websites with faster loading times, including a speedy FCP, are more likely to rank higher in search results, increasing their chances of attracting organic traffic.

    How is FCP Measured?

    Understanding how FCP is measured can shed light on how to improve it:

    1. Rendering Time

    FCP is measured during the rendering process, precisely when the first content element becomes visible on the user’s screen. It captures the moment of truth when the user begins to see something meaningful.

    2. Element Selection

    The browser identifies the first content element by assessing its layout dimensions, including width and height, within the viewport. This ensures that FCP reflects what’s visible to the user.

    3. Time Measurement

    FCP is typically measured in seconds. The ideal FCP time frame falls within the first 1 to 2 seconds of page loading. Achieving this swift FCP ensures a seamless user experience.

    Strategies to Improve First Contentful Paint

    To enhance FCP and overall webpage performance, consider implementing the following strategies:

    1. Optimize Images and Assets

    Compress and optimize images and other assets to reduce their loading times. Ensure you’re using the right image formats and resolutions for various devices to minimize unnecessary resource consumption.

    2. Prioritize Critical Resources

    Load critical resources, such as CSS and JavaScript, early in the page loading process to expedite rendering. Minimize render-blocking resources that can delay FCP.

    3. Minimize Server Response Times

    Optimize server response times by choosing efficient hosting solutions, implementing content caching, and reducing server-side processing. A faster server response time can contribute to a quicker FCP.

    4. Use Content Delivery Networks (CDNs)

    Leverage CDNs to distribute content across multiple servers globally, reducing the physical distance between users and the server. This geographical optimization can significantly decrease load times, including FCP.

    Conclusion

    First Contentful Paint (FCP) isn’t just a technical metric; it’s a key driver of user satisfaction, SEO performance, and the overall success of your website. By focusing on improving FCP, you can ensure that users have a positive initial experience, boost your site’s search engine rankings, and build a website that keeps visitors engaged. In today’s digital world, speed matters, and FCP plays a pivotal role in delivering a fast and captivating user experience.

    Photo by Possessed Photography on Unsplash