Normal view

There are new articles available, click to refresh the page.
Before yesterdayMain stream

Can You Really Replicate Your Favorite SaaS With AI?

2 September 2026 at 18:29

There’s something about AI that tends to make us humans bolder – especially when it comes to code. The tool does all the heavy lifting for us, leading to more ambitious projects. Even solo developers are using it to build things that required a dedicated team a few years ago. It feels like having a secret weapon that’s ready to help at a moment’s notice.

That has led some seasoned (and not-so-seasoned) developers to go for the ultimate prize: replicating their favorite SaaS product. I admit to falling under the spell of such temptation.

It’s easy to see the potential benefits. SaaS subscriptions can be expensive, and the products may be more than what we need. Plus, there are always niche features that seem to be missing. Oh, and many are proprietary, raising data ownership concerns. Why not use AI to vibe code your own spinoff?

Can it really be that simple? Type a few prompts, and get a high-level tool to replace an enterprise app? As usual, it’s complicated.

Let’s take a hard look at the good, the bad, and the ugly of using AI to build a SaaS replica.

Taking Software Into Your Own Hands

My journey building a SaaS replica with AI began as I stood at a crossroads of sorts. I’m a longtime user of QuickBooks Desktop, which has served my accounting needs well over the years. However, the product I use was discontinued and moved online. Moving meant going from buying a license every few years to a monthly fee. I’m not keen on yet another subscription.

The desktop app is also starting to show its age. Some features are broken, and the interface is behind the times. Not to mention it’s a memory hog on my PC. This all coincides with some upcoming changes to my business that require a different approach.

So, I decided to take the plunge and build my own billing/customer relationship management (CRM) app as a WordPress plugin. I wanted something portable that would allow me (or others) to add features as needed. WordPress was the perfect fit.

The decision seemed like a no-brainer. I could use my existing skills to guide AI in the right direction. And I could leave out the things that weren’t necessary. I hoped to build a lean, functional plugin that streamlined my billing process.

This would also free me from the proprietary trap so many SaaS providers lock us into. I wouldn’t have to worry about higher rates, product limitations, or waiting for support tickets to be answered. Yes, this was exactly what I needed!

The only question was: Can I really build a suitable replacement?

AI opens up plenty of development possibilities, including replicating a SaaS

The Challenge Is in the Details

The project started with a bang, as I used Claude to build a working prototype within an hour. Sure, there were some rough edges to be smoothed over. But the basic concept was coming together. Then, a bit of reality set in.

One of my goals was to create a tool that was close enough to what I’m accustomed to. The idea wasn’t to rebuild QuickBooks line by line, feature by feature. But I wanted something that provided a seamless transition.

My prototype allowed me to add customers, services, and invoices. I even built some import tools to bring my real-world data into the system. But I didn’t realize how many little details were missing until I used the plugin.

For example, I needed a way to share invoices with my clients. I also needed to distinguish between hourly-based and project-based services. Other needs seemed to pop up every few minutes:

  • Custom reports for my business and individual customers.
  • A way to email invoices to multiple contacts at the same company.
  • A log to remind me whom I sent invoices to and when.
  • Navigation to and from different areas of the plugin.
  • User permissions for scenarios where you want to provide CRM access to a non-administrator.
  • A front-end version of each relevant screen.

This was a different experience for someone who hadn’t taken a product from start to finish before. It felt more like being a product designer than a developer. That requires a different type of thinking.

AI proved capable of writing the code. However, I found myself having to provide extra context along the way. There was a lot of trial and error, and each new feature opened another set of decisions and potential.

There’s also danger in adding too many features. I didn’t want a bloated plugin that was difficult to use. As such, I had to practice restraint when considering my options.

It was a positive learning experience, for sure. But it also made me realize how much is involved in building a plugin that does more than merely function. Good things do indeed take time.

Great software is all about the details

Questions To Ask Before You Build

The temptation to dive right in and generate code for the next HubSpot or Asana is understandable. AI makes relatively short work of complex coding tasks. These models can also advise you on how to replicate specific features.

It’s worth taking a step back and asking yourself a few key questions first, though. The answers will help you navigate the project or save you from making a massive mistake.

Are You Serious or Curious?

First, determine why you want to build this amazing new thing that’s based on an existing thing. Experimental side projects can be fun and a great way to learn. However, it’s different than a serious bid to create software that your entire company will use.

The former encourages you to be patient and test your ideas. The latter is often a mandate to increase efficiency while saving money. There’s an entirely different level of pressure in that scenario. You’ll also need to dedicate more resources toward the project.

It’s not necessarily a deal breaker either way, but a consideration nonetheless.

Do You Need Third-Party Integrations?

Integrating with other tools and services is a SaaS superpower. For example, adding Stripe to your CRM enables online payments, while Mailchimp adds email capabilities. AI tools can help you connect the various APIs out there.

The downside is the responsibility that comes with these integrations. APIs frequently change, and you need to stay ahead of them. Failing to keep up could lead to software that doesn’t work. Plus, there are security and privacy risks.

Remember: Once you build it, you’re responsible for it.

Do You Need Your App To Scale?

SaaS applications often require a robust infrastructure. That’s why AI companies are building data centers everywhere. This could be a concern if you’re expecting a stampede of users and use cases.

Smaller, more focused apps like my CRM plugin aren’t as big of a problem. A few users on a WordPress site won’t require a ton of memory or CPU cycles. But the calculus changes as your needs grow.

This is where a fun little project can turn into something more complex. That app you just vibe coded could turn you into a systems engineer. There’s also a cost to server space and other necessities. Are you prepared to go that far?

Ask yourself some important questions before building your app or plugin

You Can Replicate a SaaS With AI, but Should You?

Using AI to generate code opens up a world of possibilities – and it’s only getting more powerful. New models continue to evolve to help us get things done faster. That leads to bigger and bolder ideas on our part.

Even so, it’s a good idea to think about the long-term consequences of what you build. It may be fun to try and replicate Gmail, but do you really want the responsibilities that go with it?

That may be an extreme example, but the theory also applies to smaller projects. The reality is that the best SaaS products are popular for a reason. They scale, have dedicated security teams, and professional product designers working to improve every aspect. Even the best AI models can’t match that quite yet.

So, have fun and experiment! Just know what you’re getting into before you begin.

The post Can You Really Replicate Your Favorite SaaS With AI? appeared first on Speckyboy Design Magazine.

How to Hide WordPress Blocks Based on Device

9 August 2026 at 09:42

Responsive controls are a long-sought-after feature for the WordPress Block Editor. Changing a page’s design or layout based on a user’s device is a staple of modern web design. Yet, doing so in WordPress has typically required a third-party solution, such as a page builder. Thankfully, that’s changing.

The WordPress project is slowly but surely inching toward responsive block settings. Version 6.9 introduced the Block Visibility feature, allowing you to temporarily disable a block without deleting it from a post. WordPress 7.0 took it a step further by adding options to hide a block based on device.

Perhaps it’s a niche feature. But it’s also quite handy for targeting mobile or desktop users with specific blocks. And it’s also a gateway to more responsive controls landing in WordPress 7.1.

Today’s tip will show you how easy it is to show or hide a block based on a user’s device. Here we go!

Sample Project: Simplify a Hero Area for Mobile Users

Here’s a common scenario: Your website has a large hero area, complete with a high-resolution image, text, and a call to action (CTA). It looks great on a desktop device but is clunky on a phone. The image is too big, and there’s too much text for users to digest. What to do?

The responsive Block Visibility controls will make this a piece of cake. We’ll create two hero areas – one for desktop and another optimized for mobile. The result will be a better user experience for everyone.

Step 1: Create Desktop and Mobile Hero Areas

The first step is to create the two hero areas for our page. We’ll grab one from the WordPress Block Pattern library and see what we can do with it.

A hero area optimized for desktop screens.

Our desktop hero area is beautiful on the big screen! It should also work well on tablets, such as an iPad. However, it may be overwhelming for mobile users.

Let’s simplify. We duplicated the desktop hero and made a few changes:

  • We replaced the image with a cropped version that is optimized for smaller screens.
  • We centered the text and CTA.
  • We replaced the three columns of text with one, shorter passage.
  • Finally, we tightened up the spacing to reduce scrolling.

The mobile hero offers the same immersive look without the extra bulk.

The revised hero area is optimized for mobile screens.

Step 2: Assign Hero Areas to Their Respective Devices

As of now, our page has two hero areas, each contained within a Group block. The next step is to set one of them to display on desktop/tablet devices, and the other on mobile. We’ll use the Block Visibility feature to make it happen.

Desktop/Tablet Devices:

  • Click on the Desktop Hero block we created.
  • Click on the Options menu () and select Hide Block.
  • Choose the Hide on Mobile option.
  • Click the Apply button and save the page.

Hiding the desktop version of our hero area on mobile devices.

Mobile Devices:

  • Click on the Mobile Hero block we created.
  • Click on the Options menu () and select Hide Block.
  • We’ll choose two options this time: Hide on Desktop, Hide on Tablet
  • Click the Apply button and save the page.

Our mobile hero area is now hidden on desktop and tablet devices.

You may notice that the mobile hero no longer displays on the Block Editor canvas. That’s the desired result, as it won’t be in the way when working in Desktop preview mode.

We see the correct hero area in Desktop preview mode.

Switch to Mobile preview mode, and you’ll see the opposite effect. The desktop hero is hidden, allowing the mobile version to take over. You can edit these blocks when in the appropriate preview mode.

Mobile preview mode hides the desktop version.

Note that you can also view and edit these blocks using the Document Overview (List View) feature (Shift+Alt+O). Select the block, click on the Options menu (), and select Show from the menu. You can hide it again once you’re finished editing.

Oh, and be sure to test on different devices! It’s not enough to shrink your desktop’s browser window. You can use your browser’s dev tools to emulate a mobile device if you don’t have one handy.

Use Different WordPress Blocks on Different Devices

It’s often the little extras that make the biggest difference. Targeting different devices via the Block Visibility feature is a prime example. Its release didn’t draw much fanfare. However, it makes WordPress more flexible for designers.

Before WordPress 7.0, we’d have to work around this limitation. That could mean installing a specialized plugin or writing custom CSS rules in a theme. Now, we’re only a few clicks away from choosing which blocks display on a given device.

The feature saves us time, improves the user experience, and won’t hog server resources. Most of all, it’s a sign of things to come for WordPress.

The post How to Hide WordPress Blocks Based on Device appeared first on Speckyboy Design Magazine.

AI in the WordPress Dashboard: Which Tasks Are Worth It?

11 July 2026 at 12:30

AI-based features have been available in WordPress for quite some time. Several third-party plugins facilitate connections to various AI models. However, WordPress 7.0’s Connectors API is the first official solution baked into the core software.

Much of the excitement around this development surrounds AI’s potential to transform WordPress. It opens the door to easier site management and (hopefully) a better onboarding experience for new users. We’re only beginning to see what this technology can do when combined with the content management system (CMS).

Now that AI integration is available to the masses, the question is: What tasks is AI best-suited for?

You can theoretically use it for everything from changing a post title to generating new plugins on the fly. That’s great, but there are a few considerations.

The first is practicality. We likely don’t need AI to check a box on a settings page for us. Seriously, you could do it yourself in the time it takes to write a prompt. But there are also complex tasks that would be too dangerous or inefficient to perform on a production website.

Then there is the cost of using AI tokens. Connecting your website to for-profit models like Anthropic or OpenAI means paying for every prompt or automation. Thus, using AI for everything isn’t for the budget-conscious among us.

Developers and website owners must decide how to get the most value from AI. Here are a few questions to ask yourself or your client before taking the plunge.

Can AI Do It Better or More Efficiently?

The overlap of what humans and AI can do inside WordPress depends on your experience. A professional who has used the software for years will have more capabilities than a beginner. The longer you use WordPress, the more likely you’ll understand its features and quirks.

So, the trick is to identify what AI can do better or more efficiently than you. Relatively small tasks like inserting an image or formatting text are probably best left to humans. There isn’t much time to be saved unless you’re struggling with the basics.

Advanced jobs, such as creating page layouts in the Block Editor, are where things get murky. Here’s where experience really matters. A web designer may have no problem building layouts, while a novice may become stuck. Therefore, the decision comes down to your comfort level.

On the other hand, AI’s potential to perform tasks at scale is where it shines. For example, maybe you want to find every image on your site without an ALT attribute and implement descriptive text. That could take hours for a human. Meanwhile, you can use AI to search for and identify such images. From there, you can manually write the text or ask for help.

It’s also worth noting that using AI isn’t a replacement for learning. In fact, you can use it to guide you through various tools and processes. You may find that you no longer need AI to do something after it shows you how. That’s a powerful and perhaps underrated use case.

AI can save you signficant time on certain tasks.

How Often Will I Need the Task?

The frequency of a given task is also a consideration. A one-off task, such as a deep code analysis, could be a wise use of AI. Spending a few tokens may be well worth the time saved when compared to other methods.

Automation is another great example, as it’s available any time you need it. You can run a task in the middle of the night or first thing in the morning – it doesn’t care or complain. AI models can schedule and perform such jobs. There is also the potential for it to recognize changing needs and adjust accordingly.

Perhaps the best measure of value is how much time a task takes a human. Consider creating custom data reports, for example. It can be extremely complicated, depending on the data you need. You can use plain language to describe what you need, and AI will do the rest.

This approach also works at scale. Agencies and freelancers managing dozens or even hundreds of websites can use AI as an extra set of eyes. Even something like troubleshooting a buggy plugin could be performed in the background while you tend to other things.

You can use AI to automate common tasks.

Is There a Suitable Non-AI Solution?

Here’s the elephant in the room: we don’t need AI to do most things inside of WordPress. As such, the technology may be overkill for some tasks.

There are plugins for virtually every need. They can manage automations, data exports, and everything else under the sun. This is how we got by for the 20-odd years before AI came along.

A non-AI plugin is still a viable option. You’re likely to get the functionality you need, along with cost certainty. There is also a human ready to support you if you run into problems.

However, plugins can’t cover every niche, and they aren’t always easy to use. Some require coding skills to get the most out of them. Using AI makes perfect sense in these scenarios.

The benefits of AI include speed and a seamless experience. But in many cases, a plugin will suffice. It’s a matter of looking at your needs and determining the best fit.

Existing plugins can often be the best option for a task.

AI in WordPress Is Helpful, but Not Always Necessary

The most interesting part of WordPress AI integration may be in how people decide to use it. The CMS powers all types of websites, from small bespoke blogs to corporate multisite installations. There is a nearly endless supply of use cases.

And using AI in the dashboard could benefit users of all skill levels. The challenge is in finding the tasks that make the most sense for you. It’s a more personal decision than you might think.

Our advice? Experiment with this new tool and think of ways it can help you get more done. Keep track of token usage and determine what’s most valuable to your workflow.

You might find that you’re more productive than ever, or that you can safely hold off on using AI for all the things. It’s your choice!

The post AI in the WordPress Dashboard: Which Tasks Are Worth It? appeared first on Speckyboy Design Magazine.

5 Things To Know About Your Client’s WordPress Website

8 July 2026 at 12:29

If you offer WordPress maintenance services, odds are you’ll inherit a website built by someone else. It’s not easy to pick up where the previous developer left off, though. There are so many potential themes and plugin combinations. Thus, taking over feels like opening Pandora’s box.

There are also plenty of nuances that can impact maintenance. The original developer may have used methods you aren’t familiar with, or that go against best practices. Not to mention that you may be the latest in a long line of others to work on the site. If you’re lucky, you’ll find documentation that explains who did what. Short of that, you’re on your own.

That being said, it’s important to know what you’re working with. That’s the key to bringing the site up to snuff with regards to performance and security. Plus, avoiding breakage is crucial to building strong client relationships.

So, what should you know before you start work? We have a checklist of items to look for. Some are obvious, others obscure, but all will give you a better understanding of what makes your client’s WordPress website tick.

1. The Site’s Active Theme and Plugins

This may seem obvious, but it’s important to know what third-party software is installed on your client’s website. This includes the site’s active theme and plugins. But you’ll want to go deeper than knowing their names.

Take note of each item’s version number and when it was last updated. You may find software that’s outdated or even abandoned by its author. It’s a potentially dangerous situation, as there could be unpatched vulnerabilities lurking beneath the surface. There may be compatibility concerns as WordPress and other dependencies evolve.

You may also identify plugins that are installed but not being used. These items waste resources while also increasing security risks. If you’re unsure of a plugin’s purpose, ask your client.

As for the site’s theme, make a point to inspect its template structure. For example, is it a block or a classic theme? Is a child theme in use? Review the template’s code and determine if there are any areas of concern.

You may find outadated software on your client's website.

2. Custom Code

Adding custom code can enhance a website’s functionality. The problem is that there are multiple ways to implement it, and there’s no guarantee of quality. And it’s not always apparent when or how it’s being used.

This is critical information to know, as the site may depend on custom snippets for e-commerce features or other key functions. As such, switching themes or deactivating a plugin could cause problems.

The first place to look for custom code is the theme’s functions.php file. It often serves as a catch-all for random snippets. You never know what you might find!

Custom plugins are also a popular spot for such code. If you don’t recognize a plugin by name and it’s not listed in the official repository, there’s a good chance it’s a bespoke project. Also, be sure to look for any must-use plugins in the /wp-content/mu-plugins/ folder.

Once you identify any custom code, you’ll want to inspect it. Your favorite AI model can help you learn more about what it does and help you spot any potential issues.

Keep track of any custom code - it could be critical to the site's functionality.

3.  Web Hosting Provider and Configuration

Web hosting is an important piece of the puzzle, as it impacts site performance, security, and stability. Find out who hosts your client’s website, the hosting package they use, and the server’s configuration.

Pay special attention to the account’s available resources. A hosting package with insufficient memory or CPU cycles will result in slowness or downtime. Shared accounts can also be problematic regarding the spread of malware.

Also, be sure to note which PHP version is running. Old versions are less performant and no longer receive security patches. You’ll want to upgrade, provided the site’s theme and plugins are compatible.

Lastly, ask your client for access to their account, as you’ll need it to manage the server’s configuration and contact technical support. Some hosts provide developer accounts that allow access to technical features only – a good solution for clients who don’t want to share their billing information.

You'll need hosting account access to work with technical support and view important information.

4. Third-Party APIs and Connections

Modern websites often rely on connections to third-party APIs and SaSS providers. It could be something simple, like an analytics suite, social media feed widgets, or a mailing list service. There are also complex integrations with automation tools, payment gateways (particularly on WooCommerce sites), and content delivery networks (CDNs).

Similar to custom code, these connections can be implemented in myriad ways. Some have official plugins, while others may be added via a bespoke web application or directly applied to a theme. In some cases, you may not see any trace of them inside the WordPress admin.

Keep track of every third-party connection you can find, because they may play a critical role in the site’s functionality. At the very least, they impact privacy laws such as GDPR.

Unsure of what outside services the site connects to? Your browser tools’ Network tab will display each call. Privacy scanning tools like Blacklight can also help with spotting tracking scripts, cookies, and related items.

Third-party APIs can power functions like analytics and advertising.

5. Who Manages Their Domain’s DNS

Sometimes, inheriting a WordPress site means moving to a new web host. That usually requires a change to their domain’s DNS configuration. So does connecting to CDNs, mail delivery apps, and services that require domain ownership verification.

It’s good to know where your client’s DNS is hosted and who manages it. For some clients, their internal IT department will handle these tasks. But a small organization may ask you to take charge.

Keep this information on record – you never know when you’ll need it.

Find out where your client's DNS is hosted before you need to make changes.

The More You Know (About Your Client’s Website)

The beauty of WordPress is that you can build a site any way you see fit. There are very few limits when it comes to code and design. But that knowledge doesn’t always transfer to the next developer in line. Such unfamiliarity makes maintenance harder. You also risk missing something important during a redesign.

So, take some time and dig into the site’s inner workings. Find out where it’s hosted and what services it connects to. Don’t be afraid to ask questions if you’re unsure of something.

The more you know, the better service you can provide. It could save you from a few headaches and help you build trust with your clients.

The post 5 Things To Know About Your Client’s WordPress Website appeared first on Speckyboy Design Magazine.

Best WordPress Staging Site Tools & Resources in 2026

4 July 2026 at 06:55

WordPress websites seem to grow more complex each year. We add a multitude of plugins and write custom code. And now we’re adding various flavors of AI to the mix.

It’s risky to apply these features to a production website without proper testing. As such, a staging site is crucial to ensure everything works. This enables you to catch bugs before they impact users. It also allows you to experiment with new features.

What is a staging site? It’s a copy of your production website that lives elsewhere. Common examples include a separate install on your web host or a local installation. The content doesn’t necessarily have to match. However, the site’s theme and plugins should be included to ensure an apples-to-apples comparison.

This guide will introduce you to how staging sites work, ways to implement them, and tools for building them. Soon, you’ll have everything you need to set up the perfect testing environment.


Does Your Web Host Offer Staging Environments?

Before we go any further, note that many web hosts offer staging environments. Some allow you to clone your production site with a click, making the process a piece of cake.

Beyond the convenience of this setup, there are a few other advantages. The first is that the hosting configuration is the same. You have the same server architecture, and can usually run the same versions of PHP and MySQL (or MariaDB, depending on what your host offers).

It’s also possible to change versions when needed. You can use this functionality to test PHP upgrades and make any necessary adjustments.

Another big plus is that you can often sync your websites across environments. This is a great solution for launching a redesign or shipping new features.

Best of all, hosts do the behind-the-scenes work to ensure your staging site works. They’ll assign a temporary URL, saving you from performing a search-and-replace in the database.

A host-based staging site is usually the best option. It’s easier and has all the features you’ll need.

Local Hosting Tools

Hosting your staging site locally is another worthwhile option. You get the speed and privacy of running WordPress on your device. Even better, there are tools for spinning up new sites in a jiffy. From there, you can use a backup plugin to copy your production site and import it locally.

Here are a few tools that you can use to build a local staging environment:

Studio

Studio is a free and open-source local development environment from WordPress.com (a sponsor of Speckyboy). The app uses WordPress Playground to help you create new sites on demand with no dependencies. If you use WordPress.com or Pressable for hosting, you can also sync your local sites.

WordPress Studio

Local

Local offers one-click WordPress installations and a host of other goodies. You can use SSH or WP-CLI to manage your sites via the command line, create live links to share with others, and hot-swap PHP versions for testing. The app also syncs with sites hosted on Flywheel and WP Engine.

LocalWP Staging App

MAMP and XAMPP

We’ll lump these two apps together, as they are similar in scope. Both are local server environments that work on multiple operating systems. XAMPP will install an Apache/MariaDB/PHP/Perl stack. MAMP lets you choose from Apache or NGINX, along with a MySQL/PHP/Perl/Python/Ruby stack. Consider them both a bit more hands-on than the other local apps in this roundup.

MAMP and XAMPP Local Servers

WordPress Staging Plugins

Finally, we’ll introduce you to some plugins that will help you create a staging environment. Some will create a separate WordPress install on your existing host, while others connect to third-party services. You’ll also find plugins that pack up your site so that you can upload it elsewhere.

WP STAGING

WP Staging provides flexibility for how and where to create a staging environment. The plugin will clone your site to a subdirectory on your existing host. But you can also download a package to use locally or remotely. It also doubles as a daily backup plugin.

WP Staging WordPress plugin

WPvivid

Create a custom site backup with WPvivid and migrate it to a subdirectory on your web host or other remote server. You can even send your site’s files to cloud services like Amazon S3, DigitalOcean Spaces, Dropbox, and Google Drive. There’s also a 1-click restore feature for rolling your site back to a previous version.

WPvivid WordPress plugin

InstaWP Connect

InstaWP is a WordPress cloud service for rapid site building and deployment. You can use the InstaWP Connect plugin to copy your production website to the platform. From there, you can sync content between environments – perfect for testing new items before launch. Note that you’ll need an InstaWP account to use their service.

InstaWP Connect WordPress plugin

BlogVault

You can use BlogVault to create a staging backup to their cloud service. Make changes on staging and merge them back to your production site. The plugin also supports migrating your site to another host and will create incremental backups as you make changes. Note that BlogVault offers a 7-day free trial – you’ll need to pay for long-term access.

Blog Valut WordPress plugin

A Better Way To Test WordPress

A staging environment is a must-have for any mission-critical WordPress website. It’s a safe place for testing, troubleshooting, and experimenting. In addition, it provides peace of mind in knowing your work won’t negatively impact users.

The tools above will give you a great start, but some go the extra mile. Features such as site syncing and backup restoration make your job that much easier. The more automation you can bring to the process, the better.

Don’t take chances with your live website! Staging environments have never been easier to build and use. Find the tool that fits your needs and create your own personal safety net.

The post Best WordPress Staging Site Tools & Resources in 2026 appeared first on Speckyboy Design Magazine.

Quick Tip: How To Use WordPress Block Notes

7 June 2026 at 17:11

The WordPress Block Editor is great for creating custom layouts. There are plenty of core and third-party blocks to choose from. They bring a world of possibilities – all without writing a line of code. Add a block theme, and get a browser-based design and development experience.

There is one valuable thing that WordPress blocks left behind, however: code commenting. They’re common when building custom PHP templates and writing CSS. We use them to provide context for what a code snippet does or why it was implemented.

There are times when that extra context is useful in the Block Editor. For example, you might want to share information about a block with clients or colleagues. Perhaps it’s locked or requires a specific setting to display correctly. Sometimes we need to remind ourselves why we did something.

That’s where the WordPress Notes feature comes in handy. Use it to add notes to specific blocks and even keep a threaded conversation. It’s another way to improve your editorial workflow and provide a quick reference for users.

Here’s a look at how the feature works. We’ll show you how to add and retrieve notes to any block on your site. In addition, we’ll share a few tips and hidden gems worth knowing about.

Sample Project: Let’s Collaborate With Blocks

The WordPress Notes feature is part of the larger Gutenberg Collaboration phase. At the very least, it’s a way to add reminders or have an asynchronous discussion with other site users. That second part is what we’ll focus on here.

We’ll simulate a discussion of colleagues regarding a Group block. We promise it will be quick and easy!

Step 1: Choose a Block

The first step is to open a page or post in the Block Editor and select a block. We’ll choose a Group block at the top of the page. We want to discuss its styling with a colleague.

We chose the Group block to add our note

Step 2: Add a Note

Now that we know which block we want to discuss, it’s time to add a note.

  1. Click on the Options menu () and select Add note.
  2. A note dialog appears on the right side of the screen. We can add our note in this space.
  3. Click the Add note button to save the note.

The Add Note feature lives in the block Options menu

For reference, we asked if our Group block should have a background color to stand out from the rest of the content.

We add a note to our Group block

Next, we’ll wait for our colleague to reply to our note. When they click the block in question, they’ll see a user avatar that indicates a note is available.

An avatar icon signals that a note is available for this block

Step 3: Our Colleague Replies

Here’s a handy feature: WordPress will send you an email when someone replies to your note (it’s based on the existing comment system). As such, we don’t have to keep checking our page for the latest news.

Our colleague replied to our note and acted on our design suggestion. When we visit the page, we notice that their avatar has also been added to the block’s note notification.

Our colleague replied to the block note

Step 4: Reply and Resolve

We love what our colleague did to dress up the Group block on the page. The last steps are to reply and mark the note as resolved.

To resolve the note, we’ll click the checkmark on the upper right of the dialog. Keep in mind that the note will stay in place unless we manually delete it from the block.

We marked our note as resolved. It will stay attached to the block until we remove it

An Easy Way To Collaborate in WordPress

The WordPress Notes feature is a great way to relay information to others or remind yourself of something important. And it will continue to be enhanced as more collaborative features are added to the content management system (CMS).

Even better, you don’t need a plugin to get started – it’s already built into WordPress. That being the case, there are ways to customize the experience. We recommend checking out this guide to tapping into that potential.

Whether you’re part of a team or working solo, give WordPress Notes a try. You may wonder how you lived without it!

The post Quick Tip: How To Use WordPress Block Notes appeared first on Speckyboy Design Magazine.

A New Choice: Use an Existing Plugin or Vibe Code Your Own?

7 June 2026 at 14:38

The process for adding functionality to your WordPress website has been the same for years. You find a plugin that fits your needs (or gets you close) and install it. It’s no wonder we have sites with dozens of plugins – many of which go unused.

Sure, building a custom plugin has always been an option. That’s fine for scenarios that require a code snippet. However, complex tasks were reserved for highly-skilled developers. This meant that most of us had to settle for whatever was available on the market.

AI has swooped in to change that calculus. Advanced models like Claude Code enable even novice developers to build powerful, multi-layered projects. These days, it’s more about knowing what to ask for than understanding every line of code. We now have a tool that does the heavy lifting for us.

This technological shift gives new life to an old question: Should you use an existing plugin or build one yourself? AI certainly expands the potential scope of what’s possible, thus calling into question the need for third-party tools.

But don’t go on a vibe-coding rampage just yet! There are some important considerations when making this decision. Let’s talk about them.

Which Approach Best Fits Your Needs?

There are tens of thousands of WordPress plugins on the market. Some utility-based options are very niche, but most plugins are built to serve a broad range of use cases. Product makers must account for the many ways people use WordPress.

The downside of that approach is that a plugin might be more than what you need, or fall short in some areas. The old “too much or not enough” conundrum has long been a part of the plugin experience.

Building a plugin with AI, on the other hand, lets you narrow the focus. You can include only the features and functionality your project needs.

For example, let’s say you need a feature that only applies to one WooCommerce product. There is probably a third-party extension to fit this purpose. But a single-purpose plugin could do the same thing without the overhead or the cost of a yearly renewal. AI makes the process quick and easy.

On the other hand, needs evolve during a project’s lifecycle. Perhaps your client will need similar functionality on more products down the line. A vibe-coded solution may not be quite as flexible in that case. You may need to refactor the plugin to meet new requirements.

As such, it’s important to consider your current and future needs. If scope creep is a concern, a third-party plugin may be a better choice.

In some cases, a custom WordPress plugin will be the better option for your project

Do You Want the Maintenance Responsibilities?

An existing WordPress plugin may not solve your every need. However, it takes you off the hook regarding future maintenance. It’s the plugin author’s responsibility to fix bugs and build new features.

Naturally, that’s a double-edged sword. Some product makers are more responsive to issues than others. In addition, more than a few plugins have been abandoned over the years. And sometimes a product goes in a direction you don’t support. You don’t want to be left to pick up the pieces or placate clients when there’s a problem.

It’s all about control and responsibility. If your project (or personality) requires absolute control, then building it yourself makes sense. That way, you know what’s going on every step of the way. You don’t have to wait for someone else to take action.

Still, we should note that vibe coding plugins result in a higher level of responsibility. It means checking for security holes, compatibility testing, and acting as your own technical support staff. The practice puts everything back into your capable hands.

Kudos to you if this fits with your philosophy! To be safe, we also suggest thinking about how these responsibilities scale. Maintaining a single plugin for a client is one thing. The upkeep of dozens of plugins spread over dozens of websites is another. Make sure you have processes in place to keep things running smoothly.

Building custom plugins requires future maintenance

Can You Build It Better?

The final consideration on our list is simple. The idea is that just because you can build something with AI, it doesn’t mean you should do so. Sometimes, there are established products that do the job well enough. Why reinvent the wheel?

The scope and depth of a plugin play a role here. Consider a popular plugin like Jetpack. It does a lot of things and has been around for a long time. Sure, you could vibe code your own suite of similar functions. However, ask yourself if you want to take on a project of that magnitude, or if it’s even worth the effort. The same could be said for Yoast SEO, Gravity Forms, and other flagship products.

That being said, you could reasonably use AI to recreate specific aspects of a plugin. For example, building a social sharing plugin that includes a few of the missing features you want. Smaller and more focused projects are better in most cases. And there’s also an opportunity to build your own extensions of an existing plugin.

There are also scenarios when your needs are very specific, and there aren’t any great options available. It’s here where vibe coding really begins to shine. You can take your idea to your favorite AI model and build it from scratch. It’s empowering for those working with clients!

The bottom line is to use AI when it’s beneficial. You might be able to build the next WooCommerce, but what’s the payoff? Instead, look for opportunities that help you level up.

Building a niche plugin can be more performant than installing third-party options

There Are Endless Plugin Options and Opportunities

The WordPress plugin ecosystem has an answer for many project requirements. It’s one reason why the content management system (CMS) has remained so popular. Adding more capabilities has always been a few clicks away.

The introduction of AI into the development process has expanded those possibilities even further. If an existing plugin doesn’t do everything you need, it’s easier than ever to build your own solution. In many cases, AI works quickly and is cost-effective. It helps us provide clients with more personalized functionality.

All of this makes deciding to go custom more compelling. AI lowers the bar for building complex features. Sometimes that means fewer advantages for existing products.

Still, vibe coding isn’t always the best option. It comes with a higher level of responsibility and adds to your long-term maintenance list. Plus, there are questions about code safety and stability. AI doesn’t necessarily reduce those risks.

The good news is that you have a world of choices. We hope the considerations above help you make the right one!

The post A New Choice: Use an Existing Plugin or Vibe Code Your Own? appeared first on Speckyboy Design Magazine.

Why Humans Should Still Be a Part of WordPress Development

WordPress developers use AI for a wide range of tasks. We’re building custom plugins, troubleshooting code, and automating processes. It’s all good stuff!

Adopting this technology has significantly changed our role. It’s no longer about poring over each line of code. Now, we’re closer to a symphony conductor, orchestrating projects as a large language model (LLM) does the dirty work.

We can certainly appreciate the increase in productivity. Fewer moments spent knee-deep in documentation or support forums means more time to get things done.

This also makes it tempting to remove humans from the picture. Some agencies and development shops have cut staffing in favor of AI. It makes sense on a few levels. An AI tool is cheaper than an employee or freelancer. And the gains in efficiency mean one person can do the work of many.

But there’s a fine line between increasing output and relying too heavily on AI. Here’s why humans should still be a part of the process.


Knowledgeable Humans Are Essential for Quality Assurance

There’s something to be said for a well-trained eye. A seasoned developer can envision how an app should work. Their experience helps them effectively structure projects and avoid common pitfalls. They understand the importance of performance and security.

On the other hand, AI models are great at generating code, but they don’t think like a human. They may use techniques that aren’t as efficient for a particular purpose. They can also misinterpret what we’re asking them to do. Like their human counterparts, AI tools aren’t perfect.

Even the most advanced coding tools can make mistakes. It could be as simple as a syntax error. However, they may also produce work that doesn’t account for edge cases or future maintenance.

That’s why a human should carefully review all AI output. Generated code should be tested with a mix of manual observation and automated tools. It’s no different than a senior-level developer keeping a watchful eye on what their team is producing.

Remember, automation isn’t an excuse to lower your standards. If anything, it provides an opportunity to squash bugs and refine functionality. Building with AI works best when done in tandem with a knowledgeable person.

Don't rely on AI tools to get everything right

Developers Can Shift Their Focus to the Bigger Picture

Solo developers and teams alike have traditionally struggled with the little things. Tight deadlines and shoestring budgets make it hard to get the details right. So often, it’s a race to the finish line, rather than a quest to create the best possible result.

The details are often what make a WordPress plugin or theme great. This happens when we go beyond software that merely works and focus on things like the user experience. AI gives us a chance to take a larger view of our projects.

We no longer have to write code by hand. That may bring a tear to your eye (or make you leap for joy). The bright side is that you now have time to create a comprehensive plan for each project. You can define how it looks, how it works, and how it will adapt to future needs. Even if you were doing these things before, you’ll have a chance to think bigger and better.

All of a sudden, deadlines are a little less important. You’re free to explore options and test them. Most of all, you can afford to make a mistake or two along the way. Rewriting a code snippet isn’t a disaster that puts you behind. Rather, it was just a failed experiment you encountered along the way.

The additional room for creativity could be a difference-maker. We can go from “we’ll get to it later” to “let’s get it right from the start” – that’s powerful for developers of all stripes.

The time AI saves you can be spent planning your strategy

People and AI Are Better Together

Every WordPress developer should be exploring AI and how it can benefit their workflow. We’re well beyond the point where it’s just a curiosity. The future of our industry depends on how we use and adapt to this technology.

The sad truth is that AI will continue to cause some businesses to reduce their staff. It seems like an unavoidable consequence.

We must be careful, though. To borrow from WordPress terminology, this doesn’t mean we should cut people out of the loop. Humans are still integral to building great software. As such, we shouldn’t cede everything to the machines quite yet.

Things like quality control and holistic thinking are too important – and it’s what we do best. We should use AI as a vehicle to put those traits into action. Doing so will put us on a path to greater efficiency and better outcomes.

The post Why Humans Should Still Be a Part of WordPress Development appeared first on Speckyboy Design Magazine.

Using my.WordPress.net to Experiment With AI

Experimenting with AI can be a great way to learn about its capabilities. And yes, it’s also a lot of fun. A few prompts can take you in any direction you want to go – or to places you never expected.

WordPress is the ideal testing ground for AI tools. You can work with code, generate content, or discover new ways to manage your website. It could do wonders for your workflow.

However, you probably don’t want to experiment in a production environment. There’s always a chance that something will go wrong and affect users. It’s not a risk worth taking!

Thankfully, there’s a new option worth getting excited about. The recently released my.WordPress.net installs a copy of the content management system (CMS) directly in your browser. It’s completely private, but can connect with various AI providers. It’s the perfect place to get a feel for what you can do with AI inside WordPress.

Let’s take a quick tour of my.WordPress.net. We’ll install it (super easy), connect it to AI, and start experimenting.


Sample Project: Integrate AI Into a Local WordPress Install

Today’s project is dead simple. First, we’ll install WordPress in our browser. Then, we’ll add our ChatGPT API key to integrate with the AI model. Finally, we’ll run a few test prompts to explore AI-based site management. Oh, and we’re sure to have a few adventures along the way.

Here we go!

Step 1: Install WordPress in Your Browser

We don’t want to spoil any surprises, but you might be amazed at how easy it is to install WordPress in your web browser.

  1. Visit my.WordPress.net.
  2. Enter a name for your website when prompted.

my.Wordpress.net installs in your web browser

That’s all there is to it! You could optionally import content from another WordPress site. But we’re starting from scratch.

Once installed, you’ll see a welcome screen.

The My WordPress welcome screen

Step 2: Install the AI Assistant App

Those familiar with WordPress might be confused by the use of the term “apps”. After all, the CMS is famous for its plugin ecosystem. Not to worry. This offshoot decided that “apps” was a more user-friendly word for beginners. Consider plugins and apps as interchangeable.

Regardless, our next task is to install the AI Assistant app. Once again, it will be quick and easy.

  1. Click on the Apps menu (an icon with four squares) on the upper right of the screen.
  2. Find “AI Assistant” on the list and click on it.

The AI Assistant will automatically be installed on your local site. You’ll be returned to the welcome screen after it’s finished.

The My WordPress Install Apps screen

Step 3: Connect With an AI Model

We have everything we need to connect WordPress with an AI model. Now, it’s time to choose a provider.

At the time of this writing, AI Assistant works with Anthropic (Claude), OpenAI (ChatGPT), or a local AI model via Ollama. More providers may be added in the future.

  1. Click on the command menu at the top of the screen (the long bar with a “/” inside) and select Dashboard.
  2. Navigate to Settings > AI Assistant inside the dashboard.
  3. Choose an AI provider and enter your API key.
  4. Choose a model from your AI provider (we used gpt-4o-2024-08-06).
  5. Save the revised settings.

Navigating to the My WordPress dashboard

The AI Assistant Settings screen

In our case, we grabbed a ChatGPT API key and entered it into the settings. For reference, this method requires purchasing API credits from OpenAI. This is separate from your regular ChatGPT account.

The AI Assistant app also provides some information on what various WordPress user roles can access. You can also choose to add an AI Assistant button on the front-end of your site, which is displayed to logged-in users.

Step 4: Experiment!

The only thing left to do is have some fun with AI inside WordPress. You’ll find the AI Assistant throughout the dashboard and, optionally, the front-end of your website.

  1. Click the AI Assistant button at the top right of the dashboard.
  2. Enter a prompt in the chat window and start working with AI.

The AI Assistant tab is located on the upper right of the dasbhoard

Here are a few sample prompts to get you started:

Create the following new pages on my website: About Us, Services, Contact Us
What time zone is my website using?
Activate the Hello Dolly plugin.

We asked the AI Assitant to create new pages for us

ChatGPT handled each of these requests without hassle. However, it did install a second copy of the Hello Dolly plugin. We’ll chalk it up to an early bug.

Note that you may be asked to approve certain actions, like creating pages or installing plugins. It’s a safety measure and is worth reviewing before allowing AI to make changes.

An Easy Way To Try AI Inside WordPress

Perhaps our experiments weren’t earth-shattering, but that’s not the point. The idea is that AI can tell you a lot about your website and perform routine tasks. And my.WordPress.net provides a safe space to learn and play.

Even better, the process for installing WordPress and integrating an AI model couldn’t be easier. You can be up and running within a few minutes. Just note the potential cost of using Anthropic or OpenAI for this purpose. Be sure to check your spending limits so you don’t lose a small fortune.

All told, it’s a great way to discover how AI can help your workflow inside of WordPress. So, take some time and find what works for you!

The post Using my.WordPress.net to Experiment With AI appeared first on Speckyboy Design Magazine.

The Potential of Local Open-Source AI Models

I’ll admit it: I feel uncomfortable about mixing open-source software with proprietary platforms. There’s no technical reason for my hesitancy. We do it all the time with tools like Google Analytics or by connecting a form to our mailing list provider. But the idea seems cringey for an advocate of the open web.

So while connecting, say, WordPress to an AI model like ChatGPT, Gemini, or Claude will work, there are also concerns. What can these models access? How will they use my website’s data? Could a security leak put my site at risk? And what will it cost?

There’s also a thought that these models may be overkill for what I need. If I only want AI to help me change settings or analyze SEO, do I really want the entirety of what ChatGPT offers? It seems a bit wasteful.

That’s why I’m excited about the potential of open-source AI models – particularly ones that you can install locally. Such apps could be a solution to privacy and security concerns. They may also be more efficient than the electricity-hogging corporate models.

Let’s take a moment to dream about the possible benefits for agencies, freelancers, and website owners. I’m not a software engineer, so I can’t claim to know all the technical requirements. So, consider this a wish list. Even so, it’s still worth exploring.

A Cheaper Way To Integrate With AI

It’s no secret that serious AI integrations cost money. We pay the big players to access their APIs via credits or tokens. The more you use AI, the more you pay. It may be well worth the cost in some situations.

But like any use-based pricing system, things can get out of hand. For instance, what happens if you forget to set a spending limit? A spammer could flood your chatbot with requests, leading to an unseemly bill at the end of the month. A traffic spike could also lead to running out of tokens in short order.

A free-to-use open-source model could bring more cost certainty. Granted, much depends on the app’s size and resource usage. But the right one could make it easier to predict your AI spending. It might be a matter of upgrading your web hosting.

Open-source could do for AI what WordPress did for content management systems (CMS). Imagine spinning up an AI instance whenever you want. Hosts might even enable one-click installs.

Best of all, this scenario would help us avoid regular price increases. That’s key for those working on a tight budget.

A local AI model could be a more cost-effective option

An AI Model Trained on What You Need

The big AI apps are trained on massive amounts of data. It’s akin to swallowing the entire internet. You might feel a bit bloated in the aftermath.

These large language models (LLMs) are great for a multitude of uses. It can help your child with math homework, help you write a proposal, or generate out-of-this-world images. Very cool! And if you want your website to do all of these things, more power to you.

However, I suspect that’s beyond what most people will need. Maybe you want a model trained only on your product’s documentation so users can ask questions. Or you want to translate your content into another language. Smaller, open-source models might be a better fit for your niche.

This would also solve the problem of users tricking AI into doing undesirable things. A model that doesn’t have such capabilities could be a safer choice.

Again, this also plays into better performance and lower resource usage. The hope is for an AI app that doesn’t do all the things; rather, it focuses on the things you need.

An AI model trained only on what you need could be safer and more efficient

Resources

Smart people are already working on various open-source AI models. It’s fair to say none have overtaken Claude or ChatGPT yet. But perhaps they don’t need to. After all, my hope is for leaner and more focused models.

We’re still in the early stages, but some interesting options have appeared. With that in mind, here are a few resources to help you find and experiment with current models:

New models and variants are being released all the time. The links above will help you keep track of what’s new and interesting.

Is Open Source the Way to a Better AI?

It’s no secret that there are privacy and safety concerns with AI, not to mention the fear that this technology will replace humans at scale. While still a drop in the overall bucket, open-source models could be a ray of hope.

The idea of data ownership is appealing, as is AI that focuses on specific tasks. Done right, an open-source model could make AI more personal and less scary. These are goals worth exploring.

Time will tell whether one or more models will succeed. In the meantime, I think we owe it to ourselves to test and provide feedback. Together, we can push for AI that benefits everyone. That’s the open-source spirit!

The post The Potential of Local Open-Source AI Models appeared first on Speckyboy Design Magazine.

The Best WordPress Developer Hosting Packages in 2026

12 August 2026 at 18:20

WordPress developers need more from hosting than a simple installer and control panel. Staging, SSH, SFTP, WP CLI, Git support, database access, and control over PHP can make development and maintenance much easier.

The hosting environment also affects how safely changes can be tested and deployed. Automatic backups provide a recovery point when an update causes problems, while site cloning can reduce setup time across similar projects. Developers managing client websites may also need separate permissions, site transfers, centralized management, and clear resource limits.

We have compared WordPress hosts based on the tools developers use during everyday work. Each provider has been assessed for staging, deployment, server access, performance, backups, security, team management, scaling, and long term cost.

Some options provide a tightly managed WordPress environment, while others give developers greater control over server resources and configuration. The best choice depends on the type of projects being built, the number of websites being managed, and how much technical control is required.

Best WordPress Hosting for Developers at a Glance

Each host supports a different type of WordPress development workflow. Pressable offers the strongest overall managed environment, while Cloudways and InMotion provide greater control over server configuration. Kinsta is a good fit for developers who need detailed monitoring, and WordPress.com supports managed deployment through GitHub.

Host Best For Suggested Plan Price
Pressable Managed WordPress development Signature 1 $20.83 per month
Kinsta Monitoring and development tools Launch $30 per month
Cloudways Flexible server resources and control Flexible Micro $11 per month
WordPress.com GitHub deployment and managed workflows Business $25 per month
SiteGround Freelance developers and client projects GoGeek $7.99 introductory, $44.99 renewal
InMotion Configurable development environments WP Launch $5.49 introductory, $14.49 renewal
Hostinger Development on a smaller budget Unlimited $3.99 introductory, $16.99 renewal

Pressable is the best overall option for developers who want staging, sandbox sites, backups, caching, and team permissions in one managed platform. Kinsta adds application performance monitoring and an API, while Cloudways gives developers more control over server resources and configuration.

WordPress.com is useful for developers who want managed hosting with GitHub deployments. WordPress.com and InMotion support several client projects at a lower initial cost, while Hostinger provides the most affordable entry point.

Prices are monthly equivalents based on the billing terms displayed by each provider. Promotional rates, renewal costs, and plan features may change.

What Developers Should Look for in WordPress Hosting

A good development host should support the tools and workflows used to build, test, deploy, and maintain WordPress websites. The following features are worth checking before choosing a plan.

  • Staging environments: Developers should be able to create a private copy of a website and move changes between staging and production. Separate control over files and databases is particularly useful.
  • SSH, SFTP, and WP CLI: Command line and file access make it easier to manage WordPress, run scripts, inspect files, clear caches, and automate repeated tasks.
  • Git and deployment: Git integration or GitHub deployment support can reduce manual file transfers and provide a clearer record of code changes.
  • Server and PHP controls: Look for PHP version selection, cron management, database access, error logs, caching controls, Redis support, and enough PHP workers for the project.
  • Debugging and monitoring: Application performance monitoring, access logs, resource graphs, and error reporting can help identify slow queries, plugin conflicts, and server limits.
  • Backups and recovery: Automatic backups and manual restore points provide protection before deployments, updates, database changes, and other development work.
  • Team and client management: Separate permissions, site transfers, cloning, templates, and centralized management are useful when several developers or client websites share an account.
  • Scaling and pricing: Check storage, bandwidth, visits, PHP workers, additional site costs, overage charges, renewal rates, and how easily server resources can be increased.

Top WordPress Hosts for Developers

1. Best Overall for Managed WordPress Development: Pressable

Pressable is a strong option for developers who want useful WordPress tools without managing the underlying server. It runs on Automattic’s WP Cloud platform and provides production, staging, and sandbox environments for every WordPress installation.

Developers receive SSH, SFTP, and WP-CLI access, along with an API for managing sites and repeated tasks. DupliKits can clone a configured WordPress installation for new projects, while granular collaborator permissions help control access for developers, team members, and clients. Pressable also supports WordPress Multisite and headless projects.

Hourly database backups, daily full backups, edge caching, a global CDN, malware monitoring, and free migrations are included. However, developers do not receive full root access or complete control over the server stack. Third party caching plugins may not work because Pressable manages caching at platform level. The Signature 1 plan also supports only one WordPress installation, so developers handling several client sites will need a higher plan.

  • Recommended plan: Signature 1
  • Best for: Managed WordPress development and client projects
  • Key strength: Production, staging, and sandbox environments
  • Main drawback: Limited server control and one installation on the entry plan

Plan Monthly Cost WordPress Sites Test Environments Developer Access
Signature 1 $20.83, billed annually 1 1 staging and 1 sandbox SSH, SFTP, WP-CLI, and API

2. Best for Monitoring and Development Tools: Kinsta

Kinsta is a managed WordPress host for developers who want detailed information about website performance and resource use. The MyKinsta dashboard includes application performance monitoring, logs, analytics, caching controls, redirects, database tools, and user permissions.

Each hosting plan includes a staging environment, SSH, SFTP, WP-CLI, and access to the Kinsta API. DevKinsta adds a local development environment for Windows, macOS, and Ubuntu. Developers can copy a hosted website to their computer, work locally, and push it back to a Kinsta staging environment. DevKinsta also includes a database manager, local email testing, site cloning, and PHP version controls.

The Launch plan includes one WordPress installation, 15GB of storage, 125GB of CDN bandwidth, and 14 days of backup retention. Extra sites cost $30 per month, which can become expensive for developers managing several smaller projects. Kinsta also limits server access because the underlying infrastructure is fully managed. It is best suited to developers who value monitoring, staging, and managed performance more than full server control.

  • Recommended plan: Launch
  • Best for: Performance monitoring and local development workflows
  • Key strength: MyKinsta, APM, API access, and DevKinsta integration
  • Main drawback: High additional site costs

Plan Monthly Cost WordPress Sites Test Environments Developer Access
Launch $30, billed annually 1 Staging and DevKinsta SSH, SFTP, WP-CLI, and API

3. Best for Server Control and Flexible Resources: Cloudways

Cloudways gives WordPress developers more control over hosting resources without requiring them to configure a cloud server from the beginning. Developers can choose infrastructure from providers such as DigitalOcean, Vultr, Linode, AWS, and Google Cloud, then manage it through the Cloudways dashboard.

The platform includes staging, site cloning, SSH, SFTP, WP-CLI, Git deployment, cron management, PHP controls, database access, server monitoring, and an API. Developers can host several WordPress installations on one server and increase its resources as project requirements grow. Team permissions and server transfers are also useful for client work.

The Flexible Micro plan includes 2GB of RAM, one virtual CPU, 50GB of storage, and 2TB of transfer bandwidth. target=”_blank”>Cloudflare Enterprise is a paid addition on Flexible plans, and offsite backup storage is charged separately. All websites on the server share its resources, so the unlimited application allowance should not be treated as unlimited capacity. Cloudways also provides more settings to manage than Pressable or Kinsta, making it better suited to developers who are comfortable working with hosting infrastructure.

  • Recommended plan: Flexible Micro
  • Best for: Developers wanting flexible resources and server controls
  • Key strength: Multiple cloud providers and scalable server resources
  • Main drawback: More administration and additional service charges
Plan Monthly Cost WordPress Sites Test Environments Developer Access
Flexible Micro $11 Multiple, within server resources Staging and cloning SSH, SFTP, WP-CLI, Git, and API

4. Best for GitHub Deployment and Managed Workflows: WordPress.com

The WordPress.com should not be confused with Studio, the separate local WordPress development app. Business combines managed hosting with developer access, making it suitable for projects where source control is part of the deployment process.

Developers can use SFTP, SSH, WP-CLI, Git commands, and GitHub Deployments. The plan also includes a staging site, real-time backups, one-click restores, and 50GB of storage. Custom themes and plugins are supported, so it can handle development work beyond the standard WordPress.com site-building tools.

The main limitation is server control. WordPress.com manages the underlying hosting environment, so developers cannot configure it as freely as a cloud server or VPS. Each website also requires its own plan, which can become expensive when managing several client projects.

  • Recommended plan: Business
  • Best for: Managed WordPress projects using GitHub deployments
  • Key strength: GitHub deployment tools, staging, and real-time backups
  • Main drawback: Limited server configuration and per-site pricing

Plan Monthly Cost WordPress Sites Staging Developer Access
Business $25, billed annually 1 1 staging site SFTP, SSH, WP-CLI, Git, and GitHub Deployments

5. Best for Freelance Developers and Client Projects: SiteGround

SiteGround is a practical choice for freelance developers who build and maintain several client websites. Its Site Tools dashboard keeps each website separate, while collaborator accounts allow team members to work on projects without sharing the main account login.

The GoGeek plan includes unlimited websites, staging, Git integration, SSH access, WP-CLI, PHP version control, and on-demand backups. Developers can test updates in staging and push selected files or database tables to the live website. White label access also gives clients a cleaner view of the hosting dashboard.

GoGeek provides 100GB of storage and includes daily backups, caching, a CDN, and priority support. However, it remains shared hosting, so resource limits may affect busy or demanding websites. The introductory price is reasonable, but the much higher renewal rate should be discussed with clients before choosing a plan.

  • Recommended plan: GoGeek
  • Best for: Freelancers building and maintaining client websites
  • Key strength: Staging, Git, collaboration tools, and white label access
  • Main drawback: A significant price increase at renewal

Plan Monthly Cost WordPress Sites Storage Developer Access
GoGeek $7.99 introductory, $44.99 renewal Unlimited 100GB SSH, WP-CLI, staging, Git, and PHP controls controls

6. Best for Configurable Development Environments: InMotion

InMotion gives developers more control than many managed WordPress platforms. Its cPanel based environment supports custom configurations, multiple databases, and development tools beyond WordPress. This makes it useful for projects that combine WordPress with custom scripts or applications.

The WP Launch plan includes SSH, SFTP, WP-CLI, Git version control, PHP controls, phpMyAdmin, and a WordPress staging tool. Hosting Plus also provides support for Python, Node.js, and Ruby. Developers receive 100GB of NVMe storage, unmetered bandwidth, and space for two websites.

This is shared hosting rather than a fully managed WordPress service. Developers remain responsible for more technical work, and server resources are not isolated. The introductory price is low, but it rises at renewal. WP Launch also limits accounts to two websites, so developers with several client projects may need WP Power or WP Pro.

  • Recommended plan: WP Launch
  • Best for: Developers who want cPanel and broader development tools
  • Key strength: SSH, Git, staging, and support for several programming languages
  • Main drawback: Shared resources and a two website limit

Plan Monthly Cost WordPress Sites Storage Developer Access
WP Launch $5.49 introductory, $14.49 renewal 2 100GB NVMe SSH, SFTP, WP-CLI, Git, staging, and PHP controls


7. Best Budget Option for WordPress Developers: Hostinger

Hostinger provides a useful collection of development tools at a much lower introductory price than most managed WordPress hosts. Its custom hPanel dashboard handles websites, domains, databases, backups, staging, and server access from one place.

The Unlimited plan includes SSH, WP-CLI, Git integration, PHP version control, and a one-click staging tool. It supports unlimited websites within its resource limits and provides 50GB of NVMe storage. Daily backups, a CDN, caching, malware protection, and automatic WordPress updates are also included.

The $3.99 monthly rate requires payment for a 48 month term in advance. It then renews at $16.99 per month. Developers should also check the fair usage limits before adding many websites to one account. Hostinger uses hPanel rather than cPanel, which may require some adjustment for developers familiar with traditional shared hosting.

  • Recommended plan: Unlimited
  • Best for: Developers working with a limited hosting budget
  • Key strength: Staging, SSH, Git, and WP-CLI at a low introductory price
  • Main drawback: A long initial term and higher renewal price

Plan Monthly Cost WordPress Sites Storage Developer Access
Unlimited $3.99 introductory, $16.99 renewal Unlimited 50GB NVMe SSH, WP-CLI, Git, staging, and PHP controls

Hostinger WordPress Hosting

Further Information:

Practical WordPress Development and Deployment Tips

Hosting tools are most useful when supported by a consistent development process. The following practices can reduce deployment errors and make website maintenance easier.

  • Develop locally: Build themes, plugins, and custom functionality in a local WordPress installation before moving code to a hosted staging environment.
  • Match each environment: Use the same PHP version, WordPress version, and major server settings across local, staging, and production websites.
  • Use version control: Store custom themes and plugins in Git. Keep WordPress core, media uploads, cache files, and private configuration data outside the repository.
  • Test on staging: Check updates, database changes, forms, payments, scheduled tasks, and third party integrations before applying them to the live website.
  • Separate code and content: Code can move through Git, but database changes require more care. Avoid replacing a live database when editors or customers are actively adding content.
  • Create a backup before deployment: Take a manual backup before major updates or releases, even when the host already provides automatic daily backups.
  • Protect sensitive data: Keep passwords, API keys, and database credentials out of repositories. Store them in environment variables or protected configuration files.
  • Check the live website: After deployment, review key pages, forms, logs, caching, scheduled tasks, and performance data for unexpected problems.

How These WordPress Hosts Were Assessed

Each provider was assessed from a WordPress development perspective. The comparison focuses on documented hosting features, workflow support, plan limits, and pricing rather than promotional claims.

  • Developer access: Availability of SSH, SFTP, WP-CLI, Git, database management, API access, and PHP version controls.
  • Development environments: Support for local development, staging websites, sandbox installations, cloning, and controlled production deployments.
  • Debugging tools: Access to logs, analytics, application monitoring, database tools, and other features that help diagnose technical problems.
  • Backups and recovery: Backup frequency, retention periods, manual backup options, and the process for restoring a website.
  • Server control: The level of access developers receive to server settings, caching, resources, PHP workers, and supporting technologies.
  • Client and team management: Collaborator accounts, user permissions, website transfers, billing options, and white label access.
  • Scaling options: Website limits, storage, traffic allowances, resource upgrades, and the ability to support larger projects.
  • Long term cost: Introductory rates, standard prices, contract lengths, paid extras, and the cost of hosting multiple websites.

Plan details and prices were checked in September 2026. Hosting companies can change their features and rates, so the provider website should be checked before purchasing.

Final Verdict

Pressable is the best overall choice for managed WordPress development. It provides staging, sandbox environments, SSH, SFTP, WP-CLI, and API access while handling most server administration.

Kinsta is better suited to developers who need detailed monitoring and debugging tools. Cloudways provides more server control, while WordPress.com Business is a strong option for GitHub based deployments. WordPress.com works well for freelance developers managing client websites, and InMotion supports broader development environments through cPanel.

Hostinger is the most affordable option, although its lowest price requires a long initial term. Before choosing any host, compare its development tools, website limits, renewal costs, and level of server access against the needs of the project.

More WordPress Hosting Options

The post The Best WordPress Developer Hosting Packages in 2026 appeared first on Speckyboy Design Magazine.

What AI Can Teach Web Developers About WordPress

11 April 2026 at 17:28

Artificial intelligence (AI) is a tool for getting things done. The WordPress community is already using it to write and troubleshoot code. Meanwhile, the WordPress project is in the midst of making AI integrations easier for all.

That’s all great and exciting stuff. However, we may be missing the boat regarding other use cases. AI has the potential to do more than perform menial tasks. We can also pick its virtual brain to learn more about WordPress and related technologies.

Human knowledge still matters, and AI is only as effective as the person interacting with it. So, why not learn as much as we can? This new technology could be a goldmine of information, with the results improving our project outcomes and helping us develop better processes.

So, what can AI teach us about WordPress? Let’s find out!

Explain What a Function or Code Snippet Does

Code snippets aren’t always easy to understand, particularly when you’re unfamiliar with them. For example, you may inherit a website that includes a custom plugin or theme template. Likewise, you might not recall the purpose of something you wrote years ago.

In addition, WordPress includes hundreds of hooks, filters, and functions. Some have better documentation than others (and even that can be difficult to comprehend).

AI can help you identify what a code snippet does in short order. Paste it into your favorite Large Language Model (LLM), and you’ll receive a detailed overview of what’s happening. You can even ask follow-up questions to narrow down a specific line.


Here’s a simple example, using a snippet commonly found in theme templates and plugins. We’ll ask ChatGPT to provide some details.

"What does the following code snippet do?"
if ( ! defined( 'ABSPATH' ) ) {
  exit;
}

ChatGPT responded with a breakdown of the code’s functionality and operation.

This snippet is a standard security guard used in WordPress PHP files, especially in plugins and themes.

What it does
It prevents the PHP file from being accessed directly via the browser.

How it works
1. ABSPATH

  • ABSPATH is a constant defined by WordPress in wp-config.php during the normal WordPress bootstrap process.
  • It contains the absolute filesystem path to the WordPress installation.

2. defined( ‘ABSPATH’ ) check

  • The code checks whether WordPress has already been loaded.
  • If WordPress is running normally, ABSPATH will exist.

3. Direct access scenario
If someone tries to access the file directly in a browser, e.g.:
https://example.com/wp-content/plugins/my-plugin/my-file.php

WordPress has not been loaded, so:
defined(‘ABSPATH’) === false

4. exit;
Because the constant isn’t defined, the script immediately stops executing.

Why this matters
Without this check:
-Someone could directly run the PHP file.
-Internal functions might run outside the WordPress environment.
-It could expose sensitive data, database queries, or admin functionality.

ChatGPT’s response was even more robust than what’s included above. It also gave specifics on where our snippet is typically found and advice on security best practices.

This is all valuable information. We now know the purpose of our snippet and have a step-by-step guide to explain what it does.

Discover Different Approaches for Building a Feature

Our first attempt to build a feature isn’t always the best one. After all, the goal is to find the best answer, not the quickest.

That’s why code typically undergoes several rounds of revisions. It seems like there is always something we didn’t account for in the initial try. For instance, there could be a missing detail or a feature that includes unnecessary bloat. Both humans and AI models make these mistakes.

As such, it’s worth weighing your options. There may be an approach that’s easier to maintain or extend later. This also comes in handy when a client inevitably changes their mind.

We can use this line of thinking when instructing AI to generate code. Let’s consider building a related posts plugin.

You might start with a prompt like this:

"Build me a related posts plugin for WordPress."

The above may get the job done. However, AI may not offer you multiple approaches by default. Let’s add some nuance to the prompt:

"I want to build a related posts plugin for WordPress. Give me at least two approaches for achieving this, along with the pros and cons for each one."

AI’s answer may even lead you to think of other potential features or issues. It’s another example of how AI should work for you, not the other way around.

Research Improvements and Optimizations

Our code may work, but is it the best it can be? Is it secure and performant? Will it be compatible with the next version of WordPress? All are important considerations.

There’s something to be said for having a second set of eyes (or the virtual equivalent) review your work. That applies to proofing a new project or refactoring legacy code. You won’t have to look far to find room for improvement.

Why not ask AI for a few suggestions? Paste a code snippet or upload a file, then instruct the app to improve performance, efficiency, and security.

You may also want to share relevant documentation, such as the WordPress theme and plugin handbooks. That will ensure AI compares your code against best practices.


Let’s put that theory to the test by asking AI to review an old-school WordPress post query.

"Review this code snippet and tell me how to improve it. Could it be more secure or efficient?"

  <?php
  global $post;
  $args = array( 'numberposts' => 1, 'offset'=> 0,  'category' => 4 );
  $myposts = get_posts( $args );
  foreach( $myposts as $post ) :    setup_postdata($post); ?>
  <p><a target="_blank" href="<?php the_permalink();  ?>"><?php the_title(); ?></a></p>
  <?php endforeach; ?>

  <?php wp_reset_query(); ?>

Once again, ChatGPT gave us a detailed overview of what our code does and steps to improve it.

Yes — you can make this cleaner, safer, and a bit more correct (especially around globals and reset functions).

What your snippet currently does

  • Fetches 1 post from category ID 4
  • Loops it, outputs a link with title
  • Calls setup_postdata() so template tags like the_title() / the_permalink() work
  • Resets something at the end

Issues / improvements

1. Don’t rely on global $post in the loop variable

Right now you’re doing:
global $post;
foreach ( $myposts as $post ) :

That overwrites the global $post reference inside the loop (and can confuse readers). Use a different variable name (e.g. $featured_post) and then pass it to setup_postdata().

2. Use wp_reset_postdata() (not wp_reset_query())

  • get_posts() does not modify the main query ($wp_query)
  • wp_reset_query() resets the main query and is meant for query_posts() usage (which you should avoid)
  • After setup_postdata(), the right cleanup is wp_reset_postdata()

3. Escape output (security/hardening)

  • the_title() and the_permalink() generally output safe data, but in custom code it’s best practice to use the “get_” versions and escape yourself:
  • esc_url( get_permalink( … ) )
  • esc_html( get_the_title( … ) )

This is the main “more secure” improvement.

4. Prefer newer/clearer query args

numberposts works, but posts_per_page is the more standard arg.

Also consider:

  • ‘no_found_rows’ => true (micro-optimization; avoids pagination counts)
  • ‘ignore_sticky_posts’ => true (avoid sticky surprises)
  • ‘post_status’ => ‘publish’ (explicit)

5. If you only need one post, you don’t need a foreach

You can grab the first result and output it, reducing code and risk.

In addition, AI provided two revised snippets that include the above suggestions. It’s an easy way to modernize an old code snippet.

Using AI as a Learning Opportunity

AI apps are easy to use when working with code – almost too easy. It’s tempting to copy the results and ignore the app’s explanation of what it just did. However, there’s value in slowing down and reading those details.

In some ways, using AI can be akin to having a seasoned developer by your side. You can learn a lot by paying attention.

That’s particularly true for well-documented software like WordPress. The content management system (CMS) is full of niche functions and settings. Not to mention a whole ecosystem of themes and plugins.

You can use AI as a guide for understanding how everything works. It’s a way to dig deeper and experiment with building from scratch and reworking your existing code.

The bottom line is that, if you want to learn more about WordPress, AI offers a simple way to do it. Even better, it (probably) won’t get mad if you keep asking questions!

The post What AI Can Teach Web Developers About WordPress appeared first on Speckyboy Design Magazine.

How to Use Remote Data Blocks to Display Google Sheets Data in WordPress

6 April 2026 at 19:12

Publishing dynamic content is one of the key selling points of content management systems (CMS) like WordPress. Content can change based on user input or other conditions. This is useful for everything from e-commerce sites to online publications. There are also simple use cases – even for brochure websites.

But what happens if some of your critical data lives elsewhere? There may be a plugin that integrates with the third-party service you’re using. Or, you might build a custom solution from scratch.

The Remote Data Blocks plugin aims to make fetching data from outside sources easy. It integrates with services like Airtable, Google Sheets, and Shopify out of the box. There’s also a framework for connecting to other services via HTTP. Once connected, you can display your data via a WordPress block and customize it with a pattern.

How does it work? Let’s put the plugin to the test with a sample project. We’ll guide you through each step and see what we can accomplish together. Here we go!

Sample Project: Display a Google Sheet in WordPress

To test Remote Data Blocks’ capabilities, we’ll use the plugin to fetch data from a Google Sheet. The file contains contact information for an employee directory.

The process includes installing the plugin, connecting to Google Cloud Platform (the most time-consuming part), and displaying the data on our website using the included block. We’ll also need to create a block pattern to style our data.

Step 1: Install the Remote Data Blocks Plugin

The first step is to install the latest version of Remote Data Blocks on your WordPress website:

  1. Log in to your WordPress website and navigate to Plugins > Add Plugin.
  2. Search for “Remote Data Blocks” and find the plugin in the provided list.
  3. Install and activate the plugin.

We’ll come back to the plugin settings later in our tutorial.

Step 2: Configure Google Cloud Platform

We have some work to do before we can connect a Google Sheet to WordPress. We’ll show you the steps below. The Remote Data Blocks team has also put together a helpful guide for this process.

2.1 Create a Project in Google Cloud Platform

To start, visit Google Cloud Platform to create a new project.

Create a new project on Google Cloud Platform

Hint: If you need help, Google has a project creation guide you can use as a reference. Google will ask for a project name and a parent resource. We’ll call our project Remote Data Blocks Test and leave the parent resource blank.

2.2 Connect to the Google Sheets and Google Drive APIs

Once the project is created, we’ll need to enable both the Google Sheets and Google Drive APIs. Here’s how:

  1. Using the left-hand menu, navigate to the Enabled APIs & Services page.
  2. Click on the Enable APIs and Services button.
  3. One at a time, search for and add the Google Sheets and Google Drive APIs.

Enable APIs in your project

Enable the Google Drive API

2.3 Enable the IAM API

Our project will also need access to the IAM API, as this handles authentication. Click the Enable the API button.

Enable the IAM API

2.4 Create a Google Cloud Platform Service Account

After that, we’ll create a service account for the project. Head to the Google Cloud console website.

  1. Using the left-hand menu, navigate to the Service Accounts page.
  2. Click on the Create Service Account button.
  3. Give your service account a name and click Continue.
  4. On the Permissions screen, choose Owner and click the Continue button.
  5. The Principals screen can be left blank. Click Done.
  6. When finished, you’ll be redirected to the Service Accounts page, where your new account will be listed.

Create a Service Account

Service Account Permissions

Service Account Principals

2.5 Generate JSON Credentials

  1. Within your service account, click the options button () and select Manage Keys.
  2. On the Keys page, click the Add Key button and select JSON as the format. Click the Create button.
  3. Google Cloud platform will generate a JSON that you can download to your device.

Manage Keys for your Service Account

Important: Note the generated email address associated with your service account – you’ll need it!

Step 3: Share Your Spreadsheet With Your Google Service Account Email

Remember the email address associated with your Google Service Account that we generated above? We’ll need it here.

The generated email address of your Service Account

We’ll head over to the Google Sheet we want to connect to our website and share it with the email address.

Share the Google Sheet with the email address generated by your Service Account

Step 4: Copy the Google Sheet ID

Next, we’ll locate the ID of our Google Sheet. We’ll need this detail to connect it to our website. The ID is located in the Sheet’s URL, like so:

https://docs.google.com/spreadsheets/d/test_spreadsheet_id/edit?gid=0#gid=0

We’re looking at the bolded area above (test_spreadsheet_id). We’ll copy our ID and keep it handy for the next step.

Step 5: Create a Data Source in Remote Data Blocks

We’re done with Google and on to our website. Navigate to Settings > Remote Data Blocks to connect our Google Sheet.

  1. On the settings page, click the Connect New button.
  2. Select Google Sheets from the menu.
  3. Give your data source a name (we chose Employee Directory).
  4. Paste the contents of the JSON file generated in Step 2.
  5. Click the Continue button.

Create a data source with Remote Data Blocks

On the Scope screen, we’re asked to choose a spreadsheet from the menu. Ours is on the list. We’ll select it and the sheet we want to use (Sheet1), then click the Continue button.

The Scope screen of Remote Data Blocks

On the Blocks screen, we’ll choose the Auto-register blocks option and click the Save button.

The Blocks screen of Remote Data Blocks

Step 6: Insert the Remote Data Block Into a Page

Now, it’s time to add the remote data block to our page.

  1. Remote Data Blocks uses the data source name we provided in the last step. So, we’ll search for “employee directory” and add the block to the page. There are a couple of options, but we’ll choose Employee Directory/Sheet1 Loop. This option will automatically update the data when we edit our Google Sheet.
  2. The next step is to place our remote data into a block pattern. So, we’ll select Choose a Pattern and click the only available option.

Adding a Remote Data Block to our page

Note that the included pattern does not format the data into a table or anything resembling a spreadsheet. That’s OK, because we created a set of columns to house our data.

The default pattern used for Remote Data Blocks

Dragging the various data points (First Name, Last Name, Title, Extension) into the Columns Block gave us a better layout. We can also use the Block Editor to make further improvements.

Creating a pattern for our Google Sheet data

All Data Points Lead to WordPress

Fetching data from third-party sources is challenging. It’s also necessary, as we store our stuff all over the place. Remote Data Blocks helps by providing a framework we can build from.

There’s a lot of potential here, and we can imagine the plugin expanding in the future. Perhaps it works with more services out of the box. It might also include a few more block patterns to style common data types with ease.

The plugin could also empower non-technical site owners. For example, imagine updating a restaurant’s menu page by editing a Google Doc or another cloud-based file. They wouldn’t have to touch WordPress at all. It would eliminate their learning curve and ease our support requirements.

However, this is just the beginning. There are already plenty of niche uses for Remote Data Blocks and more to come. So, download the plugin and experiment!

The post How to Use Remote Data Blocks to Display Google Sheets Data in WordPress appeared first on Speckyboy Design Magazine.

How To Protect Media Files Uploaded to WordPress

5 April 2026 at 11:51

The WordPress Media Library is a handy tool for managing images, documents, and multimedia content. It arranges uploaded files into date-based folders and creates multiple image sizes. All great features for a basic website.

There are a few drawbacks, however. The content management system’s (CMS) predictable file structure makes it easy to guess where a file is stored. For instance, a UK budget document leaked before its official release. How did this happen? A journalist was able to guess the file name based on last year’s version:

The BBC was able to access the PDF version of the OBR’s key report at 11:45 on Wednesday by replacing the word ‘March’ with ‘November’ in the web address of a previous edition.

Search engines can also index your site’s media files. This can be a benefit to your SEO strategy, but it’s not always desirable. Consider a membership website that requires registration to access specific files. A user may stumble upon a file via search, defeating the purpose of hiding files behind a login.

None of this means that there’s a security flaw. Rather, WordPress wasn’t built with private media storage in mind. Thankfully, there are easy ways to improve media file security.

Let’s review some tools and techniques for protecting your WordPress media files. They’ll keep your files away from prying eyes and might even save you some hosting bandwidth.

Available Methods of File Protection

The first thing to know about protecting your media files is that there are multiple types of protection. The method(s) you use will depend on your specific needs. We’ll break this section down by common scenarios.

Note that none of the following options will guarantee file security in high-stakes situations such as the UK government leak above. Rather, they are basic measures that will make it harder for someone (or something) to access your files.

With that in mind, here are a few ways to improve file security.

Block Direct File Access From Outside Sites (Hotlinking)

Let’s say you have a large PDF file on your website. By default, an external website could link directly to that file (a.k.a. hotlinking). It may seem harmless, but every time a user clicks that link, the file access counts against your hosting bandwidth. Even worse, the user never visits your website.

The solution is to block hotlink access at the server level. Add the following snippet to your website’s .htaccess file:

# Deny direct access to uploads unless navigated from your  site (change example.com to your domain name)
<IfModule mod_rewrite.c>
RewriteEngine On

# Only apply to files inside uploads directory
RewriteCond %{REQUEST_URI} ^/wp-content/uploads/ [NC]

# Allow requests from your own domain
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?example\.com/  [NC]

# Block direct access to specified file types
RewriteRule \.(mp3|mp4|pdf|zip)$ - [F,NC,L]

</IfModule>

If your website runs on an NGINX server, add this snippet to the nginx.conf file:

# Deny direct access to uploads unless navigated from your  site (change example.com to your domain name)
# File types protected: mp3, mp4, pdf, zip
  location ~* ^/wp-content/uploads/.*\.(pdf|zip|mp4|mp3)$ {
  
	valid_referers  none blocked server_names *.example.com example.com;
    if  ($invalid_referer) {
  return 403;
  }
}

Be sure to change example.com to match your domain name and edit the included file extensions to match your needs.

Note: We don’t recommend protecting image files this way, as it may lead to undesirable results. For instance, you won’t be able to include images or file links from the server in your email newsletter without adding some exceptions to the code above.

Prevent Search Engines From Indexing Your Media Files

Uploaded WordPress media files can easily end up in search results. This can be undesirable for a few reasons:

  • Direct links to large files can eat up bandwidth.
  • Users aren’t visiting your website, just downloading files.
  • Members-only files could be exposed to the public.

Part of any file protection strategy should include preventing (or discouraging) search engine indexing. As such, there are a few methods to implement.

First, we can add the following to our site’s robots.txt file to discourage crawling of the /wp-content/uploads/ folder:

User-agent: *
Disallow: /wp-content/uploads/

This won’t prevent indexing of your files, just crawling. The main benefit is reducing the load on your server.

To fully prevent indexing, we can use the X-Robots-Tag header.

For Apache servers, add this snippet to your site’s .htaccess file:

# Prevent indexing of media files in /wp-content/uploads/
<IfModule mod_headers.c>
<FilesMatch  "\.(pdf|doc|docx|xls|xlsx|ppt|pptx|zip|rar|7z|mp3|m4a|wav|mp4|mov|avi|webm)$">
Header always set  X-Robots-Tag "noindex, nofollow, nosnippet, noarchive"
</FilesMatch>
</IfModule>

NGINX users can add this to their nginx.conf file:

# Prevent indexing of media files in /wp-content/uploads/
  location ~*  ^/wp-content/uploads/.*\.(pdf|doc|docx|xls|xlsx|ppt|pptx|zip|rar|7z|mp3|m4a|wav|mp4|mov|avi|webm|jpg|jpeg|png|gif|webp|svg)$  {
  add_header  X-Robots-Tag "noindex, nofollow, nosnippet, noarchive" always;
  }

The above methods will reduce bot traffic and reduce the likelihood that your files will appear in search results.

Prevent Access to WordPress Attachment Pages

By default, WordPress creates a post for every media file you upload. It may come in handy for some niche use cases, but it is most often a forgotten feature. Without further action, these posts can be indexed by search engines.

Some SEO plugins, such as Yoast SEO, RankMath, and All in One SEO, offer settings to disable attachment pages. This is the simplest way to prevent search engines or users from accessing them.

Short of that, you can also use a code snippet in your theme’s functions.php file or a custom plugin. We’ll share a couple of them that cover common scenarios.

Return a 404 Error on Attachment Pages:

If you’d like to deny access to attachment pages, the following snippet will do just that. Visitors will see a 404 page, rather than the attachment.

<?php
  /**
  * Force attachment  pages to 404.
  */
  add_action( 'template_redirect', function () {
  if ( !  is_attachment() ) {
  return;
  }
  
  global  $wp_query;
  $wp_query->set_404();
  status_header(  404 );
  nocache_headers();
  
  // Load  your 404 template.
  include  get_query_template( '404' );
  exit;
  } );

Redirect Attachment Pages to Parent Post:

Here’s a slightly different approach that redirects users to the attachment’s parent post. This is handy for blogs and other online publications looking to ensure users see their content, rather than media files.

<?php
  /**
  * Redirect attachment  pages to their parent post when available.
  */
  add_action( 'template_redirect', function () {
  if ( !  is_attachment() ) {
  return;
  }

  $attachment_id  = get_queried_object_id();
  $parent_id     = wp_get_post_parent_id( $attachment_id );
  if (  $parent_id ) {
  wp_safe_redirect(  get_permalink( $parent_id ), 301 );
  exit;
  }

  // No  parent: redirect to file URL if it exists.
  $url =  wp_get_attachment_url( $attachment_id );
  if ( $url  ) {
  wp_safe_redirect(  $url, 301 );
  exit;
  }
  wp_safe_redirect(  home_url( '/' ), 302 );
  exit;
  } );

If you don’t need WordPress attachment pages, there’s no reason to keep them around. Thankfully, you have several options for giving them the heave-ho.

Use a Plugin for Media File Protection

You can also use a plugin to protect your WordPress media files. The right plugin can do some or all of the above functions to keep your files safer.

For example, Download Monitor offers multiple functions, including file protection. Among its features:

  • Disable or enable specific folders for file downloads.
  • Create randomly-generated URLs for files you want to protect.
  • Attempting to access a file directly will result in a 404 error.
  • Require users to log in before accessing a file.
  • Keep track of how many times a file has been downloaded.

The free version of the plugin covers common use cases. A premium version goes the extra mile by integrating with popular form plugins and adding CAPTCHA protection.

Meanwhile, many membership plugins come with some form of file protection. Check out the plugin’s documentation to see what’s available.

The Download Monitor plugin offers file protection features

Take Control of Your Files and Gain Peace of Mind

There are several reasons for locking down your WordPress media files, even if you aren’t posting sensitive information. For one, the rise of AI bot traffic means higher bandwidth usage. Restricting access to large files can prevent surprise charges on your hosting bill.

Plus, media files and attachment pages can be taken out of context. A simple redirect can help by pointing users toward your content. That could be the difference between a one-time visitor and a loyal reader. Say hello to lower bounce rates!

The above solutions are easy to implement into your existing website. What’s more, they bring a little peace of mind. You won’t have to worry about the wrong people accessing your files or causing a traffic nightmare on your server.

Consider your file protection needs and how they might impact your SEO strategy. From there, you can create a plan that works for you.

The post How To Protect Media Files Uploaded to WordPress appeared first on Speckyboy Design Magazine.

❌
❌