Remove All Litespeed & QUIC Cloud Traces from WordPress (Plugin)

Seems like a lot of what we do here at Foxco is cleaning up and optimizing rather than building– and that’s ok too. A big issue with WordPress (or rather WordPress users) is that they tend to install and configure plugins capriciously, “just in case” or for a small feature (that would probably be better as a few lines of code rather than a full plugin). Litespeed Cache and the wordpress plugin is quite good, if you’re very experienced with it and know how to configure and debug it and exclude the correct files. The Litespeed presets are a very blunt tool and with the more advanced presets (without specialized configuration) the cache will often fail, often making your website look like a Picasso painting. Recently I moved a client from Hostinger to Kinsta (click those links to read my reviews of both) and Kinsta employs several layers of caching — including Edge Caching, its Cloudflare-powered CDN, and built-in server and object caching– making Litespeed unnecessary (in fact they don’t even allow it because it conflicts causing errors like ERR_QUIC_PROTOCOL_ERROR etc). Anyhow if you do move to a new host or decide that Litespeed and QUIC Cloud isn’t for you then you can uninstall them but like most plugins they still leave some garbage behind. This plugin solves that. What this Plugin Does The plugin thoroughly cleans: Click here or the image below to download the plugin.
WooCommerce Call To Order Button (Add To Cart)

Foxco has an ecommerce and digital marketing client who sells vitamins, supplements and high end nutraceutical type products. Some of these products are sold by distributors who for reasons I cannot understand mandate that the end user calls in to order their products. Pretty silly but hey our job isn’t to judge, it’s to solve problems. As usual I’ll start by seeing if someone else has built a decent, lightweight free plugin that checks all the boxes. Next I’ll see if a little bit of PHP will solve it but when it starts to involve all kinds of variables, preferences and styles– and something our client might want direct control of i’ll make a plugin. And sometimes I share these plugins here with you good people totally free of charge. So in WooCommerce the Add To Cart button infrastructure is pretty circumscribed and rigid, but I think this plugin does a pretty nice job of allowing you to mark products as Out Of Stock when you want someone to call in or perhaps even click a link and order somewhere else (if you have an affiliate situation going on with a distributor). Simple UI below Obligatory explainer and instructions Features Installation Usage Once activated, the plugin automatically detects out-of-stock products and replaces the unavailable message with your custom call button. No shortcodes or manual placement needed. Customization Options Navigate to Settings > Call to Order to access all customization options: Requirements Support Built by Foxco for real businesses that know sometimes the best shopping cart is a good conversation. Questions or issues? Need help with something else? Email us foxco@foxco.net THE CODE
Foxco Divi Content Cleaner (WordPress Plugin)

Perhaps you migrated over to Elementor, WP Bakery, Bricks, Gutenberg etc — or you need to migrate away from Divi Page Builder but you’re worried about losing your content? The Foxco Divi Content Cleaner is a professional-grade WordPress plugin that safely removes all Divi Page Builder shortcodes while preserving your valuable content. Developed by Foxco, this plugin transforms your Divi-powered posts and pages into clean, standard WordPress content that works with any theme or page builder. Our client had hundreds of blog posts with these dreaded shortcodes and while figuring out a solution (regex db find and replace etc) I thought this might be an issue others are having too. The Problem This Solves When you decide to move away from Divi Page Builder, your posts are filled with complex shortcodes like [et_pb_section], [et_pb_row], and [et_pb_column] that make your content unreadable in other themes. Manual cleanup would take hours or days for large sites. The Foxco Solution Our intelligent cleaning algorithm removes all Divi formatting while preserving what matters most – your actual content. No more messy shortcodes, no lost content, no headaches. Key Features Intelligent Content Preservation Advanced Cleaning Algorithm Professional Safety Features Premium User Experience Perfect For What Gets Cleaned Removes: Preserves: Technical Specifications Installation Pro Tips About Foxco.net We solve development, data, marketing, ecommerce and business problems. Important Disclaimer Support For technical support or custom development needs contact foxco@foxco.net Download the plugin by clicking the zip file below:
Complete Lists Of Google Product Categories (Shopping)
If you’re looking for a full list of the Google Shopping attribute google_product_category you’ve come to the right place, and are probably wondering why it was so hard to find it. Who knows. Here’s a few formats for you to choose from: Here’s the categories without the category IDs:
Excel Formulas to Get Day of The Month

Here’s a basic but useful Excel formula. I haven’t been blogging much lately so want to create a few helpful posts. Noticed when I was sharing a more complicated formula that some of the smaller pieces might not be well understood. Basic DAY Function For Today’s Date Common Examples Date in Cell Formula Result 1/15/2025 =DAY(A1) 15 12/3/2024 =DAY(A1) 3 6/25/2025 =DAY(A1) 25 Text Format (if you want “01” instead of “1”) Extract Day from Text Date If your date is stored as text (like “June 25, 2025”): Multiple Cells To get the day from multiple date cells, just change the cell reference: Note:
Create Rank Number-Words (i.e. 1st, 5th, etc) in Excel

Was working on a Foxco data project recently where i needed to take dates that were ranked, add a value and then add the proper suffix to them as a number-word (i.e. the 1/1/2025 is the 1st day of the year) and 1/9/2025 is the 9th (not the 9st) day of the year. How this formula works, in simple terms (detailed explanation at the bottom). In my case, M2 was the cell reference contains the number I wanted to convert. The formula handles the special cases for 11th, 12th, and 13th (which use “th” instead of “st”, “nd”, “rd”) For all other numbers, it looks at the last digit to determine the suffix. Examples: 1 → 1st2 → 2nd3 → 3rd4 → 4th11 → 11th (not 11st)21 → 21st22 → 22nd23 → 23rd101 → 101st111 → 111th (not 111st) Here’s an alternative version that uses A1 and different but equally sound logic. Excel Ordinal Formula Breakdown (Nested IF Version) The Formula: excel=M2&IF(OR(MOD(M2,100)=11,MOD(M2,100)=12,MOD(M2,100)=13),”th”,IF(MOD(M2,10)=1,”st”,IF(MOD(M2,10)=2,”nd”,IF(MOD(M2,10)=3,”rd”,”th”)))) Step-by-Step Explanation: 1. M2& 2. MOD(M2,100) 3. OR(MOD(M2,100)=11, MOD(M2,100)=12, MOD(M2,100)=13) 4. First IF Statement: excelIF(OR condition, “th”, [nested IFs]) 5. MOD(M2,10) 6. The Nested IF Chain: excelIF(MOD(M2,10)=1,”st”, IF(MOD(M2,10)=2,”nd”, IF(MOD(M2,10)=3,”rd”,”th”))) This creates a decision tree: Visual Decision Flow: Examples: NumberLast 2 digitsSpecial case?Last digitSuffixResult11No1st1st22No2nd2nd33No3rd3rd44No4th4th1111Yes-th11th1212Yes-th12th1313Yes-th13th2121No1st21st2222No2nd22nd2323No3rd23rd11111Yes-th111th Key Differences from CHOOSE Version: Both formulas accomplish the same result, but the first version is more straightforward in its logic flow.
The New Google Analytics GA4 Sucks, Big Time

With all of the urgent UPGRADE YOUR UA TO GA4! messages you got you probably thought it was some major upgrade with tons of new tools and capabilities… right? Usually a move like this is the fault of a company or team within the company trying to revolutionize a popular legacy product, but in this case it’s the European Union’s General Data Protection Regulation (GDPR) to blame. They basically gave Google an arbitrary date (July 1st) to comply with their data collection guidelines or face huge fines. Europe should try to innovate as much as they regulate. For people who have used Google Analytics for decades this change is very difficult and frustrating, please give your marketing person or agency some time to get acclimated to the new and worsened Google Analytics. It’s not their (or Google’s) fault.
Why is Magento so difficult and complicated?
Magento wasn’t built to be easy Magento was designed to be powerful, extendable and incredibly detailed– but not easy. As someone who has developed gigantic Magento multistore shops with 10+ different storefronts, complex product attributes and interdependencies, 50+ brick and mortar locations and 250,000+ products—- trust me there is a reason for it to be as dense, complicated and therefore as difficult as it is. That’s not to say that Magento is all forethought and genius, it’s incredibly flawed software and particularly because of its complexity and extendability (extensions). Unless you have $1M+ in annual store sales or more than 1,000 products you should not use Magento; if you have more than a million in sales and more than 1,000 products you probably shouldn’t use anything else. With something like Shopify you’ll never own your software or extensions, never be able to truly customize it and you’ll be stuck behind their walled garden forever, and the longer you stay in their ecosystem the more difficult it is to escape. Unless you have $1M in store sales or more than 1,000 products you should not use Magento; if you have more than a million in sales and more than 1,000 products you probably shouldn’t use anything else. Andy Fox 65% of replatforming projects fail— after all the work, designs, consultants, meetings, licenses etc– organizations decide to just stick with what they have. Imagine how much money and man hours are wasted every year on failed replatforming projects worldwide. So again Magento is not easy, and moreover Magento is not, in my opinion, consumer software— it’s professional software– and unless you are or have access to a very capable Magento developer I would not recommend even beginning a project with Magento. But like I said, for most projects Magento is absolutely overkill– like driving a schoolbus to visit your neighbor.
Why is everything so ugly?
WE LIVE IN UNDENIABLY UGLY TIMES. Architecture, industrial design, cinematography, probiotic soda branding — many of the defining features of the visual field aren’t sending their best. Despite more advanced manufacturing and design technologies than have existed in human history, our built environment tends overwhelmingly toward the insubstantial, the flat, and the gray, punctuated here and there by the occasional childish squiggle. This drab sublime unites flat-pack furniture and home electronics, municipal infrastructure and commercial graphic design: an ocean of stuff so homogenous and underthought that the world it has inundated can feel like a digital rendering — of a slightly duller, worse world. If the Situationists drifted through Paris looking to get defamiliarized, today a scholar of the new ugliness can conduct their research in any contemporary American city — or upzoned American Main Street, or exurban American parking lot, or, if they’re really desperate, on the empty avenues of Meta’s Horizon Worlds. Our own walk begins across the street from our apartment, where, following the recent demolition of a perfectly serviceable hundred-year-old building, a monument to ugliness has recently besieged the block. Our new neighbor is a classic 5-over-1: retail on the ground floor, topped with several stories of apartments one wouldn’t want to be able to afford. The words THE JOSH have been appended to the canopy above the main entrance in a passionless font. We spent the summer certain that the caution tape–yellow panels on The Josh’s south side were insulation, to be eventually supplanted by an actual facade. Alas, in its finished form The Josh really is yellow, and also burgundy, gray, and brown. Each of these colors corresponds to a different material — plastic, concrete, rolled-on brick, an obscure wood-like substance — and the overall effect is of an overactive spreadsheet. Trims, surfaces, and patterns compete for attention with shifty black windows, but there’s nothing bedazzling or flamboyant about all this chaos. Somehow the building’s plane feels flatter than it is, despite the profusion of arbitrary outcroppings and angular balconies. The lineage isn’t Bauhaus so much as a sketch of the Bauhaus that’s been xeroxed half a dozen times. The Josh is aging rapidly for a 5-month-old. There are gaps between the panels, which have a taped-on look to them, and cracks in the concrete. Rust has bloomed on surfaces one would typically imagine to be rustproof. Every time it rains, The Josh gets conspicuously . . . wet. Attempts have been made to classify structures like this one and the ethos behind their appearance: SimCityist, McCentury Modern, fast-casual architecture. We prefer cardboard modernism, in part because The Josh looks like it might turn to pulp at the first sign of a hundred-year flood. Writing a century ago, H. L. Mencken bemoaned America’s “libido for the ugly.” There exists, he wrote, a “love of ugliness for its own sake, the lust to make the world intolerable. Its habitat is the United States.” However mystical and psychosexual his era’s intolerability might have felt in its origins, by the 1940s the explanations were more prosaic. With the wartime rationing of steel and sudden dearth of skilled labor, concrete structural systems quickly gained appeal — as did buildings that could be made piecemeal in a factory, put on a trailer, and nailed together anywhere in the country. And as the postwar baby boom took hold, such buildings were soon in high demand, fulfilling modernism’s wildest dreams of standardization with little of the glamour. A few Levittowns later, the promise of salvation-by-mass-production would come to seem elusive: new manufacturing techniques were transforming both the buildings and the builders building them. In Prisoners of the American Dream, Mike Davis describes how, in the 1970s, “the adoption of new building technologies involving extensive use of prefabricated structures, like precast concrete, eroded the boundaries of traditional skills and introduced a larger semi-skilled component into the labor force.” If it’s cheaper to assemble concrete panels than to hire bricklayers, cityscapes will eventually contain fewer bricks. Read the rest of this piece here on N+1 Magazine If it’s cheaper to assemble concrete panels than to hire bricklayers, cityscapes will eventually contain fewer bricks.
some clean Lorem ipsum dolor examples

I keep this here for when I need Lorem Ipsum. I always know where to find it and I know it’s not filled with links or spam. Feel free to use it yourself. Prodeo, amicus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed venenatis dignissim ultrices. Suspendisse ut sollicitudin nisi. Fusce efficitur nec nunc nec bibendum. Praesent laoreet tortor quis velit facilisis faucibus. Maecenas sollicitudin lectus diam, non vehicula arcu ullamcorper ac. In pharetra, est vitae interdum tincidunt, urna ligula rutrum tellus, sit amet pharetra purus magna eu enim. Sed iaculis imperdiet nisi, et pulvinar mauris gravida maximus. Phasellus vitae lorem at sem mattis volutpat. In eget dictum dui. Quisque nec sapien at massa mattis semper. Ut ac malesuada turpis. Fusce eu nulla vehicula, tincidunt dui ultrices, fermentum felis. Aliquam lectus nisi, feugiat ut aliquet sed, posuere sed libero. Pellentesque consectetur massa nec nulla fermentum, at tincidunt elit volutpat. Duis vulputate placerat tortor, sit amet eleifend mauris tincidunt sit amet. Aliquam a maximus ligula. Phasellus nec sapien sed tellus tempor eleifend id a erat. Donec convallis bibendum posuere. Quisque mollis imperdiet malesuada. Suspendisse eget dictum massa. Phasellus ac posuere nibh, in finibus nulla. In diam arcu, luctus sit amet condimentum sit amet, tristique et leo. Sed tincidunt justo a porttitor tristique. Nulla eu metus tincidunt, ornare magna ullamcorper, semper lacus. Quisque vitae porttitor odio, id tincidunt tellus. Fusce a suscipit eros. Proin sit amet risus fermentum, lobortis quam sed, consequat velit. Quisque sit amet ultricies lorem. Phasellus scelerisque ipsum eget ipsum posuere suscipit. Proin id molestie mauris, a venenatis ipsum. Quisque efficitur, nibh a dapibus mollis, metus tortor fermentum ante, non pellentesque mi magna non leo. Integer quis sem hendrerit, euismod dolor id, dapibus nulla. Maecenas non ultrices lorem. Pellentesque lobortis, diam eget feugiat lacinia, ante augue ullamcorper tortor, vel ornare sapien lacus pharetra quam. Unformatted code below: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed venenatis dignissim ultrices. Suspendisse ut sollicitudin nisi. Fusce efficitur nec nunc nec bibendum. Praesent laoreet tortor quis velit facilisis faucibus. Maecenas sollicitudin lectus diam, non vehicula arcu ullamcorper ac. In pharetra, est vitae interdum tincidunt, urna ligula rutrum tellus, sit amet pharetra purus magna eu enim. Sed iaculis imperdiet nisi, et pulvinar mauris gravida maximus. Phasellus vitae lorem at sem mattis volutpat. In eget dictum dui. Quisque nec sapien at massa mattis semper. Ut ac malesuada turpis. Fusce eu nulla vehicula, tincidunt dui ultrices, fermentum felis. Aliquam lectus nisi, feugiat ut aliquet sed, posuere sed libero. Pellentesque consectetur massa nec nulla fermentum, at tincidunt elit volutpat. Duis vulputate placerat tortor, sit amet eleifend mauris tincidunt sit amet. Aliquam a maximus ligula. Phasellus nec sapien sed tellus tempor eleifend id a erat. Donec convallis bibendum posuere. Quisque mollis imperdiet malesuada. Suspendisse eget dictum massa. Phasellus ac posuere nibh, in finibus nulla. In diam arcu, luctus sit amet condimentum sit amet, tristique et leo. Sed tincidunt justo a porttitor tristique. Nulla eu metus tincidunt, ornare magna ullamcorper, semper lacus. Quisque vitae porttitor odio, id tincidunt tellus. Fusce a suscipit eros. Proin sit amet risus fermentum, lobortis quam sed, consequat velit. Quisque sit amet ultricies lorem. Phasellus scelerisque ipsum eget ipsum posuere suscipit. Proin id molestie mauris, a venenatis ipsum. Quisque efficitur, nibh a dapibus mollis, metus tortor fermentum ante, non pellentesque mi magna non leo. Integer quis sem hendrerit, euismod dolor id, dapibus nulla. Maecenas non ultrices lorem. Pellentesque lobortis, diam eget feugiat lacinia, ante augue ullamcorper tortor, vel ornare sapien lacus pharetra quam.