Normal view

Received before yesterday

What Is llms.txt? How to Add llms.txt in WordPress

25 July 2025 at 10:00

Last month, I noticed crawlers from companies like OpenAI and Google in my website analytics. My first reaction was concern: Was my content being scraped without my permission? I also worried that too many requests from AI or search crawlers might slow down my site for visitors.

But then I started thinking: What if I could actually turn this into an opportunity? What if I could guide AI tools—like ChatGPT—to the content I want them to see?

That’s when I discovered something called llms.txt. It’s a new file format designed to help large language models (LLMs) understand which pages on your site are most useful. This can improve how your content shows up in AI-generated answers and even help your site get mentioned as a source.

In this guide, I’ll show you how to create an llms.txt file using a plugin or a manual method. Whether you want more AI visibility or simply more control, this is a great way to start shaping how AI interacts with your content.

How to add llms.txt in WordPress

What Is an llms.txt File and Why Do You Need One?

An llms.txt file is a new proposed standard that gives AI tools like ChatGPT or Claude a structured list of the website content you want them to use when generating answers.

This file lets you point to your most helpful posts, tutorials, or landing pages—content that’s clear, trustworthy, and AI-friendly.

Think of it like a welcome mat for AI. You’re saying: “If you’re going to use my site in your answers, here’s what I recommend you look at first.”

The file itself lives at the root of your site (like example.com/llms.txt) and is written in plain Markdown. It can include links to your sitemap, cornerstone content, or anything else you’d want cited.

Including your sitemap ensures AI tools can find a complete index of your site—even if they don’t follow every link listed individually.

This is part of a broader approach called Generative Engine Optimization (GEO). You might also hear it called AI content optimization or AI search visibility. The idea is to help AI models give better answers—and increase the chances of your site being linked as a source.

Just keep in mind that llms.txt is still an emerging format. Not all AI companies support it yet, but it’s a smart step if you’re looking to shape your content’s role in AI search results.

llms.txt vs. robots.txt: What’s the Difference?

You might be wondering how llms.txt compares to robots.txt, since both files deal with bots and visibility.

The key difference is this:

  • robots.txt tells crawlers what they’re allowed to index and cache.
  • llms.txt gives AI models a curated list of the content you want them to reference when generating AI-powered answers.

Here’s a side-by-side look:

Featurerobots.txtllms.txt
PurposeBlock search crawlers from accessing specific URLsHighlight your most helpful content for AI models
How it WorksUses User-agent and Disallow rulesUses a Markdown list of recommended links
Effect on AICan prevent AI models from accessing your site (if obeyed)May help AI models cite and summarize your best content
AdoptionWidely supported by search engines and some AI toolsStill emerging; support is limited and voluntary

For a complete AI strategy, you can use both files at the same time. You can use llms.txt to welcome the AI bots you want, while using robots.txt to block the ones you don’t.

My guide will show you how to use both files to manage your AI content strategy. You can use the quick links below to jump to the method that best fits your strategy:

Method 1: Create an llms.txt File Using AIOSEO (Recommended)

The easiest way to create an llms.txt file in WordPress is by using the All in One SEO plugin (AIOSEO). I recommend this method because it does all of the work for you.

It automatically creates a helpful llms.txt file that guides AI crawlers to your content, and it keeps the file updated as you add new posts and pages.

Step 1: Install and Activate AIOSEO

First, you’ll need to install and activate the AIOSEO plugin.

For a full walkthrough, you can see our step-by-step guide on how to properly set up All in One SEO.

AIOSEO Setup Wizard

The great news is that the llms.txt feature is enabled by default in all versions of AIOSEO, including the free version.

However, since we’re talking about taking full control of your content and SEO, it’s worth mentioning a few powerful features you get if you upgrade to the AIOSEO Pro license.

While you don’t need these for llms.txt, they are incredibly helpful for growing your website traffic:

  • Advanced Rich Snippets (Schema): The Pro version gives you more schema types, which helps you get those eye-catching rich results in Google (like reviews, recipes, or FAQs). Adding schema markup can also help your content appear in AI search.
  • Redirection Manager: This tool makes it easy to redirect bots or users from certain pages, fix broken links, and track 404 errors. It gives you more control over how both visitors and crawlers navigate your site.

So, while the llms.txt feature is free, upgrading gives you a much more powerful toolkit for managing and growing your website’s presence.

Step 2: Verify Your llms.txt File

Because this feature is turned on by default, there’s nothing you need to do to set it up. AIOSEO is already helping guide AI bots for you.

You can see the settings by navigating to All in One SEO » General Settings and clicking the ‘Advanced’ tab.

Here, the ‘Generate an LLMs.txt file’ toggle is on by default.

AIOSEO's LMMs.txt Settings

When you click the ‘Open LLMs.txt’ button, you’ll see that the file is a list of links to your content.

This is exactly what you want for GEO. It’s a clear signal to AI bots that you are welcoming them and have provided a helpful guide for them to follow.

Just keep in mind that llms.txt is not an enforceable rule—AI tools may or may not choose to follow it.

Method 2: Create an llms.txt File Manually

If you prefer not to use a plugin, then you can still create a helpful llms.txt file manually. This approach involves creating a text file with a list of links to your most important content.

Important: Before you create a manual file, you need to make sure no other plugin is already generating one for you. If you are using AIOSEO for its other SEO features, you must first disable its default llms.txt file generator from the All in One SEO » General Settings » Advanced page.

Step 1. Create a New Text File

First, you need to open a plain text editor on your computer (like Notepad on Windows or TextEdit on Mac).

Create a new file and save it with the exact name llms.txt.

Step 2. Add Your Content Links

Next, you need to add links to the content you want AI bots to see. The goal is to create a simple, clear map of your site using markdown headings and lists.

While you can just list your most important URLs, a best practice is to organize them into sections. You should always include a link to your XML sitemap, as it’s the most efficient way to show bots all of your public content.

Then you can create separate sections to highlight your most important posts and pages.

Here is a more structured template you can copy and paste into your llms.txt file. Just be sure to replace the example URLs with your own:

# My Awesome Website

## Sitemaps

- [XML Sitemap](https://example.com/sitemap.xml)

## Key Pages

- [About Us](https://example.com/about-us/)
- [Contact Us](https://example.com/contact/)

## Key Posts

- [Important Guide](https://example.com/important-guide/)
- [Key Article](https://example.com/key-article/)
Hosted with ❤️ by WPCode

Step 3. Upload the File to Your Website

Once you’ve saved your file, you need to upload it to your website’s root directory. This is usually named public_html or www.

You can do this using an FTP client or the File Manager in your WordPress hosting dashboard. Simply upload the llms.txt file from your computer into this folder.

Uploading LMMs.txt Using FTP

Step 4. Verify Your File Is Live

Finally, you can verify that your file is working correctly by visiting yourdomain.com/llms.txt in your browser.

You should see the list of links you just created.

Bonus: How to Block AI Bots Using Your robots.txt File

While using llms.txt to guide AI bots is great for GEO, you may decide you want to block them instead. If your goal is to prevent AI companies from using your content for training, then the official method is to add rules to your robots.txt file.

The robots.txt file is a powerful tool that gives instructions to web crawlers. For a complete overview, I recommend our full guide on how to optimize your WordPress robots.txt file.

Important: Editing your robots.txt file can be risky. A small mistake could accidentally block important search engines like Google from seeing your site, which would damage your SEO. We recommend using a plugin like AIOSEO to do this safely.

Method 1: Edit robots.txt Using the AIOSEO Plugin (Recommended)

If you already use All in One SEO, this is the safest and easiest way to block AI bots. The plugin has a built-in robots.txt editor that prevents you from making mistakes.

First, navigate to All in One SEO » Tools in your WordPress dashboard. From there, find and click on the ‘Robots.txt Editor’ tab.

AIOSEO Robots.txt Editor Tool

First, you need to click the toggle switch to enable custom robots.txt.

Then you will see an editor where you can add your custom rules. To block a specific AI bot, you need to add a new rule by clicking the ‘Add Rule’ button. Then you can fill in the fields for the User-agent (the bot’s name) and a Disallow rule.

For example, to block OpenAI’s bot, you would add:

User-agent: GPTBot
Disallow: /
Adding a Custom Robots.txt Rule Using AIOSEO

You can add rules for as many bots as you like. I’ve included a list of common AI crawlers at the end of this section.

Once you’re done, just click the ‘Save Changes’ button.

Method 2: Edit robots.txt Manually via FTP

If you don’t use a plugin, you can edit the file manually. This requires you to connect to your site’s root directory using an FTP client or the File Manager in your hosting account.

First, find your robots.txt file in your site’s root folder and download it. Do not delete it.

Next, open the file in a plain text editor. Add the blocking rules you want at the end of the file.

For example, to block Google’s AI crawler, you would add:

User-agent: Google-Extended
Disallow: /

After you save the file, upload it back to the same root directory, overwriting the old file.

Common AI Bots to Block

Here is a list of common AI user agents you might want to block:

  • GPTBot (OpenAI)
  • Google-Extended (Google AI)
  • anthropic-ai (Anthropic / Claude)
  • CCBot (Common Crawl)

You can add a separate block of rules for each one in your robots.txt file.

FAQs About llms.txt and robots.txt in WordPress

I often get questions about managing AI crawlers. Here are some of the most common ones.

1. Will adding an llms.txt file affect my website’s SEO?

No, creating an llms.txt file won’t affect your regular SEO rankings. Search engines like Google still rely on your robots.txt file and other SEO signals to decide what gets indexed and ranked.

llms.txt is different. It’s designed for AI tools, not search engines, and is used to support Generative Engine Optimization (GEO). While it may help AI models better understand and cite your content, it doesn’t influence how your site appears in traditional search results.

2. Will using an llms.txt file help me get more traffic from AI?

No, using an llms.txt file isn’t a guaranteed way to get more traffic from AI tools. It can help by pointing language models like ChatGPT to content you want them to see—but there’s no promise they’ll use it or link back to your site.

llms.txt is still new, and not all AI platforms support it. That said, it’s a smart step if you want more control over how your content might be used in AI-generated answers.

3. What is the difference between llms.txt and robots.txt?

An llms.txt file acts like a guide for AI models, pointing them to the content you want them to see—your most helpful posts, tutorials, or pages. It’s meant to improve your GEO strategy by highlighting what’s worth citing.

In contrast, a robots.txt file is used to block search crawlers and AI tools from accessing specific parts of your site. You use llms.txt to say “look here,” and robots.txt to say “don’t go there.”

Final Thoughts on Managing Your Content’s Future

The world of AI and Generative Engine Optimization is changing fast. So, I recommend checking in on your strategy every few months.

A bot you block today could be a major source of traffic tomorrow, so being ready to adapt is key. You can always switch from blocking to guiding (or vice-versa) as your business goals evolve.

I hope this guide has helped you make an informed decision about the future of your content in the world of AI. If you found it useful, you might also like our other guides on growing and protecting your site:

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post What Is llms.txt? How to Add llms.txt in WordPress first appeared on WPBeginner.

UCPA Compliance in WordPress: The Ultimate Beginner’s Guide

18 July 2025 at 10:00

When I launched my first WordPress site, privacy laws were pretty straightforward. You added a privacy policy, maybe updated your terms of service, and moved on.

But things have changed in recent years. States like Utah have introduced strict privacy laws that apply to businesses worldwide, even if you’re not based in the U.S.

Under the Utah Consumer Privacy Act (UCPA), you could face fines of up to $7,500 per violation. And most of the official guidance is written for lawyers, not for WordPress users just trying to stay compliant.

If you’ve been struggling to make sense of what’s required, you’re not alone. I created this guide to help everyday website owners understand how the UCPA works and what steps to take inside WordPress.

I’ve spent a lot of time researching the law, testing plugins, and finding the easiest tools. That way, you can stay focused on growing your business.

UCPA Compliance in WordPress: The Ultimate Beginner's Guide

Disclaimer: We’re not lawyers. This article is for informational purposes only and does not constitute legal advice. We highly recommend consulting with a qualified legal professional to ensure your business is fully compliant with the UCPA and other privacy regulations.

What is the Utah Consumer Privacy Act (UCPA)?

The Utah Consumer Privacy Act (UCPA) is a privacy law designed to protect the personal information of Utah residents. It tells businesses how they should collect, use, and store personal data.

In this context, personal data means any information that can identify someone, such as names, email addresses, IP addresses, or even device IDs.

The UCPA can affect businesses in many locations, not just those based in Utah or even the United States. If your site handles data from people who live in Utah, then the UCPA may apply to you.

However, it’s important to note that the UCPA doesn’t apply to every WordPress blog or website. Instead, it’s aimed at larger businesses that meet a few specific conditions.

First, you must conduct business in Utah or offer products or services that target Utah residents.

Next, your business must have an annual revenue of $25 million or more.

You’ll also need to meet at least one of the following data processing thresholds:

  • Control or process the personal data of 100,000 or more Utah consumers.
  • Get more than 50% of your gross revenue from selling personal data and control or process the data of 25,000 or more Utah consumers.

These requirements are fairly specific, especially compared to some other privacy laws.

However, if your business meets these criteria, then it’s important to make sure you’re following the UCPA.

Why Should WordPress Users Care About UCPA Compliance?

Breaking the UCPA can result in serious fines. If your business violates this law, the Utah Attorney General will start by sending you a written notice. You’ll then have 30 days to fix the issue. This is known as a ‘cure period.’

If you don’t resolve the problem within that window, the Attorney General can begin issuing fines.

You could be fined up to $7,500 for each violation. And every misuse of personal data counts as a separate violation.

These penalties can add up quickly for qualifying businesses. For example, if you mishandle the data of 100 Utah residents, you could face up to $750,000 in penalties.

How UCPA Affects Your WordPress Site

As I’ve already mentioned, the UCPA is a state-level privacy law that gives consumers specific rights over their personal data.

Here are a few key consumer rights that may affect your WordPress website:

  • The Right to Know: Users can ask for information on the personal data you collect about them. That means you’ll need to clearly explain your data collection practices.
  • The Right to Correction: Users can request corrections to any inaccurate information.
  • The Right to Delete: Users can ask you to remove their personal data.
  • The Right to Data Portability: Users can request a copy of their data in a format that’s easy to access.
  • The Right to Opt Out of Data Sales: Users can ask you not to sell their personal data.
  • The Right to Opt Out of Targeted Advertising: Users can opt out of having their data used for personalized ads.

Next, I’ll show you how to meet these UCPA requirements using WordPress tools and best practices.

How to Improve Your UCPA Compliance in WordPress

Navigating UCPA compliance can feel overwhelming at first. But at its core, it’s really about being clear with your audience and giving them control over how you collect and use their personal data.

Let’s get started. You can use the links below to jump to any section:

Perform a Data Audit

When it comes to UCPA compliance, the first step is understanding your own data. That means reviewing and recording every piece of personal information your website collects, uses, or stores.

To get started, you should make a list of all the WordPress plugins and external tools that interact with user data. This includes everything from analytics and email marketing tools to form builders and SEO plugins.

Once you’ve built that list, take a closer look at how each one handles user information.

For example, if you’ve created a quote request form, then your form builder might collect personal details like the visitor’s name, company, or job title.

To dig even deeper, ask yourself these questions:

  • What personal data do I collect? This might include names, email addresses, IP addresses, payment info, or anything else that could identify a user.
  • Where is this data stored? Is it saved on your server or sent to a third-party tool?
  • Why am I collecting it? Is it essential for your website to function, or just nice to have?
  • How long do I keep this data? Do you have a clear retention policy in place?
  • Am I sharing this data with anyone else? Are you passing it along to service providers, advertisers, or analytics platforms?

This kind of audit can quickly highlight any areas where you may need to update your data practices to stay compliant with the UCPA.

Create a Data Compliance Document 

After you complete your data audit, the next step is documenting your findings. This means writing down every action you’ve taken to follow the UCPA, as well as any updates you’ve made to fix issues you discovered.

Creating this document gives you clear proof that you’re committed to protecting your users’ privacy. It’s especially helpful if you’re ever audited or if someone questions your compliance.

As I’ll mention throughout this guide, it’s not enough to quietly follow the UCPA behind the scenes. You also need to show that you’re complying with it.

That’s why you should record all the personal information you’ve collected in your compliance document. For each type of data, make sure to include:

  • Where the data comes from (for example, forms, plugins, or third-party tools)
  • Why you’re collecting it (whether it’s essential or optional)
  • How the data is used, shared, or sold
  • How long you keep it
  • Whether it falls under a special category (like sensitive or financial data)
  • What security steps you’re taking to protect it
  • Any third-party vendors or contracts involved

This kind of record shows regulators and your users that you’re taking privacy seriously.

As a general rule, it’s smart to do a full data audit at least once per year. It’s also a good idea to review your compliance if you install new plugins, change how you collect data, or make other major updates to your site.

Plus, since laws can change, it’s wise to re-check your compliance whenever the UCPA is updated.

Collect Less Data 

Unlike some other privacy laws, the UCPA allows you to collect non-essential personal data, as long as you provide a clear privacy notice and give users the option to opt out.

Still, it’s smart to follow the principle of data minimization. This means only collecting the information you actually need.

Data minimization makes UCPA compliance much easier because:

  • You have less to search through if someone asks for a copy of their personal data.
  • You have less to delete if a user requests to be forgotten.

To get started, review the forms and tools on your site. Ask yourself: “Do I really need every detail I’m asking for?”

If the answer is no, it’s best to stop collecting it.

Create a Privacy Policy 

A privacy policy is a page that clearly explains what personal data you collect, how you use it, and who you share it with.

Creating a detailed privacy policy is an important part of UCPA compliance because it helps visitors understand how you handle their information. Plus, it directly supports their Right to Know under the law.

Thankfully, WordPress includes a built-in privacy policy generator. You can find it by going to Settings » Privacy in your WordPress dashboard.

How to generate a privacy policy for your WordPress website

Feel free to use our own WPBeginner privacy policy page as a template.

Just make sure to replace every mention of ‘WPBeginner’ with your own site or business name.

An example of a privacy policy

If you need more guidance, we also have a complete step-by-step tutorial on how to add a privacy policy in WordPress.

Even if you already have a privacy policy, it’s a good idea to update it with information specific to the UCPA. This includes clearly explaining user rights, such as the Right to Know, Right to Delete, and Right to Correction.

Plus, your policy should tell visitors how they can exercise those rights.

For example, you might include a link to a contact form where users can request a copy of their data or ask you to delete it.

Finally, make it a habit to review and update your privacy policy regularly. This helps ensure it reflects your current practices and stays aligned with any future changes to the UCPA.

Add a Cookie Popup

Under the UCPA, cookie consent follows an opt-out model. This means you can use non-essential cookies without asking first, as long as you give users a clear way to opt out.

This is different from stricter laws like the General Data Protection Regulation (GDPR), where you must get consent before setting non-essential cookies.

What counts as non-essential? These include cookies used for analytics, advertising, or user behavior tracking. Anything not required for your site to function is considered non-essential under the UCPA.

Note: It’s important to note that for ‘sensitive data’ (like information about race, religion, health, or precise geolocation), the UCPA requires you to get a user’s permission before you collect it (opt-in).

The good news is that a cookie popup can help you stay compliant with both types of laws.

A clear, user-friendly banner can let visitors know what types of cookies your site uses, what data they collect, and why. It should also offer a simple way to opt out.

While many plugins offer cookie banners, WPConsent is my top pick because it’s easy to use and supports multiple privacy laws, including the UCPA and the PDPL.

How to comply with the UCPA by adding a cookie popup to your website

We actually use WPConsent on WPBeginner to manage cookie banners and track user consent, and we’ve had a great experience.

💡 Want to learn more about how we use WPConsent on WPBeginner? Be sure to read our in-depth WPConsent review.

An example of a cookie banner, created using WPConsent

💡 Want to learn more about how we use WPConsent on WPBeginner? Then be sure to read our in-depth WPConsent review.

To get started, simply install and activate the plugin.

Once it’s active, WPConsent will automatically scan your website and detect all active cookies.

Scanning your website for cookies using a compliance plugin

From there, the setup wizard helps you design your cookie banner. You can customize the layout, position, button styles, colors, and even add your logo.

As you make changes, WPConsent shows a live preview so you can see exactly how the banner will appear on your site.

Designing a cookie banner for your WordPress blog or website

When you’re happy with the design, just save your changes. The cookie banner will start appearing on your WordPress site right away.

For full instructions, check out our complete guide on how to add a cookie popup in WordPress.

Write a Separate Cookie Policy 

Adding a cookie popup is a great first step. But it’s also a good idea to create a dedicated cookie policy that explains how your site uses cookies in more detail.

This helps visitors better understand what kind of personal information your site collects and how it’s used.

In your cookie policy, make sure to:

  • List all the types of cookies your site uses (such as essential, analytics, or marketing cookies).
  • Explain what each cookie does—for example, some cookies track website visitors or show personalized ads.
  • Describe the data each cookie collects, like IP addresses or browsing history.

To build trust, keep your language simple and easy to understand. Try to avoid technical terms or legal jargon whenever possible.

Once your policy is ready, make sure it’s easy to find. For example, you could link to it from your main privacy policy and also inside your cookie banner.

Fortunately, WPConsent can handle this entire process for you.

It can scan your site for cookies, then use that information to generate a cookie policy automatically.

To get started, go to WPConsent » Settings.

Generating a cookie policy for your WordPress blog, website, or online store

Inside the plugin settings, you need to choose the page where you want your cookie policy to appear.

WPConsent will then add the policy to that page automatically.

An example of a cookie policy, added to WordPress using WPConsent

If you’re already using WPConsent to display a cookie banner, then your visitors can access the policy directly through the popup.

They just need to click the ‘Preferences’ button.

Adding links to your cookie banner

From there, they can select the ‘Cookie Policy’ link to visit the full page.

Here’s an example of what that looks like.

Adding a link to your cookie policy to a WordPress popup

Block Third-Party Scripts 

One tricky part of the UCPA is that it also applies to third-party tracking tools like Google Analytics or Facebook Pixel.

Even though third-party tools handle the tracking, you’re legally responsible for how they collect and use visitor data on your site. That means you also need to give users a way to opt out.

A simple way to handle this is by using automatic script blocking. This prevents tracking scripts from running until the visitor gives consent.

This also supports the UCPA’s Right to Know by ensuring users understand what data is being collected before it happens.

Even though the UCPA follows an opt-out model, script blocking goes a step beyond minimum compliance by turning third-party tracking into an opt-in process.

Fortunately, WPConsent makes this easy with a built-in automatic script blocking feature.

It detects and blocks common tools like Google Analytics, Google Ads, and Facebook Pixel, without breaking your site.

Then, as soon as a visitor gives consent, the plugin loads the script immediately without reloading the page.

Track and Log Visitor Consent

Your UCPA data practices might still be questioned. For example, regulators could request an audit, or a customer might ask how their data is being handled.

That’s why it’s important to track and log user consent. This gives you clear, time-stamped proof that you’re honoring each user’s preferences.

WPConsent handles this for you automatically. It logs key details like the user’s IP address, their consent settings, and the exact date and time when they gave consent.

You can view this data anytime by going to WPConsent » Consent Logs in your WordPress dashboard.

An example of a detailed consent log

If you ever need to share this log with someone—like an auditor or legal advisor—you can export it directly from your site.

Just open the Export tab, choose the date range you need, and click the ‘Export’ button.

How to export a consent log from WPConsent

WPConsent will generate a CSV file with all the logged consent data, ready for you to share if needed.

Give Users a Way to Opt Out (Do Not Track Form)

The UCPA gives users the right to opt out of the sale or sharing of their personal data. You’re required to provide a clear and easy way for them to do that.

The simplest way to do this is by using WPConsent’s Do Not Track add-on. It lets you create a dedicated opt-out page with just a few clicks.

To get started, go to WPConsent » Do Not Track » Configuration in your WordPress dashboard.

WPConsent will walk you through the steps to install the add-on and create a Do Not Track form.

How to add a 'Do Not Track' page to your WordPress blog, website, or online marketplace

🌟 Want more detailed instructions? Just see our guide on how to create a Do Not Sell My Info page in WordPress.

Once that’s done, visitors can fill out the form to opt out of data sales or sharing.

This gives users a clear, simple way to exercise their rights, and it also improves your site’s user experience.

An example of a 'Do Not Sell My Info' page, created using WPConsent

Plus, WPConsent stores these requests locally in a custom database table on your own site. That means you stay in full control of this sensitive data, without needing to rely on an external platform.

It also records each request automatically, giving you clear proof of compliance if it’s ever needed.

Support the ‘Right to Delete’

The UCPA gives users the right to ask you to delete their personal data.

One of the simplest ways to support this is by adding a data erasure form to your WordPress site. That way, visitors can easily request deletion through a secure form.

This is where WPForms comes in. It’s a drag-and-drop form builder that includes a pre-built Right to Erasure form template.

How to comply with multiple international privacy laws, using WPForms

The template name comes from GDPR, but don’t worry. Many compliance tools use GDPR-style naming, and this form works just as well for UCPA requests.

To use the template, go to WPForms » Add New.

Creating a new form in WPForms

Then, type “Right to Erasure” into the search box.

When the template appears, you need to click ‘Use Template’ to open it in the WPForms editor.

Choosing a form template for your 'right to erasure' form

From here, you can customize the form to fit your needs. The left-hand panel shows the available fields, and the right-hand panel shows a live preview.

To update a field, just click on it in the preview. You can then change the label, instructions, or field type in the left-hand panel.

How to edit fields in a WPForms form template

Once you’re happy with the form, click ‘Save’.

To add the form to a page or post, you need to open the editor, add a WPForms block, and choose your saved form from the dropdown list.

Adding a data compliance form to your WordPress website or blog

After that, go ahead and publish or update the page like you normally would.

🌟 At WPBeginner, we use WPForms across all our websites. It’s reliable, beginner-friendly, and flexible enough to support compliance tasks like this. If you want a full breakdown, check out our detailed WPForms review.

Once your form is live, make sure it’s easy to find. I recommend linking to it from your privacy policy or embedding it directly on that page.

WPForms also includes an entry management system. You can use it to view and filter submissions, which makes it easy to track and respond to deletion requests.

To view entries, go to WPForms » Entries in your dashboard.

How to comply with the Utah Consumer Privacy Act (UCPA) using WPForms

Simply find your data erasure form and click it. 

You’ll then see all the ‘delete data’ requests you’ve received.

How to comply with the Utah Consumer Privacy Act (UCPA) by managing user data requests

Once someone requests deletion, WordPress has a built-in tool to help.

Just go to Tools » Erase Personal Data in your admin dashboard.

How to allow users to request for you to delete their personal data

Enter the user’s email or username, and WordPress will handle the removal process.

You can also choose to send a confirmation email once the data has been erased.

How to automatically send a personal data erasure confirmation email

Handle Data Access Requests Efficiently

Under the UCPA, visitors have the right to request a copy of all the personal data your website has collected about them.

The good news is that you can support this by adding a dedicated data access form to your site using WPForms.

WPForms includes a ready-made Data Request Form template. It’s designed to collect the information you need to identify users in your records and respond to their requests.

How to create a Utah Consumer Privacy Act (UCPA)-compliance form

WPForms will automatically log each submission in your dashboard.

To review them, just go to WPForms » Entries.

You can now select your data request form to view all submissions.

How to manage personal data requests in your WordPress dashboard

Then, when you receive a request, you can export the user’s data using WordPress’s built-in tools.

Go to Tools » Export Personal Data in your admin dashboard.

How to provide customers with a copy of their personal data upon request

You can then type in the person’s username or email address to find the correct record.

Then, simply share the .zip file with the person who made the request.

Exporting a copy of the user or visitor's personal data

This helps you meet UCPA’s Right to Know requirement in a secure and user-friendly way.

Support the ‘Right to Correction’

Under the UCPA, people can ask you to correct or update their personal data if it’s wrong or incomplete.

This might happen after a user reviews a copy of their data. Or they may contact you directly if their personal details have changed, like a new phone number or address.

The simplest way to handle these requests is by adding a dedicated correction form to your site.

WPForms includes a Personal Information Form template that’s perfect for this. It even has an “Update Existing Record” checkbox to help you identify correction requests.

Supporting the right to correct on your WordPress website or blog

This template includes useful fields like legal name, nickname, email address, and phone number.

If you need more fields, then you can easily customize the form in WPForms’ drag-and-drop editor.

Editing a privacy compliance form in the WPForms drag-and-drop interface

Once the form is published, make sure that users can find it easily.

I recommend linking to it from your privacy policy or adding it to your site footer.

An example of a WordPress website, with data privacy links

As requests come in, you can process them manually depending on where the data is stored.

If the information is inside WordPress, you need to go to Users » All Users and click ‘Edit’ for the relevant profile.

How to edit a user profile with new or updated information

Go ahead and update the necessary fields.

Then, scroll down and click ‘Update User’ to save the changes.

Complying with the Utah Consumer Privacy Act (UCPA) by updating a user's profile

If you store data in a third-party tool—like a CRM or email marketing platform—then you just need to log into that tool to update the user’s profile.

UCPA Compliance in WordPress: FAQs

Understanding privacy laws can feel overwhelming at first. If you still have questions about how the UCPA affects your WordPress site, then you’re not alone.

At WPBeginner, we’re here to help you feel confident about compliance. So in this section, I’ll answer some of the most common questions we hear from our readers.

What happens if my WordPress site isn’t UCPA compliant?

If your WordPress site violates the UCPA, you could face fines of up to $7,500 per violation. You might also receive consumer complaints or trigger a regulatory investigation—both of which can damage your business and reputation.

How often should I review my site for UCPA compliance?  

Privacy laws can change over time. That’s why it’s a good idea to review your compliance at least once per year, or whenever you update how your site collects or uses data.

For the best results, you can make this part of your regular WordPress maintenance routine.

Can I use the same compliance tools for UCPA and GDPR?

Yes, a good compliance tool should address multiple privacy regulations. For example, WPConsent can help you comply with the UCPA, GDPR, the Brazilian General Data Protection Law (LGPD), Australia’s Privacy Principles (AAP), and many more international laws. 

However, it’s worth noting that every tool is unique. Having said that, it’s important to do your research to ensure you’re meeting the specific rules of each regulation.

Additional Resources for UCPA Compliance

Taking a proactive approach and continuously learning is absolutely essential for maintaining UCPA compliance over the long term. Data privacy laws can evolve over time, and staying informed is crucial for protecting both your website and your audience.

That said, I’ve collected some helpful resources you can use to continue your learning journey and keep your WordPress site compliant:

I hope this ultimate beginner’s guide to WordPress UCPA compliance has helped you understand this important privacy law. Next, you may want to see our expert picks for the best WordPress security plugins or our guide on how to keep personally identifiable info out of Google Analytics.  

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post UCPA Compliance in WordPress: The Ultimate Beginner’s Guide first appeared on WPBeginner.

How to Migrate From Substack to WordPress in 10 Easy Steps

15 July 2025 at 10:00

I can’t tell you how many creators I’ve spoken with who feel trapped on Substack. It’s incredibly easy to get started, but that simplicity comes at a cost. As soon as you want to change a font, create a custom landing page, or add more advanced features, the platform’s limitations become frustrating fast.

And those limitations go beyond design. The deeper issue is control. On Substack, you don’t own your content, can’t control how you earn, and have limited access to your own subscribers.

That’s why so many creators are making the switch to WordPress. It gives you a lot more control over your design, monetization, and subscriber list.

After helping dozens of writers migrate from Substack to WordPress, I’ve developed a straightforward process that makes it manageable. The freedom and flexibility you’ll gain are well worth the effort.

In this guide, I’ll walk you through the entire process: moving your posts, importing your email list, setting up a powerful email system, and launching your new newsletter without losing momentum.

How to Migrate From Substack to WordPress

Why Should You Switch From Substack to WordPress?

Many creators switch from Substack to WordPress because it offers more control, flexibility, and monetization options. With WordPress, you can fully customize your site, own your email list, and add features like paid memberships, online courses, and digital product sales—all without platform fees.

Substack does a great job of marketing itself as the simple, all-in-one solution for newsletter creators. It lets you start publishing in minutes and handles the technical details for you.

But that initial convenience eventually becomes a major restriction. As your newsletter grows, you’ll reach the limits of what Substack can do.

The biggest issue is the lack of control, which means your newsletter ends up looking like everyone else’s. You can’t customize signup forms, build unique landing pages, or adjust the layout to match your brand.

Plus, there’s the challenge of monetization. Substack takes a 10% cut of every paid subscription, which adds up quickly.

You’re also locked into their subscription model, which means you can’t sell courses, digital products, or add other revenue streams directly to your site.

And ultimately, Substack controls your relationship with your audience. You can export your list, but the platform dictates how your content is delivered and what analytics you can access. With WordPress, you’re in the driver’s seat.

For full details, see our comparison of Substack vs. WordPress.

What to Expect When Migrating From Substack to WordPress

Migrating your newsletter might sound intimidating, but it’s easier than you think. I’ll break it down into clear, manageable steps.

Here’s a quick overview of what we’ll do together:

  • Set Up Your WordPress Foundation: We’ll choose a reliable host, install WordPress, and create the new home for your newsletter.
  • Export and Import Your Content: I’ll show you how to download your posts and subscriber data from Substack and move it safely into WordPress.
  • Build Your New Email System: We’ll connect your site to a professional email marketing service, giving you full control over your campaigns and automations.
  • Finalize the Migration: We’ll import your subscriber list, add redirects so you don’t lose traffic, and customize your site to match your brand.

By the end of this tutorial, you’ll have a professional newsletter platform that you fully own and control.

Step 1: Set Up Your WordPress Website

The first step is to set up the WordPress website that will serve as the new destination for your content.

To do this, you’ll need two things: a domain name and WordPress hosting. While the WordPress software is free, hosting is where your website’s files are stored online.

I always recommend Bluehost to new users. They are an officially recommended WordPress host, their support is excellent, and they make setup incredibly simple. Plus, they offer WPBeginner readers a special deal that includes a free domain name for the first year.

Alternatives: If you’d rather explore other options, Hostinger and SiteGround are also great choices. I’ve used both on other projects and had good experiences.

To get started, head over to the Bluehost website and click the ‘Get Started Now’ button.

Bluehost website

On the next screen, you’ll choose a hosting plan.

For most newsletter sites, the Basic plan has everything you need. You can always upgrade later if your needs grow.

Choose a hosting plan

After that, you’ll set up your domain name, and this part is important.

If you’re starting with a brand new domain, you can claim your free domain now by typing it into the ‘Create a new domain’ box.

But if you already have a custom domain connected to your Substack site (like mynewsletter.com), choose ‘I’ll create my domain later.’ This avoids any downtime while you complete the migration.

Why set up your domain later? 🤔 If you point your custom domain to WordPress too early, your Substack site will go offline before everything is moved over. I’ll show you exactly when and how to update it later in this guide.

After you finish signing up, Bluehost will automatically install WordPress for you.

Just log in to your Bluehost account, find your new site, and click the ‘Edit Site’ button. That will take you straight to your WordPress dashboard.

Bluehost login WordPress

If you’re using a different host or want more guidance on this part, check out our full guide on how to install WordPress.

Step 2: Install the Necessary Importer Plugins

To import your posts from Substack, you’ll need to install two free plugins. The main one is the Substack Importer, but it relies on a core tool called the WordPress Importer to work correctly.

It might sound a little technical, but I’ll walk you through the fastest way to get it set up.

Prepare the WordPress Importer

In your WordPress dashboard, go to Tools » Import. At the bottom of the list, you’ll see ‘WordPress.’ Just click the ‘Install Now’ link.

Activating the WordPress Installer

Once it finishes installing, the link will change to ‘Run Importer.’

Here’s an important step: click ‘Run Importer’ now, even though you’re not uploading anything yet. This activates the tool so the Substack Importer works later. If you skip it, you’ll get an error.

After that, you’ll land on the importer’s upload screen—but you can ignore that for now. We’re ready to install the next plugin.

Install the Substack Importer

Next, you need to install the Substack Importer plugin, which will handle the specific format of your Substack export. For detailed instructions, you can see our guide on how to install a WordPress plugin.

Because you have already activated the main WordPress Importer tool, this plugin will install correctly without any issues. Your site is now fully prepared to import your Substack content, which I’ll show you how to do in Step 4.

Step 3: Export Your Content From Substack

Now, we need to go back to Substack one last time to download all of your content. This includes your posts, drafts, and your subscriber list.

You need to log in to your Substack account and go to your publication’s dashboard. Once there, you should click on ‘Settings’ in the top menu and scroll down until you find the ‘Export’ section.

You will see an option to ‘Export your data’. Go ahead and click the ‘New export’ button.

Exporting Content and Subscribers From Substack

Substack will create a .zip file for you to download that contains all of your posts and images. This zip file will also contain a CSV file with your subscribers’ email addresses and other information. It may take a few minutes if you have a lot of content.

When the export file is ready, you will be notified by email, and you can click the ‘Download’ button to save it to your computer. This file is one of your most valuable assets, so save it somewhere safe.

Download the Exported Substack Data to Your Computer

Step 4: Import Your Posts into WordPress

Now for the exciting part! Let’s move your content onto your new WordPress website. Thanks to the plugin you installed, this process is mostly automated.

Go back to your WordPress dashboard and navigate to Tools » Import. You should now see ‘Substack’ in the list of available importers.

Click the ‘Run Importer’ link below it.

Run the Substack Importer

The plugin will ask you to upload the file you got from Substack. Click ‘Choose File’ and select the .zip file containing your post export.

The plugin also provides an optional field to enter your Substack URL. This can help with importing comments and author details, but you can leave it blank if you want.

Substack Importer Page

Then, click ‘Upload file and import’.

On the next screen, you’ll be asked to assign an author for the imported posts. You can create a new author or assign them to your existing WordPress user account.

Assigning Authors to the Imported Substack Posts

Before you continue, make sure to check the box next to ‘Download and import file attachments.’

This is an important step that tells WordPress to save all the images from your Substack posts to your new website, so nothing gets left behind.

Importing Attachments From Substack

Click ‘Submit’ to begin. The importer will now work its magic, creating new WordPress posts for each article from your Substack file. This might take a few minutes.

Once it’s finished, go to Posts » All Posts. You should see all of your Substack articles right there in WordPress! Take a moment to click on a few and make sure the content and formatting look correct.

Step 5: Set Up Your Email Newsletter System

WordPress doesn’t send email newsletters by default, which is a major difference from Substack.

Instead, you need a dedicated email marketing service to manage your subscribers and send your newsletters. This gives you far more power and flexibility.

I recommend using Constant Contact. It’s incredibly beginner-friendly, integrates perfectly with WordPress, and offers powerful features like automation and analytics that go way beyond Substack.

Constant Contact's homepage

With Constant Contact, you can segment your audience, A/B test your subject lines, create beautiful landing pages, and see detailed reports on who opens and clicks your emails.

First, you’ll need to sign up for a Constant Contact account. Once you’re in, you need to create a new email list for your subscribers.

Then, you can easily connect your WordPress website to Constant Contact using the WPForms plugin. It’s the best form builder for WordPress and lets you create beautiful newsletter signup forms that automatically add new subscribers to your Constant Contact list.

We have a complete, step-by-step guide on how to add email subscriptions to your WordPress blog. This tutorial will walk you through setting up Constant Contact, creating a signup form with WPForms, and placing it on your new website.

Step 6: Migrate Your Subscriber List

It’s time to move your most important asset: your subscribers. This step requires care to ensure a smooth transition for your readers.

Important: Before you import any contacts, I strongly recommend sending one final email from your Substack account. You should let your audience know about the move, explain the benefits, and tell them to look out for emails from your new system. This is a key step for maintaining trust and ensuring your new emails don’t get marked as spam.

You need to log in to your Constant Contact account. Then, go to the ‘Contacts’ section and look for the ‘Add Contacts’ button.

The Constant Contacts dashboard

You’ll see an option to upload from a file, as you see in the screenshot below.

First, you’ll need to unzip the export file you downloaded from Substack. Inside, look for the CSV file containing your subscribers. The filename will usually be something like email_list.your-publication-name.csv.

Importing a file into Constant Contacts

Constant Contact will guide you through mapping the columns (like matching the ’email’ column to the email field). Add these subscribers to the new list you created.

Remember, you should only email people who have given you permission. That final email you sent from Substack is a great way to respect your audience and remind them they signed up.

Once they’re imported, I recommend creating a simple welcome email sequence in Constant Contact to re-engage them on the new platform.

Step 7: Point Your Domain to WordPress

With your content and subscribers moved, you’re ready to make your new WordPress site live on your official domain. The steps depend on how you set up your domain in Step 1.

If You Registered a New Domain With Bluehost

You’re all set!

Bluehost automatically pointed the domain to your WordPress site, so you don’t need to do anything else.

If You Have a Custom Domain From Substack

Now is the time to point it to your new host. You’ll do this by changing the domain’s nameservers.

You need to find the nameservers for your new host (for example, for Bluehost, they look like ns1.bluehost.com and ns2.bluehost.com).

Log in to your domain registrar (the company where you bought the domain, like Namecheap or GoDaddy) and find the DNS or nameserver settings. Now, you need to replace the old nameservers with the new ones from your web host.

Our guide on how to change domain nameservers shows you exactly how to do this with screenshots.

Managing Nameservers in Bluehost

After you save your new nameservers, it can take a few hours for the change to update across the internet. This waiting period is called DNS propagation, and it’s perfectly normal.

Step 8: Set Up Permalinks and Redirects

This final technical step is crucial for preserving your SEO and preventing visitors from hitting ‘404 Not Found‘ errors.

Setting Up SEO-Friendly Permalinks

First, we want to make sure your new WordPress URLs are clean and SEO-friendly.

In your WordPress dashboard, go to Settings » Permalinks. Select the ‘Post name’ option and click ‘Save Changes’.

This creates simple URLs like yoursite.com/post-title, which are good for WordPress SEO.

WordPress' permalink settings

Now, WordPress ‘Post name’ permalinks are very similar to the URLs that Substack creates for your posts. That will make it much easier to redirect the old post URLs to the new ones.

Setting Up Redirects for Your Old Substack Posts

Next, you need to make sure that anyone visiting your old Substack post links will be sent to the right page on your new WordPress site. This is called a redirect, and it’s very important for SEO and user experience.

The good news is that Substack uses a consistent URL structure for posts, like yourdomain.com/p/post-name. Because your new WordPress posts will have a similar URL (yourdomain.com/post-name), you can set up a single rule to redirect all of your old posts at once.

The easiest way to do this is with the free Redirection plugin. First, install and activate the plugin. Then, go to Tools » Redirection in your WordPress dashboard.

Now, you just need to add one new redirect rule.

Redirecting Substack URLs to WordPress Post Name URLs

In the ‘Add new redirection’ section, you need to fill out the fields like this:

  • Source URL: ^/p/(.*)$
  • Target URL: /$1

After you enter the URLs, check the ‘Regex’ box. This is a very important step that tells the plugin to use the special rule.

Then, just click the ‘Add Redirect’ button.

This single rule automatically finds any link that starts with /p/ and redirects it to the same URL without the /p/.

For example, a link to yourdomain.com/p/my-first-post will now automatically go to yourdomain.com/my-first-post. This saves you from having to create redirects for every single post by hand.

Pro Tip: If you’re using the All in One SEO (AIOSEO) plugin to boost your rankings, it has a powerful Redirection Manager built right in. It makes this process even easier and is a must-have tool for any serious website owner.

Finding and Fixing Any Missed Redirects

While this regex rule will redirect most of your posts, it’s a good idea to double-check for any that might have been missed. Sometimes, WordPress will change a post’s URL slug during the import process to avoid duplicates.

For example, if you had two Substack posts with similar titles, then WordPress might change one of the new URLs to something like /my-post-title-2. The regex rule wouldn’t catch this specific case.

Luckily, the Redirection plugin makes it easy to find these broken links.

From your WordPress dashboard, go to Tools » Redirection and then click on the ‘404s’ tab. This page will log any time a visitor tries to go to a page on your site that doesn’t exist.

If you see an old Substack URL in this log, it means the redirect for that specific post didn’t work. You can simply hover over the 404 error in the list and click ‘Add redirect’ to create a manual redirect for it.

For detailed instructions, see our guide on how to easily track 404 pages and redirect them in WordPress.

Step 9: Customize Your Site and Go Live

All the technical work is done. Now for the fun part: choosing a professional theme to give your new site its look and feel.

Choosing and Customizing Your Theme

Your WordPress theme controls the entire look and feel of your site. I recommend choosing a theme that is clean, readable, and fast so that it provides a great user experience for your readers.

Free WordPress themes, in the WordPress.org plugin repository

For newsletter creators, themes like Sydney or GeneratePress are excellent choices because they are lightweight and highly customizable.

Then, just follow our guide on how to customize your WordPress theme to get the exact design you want.

You can also create a custom homepage to welcome new visitors and prominently feature your newsletter signup form.

To build trust with your readers, it’s also a good idea to add a few essential pages to your site. This makes your newsletter feel more professional and established.

I recommend creating:

  • An About Page: This is where you can share your story and explain what your newsletter is about.
  • A Contact Page: This gives your audience an easy way to get in touch with you, and you should include a contact form.
  • A Privacy Policy: This page is legally required in many places and shows readers you respect their data. We have a full guide on how to create a privacy policy in WordPress.

Once these pages are in place and you’ve tested that your site is working correctly, it’s time for the final step: setting up your newsletter and announcing your move.

Step 10: Set Up Your Paid Newsletter in WordPress

One of the best things about moving to WordPress is that you have full control over your income. Instead of paying Substack’s 10% fee, you only pay standard payment processor fees, which means you keep more of your money.

To monetize your WordPress content, you’ll need a membership plugin. I recommend MemberPress because it’s the most powerful and easy-to-use option on the market. It lets you restrict access to your content so that only paying subscribers can view your premium newsletter posts.

Once you install MemberPress, you can create different subscription levels, just like on Substack. For instance, you could offer a monthly plan and a discounted yearly plan.

To get started, you can follow our step-by-step guide on how to create a paid newsletter in WordPress. It will walk you through everything from setting up MemberPress to creating your subscription plans.

But with WordPress and MemberPress, you can go far beyond a simple paid newsletter. You can also:

This flexibility allows you to build a true membership business around your content, not just a newsletter.

For more options, you can see our guide on how to make money in WordPress.

Once you are all set up, you can send an email to your subscribers welcoming them to the new website.

Be sure to highlight the benefits of the move, like a better reading experience or new features you’ve added. This is a great way to celebrate the transition and get your readers excited about the future of your newsletter.

Learning WordPress

Congratulations on moving your newsletter to WordPress! You now have a powerful platform that can grow right along with your business.

While WordPress is powerful, you don’t need to learn everything at once. We have plenty of free resources to help you master the basics and get comfortable.

Here are the best free resources our team has created for beginners:

The more you use WordPress, the more comfortable you’ll become. Before you know it, you’ll be wondering how you ever managed with Substack’s limitations.

Alternative: Let an Expert Migrate Your Newsletter

Professional WordPress Services by WPBeginner

I’ve walked you through all the steps to move from Substack to WordPress. But I know this process can feel like a lot, especially when you’d rather focus on creating content.

If you want to save time and avoid the technical details, then letting an expert handle the migration is a great option.

Our team at WPBeginner can do all the heavy lifting for you. Our Professional Services team will handle the entire migration, from transferring your content and subscribers to setting up your new design. This way, you can focus on writing while we take care of the rest.

Another excellent and reliable service for website migrations is Seahawk Media Services. Their team of WordPress experts can also help you make a smooth transition from Substack.

Using a professional service ensures everything is moved over correctly, giving you peace of mind and a new WordPress site that’s ready to go.

Frequently Asked Questions About Migrating From Substack to WordPress (FAQs)

I know that making a move like this can bring up a lot of questions. To help you out, I’ve compiled answers to some of the most common questions I hear from creators who are making the switch from Substack to WordPress.

Will I lose my subscribers when I migrate from Substack?

No, you will not lose your subscribers. Substack allows you to export your entire subscriber list as a CSV file, which you can then import into an email marketing service like Constant Contact. It’s important to email your list before you move to let them know about the change.

Can I keep my custom domain name when moving to WordPress?

Yes, absolutely. If you have a custom domain connected to Substack, you can point it to your new WordPress hosting provider. Step 7 in this guide shows you exactly how to do that without any downtime.

Is migrating to WordPress expensive?

The initial cost involves web hosting, which can start at just a few dollars per month.

While Substack is free to start, its 10% cut of your revenue becomes far more expensive than WordPress hosting as soon as you start making money. With WordPress, you control your costs and keep 100% of your revenue.

Do I need to be a technical expert to use WordPress?

Not at all. While WordPress is more powerful than Substack, it’s designed to be user-friendly. If you can write a post in Substack, you can write a post in WordPress.

For everything else, there are tons of free resources, including our free WPBeginner videos and our blog tutorials, to guide you.

I hope this tutorial helped you successfully migrate from Substack to WordPress. You now have complete control over your newsletter, from design and functionality to subscriber relationships and monetization options.

We also have an ultimate WordPress migration guide, and you can get inspired by browsing our expert list of popular sites using WordPress as a CMS.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post How to Migrate From Substack to WordPress in 10 Easy Steps first appeared on WPBeginner.

Beginner’s Guide to PDPL Compliance for WordPress Websites

7 July 2025 at 10:00

I’ve helped WordPress users navigate a lot of different privacy laws, but Saudi Arabia’s Personal Data Protection Law (PDPL) still surprises many website owners.

If your site collects personal information from people in Saudi Arabia (and it probably does), then PDPL compliance isn’t optional.

Contact forms, newsletter signups, user accounts, blog comments — all of these fall under the law’s requirements, even if you don’t live in Saudi Arabia.

I hear from readers all the time who didn’t realize this until they were at risk of penalties.

The good news? Getting compliant doesn’t have to be complicated or expensive.

I’ve spent quite a lot of time researching the PDPL and testing WordPress tools to make this guide as beginner-friendly as possible. I’ll show you exactly how to protect your business, stay on the right side of the law, and earn your audience’s trust.

Beginner's Guide to PDPL Compliance for WordPress Websites

⚠️ We are not lawyers. This article is for informational purposes only and does not constitute legal advice. We highly recommend consulting with a qualified legal professional to ensure your business is fully compliant with the PDPL and other privacy regulations.

What Is the Personal Data Protection Law (PDPL)?

Saudi Arabia’s Personal Data Protection Law (PDPL) is a privacy law that protects the personal information of people living in Saudi Arabia. It sets clear rules for how businesses collect, use, and store that data.

Like other privacy laws — including the GDPR — the PDPL doesn’t just apply to local businesses. It can affect websites, blogs, and online stores around the world.

The key factor is whether your site handles data from people in Saudi Arabia. If your audience is global, then there’s a good chance the PDPL applies to you.

That’s why it’s important to understand what this law covers and what steps you can take to stay compliant.

Why WordPress Users Should Care About PDPL Compliance

Not following the PDPL can lead to serious consequences. Fines can reach up to SAR 5 million (about $1.3 million USD) per violation. That amount can double for repeat offenses.

If you unlawfully share sensitive data, especially with the intent to harm someone, the penalties are even more severe. You could face up to two years in prison and fines of SAR 3 million (around $800,000 USD).

But PDPL compliance isn’t just about avoiding legal trouble — it’s also about trust.

When you give visitors more control over their personal data, you show that your site respects their privacy. Over time, building trust can get you more signups, conversions, and sales, helping to grow your online business.

By contrast, failing to comply with PDPL can really damage your reputation.

And remember, the PDPL might apply to you even if you don’t live in Saudi Arabia. Just like GDPR and the California Consumer Privacy Act (CCPA), it’s based on whose data you collect, not where you’re located.

With all that said, almost all WordPress users should care about PDPL compliance.

How PDPL Affects Your WordPress Site

The first step to PDPL compliance is understanding what counts as personal data.

That includes anything that can identify someone, such as their name, email address, IP address, physical address, or even their browsing history through cookies.

As a WordPress site owner, here are some of the key rights and responsibilities you need to know:

  • Right to Be Informed: You must clearly tell visitors what data you collect, how you use it, and whether you share it with third parties. This info should be easy to find — don’t make people dig through your site to locate it.
  • Right to Access: Users can request a copy of the personal information you’ve collected about them.
  • Right to Correction: If someone’s data is inaccurate or incomplete, they have the right to ask you to update it.
  • Right to Delete: People can ask you to delete their personal data.
  • Right to Object: Users can say no to how you’re using their personal information.
  • Right to Data Portability: Individuals can request their data in a machine-readable format and transfer it to another service.

Throughout this guide, I’ll show you exactly how to support these rights using simple tools and beginner-friendly tips.

Beginner’s Guide to PDPL Compliance for WordPress Websites

Navigating compliance can feel overwhelming, especially when the stakes include damaged reputations, steep fines, or even jail time.

But at its core, the PDPL is about being clear and transparent with your users. It’s all about giving people control over how you collect and use their personal information.

With that in mind, let’s walk through the steps you can take to meet the PDPL’s requirements.

Perform Regular Data Audits

The first step to PDPL compliance is knowing what personal data you collect and how you handle it. That means doing a full data audit of your WordPress site.

A good audit shows whether your current practices match PDPL rules — and where you may need to make changes.

To help you get started, here are some key questions to ask:

  • What personal data do I collect? This could include names, email addresses, IP addresses, payment details, and more.
  • How do I use this data? Look at how you process information, whether you share it with team members or third-party tools like ad networks or email services.
  • Do I really need this data? If you’re collecting something you don’t actually use, then it’s better to stop.
  • How secure is it? Review your WordPress security, check who has access, and consider using security plugins to add extra protection.

After the audit, be sure to write down your findings. Keep a record of what you collect, how you use it, and what steps you’ve taken to stay compliant.

This documentation helps prove you’re serious about privacy, which is important if you’re ever audited or asked to explain your practices.

As a general rule, it’s smart to do a new audit at least once a year. You should also review your data handling anytime you change how your site collects or uses personal information.

And since privacy laws can change, it’s a good idea to re-check everything whenever the PDPL is updated.

Collect Less Data 

Once you’ve reviewed the data you collect, the next step is to ask: Do I really need all of it?

The PDPL says you should only collect data that’s relevant, necessary, and tied to a specific purpose. That means no gathering extra information just in case you might need it later.

If something isn’t essential, then you should stop collecting it.

This principle is called data minimization, and it’s not just about compliance. It also makes your life easier.

When you collect less data, it’s simpler to stay organized and respond to user requests. For example, if someone asks you to delete their data or send them a copy, you’ll have less to dig through.

So, as you go through your forms and plugins, look for anything you can remove or simplify.

Create a Privacy Policy 

Your privacy policy is where you explain what personal data you collect, how you use it, and who you share it with. Think of it as your website’s promise to be transparent with visitors.

Under the PDPL, having a clear and accessible privacy policy isn’t optional — it’s required.

The good news is that WordPress comes with a built-in privacy policy generator. You can use it as a starting point and customize it for your site.

How to add a privacy policy to your WordPress website

You can also check out the WPBeginner privacy policy as an example.

If you use our template, make sure to replace all mentions of WPBeginner with your own blog or business website.

WPBeginner's privacy policy

We also have a complete step-by-step guide on how to add a privacy policy in WordPress if you need help getting started.

If you already have a privacy policy, now’s the time to update it. Make sure it includes your users’ PDPL rights, like the Right to Be Informed and Right to Access, along with clear instructions for how they can exercise those rights.

For example, you could link to a form where users can request a copy of their data, or show them how to ask for deletion.

And don’t forget to review your privacy policy regularly to keep it accurate as your site grows and evolves.

Add a Cookie Popup

Under the PDPL, you must get explicit consent before placing cookies that collect personal data, except for cookies that are strictly necessary.

This means you need to let visitors know about your cookie practices and get their clear consent before using non-essential cookies.

The best way to do this is by adding a cookie popup to your WordPress website.

An example of a cookie banner, created using WPConsent

A well-designed popup helps you support key PDPL rights, starting with the Right to Be Informed. It clearly tells users what types of cookies you use, what data those cookies collect, and why you’re collecting it.

Your popup can also support the Right to Object. Users can simply click ‘Reject’ to refuse non-essential cookies without digging through settings.

There are lots of cookie banner plugins out there, but I recommend using WPConsent. It’s a powerful WordPress privacy plugin built to help you meet PDPL, GDPR, and similar privacy standards.

In fact, we use WPConsent on all our websites, including WPBeginner. It’s easy to set up and handles cookie banners, consent logs, and more.

An example of a cookie consent banner, created using WPConsent

💡 Want a deep dive into WPConsent? Check out our full WPConsent review, where we share our hands-on experience.

To get started, install and activate the WPConsent plugin like you would with any WordPress plugin.

WPConsent will automatically scan your site and list all the cookies it finds.

How to scan your WordPress blog or website for cookies

From there, the setup wizard helps you customize your popup. As you make changes, you’ll see a live preview so you know exactly how it will look on your site.

You can adjust the layout, position, font size, button style, colors, and even add your own logo.

Adding a customizable cookie consent popup to your website

Once you’re happy with the design, just save your changes. The cookie banner will now appear on your site and begin collecting consent from your visitors.

Create a Dedicated Cookie Policy 

In addition to using a cookie popup, I also recommend creating a separate cookie policy page. This gives you a clear place to explain exactly how your site uses cookies and what kind of data you collect through them.

By writing a dedicated policy, you’re supporting the PDPL’s Right to Be Informed and building trust with your visitors.

Your cookie policy should list the different types of cookies your site uses, such as essential, analytics, or marketing cookies. You can also describe what these cookies do, like tracking your visitors or showing personalized ads.

I also suggest explaining what kind of personal information these cookies collect. That could include IP addresses, browsing behavior, or referral URLs.

Try to avoid technical jargon. Instead, use simple, clear language so anyone can understand your policy.

If you’re using WPConsent, you’re in luck. The plugin can automatically generate a detailed cookie policy for you. Just go to WPConsent » Settings and choose the page where you want the policy to appear.

How to generate a detailed cookie policy using WPConsent

WPConsent will create the content for you, based on the cookies it found during the scan.

You can then display this content using a shortcode on your selected page.

An example of detailed cookie policy

Once the policy is live, make sure visitors can find it. I recommend adding a link in your website footer or right inside your privacy policy.

You can also include a link in your cookie popup so that people can read the full policy before choosing their cookie preferences.

If you created your popup with WPConsent, the link is already built in. When someone clicks the ‘Preferences’ button, they’ll see a link to your cookie policy.

Allowing users to change their cookie consent settings

Then, they’ll need to select the ‘Cookie Policy’ link. 

And that’s it! WPConsent will take them straight to the right page.

How to comply with the PDPL using a privacy plugin in WordPress

Block Third-Party Scripts 

One of the trickiest parts of PDPL compliance is dealing with third-party tracking tools. I’m talking about services like Google Analytics and Facebook Pixel.

These tools often collect personal data, such as IP addresses, location info, or behavior across pages. That means they fall under the PDPL, and you need to get consent before loading their scripts.

That’s why I recommend setting up automatic script blocking. This keeps those scripts from running until a visitor has clearly opted in.

If you’re using WPConsent, then you’re already covered. It comes with automatic script blocking built right in.

Behind the scenes, it detects and pauses common tracking scripts like Google Analytics, Google Ads, and Facebook Pixel — without breaking your website.

Track and Log Visitor Consent

Websites need to collect and log cookie consent data to comply with privacy laws and be able to prove that they obtained valid consent from users. This comes in handy in case of audits, complaints, or legal investigations.

This practice of logging visitor consent protects your business, helps build trust with your visitors, and also provides solid evidence that you’re complying with the PDPL.

If you’re using WPConsent, the plugin takes care of this for you. It automatically logs each consent event along with key details like the visitor’s IP address, what they agreed to, and the date and time.

You can see all this information right in your WordPress dashboard. Just go to WPConsent » Consent Logs.

How to comply with the PDPL by keeping a detailed consent log in WordPress

Then, if you ever need to share the log with a legal team or an auditor, you can export the data directly from your dashboard.

Allow Users to Withdraw Consent 

The PDPL states that people have the right to change their minds and withdraw consent at any time. To stay compliant, you need to give your visitors a simple and visible way to do that on your website.

I recommend using WPConsent’s Do Not Track add-on. It lets you create a dedicated ‘Do Not Track’ page in just a few clicks.

Once you install the add-on, just go to WPConsent » Do Not Track » Configuration to set up your form.

Complying with the Personal Data Protection Law

Visitors can then go to this page and fill out a short form to withdraw their consent.
It’s quick, user-friendly, and shows that you respect their privacy choices.

After setup, you can choose the page where this form appears, and WPConsent will handle the rest behind the scenes.

Adding a 'Do Not Track' page to your website

WPConsent also stores all these requests directly in your WordPress database. That means you stay in control of the data and don’t have to rely on third-party services to track user consent changes.

Plus, the plugin logs every request automatically. So if you’re ever audited, you’ll have clear documentation showing that you honored your visitors’ decisions.

Alternatively, you can use WPForms to create a data deletion form on your site. Unlike WPConsent, WPForms lets you fully customize the form the way you want.

It also comes with a dedicated ‘Right to Erasure Request Form’ template. This template gives you a solid foundation, so you can add this crucial form to your site quickly and easily. This directly addresses the ‘Right to Delete’ I mentioned earlier.

Using a plugin such as WPForms to comply with the Personal Data Protection Law

You can customize this template in WPForms’ drag-and-drop editor, which makes it easy to add, remove, and edit fields.

When you’re happy with the form, you can add it to your site using either a shortcode or the WPForms block.

How to add forms to your WordPress blog or website using a ready-made block

🌟 Here at WPBeginner, we’re not just recommending WPForms – we built all our own forms with it! That’s right, from our contact pages to our surveys, it’s all powered by WPForms. We’ve put it to the test daily, and that’s why we’re so confident in telling you it’s the real deal. 

Ready to see why it’s our go-to? Dive into our detailed WPForms review.

After adding the form to your site, you need to make it easy for visitors to find. For example, you can link to the form from your privacy policy page, or even embed it directly there.

You can also put a link in your website’s footer. The goal is simple: make it easily accessible to your website visitors.

Next, you will need to review any user requests for data deletion.

Luckily, WPForms isn’t just a form builder. It also comes with a powerful entry management system that makes it easy to track form submissions.

To review your entries, simply head over to WPForms » Entries. Here, you’ll see a list of all the forms across your WordPress website.

Filtering data deletion requests in the WordPress dashboard

Simply find your data erasure form and click it.

You’ll now see all your ‘delete data’ requests.

Managing data erasure requests using WPForms

So, what happens when you spot a new deletion request?

The good news is that WordPress itself comes with a built-in Erase Personal Data tool. This tool lets you erase all the user’s personal information, so you don’t need to install any extra WordPress plugins.

Just head over to Tools » Erase Personal Data to access this tool.

Erasing the user's data, in compliance with privacy laws

In the ‘Username or email address’ field, you need to type in the user’s information you want to remove.

This tool even has a handy ‘Send personal data erasure confirmation email’ setting. This will automatically let the user know that you’ve completed their request, keeping them informed and building more trust.

How to notify your users automatically

Handle Data Access Requests Efficiently

Under the PDPL, visitors have the right to ask for a copy of all the personal information you’ve collected about them. Thankfully, you can handle these ‘data access requests’ in pretty much the same way as the ‘data deletion’ requests we just explored.

The easiest way to support this is by adding a request form to your site. I recommend using WPForms, which includes a ready-made Data Request template.

Just select the template and customize it in the drag-and-drop editor. You can easily adjust the fields as needed to collect the information you need to fulfill each request.

WPForms' ready-made data request template

Once the form is live, WPForms will log each submission inside your WordPress dashboard. That way, you can respond quickly when a new request comes in.

To view entries, go to WPForms » Entries and select your data request form.

Managing data erasure requests in the WordPress dashboard

You’ll now see all the entries submitted through this form.

When you get a new request, you can fulfill it using WordPress’ built-in Export Personal Data tool. This lets you export all the known data for any user, packaged conveniently in a .zip file.

To create this .zip, just head over to Tools » Export Personal Data.

How to export the user's personal data, in compliance with the Personal Data Protection Law (PDPL)

Just enter the user’s email or username, and WordPress will generate a downloadable file with all the personal data you’ve collected.

Once it’s ready, you can send the zip file directly to the person who requested it.

How to comply with data requests in WordPress

Support the ‘Right to Correction’

The PDPL also gives users the right to ask you to fix or update their personal information if something is wrong or incomplete.

This might happen after someone reviews their data and spots a mistake. Or maybe they’ve moved or changed their phone number and want you to update their profile.

Once again, the easiest way to accept these requests is by adding a dedicated form to your site.

I recommend WPForms for this, too. It includes a Personal Information Form template that works great for correction requests.

The WPForms personal information template

This form comes with many essential fields already built in, such as legal name, preferred nickname, email address, home phone, and cell phone. 

The template even includes an “Update Existing Record” checkbox, so users can let you know they’re submitting a change to their existing profile.

However, every website stores different information, so you may want to customize the form to collect other details. In that case, simply open the template in the WPForms editor and then add more fields to the form using drag and drop.

Adding fields to a compliance form using the WPForms drag-and-drop editor

You can then fine-tune these fields using the left-hand panel. Just repeat these steps until the form collects all the information users might want to edit.

Once you’re done, go ahead and publish the form on your site like you would with any other form.

Make sure users can find this form easily. I usually link to it from the privacy policy or place it in the footer so it’s always accessible.

As always, WPForms displays all submitted form entries directly in your WordPress dashboard. This makes it easy to spot data correction requests as soon as they arrive, so you can act on them quickly.

How you update this information may vary depending on the tools you’re using. For example, you might need to update a record in your customer relationship management (CRM) app or email management software.

If the information is stored directly in WordPress, then you may just need to go to Users » All Users in your WordPress dashboard.

Here, find the user profile you need to update and click its ‘Edit’ link.

How to edit user, customer, and visitor profiles in WordPress

You’ll now see all the essential information WordPress has stored for that user.

From here, you can make any necessary changes and save the user’s updated profile.

How to update a user's profile in the WordPress dashboard

WordPress and PDPL Compliance: FAQs

Understanding online privacy can be a big challenge. So, you might still have some questions about how the PDPL affects your WordPress website.

But don’t worry! At WPBeginner, we’re here to help you understand this important privacy law.

In this section, I’ll cover the most common questions we get asked about PDPL compliance, so  you can get the answers you need.

What happens if my website is not PDPL compliant?

If your website doesn’t comply with the PDPL, you could face serious consequences. That includes large fines, which may reach millions of Saudi Riyals. In severe cases, criminal charges like imprisonment may also apply.

Beyond the legal and financial risks, breaching the PDPL can seriously harm your organization’s reputation. If you don’t seem to care about user privacy, then your audience will quickly notice. When that happens, they will stop trusting you and will almost certainly take their business or readership elsewhere.

Does the PDPL only apply to businesses in Saudi Arabia?

No, the PDPL doesn’t just apply to Saudi-based businesses. If your website collects personal data from someone living in Saudi Arabia, then you’re required to follow the PDPL, even if your business is located elsewhere.

How can I balance user experience with PDPL compliance?

Following the PDPL doesn’t mean you have to sacrifice the user experience. In fact, giving visitors control over their data is a key part of good UX.

Here’s how I recommend balancing both:

  • Show a clear cookie popup that explains how you use cookies in simple terms.
  • Write a privacy policy that’s easy to read and free of legal jargon.
  • Add forms that let users request their data or ask for it to be deleted, so they feel respected and in control.

Are there any exemptions to the PDPL for small websites?

The PDPL generally applies to any website that collects or processes personal data from users in Saudi Arabia, no matter the size. That means most WordPress site owners need to follow it.

There may be exceptions in very specific cases, but these aren’t always clear. If you’re unsure whether the PDPL applies to you, I recommend talking to a legal expert.

What are the key steps I should take to comply with the PDPL?

Every site is different, but here are the basics I always recommend:

  • Create clear privacy and cookie policies that explain your practices in plain, user-friendly language.
  • Run regular data audits to understand what personal data you collect, where it’s stored, and who can access it.
  • Ask for clear, explicit consent before collecting data, and give users a way to withdraw it. A cookie popup can help with this.

By putting these measures into practice, your website will be much closer to meeting the PDPL’s core requirements. 

Additional Resources

Keeping your WordPress site perfectly aligned with the PDPL isn’t a one-time task. In fact, it’s something that needs your ongoing attention. 

To help you continue on this journey, here are some helpful resources you can check out:

I hope this beginner’s guide to PDPL compliance for WordPress websites has helped you understand this important privacy law. Next, you may want to see our expert picks for the best GDPR plugins to improve compliance or our guide on how to perform a security audit.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post Beginner’s Guide to PDPL Compliance for WordPress Websites first appeared on WPBeginner.

The Ultimate Guide to WordPress and CCPA Compliance

27 June 2025 at 10:00

When I launched my first WordPress website, I wasn’t thinking about privacy laws. Like most beginners, I was focused on creating helpful content and getting more traffic.

But times have changed. Now, I hear from many small business owners who are worried about data privacy. Laws like the California Consumer Privacy Act (CCPA) sound intimidating, and with fines reaching $7,500 per violation, it’s easy to see why.

If you’ve felt that same pressure, you’re not alone. Trying to stay compliant while growing your website can feel overwhelming.

That’s exactly why I put this guide together. I’ll walk you through a beginner-friendly, step-by-step plan to help you meet CCPA requirements without getting lost in legal jargon. You’ll learn what data your site collects, how to manage it properly, and which tools can help you stay compliant.

The Ultimate Guide to WordPress and CCPA Compliance

⚠️ We are not lawyers, and nothing on this website should be considered legal advice.

What is the California Consumer Privacy Act (CCPA)? 

Under the California Consumer Privacy Act (CCPA), California residents have the right to control how companies collect and use their personal information.

It’s also important to know that the CCPA’s definition of ‘personal information’ is very broad. It includes things like names, email addresses, browsing history, and even biometric data. 

Just like other privacy laws, such as the General Data Protection Regulation (GDPR), CCPA doesn’t just affect businesses based in California.

It can actually affect many WordPress websites, blogs, and organizations all over the world. If you handle data related to people living in California, then the CCPA may apply to you, regardless of your location.

Now, before you start to worry, it’s important to know that the CCPA doesn’t apply to every single website. It’s mainly aimed at larger businesses.

Generally, your for-profit business needs to comply with the CCPA if it meets one or more of these conditions:

  • Has an annual gross revenue of over $25 million.
  • Buys, sells, or shares the personal information of 100,000 or more California residents or households per year.
  • Gets 50% or more of its annual revenue from selling or sharing California residents’ personal information.

Does your website or business meet these criteria? Then it’s absolutely essential you understand what the CCPA is and what it requires.

Why Should WordPress Users Care About CCPA Compliance?

Ignoring the CCPA can have some pretty serious consequences, including large fines. For example, if you intentionally breach this law, you could be fined as much as $7,500 per violation. 

Even if you break the rules by mistake, the consequences can still be tough. Non-intentional CCPA violations can cost you up to $2,500 per incident. So, even an accident can lead to huge financial penalties.

Plus, complying with the CCPA is about more than just avoiding fines. By giving visitors more control over their personal information, you’re proving that you’re trustworthy. This can get you more signups, conversions, and sales, helping to grow your online business.

By contrast, breaking the CCPA can really hurt your reputation, even if the violation was a complete accident. 

How CCPA Affects Your WordPress Site

CCPA compliance is a big topic, but as a broad overview, there are three core principles that will affect you as a WordPress blog or website owner: 

  • The Right to Know: Users can ask what personal data you collect about them.
  • The Right to Delete: Users can ask you to delete their personal data.
  • The Right to Opt-Out: Users can tell you not to sell their personal information to other companies. 

In this ultimate guide, I will share many tips, techniques, and tools to help you comply with each of these core CCPA principles.

How to Improve Your CCPA Compliance in WordPress

Navigating CCPA compliance can feel like a complex task. But at its core, it’s really all about being clear and open with your users. You also need to give them ways to control how (and if) you collect and use their personal information.

I can’t guarantee that these are the only steps you’ll need to take, but following this guide will put you on the right path to compliance.

That said, let’s get started! You can click the links below to jump ahead to any section:

Perform a Data Audit

As with most data compliance laws, the first step is to identify and document all the different types of personal data you collect, process, and store. This means performing a complete data audit of your website.

I recommend starting by listing all the WordPress plugins and tools that gather data on your site, such as analytics plugins, form builders, and SEO plugins.

You can then carefully evaluate how each one handles user information.

For example, if you’ve created a quote request form on your website, then your form builder plugin might collect the visitor’s name, company name, and job title.

To go a bit deeper, try asking yourself these questions for each tool:

  • What specific personal data does it collect? This might be names, email addresses, IP addresses, payment details, or any other form of personal information.   
  • Where is this data stored? Is it stored locally on your server or sent to a third-party service? 
  • Why is this data being collected? Is it essential, or non-essential? And how are you using that data? 
  • How long is this data kept? Do you have a data retention policy for it?
  • Is this data shared with anyone? In particular, are there any service providers or advertisers involved? 

This may immediately reveal areas where you need to adjust your data handling practices to comply with CCPA. This could involve changing what data you collect, how long you keep it, or who you share that information with.

Collect Less Data 

There’s an easy way to protect your users’ privacy: avoid collecting information you don’t actually need. This is called data minimization. 

It means you only gather the information that’s absolutely essential for your site to work properly. By doing this, you instantly make CCPA compliance much simpler. 

After performing a data audit, I recommend looking critically at all the data you currently collect. Do you really need every piece of information you ask for? 

Data minimization also plays a big part in building trust with your audience. By not asking intrusive questions or gathering unnecessary personal details, you clearly demonstrate that you respect their privacy. This, in turn, will make users feel more confident and comfortable interacting with your website.

Create a Privacy Policy 

A privacy policy is a page that clearly explains what personal data you collect, how you use it, and who you share that information with.

Creating a detailed and comprehensive privacy policy is essential for CCPA compliance, as it helps visitors understand how you collect, store, and use their personal information. 

The good news is that WordPress comes with a built-in privacy policy generator that you can use to get started by going to Settings » Privacy in your WordPress dashboard.

How to generate a privacy policy using the built-in WordPress tools

Alternatively, you can always refer to our WPBeginner privacy policy page as a strong starting point.

If you use our template, then just remember to replace all references to WPBeginner with the name of your business website or blog. 

An example of a compliant privacy policy

We also have a complete, step-by-step guide on how to add a privacy policy in WordPress

Do you already have a privacy policy in place? Then I still recommend updating it with specific information about the CCPA. In particular, you’ll need to explain your users’ rights under the CCPA, such as their Right to Know, Right to Delete, and Right to Opt-Out.

Even more importantly, you must clearly tell visitors how to exercise their CCPA rights.

For example, you could link to a contact form where they can ask for a copy of their data (their Right to Know). Alternatively, you might show them how to request that you delete all their personal information (their Right to Delete). 

Finally, it’s important to regularly review and update your privacy policy. This helps you make sure it always accurately represents your current data handling practices and stays compliant with evolving laws. 

Add a Cookie Popup

Unlike some other privacy laws, the CCPA doesn’t always require users to actively opt in to data collection.

However, the CCPA strongly emphasizes two key points: users have the right to know about data collection, and they have the right to opt out if they choose.

The good news is that a cookie popup can help you achieve both of these important goals. 

A well-designed popup can clearly inform visitors about the types of cookies you use, what data they collect, and why you’re collecting it (their Right to Know). It can also give users a straightforward and easy way to exercise their Right to Opt Out.

There are many different cookie banner plugins on the market. However, I highly recommend using WPConsent because it makes adding a cookie popup or banner to your site incredibly simple.

An example of a cookie consent banner, created using WPConsent

WPConsent is a privacy compliance plugin designed to help you meet many different privacy standards, including the CCPA. 

We actually use WPConsent to display cookie banners and manage user consent across all our own websites, including WPBeginner. This firsthand experience has shown us just how effective and user-friendly WPConsent is.

An example of a cookie banner, created using the WPConsent WordPress plugin

💡 Want to learn more about our direct experience with WPConsent? Be sure to check out our in-depth WPConsent review.

To get started, you simply install and activate the plugin, as normal.

Upon activation, WPConsent will scan your entire site for active cookies and record all the ones it finds. 

Scanning your WordPress website for cookies

Next, WPConsent’s helpful setup wizard will show you how to customize your cookie popup.

As you make changes, WPConsent will display a live preview, allowing you to see exactly how the banner will appear on your WordPress website.

You can then adjust the layout, position, font size, button style, colors, and even add your own custom logo.

How to create a cookie popup for your WordPress blog or website

When you’re happy with how everything looks, just save your changes, and you’re done. The cookie banner will now appear on your WordPress website.

For details, see our guide on how to add a cookie popup in WordPress.

Write a Separate Cookie Policy 

In addition to a popup or banner, it’s also a good idea to create a cookie policy with specific details about how your site uses cookies. This helps visitors better understand how you collect and use their personal information.

In your cookie policy, you should clearly list the different types of cookies your site uses, like essential, analytics, or marketing cookies. You can also explain their purpose, such as tracking website visitors or delivering targeted advertisements. 

I also recommend explaining what personal information these cookies collect, like IP addresses or browsing history.

To encourage visitor trust, you should keep your cookie policy easy to understand. This means avoiding technical terms or legal jargon. Instead, use clear and straightforward language that anyone can follow.

Visitors should be able to find your cookie policy easily. I recommend adding a link to it within your main privacy policy and also inside your cookie banner.

Thankfully, a tool like WPConsent can handle all this for you. As I’ve already shown, WPConsent can scan your site and identify all active cookies. 

But WPConsent can also use this information to generate a cookie policy. You can find this setting by going to WPConsent » Settings.

How to easily and quickly generate a cookie policy, using the WPConsent compliance plugin

Within the plugin’s settings, simply select the page where you want to display the cookie policy.

WPConsent will then go ahead and add this policy to your chosen page. It’s as easy as that!

An example of an automatically-generated, detailed cookie policy

Are you using WPConsent to display a cookie popup? Then visitors can easily access this cookie policy directly.

They simply have to click on the ‘Preferences’ button.

Allowing users to edit their cookie preferences on your WordPress website, blog, or online store

Then, they’ll need to select the ‘Cookie Policy’ link.

And that’s it! WPConsent will take them straight to the right page.

How to add a cookie policy link to your WordPress popups

Block Third-Party Scripts 

One of the trickiest things about CCPA compliance is that it also applies to any external tracking tools you’re using on your site. This includes things like Google Analytics and Facebook Pixel.

That’s because these tracking tools often collect data from your visitors. According to CCPA, you’re responsible for managing how these third-party tools collect, store, and use this data. You also need to let visitors opt out of these third-party tools, if they choose.

So, how do you control external tracking tools? I recommend using automatic script blocking.

This feature stops tracking scripts from loading until the visitor clearly gives their consent. This helps you meet the CCPA’s Right to Know requirement, as visitors clearly understand what they’re agreeing to.

Here, you’re also making third-party tracking opt-in rather than just opt-out. This approach goes beyond the basic standards set by the CCPA.

By taking things one step further, you’re demonstrating a strong commitment to protecting visitor privacy. It shows that your priority is user data protection, rather than simply meeting the minimum standards outlined by the CCPA.

Thankfully, WPConsent has an automatic script blocking feature that works out of the box. Behind the scenes, it automatically detects and blocks common tracking scripts like Google Analytics, Google Ads, and Facebook Pixel, without causing your site to break. 

As soon as the visitor gives their consent, WPConsent executes the script instantly. This means it provides a truly seamless user experience because it doesn’t need to reload the page.

Track and Log Visitor Consent

Even if you’re following CCPA regulations perfectly, there’s always a chance your data handling practices might be questioned. You could even get audited by regulators.

If that happens, you’ll need to prove that you’re respecting your visitors’ choices. With that in mind, it’s super important to track and log user consent.

By keeping a comprehensive log, you’ll always have concrete proof that you’re complying with all the CCPA’s requirements.

Once again, WPConsent does the hard work for you by automatically logging user consent. It records all essential details, including the user’s IP address, their specific consent choices, and the date and time when those choices were registered.

WPConsent then displays all this information directly within your WordPress dashboard. You can find it by going to WPConsent » Consent Logs.

How to prove your CCPA compliance, by providing a detailed log

Do you need to share this log with someone else, such as an auditor? You can simply export it from your WordPress dashboard, making it easy to provide proof of your compliance.

Build Trust with Opt-Outs

Under the CCPA, you must give visitors a way to opt out of the sale or sharing of their personal information.

The easiest way to do this is by using WPConsent’s Do Not Track add-on. This lets you add a dedicated ‘Do Not Track’ page to your site with just a few clicks. 

You can find it by going to WPConsent » Do Not Track » Configuration in your dashboard.

Adding a 'Do Not Track' form and page to your WordPress blog or website

Visitors can simply head over to this page and opt out of selling or sharing their personal data.

This straightforward approach enables visitors to exercise their rights without confusion or delay, providing a fantastic user experience

How to achieve CCPA compliance in WordPress

Even better, WPConsent stores all these requests locally in a custom table directly on your site.

In this way, you maintain full control over this sensitive data, and you’re not relying on external services to store crucial compliance records.

And WPConsent records all user requests. This means you can provide clear proof of compliance if you’re ever audited or a user asks about their opt-out status.

Support the ‘Right to Delete’

As I’ve already mentioned, the CCPA clearly states that users can request that you delete their personal data.

There are several ways to do this, but I recommend adding a data deletion form to your site. You can easily do this using a powerful form builder plugin like WPForms

In fact, WPForms has a dedicated Right to Erasure Request Form template that provides a great starting point, helping you set up this important compliance feature quickly and easily. 

How to create a CCPA compliant website, using WPForms

🌟 At WPBeginner, we use lots of different forms – and we created them all using WPForms! We have extensive, hands-on experience with this tool, which is why we feel confident recommending it to our readers. 

Want to learn more about this powerful form builder plugin? Just check out our detailed WPForms review.

After adding this form to your site, I recommend linking to it from your privacy policy page. Alternatively, you can embed it directly on the page. Whatever approach you take, the key is to ensure that visitors can easily find the form.

WPForms also has a powerful entry management system. This means you can easily filter all the submissions from your various forms and identify any data deletion requests that need to be actioned quickly.

To review your entries, simply head over to WPForms » Entries. Here, you’ll see a list of all the forms across your WordPress website.

Filtering your data deletion requests

Simply find your data erasure form and click it.

You’ll now see all your ‘delete data’ requests.

Managing deletion requests directly in the WordPress dashboard

So, what happens when you receive a data deletion request? 

The good news is that WordPress has a built-in Erase Personal Data tool. Just head over to Tools » Erase Personal Data to access it.

Erasing personal data to comply with CCPA

In the ‘Username or email address’ field, type in the user’s information you want to remove.

This tool even includes a ‘Send personal data erasure confirmation email’ setting, which lets the user know when you have completed their request. 

How to comply with the California Consumer Privacy Act (CCPA)

Handle Data Access Requests Efficiently

Users should be able to request a copy of all the personal information you’ve collected about them. Thankfully, you can handle this in much the same way as the data deletion requests we just covered. 

To start, you can add a dedicated form to your site using WPForms. Once again, WPForms makes things very straightforward by offering a ready-made Data Request template.

This template is designed to gather all the information you need to fulfill the user’s request efficiently.

How to comply with the California Consumer Privacy Act (CCPA) using plugins such as WPForms

After adding this form to your site, WPForms will automatically log and display all these requests directly in your WordPress dashboard. This makes it easy to identify data access requests as they come in, so you can act on them quickly.

Once again, to see these submissions, go to WPForms » Entries. Here, select your data request form.

Viewing data requests in the WordPress dashboard

You’ll now see all the entries for this form.

You’ll also be happy to learn that WordPress has a built-in Export Personal Data tool. You can use this tool to export all the known data for any user, conveniently packaged as a .zip file.

To create this .zip, simply head over to Tools » Export Personal Data.

Exporting the user's personal data from your WordPress dashboard

You can now type in the person’s username or email address to find the correct record.

Then, simply share the .zip file with the person who made the request.

Exporting personal data, in compliance with the California Consumer Privacy Act (CCPA)

WordPress and CCPA Compliance: FAQs

Online privacy is a serious topic, so I’m not surprised if you still have some questions about CCPA compliance and how it affects your WordPress website. 

In this section, I’ll cover the most frequently asked questions WPBeginner gets on this topic and offer some straightforward, practical advice.

How does CCPA affect how I use cookies on my WordPress website?

To comply with CCPA, you must clearly tell visitors how your site uses cookies for tracking. 

It’s also important to remember that the CCPA generally takes an opt-out approach to cookies, rather than an opt-in one. This means you can still use cookies by default, but you must allow visitors to opt out if they choose. 

The CCPA also gives users the right to opt out of their personal information being sold and shared.

The issue is that the definition of ‘sale or sharing’ is very broad, and may include data your website makes available to other companies via cookies. Targeted ads are a perfect example of this. 

So, if your cookies might lead to the ‘sale or sharing’ of data, then it’s even more important to offer a clear and easy way for visitors to opt out. 

What happens if I fail to comply with CCPA?

Non-compliance can lead to serious consequences for your WordPress site and business. You might face big financial penalties, with fines going up to $7,500 for each intentional violation. 

Even if you breach the CCPA by mistake, you can still be fined up to $2,500 per incident. These fines can add up very quickly, especially if the violation affects many users.

In addition to fines, breaching the CCPA can damage your reputation. 

In today’s digital world, users care deeply about their privacy. If your audience thinks you don’t care about their privacy, then they’ll lose trust in your brand, and you’ll struggle to grow your online business.

How often should I review my CCPA compliance?

Every website is different, but I generally recommend reviewing your CCPA compliance at least once per year.

It’s also really important to review your compliance every time you make big changes to how you handle user data. 

Additional Resources

Staying informed and proactive is essential for maintaining CCPA compliance on your WordPress site.

The following resources offer valuable insights and practical tools to help you keep up with evolving privacy regulations and best practices:

I hope this ultimate guide to WordPress CCPA compliance has helped you understand this important privacy law. Next, you may want to see our expert picks for the best WordPress security plugins or our guide on how to add WordPress analytics without cookies

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post The Ultimate Guide to WordPress and CCPA Compliance first appeared on WPBeginner.

How to Use AI to Translate Your Website (2 Easy Methods)

23 June 2025 at 10:00

For many small business owners, translating a website feels like a luxury they simply can’t afford.

I know that feeling all too well. Here at WPBeginner, we’ve translated our site into multiple languages, including Spanish, Portuguese, and Japanese. And in the early days, we learned a tough lesson: traditional translation methods are incredibly time-consuming and expensive.

For a small business owner, that kind of investment often isn’t practical. But what if you could get all the benefits of a multilingual site without the high price tag?

That’s exactly what AI-powered tools offer. Instead of hiring a translator or digging into code, you can use artificial intelligence to quickly translate your entire WordPress site.

In this guide, I’ll show you how to translate your content step-by-step, even if you’ve never used artificial intelligence before.

How to Use AI to Translate Your Website

Why Do You Need AI Translation for Your Website?

Translating your WordPress site into multiple languages can get complicated quickly.

Manual translation takes a lot of time, especially if you’re regularly updating your content. On the other hand, hiring professional translators can help with quality, but it’s often expensive and hard to manage.

That’s why many website owners use WordPress translation plugins. But not all of them deliver the same results.

Some tools have trouble matching your brand voice or handling industry-specific language. This can stop your content from connecting with your target audience.

This is where AI-powered translation stands out.

With the right settings, AI tools can follow your brand guidelines and use your custom glossary to produce more natural, consistent translations. They even learn from your edits, so translations improve over time.

Best of all, it’s fast. What used to take hours or days can now be done in just minutes, without sacrificing quality or consistency.

In this guide, I’ll show you how to use AI to translate your WordPress site. Here are the tools and methods I’ll cover:

Method 1: Using Weglot’s AI Language Model (For Your Entire Website)

Weglot is the best website translation tool, and their AI Language Model feature is a game-changer for translating your entire website.

Unlike basic translation tools that swap words from one language to another, Weglot’s AI actually learns your brand’s personality and creates translations that sound like you wrote them originally.

Weglot's homepage

What’s great about this feature is that it actually learns from you. If you make any manual changes or add specific words to your glossary, then the AI will learn from them.

Over time, the more you use it, the better it gets at sounding just right for your business in every language. It continues to improve, so your translations become even more accurate and true to your brand.

For more insights into the tool, you can see our detailed Weglot review.

✋ Heads up: Weglot uses a two-step process. First, it instantly translates your entire website using high-quality machine translation. Then, you use its AI Language Model to review and improve those translations. I’ll walk you through both parts of the process!

Step 1: Get a Weglot Account

You’ll need a Weglot account to start translating your content. The free plan includes 2,000 translated words, but the AI Language Model is available in the Pro plan or higher.

Keep in mind that all plans come with a 14-day free trial, so you can try out the features and see if they fit your needs.

Go ahead and choose a plan from the Weglot website by clicking ‘Start free’ beneath the one you want to use.

Weglot pricing plans

This will take you to the signup page.

You need to enter your email address, create a strong password, and click the ‘Sign up’ button.

Weglot signup page

Upon registration, Weglot will take you to the dashboard.

From here, you can go ahead and click the ‘Create project’ button.

Weglot's create project button

On the next screen, you need to enter a name for your new project. This is for your reference only, but we recommend using a clear name for easier organization.

After that, you’ll choose the website technology in the dropdown field. In this case, you can click ‘WordPress.’

With that done, go ahead and click ‘Next.’

Entering project name and choosing the CMS

On the next screen, Weglot will show you its API Key.

Keep this tab open, as you’ll need it to connect your Weglot account and your WordPress website.

The project API in Weglot's dashboard

Step 2: Install and Activate the Weglot Plugin

Now, you can install the Weglot plugin on your WordPress site by going to Plugins » Add New and searching for ‘Weglot.’

Click the ‘Install Now’ button, then activate the plugin after the installation is complete.

Installing the Weglot plugin

Upon activation, you’ll see a new ‘Weglot’ menu item appear in your WordPress admin sidebar.

For more information, check our guide on how to install a WordPress plugin.

Step 3: Set Up Your Weglot Account and Basic Translation

After activating the plugin, click on ‘Weglot’ in your WordPress admin area.

This will open the ‘Main configuration’ panel, where you’ll connect your WordPress site to your Weglot account.

Weglot plugin's main configuration page

Simply copy the API key from your Weglot dashboard and paste it into the ‘API Key’ field.

Weglot will then verify your account.

Adding Weglot's project API to WordPress

Once verified, you’ll see a checkmark.

Next, you can then select your original language (the language your website is currently written in) and choose which languages you want to translate to.

🧑‍💻 Pro Tip: I recommend starting with just one or two target languages initially. This way, you can easily test the AI translation quality and fine-tune your settings before translating more content.

Setting up the languages

With that done, don’t forget to click the ‘Save Changes’ button.

And after a few seconds, you’ll see a success message.

Connection success message

If you close the notification, you might notice that Weglot unlocks more customization options.

On the same page, you can customize your language switcher design, configure the widget style, and choose where the language switcher appears on your site.

Customizing the language button design

At this point, Weglot has applied a first layer of standard machine translation across your entire site. This provides you with a complete, translated version to get started.

If you visit your website, you’ll see the language switcher.

Previewing Weglot's language switcher

In the next steps, I’ll show you how to use the AI Language Model to refine and improve these translations to match your brand voice.

Step 4: Build Glossary Rules for Your Translations

To start improving your translations, it’s a good idea to build your glossary rules first.

A glossary is like a rulebook for the AI. It lists words that should never be translated (like your brand name, product names, or industry terminology) or that must always be translated a certain way.

Without a glossary, AI tools might translate these terms incorrectly or inconsistently. This can confuse your readers, which can harm the user experience or even damage your brand identity.

To start, let’s navigate to the ‘Project’ page and click the one you just created from the Weglot dashboard. This will open the project’s configuration panel.

Selecting a project to configure translations

To build glossary rules, you can switch to the ‘Glossary’ tab.

Then, click the ‘Add glossary rule’ button

Add glossary rule button

In the popup that appears, you will need to:

  • Set up your rule, whether it’s to ‘Never translate’ or ‘Always translate.’
  • Type in the word you want to set the rule for in the ‘Enter word’ field.
  • Choose a target language or leave the ‘Language’ field empty to apply for all languages you have on your site.
  • Make it case-sensitive (or not).

For example, my first rule is “Never translate ‘Example Website’ to Indonesian.”

Add glossary rule popup

Once you’ve set up the rule, you can click the ‘Save’ button.

Weglot will then redirect you to the ‘Glossary’ tab, where you’ll see all the rules you created in a table.

Glossary list

You can continue adding rules by clicking the ‘Add glossary rule’ button and repeating the same process.

Step 5: Configure Your Custom AI Language Model Settings

Now it’s time to set up Weglot’s AI Language Model.

In your project’s configuration panel, navigate to the Settings » Language Model.

From here, click on the ‘Configure’ button to start building a more personalized translation system.

Accessing Language Model settings

The setup process walks you through several key areas that help the AI understand your brand.

You can start with your website description, where you’ll write 2-3 sentences explaining what your small business does and what makes it unique.

The most important thing is to be specific about your brand right from the beginning. Context makes a big difference, so be sure to provide as much background as possible.

For instance, you could let the AI know: “Our audience includes DIY enthusiasts.”

If you want to explain your tone, don’t just say it’s “friendly.” Instead, you can try to be more specific with phrases like “warm and encouraging” or “practical with a can-do attitude.”

For example, if your WordPress blog is for sharing DIY projects, you could say:

“This website is a go-to resource for DIY lovers who enjoy gardening, cooking, home improvement, and other hands-on projects. We share helpful how-tos, step-by-step guides, and creative ideas to inspire and support your next project. Our tone is warm, practical, and encouraging, like chatting with a knowledgeable friend who’s tried it themselves and wants to help you succeed.

Adding specific website description

Next, you’ll define your tone of voice.

Weglot has 3 options for this – Informal, Neutral, and Formal. If you’re not sure what to pick, you can click on each one, and Weglot will show you an explanation:

  • Informal: A friendly and conversational tone that creates a casual atmosphere.
  • Neutral: A balanced and professional tone suitable for most business contexts.
  • Formal: A professional and authoritative tone ideal for official communications.
Setting tone of voice

After that, you’ll define your target audience by choosing from the 3 available groups: General, Technical, and Non-Technical.

Here’s what each group means:

  • General: Targets a general audience. Use standard terminology to address the broadest possible audience.
  • Technical: You are targeting users with technical knowledge and expertise. Use industry-specific terminology when needed.
  • Non-technical: Targets readers who have limited technical knowledge of industry-specific terminology. Use plain and easily understandable language.

Don’t forget to click ‘Save Changes’ when you’re done.

Setting target audience

Near the end of the page, you’ll see advanced settings for your language model. These let you fine-tune how Weglot handles translations on your site.

Here, you can choose to:

  • Use the existing glossary rules – This tells Weglot to follow the glossary you’ve set up, so your preferred terms and brand-specific wording stay consistent across all translations.
  • Use manual translation – If you’ve made manual edits to your translations, enabling this allows Weglot’s AI to learn from them and improve future suggestions. It helps the AI better match your tone and writing style over time.

Just toggle on the options you want to use and then click ‘Save’ to keep your changes.

Language Model's advanced settings

Step 6: Apply AI Translations to Your Content

After configuring your AI Language Model, you can apply it to your existing translations.

Simply navigate to Translations » Languages and then click on the language pair you want to edit. This will take you to the translations list.

Accessing all translatable content

You’ll see that your content has already been translated using a standard engine. To improve it with your custom AI settings, you have full control over which translations get the AI treatment.

Simply hover over a section and click the ‘Improve with AI’ button.

The AI Language Model system will then process your content using all the brand guidelines and terminology you’ve set up.

Improve with AI button

Each translation that gets processed with your AI Language Model will show a ‘GenAI’ tag.

This makes it easy to track which content has been improved with your custom AI settings versus standard translations.

Gen AI label in Weglot

You can apply your AI Language Model to individual translations one by one.

Alternatively, you can select up to 25 translations at a time for bulk processing.

Bulk editing with AI

🧑‍💻 Pro Tip: Since most AI translation tools charge based on usage, it’s smart to start with your high-priority pages – like your homepage, key product pages, and main calls-to-action.

Also, don’t forget to keep an eye on your credit usage, especially during the first month when it’s easy to get caught up in the excitement.

Step 7: Monitor and Refine Your AI Translations

After applying AI translations to your content, it’s important to review the results and make adjustments. The AI does excellent work, but it’s not perfect, especially when it first learns your brand voice.

Here are some tips:

  • Check a few translated pages on your live website to see how the AI-generated content flows and sounds to real visitors.
  • Pay attention to how well it maintains your brand personality and whether technical terms are handled correctly.

When you find translations that need tweaking, you can make those edits manually in the Weglot dashboard. Just go to the section and edit it right in the translation field.

Manually editing AI-generated translation

Weglot will then update the status to ‘Manually edited translation.’

Here’s the smart part: The AI learns from your manual corrections and applies those lessons to future translations automatically.

This creates a feedback loop where your AI language model improves over time. The more you use it and refine it, the more accurately it captures your unique brand voice across all languages.

That’s it! You’ve successfully used Weglot’s AI Language Model to create high-quality, on-brand translations for your website.

Method 2: Using SeedProd’s AI Translation (For Page Content)

Weglot is designed for translating your entire website automatically. On the other hand, SeedProd, which is the best drag-and-drop page builder, is perfect for translating content across your WordPress pages.

This method is perfect if you don’t need to translate your whole site but want to quickly create a specific landing page for a campaign in another language.

For example, you could launch a sales page in Spanish for a special promotion without changing anything else on your English website.

Drag and drop landing page builder

✋ Heads Up: It’s important to know that SeedProd translates content on a page-by-page basis within its editor and does not create a sitewide language switcher.

For more information about the plugin, check out our detailed SeedProd review.

Step 1: Install and Set Up SeedProd

First, you’ll need to sign up for an account on the SeedProd website.

Just click on the ‘Get SeedProd Now’ button and follow the registration process.

SeedProd's homepage

Once you have signed up for an account, you will be taken to your SeedProd dashboard, where you need to download the zip file for the plugin.

Then, it’s time to install it on your WordPress website.

Go to Plugins » Add New Plugin then click on the ‘Upload Plugin’ button.

The Upload Plugin button

This will open the file uploader.

Click on the ‘Choose File’ and upload the SeedProd zip file from your computer.

Select plugin zip file to upload and install in WordPress

Once uploaded, you can click the ‘Install Now’ button and then ‘Activate’ when it appears.

For more information, see our guide on how to install a WordPress plugin.

You will then be redirected to a page where you need to enter your SeedProd license key. You can find this in your SeedProd account.

Adding the SeedProd license key to your WordPress website

Step 2: Create a Page with SeedProd

Next, you can navigate to SeedProd » Landing Pages in your WordPress admin area to create a new page.

Simply click ‘Add New Landing Page’.

Add new landing page

After that, you’ll need to choose a template.

SeedProd has lots of template options, which are organized into different campaign categories, including coming soon, thank you, and 404 pages. You can click on the tabs at the top of the screen to filter templates based on campaign type.

Since we are creating a landing page, you may want to take a look at the Sales, Webinar, or Lead Squeeze tabs.

SeedProd lets you preview each template. Simply hover your mouse over it and then click on the magnifying glass.

Previewing a landing page template

Once you have found the perfect template, click the checkmark button.

This will open a popup where you can name your landing page.

Inserting the landing page details in SeedProd

When the page builder opens, you’ll see your content layout on the right side and the building tools on the left.

This is also where you’ll find the AI translation features for individual page elements.

SeedProd's drag and drop editor

You can now start building and customizing your landing page by dragging and dropping blocks from the panel on the left onto the page on the right.

For details, see our guide on how to create landing pages in WordPress.

Step 3: Translate Page Elements with AI

The AI translation option appears when you select text blocks, like headlines, paragraphs, or button text. You won’t see translation options for images or structural blocks, since those don’t contain translatable text content.

To translate any text block, simply click on it to select it within the page builder. You’ll see the block’s settings panel open on the left side of your screen.

From here, let’s click ‘Edit with AI.’

Edit with AI button

On the popup that appears, go ahead and expand the ‘Translate text to’ dropdown. SeedProd will then present you with more than 50 language choices.

Select the target language you want to translate your content into from the dropdown menu.

Choosing a language to translate the text to in SeedProd

Once you pick your target language, SeedProd’s AI will quickly translate your text in just a few seconds.

You’ll see a preview of the translation, allowing you to check the tone and meaning. If it looks good, just click ‘Insert’ to replace the original text.

What if it doesn’t sound quite right? You can tweak it or generate a new version.

Just repeat this for each text block you want to translate.

Step 4: Review and Publish Translated Content

Before publishing your translated page, I recommend using SeedProd’s preview feature to see how everything looks together.

Click the ‘Preview’ button to view your page as visitors will see it, checking that all translated elements work well together.

The Preview button in SeedProd

Pay special attention to button text, headlines, and calls-to-action to make sure they’re compelling in the target language. Sometimes, direct translations don’t have the same impact as the original, so you might need to adjust phrasing for maximum effectiveness.

Once you’re satisfied with all the translations, you can make the page live by clicking on the ‘Save’ button and then ‘Publish.’

The Save and Publish button

FAQs About Using AI to Translate Your Website

Still have a few questions about AI translations? Below, I’ve answered some of the most common ones to help you make a more informed decision.

How accurate is AI translation compared to human translation?

AI translation has come a long way from the clunky Google Translate days, but it’s not quite at human-level accuracy yet. In my experience, modern AI tools like Weglot‘s AI Language Model get most of the translations right on the first try.

The biggest difference is context understanding. Human translators excel at picking up subtle meanings and cultural references that AI might miss. However, AI wins on consistency because it won’t translate the same term differently across your site like human translators sometimes do.

For most business websites, AI translation provides excellent results that you can fine-tune as needed. The key is treating it as a smart starting point.

Can AI understand regional language differences?

Current AI translation tools handle regional differences better than you might expect, but they’re not perfect.

For example, let’s say you tested translations for Spanish markets. In this case, you may notice that the AI can distinguish between Mexican Spanish and Argentinian Spanish when you specify the target region.

The challenge comes with cultural context and local business practices. AI might translate your content accurately, but it might miss that certain phrases sound too formal or casual for specific regions.

Are there limitations to the current AI capabilities?

Yes, AI translation still has some blind spots. Humor, wordplay, and highly creative content often fail to translate well because they rely on cultural knowledge that AI hasn’t yet fully mastered.

Technical jargon can be tricky, too. While AI handles common business terms well, specialized industry language sometimes gets lost in translation. That’s why building a comprehensive glossary is so important.

I also noticed that AI can struggle with context that spans multiple sentences. It may translate each sentence accurately on its own, but miss how they work together to convey the full meaning.

What are some common challenges in AI translation, and how can they be overcome?

The biggest challenge I see is users expecting AI to work perfectly right out of the box. You need to invest time in training the system with your brand voice and terminology.

Another common issue is inconsistent quality across different content types. Blog posts might translate beautifully, while product descriptions sound awkward. The solution is to create specific guidelines for each type of content you’re translating.

Credit management can also be challenging for beginners. Start small, test thoroughly, and scale up gradually. It’s better to translate 10 important pages perfectly than to translate 100 pages poorly all at once.

More AI Guides to Help Streamline Your WordPress Tasks

I hope this guide helped you learn how to use AI to translate your website. If you found this helpful, you may also want to check out our other guides for growing your business with AI:

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post How to Use AI to Translate Your Website (2 Easy Methods) first appeared on WPBeginner.

How to Enlarge Images Upon Click in WordPress (3 Easy Methods)

20 June 2025 at 10:00

Have you ever clicked on an image on a website expecting it to zoom in, only to realize it doesn’t? It’s a small thing, but it can be surprisingly frustrating for your visitors.

When people can click to enlarge an image—whether it’s a product photo, a blog image, or part of a portfolio—they tend to stay on your website longer and engage more.

I’ve set up this feature on several WordPress sites, and it’s always a quick win.

In this guide, I’ll show you three simple ways to allow users to click to enlarge images on your WordPress website. You don’t need any coding skills, and each method only takes a few minutes to set up.

How to enlarge images upon click in WordPress in post

Why Enlarge Images Upon Click in WordPress?

Letting visitors click to enlarge images on your WordPress website helps them see important details up close.

It’s a simple upgrade that adds a polished, professional feel, especially for portfolios, real estate listings, and photography galleries.

Plus, it can be handy for online stores where customers want to look closely at your products before deciding to buy them.

WordPress includes a basic “Enlarge on click” feature by default. It opens the image right on the page, without any background dimming or visual effect.

This works fine for simple blogs or internal pages, but it looks a bit plain and doesn’t offer much control.

If you want something that looks more modern and polished, then an image lightbox plugin is a better choice.

Instead of simply expanding the image, it opens in a sleek overlay that dims the background and keeps the viewer focused. You also get more control over how the image looks and functions.

Lightbox example

Before I show you these different methods, there’s one more thing to keep in mind: image quality. When someone clicks to enlarge a photo, they expect a clear, high-resolution version. But large image files can slow down your site.

That’s where image optimization comes in. By compressing your images without lowering their visible quality, you can keep file sizes small and your site fast.

This means you can use images with large dimensions (like 1500px wide) that look great when enlarged, without hurting performance.

For help with that, check out our guide on how to optimize images for the web.

In this article, I’ll share 3 different methods that can enlarge your WordPress images when they’re clicked, including some lightbox options.

You can use the quick links below to jump to the method you want to use:

Method 1: Using the Default WordPress Feature (Simple)

After testing different ways to enlarge images, I’ve found that WordPress’s built-in feature is perfect for simple needs.

I’ve used this method when creating documentation or writing technical articles. It’s especially useful when you need readers to see small details in screenshots or examine specific parts of an image more closely.

The main downside is that it isn’t a true lightbox. It simply enlarges the image, and you can’t customize the look or add cool effects.

Step 1: Add Your Image in the WordPress Editor

First, you need to create or open the post where you want to add the clickable image.

Then, in the block editor, click the (+) icon to add a new block and choose ‘Image’ from the block options. Once you do, you’ll see buttons for adding an image in 3 different ways: Upload, Media Library, or Insert from URL.

WordPress media library upload image

At WPBeginner, we always use the ‘Media Library’ option. This makes sure that the title and alt text we add to the image are available if we reuse it in other articles.

I suggest avoiding ‘Insert from URL’. It hotlinks to an image on another website, which means the picture could break on your site if the original is ever removed.

Step 2: Set Up the ‘Enlarge on Click’ Option

After adding your image to the post or page, you can click on it to reveal the image settings.

With the image selected, click the ‘Insert link’ icon in the block toolbar. In the settings that appear, simply toggle on the option labeled ‘Enlarge on click’.

WP Block Editor image expand on click option

Step 3: Configure Image Settings

Now that you’ve enabled the click-to-enlarge feature, you may want to customize the original image’s settings to ensure the best display quality within your post or page.

Select your image and then check the block settings panel on the right side of your screen.

WP Block Editor image resolution settings

You can control how the image looks on the page by adjusting the image’s dimensions. However, this is just the display size.

When a visitor clicks the image, they will see the original, full-resolution image you uploaded to your Media Library. So, make sure you upload a high-quality image at least 1500 pixels wide.

Step 4: Preview Your Image and Publish Your Content

Before you publish your post or page with the ‘enlarge on click’ image option enabled, you’ll want to preview it to make sure it’s working.

To do this, click on the View button in the upper right-hand corner of your editor and select ‘Preview in new tab.’

Preview in a new tab in the block editor

I recommend you test it in every view option, especially ‘Mobile’, since many people use smartphones these days.

With the ‘enlarge on click’ image effect applied, it should expand on the same page, as seen in the example below. How much it expands depends on the size of the original image you uploaded.

WordPress click to enlarge

Simply click on the image to return it to normal size.

Once everything looks good, you’re ready to publish or update your content.

Method 2: Using a Lightbox Plugin (More Customization)

Unlike the basic WordPress feature, a lightbox plugin creates a much more professional experience. When a user clicks an image, it opens in a stylish overlay that dims the rest of the page, making your image pop.

I recommend the free Simple Lightbox plugin because it lets you add smooth animations, customizable themes, and slideshow features that make your images stand out. It’s lightweight and works automatically with all your images once activated.

Step 1: Install and Activate the Simple Lightbox Plugin

To get started, you need to install and activate the Simple Lightbox plugin.

Simple Lightbox plugin

If you need help with this process, please read our guide on installing WordPress plugins.

Step 2: Configure Simple Lightbox Settings

After activating the plugin, it’s a good idea to head to Appearance » Lightbox and review its settings to ensure everything is set up the way you want.

Here, you’ll find Lightbox settings that let you adjust where you want to enable lightbox functionality. This can be on the home page, single posts, pages, and more.

Simple Lightbox settings page

I usually stick with the default settings since they work great for most websites.

Next, scroll down to the ‘UI’ settings. These control how the lightbox looks and feels.

Simple Lightbox settings page UI

By default, the plugin will use a light theme, but you can switch to dark mode if you prefer. You can also adjust the ‘Overlay Opacity,’ which controls how much the background page is dimmed when an image is open, and enable animations to change how the image opens.

Feel free to play with these settings, and don’t forget to click ‘Save Changes’ when you’re done.

Step 3: Add Your Image and Enable Lightbox

Now, let’s test out the lightbox feature. Simply create or open a post and add an image.

Once your image is in the editor, you need to add a caption. The Simple Lightbox plugin will show this text in the lightbox view.

Simply click the image and make sure the ‘Add Caption’ icon is activated in the toolbar. This allows you to type in the ‘Add caption’ text field below your image.

The Image Caption Is Displayed on the Lightbox

If you don’t add a caption, the plugin will automatically use the image title from the Media Library instead. However, I find that using the caption field gives you more direct control.

Next, with the image still selected, you need to click the ‘Link’ icon in the toolbar and select the ‘Link to Image File’ option. This is a key step that allows the Simple Lightbox plugin to work.

Choose the 'Link to Image File' Option

Once you do this, the plugin will automatically detect the link and apply its lightbox effect when a visitor clicks on the image.

💡 Note: You can also use Simple Lightbox for an entire image gallery. Simply create an image gallery using the block editor and then follow the steps described in this method to add the lightbox feature to each image.

Step 4: Test Your Lightbox

Now, let’s test the lightbox feature by previewing the post. Just click the View option in the upper right-hand corner and then select ‘Preview in new tab’.

Preview image in new tab

Once the new tab opens, go ahead and click on the image. You should see it open smoothly in a lightbox overlay with a darkened background.

Depending on your design settings, you will see the lightbox in a light or dark theme. Here’s what the light theme looks like.

Simple Lightbox plugin light UI version

The light theme surrounds the photo with a white frame, which creates a good contrast with the darkened background.

Now here’s what the dark theme looks like.

Simple Lightbox plugin dark UI version

You should also see your image caption in the bottom left corner of the lightbox.

I also recommend previewing your lightbox on other screen sizes to make sure it looks good on every device.

You can do this by returning to the View option and selecting the ‘Desktop’, ‘Tablet’, or ‘Mobile’ option. After that, click ‘Preview in new tab.’

WordPress preview mobile

Method 3: Using a Gallery Plugin (Best for Multiple Images)

If you’ve ever wanted to spotlight multiple images, then gallery plugins are hands down the best solution. They help organize and showcase a series of images with image enlargement functionality without slowing down your site.

These plugins can improve user interaction by making your content more engaging and visually appealing, giving visitors a seamless experience navigating through your images.

I recommend Envira Gallery because it allows you to create beautiful, customizable galleries that look great on any device. It’s also super beginner-friendly.

Plus, it includes performance features like lazy loading to make sure your galleries don’t slow down your site. And its AI tool can help you create custom images right inside WordPress.

Most importantly, the plugin offers a lightbox setting with lots of customization options. This way, you can get all the benefits of the click-to-enlarge image feature, plus some cool settings for layouts, gallery transitions, and much more.

Want to learn more about what the plugin can do? We’ve tested it extensively in the past, and you can check out our full Envira Gallery review for more information.

📝 Note: While there’s a free version of Envira Gallery available, I recommend the Pro version for advanced features like SuperSize lightbox, Envira AI, and social sharing tools.

Now, let’s go through the steps of using Envira Gallery to add a lightbox feature.

Step 1: Install and Activate the Envira Gallery Plugin

Let’s start by installing the plugin on your site. In this tutorial, I’ll use the free version, or you can purchase a Pro license from the Envira Gallery website.

Envira Gallery homepage

Next, install and activate it by following our guide on how to install a WordPress plugin. Once you’ve activated the plugin, Envira’s setup wizard should instantly launch.

From here, click the ‘Get Started’ button to begin the process.

Envira Gallery setup startup page

There are 5 steps in this wizard.

During setup, you can choose the category that describes your business or website (like photographer or business owner) and select the gallery features you wish to add.

Envira gallery setup wizard step 2

I recommend continuing with the suggested default settings because they usually offer everything you need. However, if you have a Pro plan, you’ll be able to activate more advanced features.

Keep in mind that the ‘Lightboxes’ option should already be checked, so this feature will automatically be enabled.

Once you’ve finished the setup wizard, you’ll still need to activate your pro license if you purchased one. To do this, go to Envira Gallery » Settings and paste your license key in the field. Then, hit ‘Verify Key.’

Add the Envira Gallery license key

Step 2: Create a New Gallery

To create your first gallery, go to Envira Gallery » Add New in your dashboard.

First, add a title at the top of the page. I recommend giving it a clear and descriptive name so that it’s easier to keep track of later.

Next, you’ll notice 3 options for adding images: Native Envira Gallery, Galleries from Other Sources, and Create with Envira AI.

Envira Gallery native gallery option

I recommend starting with Native Envira Gallery. It’s the most straightforward way to upload your own images directly.

💡 Need original images fast? You can also create your own custom images with Envira AI. This feature makes it easy to generate unique images on demand. All you have to do is create a quick image description, pick from the results, and add it to your gallery in a single click.

Go ahead and select the images you want to include. You can add as many as you like while keeping the maximum upload file size below 256 MB.

Step 3: Configure Gallery and Lightbox Options

In the menu to the left of your gallery images, you’ll find Envira’s Gallery settings.

Envira Gallery configuration

There are tabs for general configuration, the lightbox feature, mobile settings, and more. Let’s go through them one at a time.

You can choose your gallery layout at the top of the ‘Configuration’ section. The grid layout works great for most galleries, but feel free to experiment with other options.

Envira Gallery layout

Scrolling down, you can find more gallery settings options.

For example, you can enable lazy loading, set an automatic layout, and add a gallery description.

Envira Gallery settings page

For example, you might want to set automatic layouts to ensure your gallery looks neat and organized without extra effort.

💡 Pro Tip: I recommend enabling the lazy loading option. This feature helps your gallery load faster by only loading images as visitors scroll down the page. It also helps optimize your site speed.

Next, switch to the ‘Lightbox’ tab. Remember, this feature should be enabled by default, but if it isn’t, check the box next to ‘Enable Lightbox?’

Envira Gallery lightbox settings

Then, you’ll want to select a ‘Gallery Lightbox Theme.’ This will determine the general appearance of your lightbox.

Your options will depend on your Envira plan and whether you have the Gallery Themes addon. But you should be able to select from a dark, light, or legacy theme.

Further down in the ‘Lightbox’ tab, you can choose how your enlarged images appear, select transition effects, and decide whether to show image titles.

Then, you can find more lightbox settings on the second half of the page.

For example, you can enable navigation arrows, infinite looping of images, or supersize mode. You can even add cool effects for when people open or close your gallery, and when they click through it.

Envira Gallery lightbox settings page

For instance, for ‘Lightbox Transition Effect,’ you can pick fun options like Fade, Slide, Circular, Tube, Rotate, and more.

Next, I recommend going to the ‘Mobile’ tab to configure both the general and lightbox settings.

More people will probably view your gallery on phones than computers, so let’s make sure it looks great on small screens too.

Envira Gallery mobile gallery settings

In addition to activating the lightbox feature for mobile devices, you can customize mobile-specific settings such as lightbox dimensions, row heights, and title or caption displays.

As you scroll down, you’ll discover more options, including features like swipe-up to close, gallery navigation arrows, thumbnails, and more.

Envira Gallery mobile lightbox feature settings

Finally, the ‘Standalone’ and ‘Misc’ tabs have a few extra settings you may find useful.

The ‘Standalone’ tab lets you give your gallery its own unique URL. This is a great feature if you want to share a direct link to a specific portfolio or photo album.

Envira Gallery standalone option

The ‘Misc’ tab includes tools for importing and exporting galleries, but you probably won’t need those right now.

For a deeper dive into all these settings, you can check out our detailed guide on how to create an image gallery.

Step 4: Preview and Publish Your Gallery

To preview the gallery, click the ‘Preview’ button on the right side of your gallery settings page.

Envira Gallery preview button

Once you’re on the preview page, click through different images to test the lightbox effect.

Here, you can see the image’s name and the rest of the gallery.

Envira Gallery lightbox preview

When you test the gallery, the images should open smoothly. If you chose a transition effect, it should be visible here.

For example, I set the Slide transition effect, and here’s how it looks.

Envira Gallery transition effect slide example

To navigate between images, click on the navigation arrows on either side of the screen or use the arrow keys on your keyboard.

At this point, you may want to make sure the navigation arrows work and that your image titles appear correctly if you enabled them.

Once you’re happy with how everything works, you can publish the gallery by clicking the ‘Publish’ button on the right side of your gallery settings.

Envira Gallery publish button

After publishing the gallery, you can move on to adding it to your website.

Step 5: Add the Gallery to Your Website

Now that your gallery is working perfectly, let’s add it to a post.

Once you are in the WordPress editor, click the (+) icon to add a new block and search for ‘Envira Gallery.’ Then drag the block onto your post.

Next, when you click the ‘Search for a gallery’ drop-down, select the gallery you just created. It will be automatically inserted into the post with all the settings you just configured.

Envira Gallery add gallery to post

Alternatively, you can add your gallery to pages, widgets, or custom post types by using a shortcode.

You can find this shortcode on the right sidebar of the gallery settings, just under the ‘Publish’ button.

Envira Gallery shortcode

For more information, see our guide on how to add a shortcode in WordPress.

Before clicking the ‘Publish’ button, make sure you preview your post one final time to make sure the gallery appears exactly as you want it.

Your images should now be displayed in a professional grid layout with a smooth lightbox effect when clicked.

FAQs About Enlarging Images in WordPress

Here are some frequently asked questions about enlarging images in WordPress.

How do I enlarge images in WordPress?

You can use the default ‘Enlarge on click’ feature in WordPress for basic functionality. For more control, you can use plugins like Simple Lightbox or Envira Gallery.

How do I automatically resize images in WordPress? 

WordPress automatically creates several smaller versions of your images when you upload them. To have more control over image dimensions or to optimize them for speed, I recommend using an image optimization plugin like EWWW Image Optimizer.

Plugins like Envira Gallery also give you precise control over the display dimensions of images within your galleries.

How do I force image size in WordPress?

You can set custom image dimensions within your theme. For a detailed guide, check out our tutorial on how to create additional image sizes in WordPress. This is a great way to ensure a consistent layout across your galleries and site.

If you prefer using a plugin, consider options like Envira Gallery. It allows you to specify exact image dimensions efficiently, providing control over how your galleries look. This can help maintain a polished appearance across your site.

Bonus Resources: Manage & Improve Your WordPress Images

I hope this article helped you add the ‘enlarge images upon click’ feature in WordPress. Here are some bonus guides if you’re interested in managing and improving your WordPress images:

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post How to Enlarge Images Upon Click in WordPress (3 Easy Methods) first appeared on WPBeginner.

Fix Yoast SEO’s ai-optimize Bug Before It Ruins Your Site’s SEO

18 June 2025 at 10:00

A friend reached out to me recently after discovering something alarming in their WordPress posts. They were using Yoast SEO Premium with the Classic Editor, and they found Yoast had been automatically inserting odd-looking CSS classes like ai-optimize-6, ai-optimize-9, directly into their content.

The problem is that these classes remain permanently embedded in the posts even after disabling Yoast AI Optimize or completely deleting the plugin. This goes against expected plugin behavior… that is, when you uninstall it, it should leave no trace in your content.

While these AI markers might not visually affect your site, they clutter up your source code. It could also potentially signal to AI content detectors, plagiarism checkers, and even search engines that your content was AI-generated or optimized.

In this guide, I’ll show you how to remove these hidden classes using a quick code snippet. I’ll also explain how to apply it safely and share the SEO plugin I recommend using as an alternative to Yoast.

Fixing the ai-optimize bug in Yoast SEO

Here are the things I will cover in this tutorial:

Why These ai-optimize Classes Are Bad for SEO

The ai-optimize-{number} CSS classes are added when you use Yoast SEO Premium’s AI features with the Classic Editor. They don’t appear on the front end, but they’re embedded in your content’s HTML, which can cause problems.

You can view them by visiting any post or page on your site and using the Inspect tool in your browser.

AI optimize bug in Yoast SEO

Here’s why I recommend removing them:

  • They clutter your HTML: These unnecessary classes make your code harder to read and parse.
  • They serve no purpose: They don’t affect how your content looks or functions. They’re just leftovers from the AI tool.
  • They can trigger AI detection tools: Some plagiarism checkers and AI content detectors pick up these patterns and may flag your post, even if you wrote it yourself.
  • They leave AI footprints across your site: If multiple sites use the same classes, Google might start associating that pattern with low-quality or mass-produced AI content.
  • They increase the risk of formatting conflicts: Unknown classes could interfere with your theme or plugins down the road.

There’s no upside to keeping these hidden markers, and several good reasons to clean them out.

The good news is that there is a quick fix, and I’ll show you how to do it safely in the next section.

Step 1: Make a Backup Before Making Changes

Before we move forward, I always recommend creating a full backup of your WordPress site. It only takes a few minutes and gives you peace of mind in case anything goes wrong.

I use Duplicator when I need a quick and reliable backup solution. It’s the best WordPress backup plugin on the market, it is beginner-friendly, and it works great whether you’re backing up or migrating your site.

  • ✅ On-demand and automatic WordPress backups
  • ✅ Safely stored in remote locations like Dropbox or Google Drive
  • ✅ Easy 1-click restore if something breaks

For details, see our guide on how to back up your WordPress website.

Once your backup is ready, you’re safe to move on to the next step, where I will show you how to fix the problem.

Step 2: Add the Code Snippet to Remove ai-optimize Classes

Now that your backup is ready, it’s time to clean up those ai-optimize-{number} and ai-optimize-introduction classes.

I’ve put together a safe and flexible code snippet that works with both the Classic Editor and the Block Editor (Gutenberg), as well as bulk edits.

You don’t need to touch your theme files or mess with FTP. Instead, I recommend using the WPCode plugin to add this snippet. It’s what I use to manage code snippets on WordPress sites without risking anything important. (See my full WPCode review for more details.)

Tip: WPCode has a limited free version that you can use for this tutorial. However, I recommend upgrading to a paid plan to unlock its full potential.

If this is your first time adding custom code to your site, then you can take a look at our guide on how to add custom code snippets in WordPress without breaking your site.

First, you need to install and activate the WPCode plugin. See our tutorial on installing a WordPress plugin if you need help.

Once the plugin has been activated, go to the Code Snippets » + Add Snippet page and click on ‘+ Add Custom Snippet’ button under the ‘Add Your Custom Code (New Snippet)’ box.

WPCode add custom code snippet

Next, you need to provide a title for your code snippet. This could be anything that helps you identify this code easily.

After that, choose PHP Snippet from the ‘Code Type’ drop-down menu.

Adding Yoasst AI optimize bug fixing code

Now, you need to copy and paste the following code into the Code Preview box.

Here’s the full code snippet:

// For Classic Editor and programmatic updates
function strip_ai_optimize_classes($data, $postarr) {
    if (empty($data['post_content']) || $data['post_type'] !== 'post') {
        return $data;
    }
    $data['post_content'] = strip_ai_optimize_from_content($data['post_content']);
    return $data;
}
add_filter('wp_insert_post_data', 'strip_ai_optimize_classes', 10, 2);

// For Gutenberg/Block Editor
function strip_ai_optimize_classes_rest_insert($prepared_post, $request) {
    if (isset($prepared_post->post_content) && $prepared_post->post_type === 'post') {
        $prepared_post->post_content = strip_ai_optimize_from_content($prepared_post->post_content);
    }
    return $prepared_post;
}
add_filter('rest_pre_insert_post', 'strip_ai_optimize_classes_rest_insert', 10, 2);

// For bulk edit operations - this is the key addition
function strip_ai_optimize_classes_bulk_edit($post_id) {
    $post = get_post($post_id);
    if (!$post || empty($post->post_content) || $post->post_type !== 'post') {
        return;
    }
    $cleaned_content = strip_ai_optimize_from_content($post->post_content);
    if ($cleaned_content !== $post->post_content) {
        remove_action('post_updated', 'strip_ai_optimize_classes_bulk_edit');
        wp_update_post(array(
            'ID' => $post_id,
            'post_content' => $cleaned_content
        ));
        add_action('post_updated', 'strip_ai_optimize_classes_bulk_edit');
    }
}
add_action('post_updated', 'strip_ai_optimize_classes_bulk_edit');

// Catch bulk operations via the bulk_edit_posts action
function strip_ai_optimize_classes_bulk_action($post_ids) {
    if (!is_array($post_ids)) {
        return;
    }
    foreach ($post_ids as $post_id) {
        strip_ai_optimize_classes_bulk_edit($post_id);
    }
}
add_action('bulk_edit_posts', 'strip_ai_optimize_classes_bulk_action');

// Shared function to strip ai-optimize classes
function strip_ai_optimize_from_content($content) {
    if (empty($content) || !is_string($content)) {
        return $content;
    }
    return preg_replace_callback(
        '/class\s*=\s*["\']([^"\']*)["\']/',
        function($matches) {
            $classes = $matches[1];
            $classes = preg_replace('/\bai-optimize-\d+\b\s*/', '', $classes);
            $classes = preg_replace('/\s+/', ' ', trim($classes));
            if (empty($classes)) {
                return '';
            }
            return 'class="' . $classes . '"';
        },
        $content
    );
}
Hosted with ❤️ by WPCode

After adding the code, scroll down to the ‘Insertion’ section.

Then, select ‘Run Everywhere’ next to the ‘Location’ option.

Run code snippet everywhere

Finally, go to the top of the page and switch the status toggle in the top-right to Active, and then click on the ‘Save Snippet’ button to store your changes.

Once you’ve added this snippet to your site using WPCode, it will automatically strip these AI-generated classes from any post you create or update in the future.

If you want to remove the ai-classes from existing content, you’ll have to bulk edit your existing content.

🌟Expert Tip: If you’re not comfortable editing code yourself, don’t stress!

Our team at WPBeginner offers Emergency WordPress Support Services to help you fix issues like this quickly and safely. We can clean up your content and set up your SEO plugin the right way.

Step 3: Bulk Update All Posts to Clean Up Existing AI Classes

Now that the code snippet is in place, it will automatically clean up any AI markers when you edit or publish a post. But to remove these classes from your older posts, you’ll need to bulk update them.

Don’t worry—this won’t change your content. It simply triggers the filter we just added so the hidden AI classes can be stripped out safely.

First, you need to go to the Posts » All Posts page in your WordPress dashboard and click ‘Screen Options’ at the top right.

Show all posts

From here, set the number of posts per page to 999 (This is the maximum number of posts you can show on this screen) and click ‘Apply’ to load all your posts.

Next, select all posts on the page by clicking the top checkbox. After that, select ‘Edit’ by clicking on the Bulk Actions dropdown, then click ‘Apply’.

Bulk edit posts

WordPress will now show you bulk editing options. Without changing anything else, simply click on the ‘Update’ button.

WordPress will now start updating all your posts. By doing this, it will also trigger the code you saved earlier and remove the AI classes.

Update all posts

Tip 💡: If you have more than 999 posts, just go to the next page and repeat this process until all posts have been updated.

This will clean the ai-optimize-{number} and ai-optimize-introduction classes from all your existing posts—no manual editing needed.

Bonus Tip: Switching to an Alternative SEO Plugin (Better and More Powerful)

Yoast SEO has been around for a long time, but lately, its innovations have slowed down.

At WPBeginner, we made the decision to switch to All in One SEO across all our sites a few years ago. It was a big move, and we documented every reason in this case study: Why We Switched from Yoast to All in One SEO.

All in One SEO website

I now use All in One SEO on every personal project and all client websites. It’s my go-to SEO plugin because it offers:

  • ✅ Comprehensive features for the AI search era (schema markup, advanced sitemaps, AI integrations, and more)
  • ✅ Easy setup with smart defaults and checklists
  • ✅ Better support for local SEO, WooCommerce, Google News, and more.

If you’re still on the fence, we’ve made a detailed side-by-side breakdown here: Yoast SEO vs All in One SEO – Which Is the Better Plugin?

Important ⚠️: If you have upgraded to the latest version of Yoast SEO Premium (version 25.3.1 or later) or switched to All in One SEO, then you can now simply disable the code snippet in WPCode.

Just go to the Code Snippets page in the WordPress admin area, and switch the toggle next to the snippet to disable it.

Turn off code snippet

Bonus SEO Resources

Whether you’re switching away from Yoast SEO or just want to tighten up your WordPress SEO strategy, here are some helpful resources to guide you.

These tutorials and comparisons can save you time, avoid costly mistakes, and help you get better results from your SEO efforts:

I hope this guide helped you fix the ai-optimize class issue in Yoast SEO and set your site up for better long-term results. You’ve got this—and if you ever need a hand, we’re here to help.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post Fix Yoast SEO’s ai-optimize Bug Before It Ruins Your Site’s SEO first appeared on WPBeginner.

How to Migrate From Drupal to WordPress (Step by Step)

13 June 2025 at 10:00

When I first started building websites, I thought about using Drupal. It’s a strong platform, but it was too complicated and hard to learn, especially for beginners.

That’s why I chose WordPress instead. It’s powerful, easy to use, and now, it’s what I use for all my websites.

Over the years, I’ve helped many business owners and developers switch from Drupal to WordPress. I know it can feel overwhelming to move your whole website without losing content or breaking anything.

That’s why I created this simple guide to help you migrate from Drupal to WordPress safely and easily. It walks you through each step, using methods I’ve tested and improved with others who have made the same switch.

Whether your website is small or large, I’m here to help you make the change as smoothly as possible. Let’s get started together!

How to Migrate From Drupal to WordPress

Why Migrate From Drupal to WordPress?

Drupal and WordPress may look similar. But in practice, these website builders are very different.

I’ve found that Drupal, while incredibly capable, can sometimes feel complex and overpowered.

Simple content updates start taking longer than they should. Finding the right developer to make tweaks isn’t always easy or cheap. And honestly, the backend can feel overwhelming sometimes.

In my experience, WordPress is much more user-friendly, which is why I always recommend it to people looking to make a website.

Think of it as your favorite everyday tool that’s easy to pick up and intuitive to use. It makes many tasks very easy to do, like writing and publishing a new blog post, adding an image to a page, or installing a simple contact form.

Drupal, on the other hand, is more like a highly specialized toolkit. It is precise and powerful, but it can feel like overkill for your daily needs. It can be difficult to do something that’s simple in WordPress, like setting up a custom page layout.

See my comparison of Drupal vs. WordPress for more details.

Step 1. Back Up Your Drupal Website and Link Structure

Before you start migrating your Drupal site, you need to create a safe copy of everything.

It’s also a great idea to back up the link structure of your website. You’ll use this information later to make sure you don’t lose your search engine rankings.

Backing Up Your Drupal Website Using a Module

You can back up your Drupal website easily using a module, or more advanced users can do it manually (see below).

The Backup and Migrate module makes backing up a Drupal website pretty straightforward.

Just visit Administration » Extend and you will find the module in the ‘Other’ section. Simply click the checkbox next to the module and then click the ‘Install’ button at the bottom of the page.

Drupal's Administration » Extend Page

Note: If you don’t see it listed, then the module’s files haven’t yet been added to Drupal. This is a little technical, and you may need to contact your hosting provider for support.

More advanced users can install the module by using SSH. You will need to navigate in the terminal to the root directory of your Drupal installation and type in the following command:

composer require 'drupal/backup_migrate:^5.1'

Once the module is installed, you’ll find it in your Drupal admin menu. It allows you to create backups of your database, files, or both. For a full site backup, you’ll want to back up everything.

Backing Up Your Drupal Website Manually

Alternatively, if you’re comfortable with the technical side of things, then you can also back up your Drupal site manually.

First, you’ll need to back up your website files using your hosting provider’s file manager or FTP software.

When the file manager opens, click on the public_html folder in the left menu and then select your website’s folder in the left pane. You need to right-click on that folder and create the ‘Compress’ option from the menu.

Compressing Website Files Using a File Manager

When asked for a compression type, you should select the ‘Zip Archive’ option. After your website has been compressed, you can close the confirmation message.

Next, you need to find the compressed zip file in the public_html folder. Right-click the file and select the ‘Download’ option. Make sure you store this backup file in a secure location.

Downloading Your Website's Zip Archive Using a File Manager

Next, you’ll need to back up your database using phpMyAdmin. You will find this useful tool in the account dashboard of most reputable hosting providers.

For example, on Bluehost, you will find it by clicking on the Hosting tab and then scrolling down the page.

Launch phpMyAdmin

Clicking the phpMyAdmin button will launch the application in a new browser tab.

From here, click to select your Drupal database from the left column and then click on the ‘Export’ button at the top.

phpMyAdmin export database

When you are asked to select the export method, you should select ‘Custom’. It will show you all of the database tables in your Drupal website.

To create a full backup, make sure all of the tables are selected.

Select and exclude tables

You now need to scroll down to the ‘Output’ section and select the ‘Save output to a file’ option.

For compression, select the ‘zipped’ option.

Select database backup output

Finally, scroll to the bottom of the page and click the ‘Go’ button.

The compressed database file will be saved to your computer, and you can store it safely, along with the file backup you created earlier.

Backing Up Your Link Structure

Next, you need to back up your link structure. This is important for SEO and making sure that people can find your content online.

You need to make a list of all your current Drupal URLs so that you can set up redirects later in WordPress. This way, if someone clicks an old link to your Drupal website, then they’ll be automatically sent to the right page on your new WordPress site.

I like to use a Chrome extension called Link Klipper. It’s free, easy to use, and can quickly save all the links from a website. You can easily install it in your browser using the link above.

Next, you need to visit your Drupal website’s homepage in your Chrome browser. Once there, just click the Link Klipper icon in your browser toolbar and choose the option that says ‘Extract All Links’.

Download links using Klipper

Link Klipper will do its thing and grab all the links from your homepage and the pages it can find linked from there. It will download these links as a comma-separated values (CSV) file.

When you open that CSV file in Excel or Google Sheets, you’ll see a complete list of your Drupal URLs. Make sure you save this file somewhere safe because you’ll need it later.

Step 2. Installing and Setting Up WordPress

The requirements for both Drupal and self-hosted WordPress are quite similar. You’ll need a domain name and a WordPress hosting account to start with WordPress.

If you already have a domain name and website hosting account for your Drupal website, then you can use them for your WordPress website as well.

Alternatively, if you want to move to a different hosting provider, then I recommend using Bluehost, which is one of the top hosting companies recommended by WordPress. They offer WordPress hosting and a free domain name for just $1.99 a month.

Alternatives: If you’d like to explore a few other good options, then Hostinger and SiteGround are also worth considering. They both have strong reputations in the WordPress hosting world and offer good performance. For more options, see my expert pick of the best WordPress hosting providers.

For this guide, I’ll use screenshots from Bluehost to give you a visual example of the process.

You need to navigate to the Bluehost website and click the green ‘Get Started Now’ button.

Bluehost website

You’ll then land on their pricing page, which shows you different hosting plans. Their ‘Basic’ plan is perfect for most websites.

Pick a plan that suits you by clicking the ‘Select’ button under it.

Choose a hosting plan

Next, you’ll be asked about the domain name you want to use. This is your website’s address, like www.yourwebsite.com.

You need to select ‘I’ll create my domain name later.’ This gives you time to migrate everything before pointing your domain to WordPress.

Set up domain name later

Why set up a domain later? 🤔 If you already have a domain connected to your Drupal site, then choosing this option lets you set up WordPress without affecting the live site. Once everything is ready, I’ll show you how to point your domain to WordPress.

After the domain step, you’ll need to fill in your account details (name, address, and so on) and your payment information to complete the purchase.

Bluehost will then send you a confirmation email with your login details. Keep this email safe! You’ll need those details to log in to your hosting account dashboard.

When you log in to your Bluehost account for the first time, they install WordPress automatically for you.

Now, just look for the ‘Edit Site’ button in your hosting dashboard and click it. That will take you straight to your WordPress admin area, where you can manage your new website.

Bluehost login WordPress

And that’s it. You’ve now successfully installed WordPress.

Expert Tip: Working with a different hosting provider? We have a detailed WordPress installation tutorial that goes through every single step.

Step 3. Importing Your Drupal Content

To make the migration process as smooth as possible, I’ll show you how to use a free WordPress plugin called FG Drupal to WordPress. It automates a lot of the heavy lifting involved in moving content between these two platforms.

First, you need to install and activate the plugin. For more details, see my step-by-step guide on how to install a WordPress plugin.

You’ll then find the importer tool under Tools » Import in your WordPress dashboard menu. You’ll see a list of different import options. Look for ‘Drupal’ in the list and click the ‘Run Importer’ link.

The WordPress Import Page

This will launch the FG Drupal to WordPress importer. Now, you’ll need to give the importer some information about your Drupal website so it can connect and grab your content.

The first thing it will ask for is your Drupal website URL.

Entering the URL of the Drupal Site to Be Imported

Next, it needs your Drupal database details to get all your posts, pages, and other content. You’ll need to provide:

  • ⛁ Database Host: This is usually localhost if your Drupal and WordPress sites are on the same server. If not, you’ll need to get this from your Drupal hosting provider.
  • ⛁ Database Name: The name of your Drupal database.
  • ⛁ Database User: The username used to access your Drupal database.
  • ⛁ Database Password: The password for that database user.
  • ⛁ Table prefix: Drupal uses table prefixes to keep things organized in the database. You’ll need to enter your Drupal table prefix here. It’s often something like drupal_.
Entering the Database Parameters of the Drupal Website to Be Imported

You may have written this information down when you first set up your Drupal website. Otherwise, advanced users can use FTP to find the details in your Drupal settings.php file. Or simply contact your Drupal hosting provider and ask for assistance.

Once you’ve entered all the database details, click the ‘Test database connection’ button in the importer. If everything is correct, then you should see a ‘Connection successful’ message.

Drupal Database Connection Successful

Below the connection settings, you’ll see some additional options in the importer. These let you control what gets imported, like featured images, content images, and other things.

Just leave the default settings as they are for your first import.

Import Behavior Options

When you’re ready, you can start the import by clicking the big ‘Start / Resume the Import’ button. The importer will start fetching your content from your Drupal website and bringing it into WordPress. It will also import your images, blog comments, and more.

The time it takes depends on the amount of content you have. Once the import is finished, you should see a success message.

Drupal Import Completed

The FG Drupal to WordPress plugin can also help you fix internal links.

Sometimes, after a migration, links within your content might still be pointing to your old Drupal site structure. The plugin can try to update these to point to your new WordPress site.

Scroll down to the bottom of the importer page and click the ‘Modify internal links’ button.

Modify Internal Links in Drupal Imported Content

Step 4. Pointing Your Domain Name to Your New WordPress Website

Now that your content is imported into WordPress, you need to make sure people will find your new site when they type in your domain name.

If you already have a domain name for your Drupal website (like yourwebsite.com), then you want to keep using that same domain for WordPress. You need to adjust your nameservers to point to your new WordPress site.

Your new WordPress hosting provider, like BluehostHostinger, or SiteGround, will give you the nameserver information you need.

It usually looks like a pair of addresses, something like:

ns1.your-wordpress-hosting.com
ns2.your-wordpress-hosting.com

You change these settings with your domain name registrar, the company where you originally registered your domain name.

Sometimes, your domain registrar might be the same company as your hosting provider. But often, they’re separate. Common domain registrars include companies like Network Solutions and Namecheap.

You need to log in to your account at your domain registrar’s website. Once you’re logged in, find the settings for your domain name. Look for something like ‘DNS Settings’, ‘Nameservers’, ‘Domain Management’, or ‘Manage DNS’.

For example, here is the screen you will see on Bluehost.

Managing Nameservers in Bluehost

You’ll find step-by-step instructions for many popular domain registrars in my guide on how to easily change domain nameservers.

Once you’ve updated your nameservers, it takes a little while for these changes to spread across the internet. This is called DNS propagation.

DNS propagation can take anywhere from a few hours to, in some cases, up to 24-48 hours. During this time, some people might still see your old Drupal website, while others might start seeing your new WordPress site.

Step 5. Setting Up Permalinks and Redirects

Your old Drupal site had its own way of structuring URLs. WordPress does things a bit differently with permalinks.

Because the URLs for each post will be different, anyone who has a link to your old Drupal content will end up seeing a frustrating ‘404 Page Not Found’ error on your new WordPress site.

To prevent broken links, you have to set up SEO-friendly permalinks in WordPress and redirect your visitors from your old Drupal URLs to the right pages on your new WordPress site.

Setting Up WordPress Permalinks

WordPress gives you a few different options for how your website addresses (URLs) are structured. These are called permalinks.

The ‘Post name’ setting is a popular choice. It creates nice, clean URLs that usually include the title of your page or blog post. This structure can be helpful for both visitors and search engines because it makes the URL easy to read and gives a clear idea of what the page is about.

In your WordPress dashboard, go to Settings » Permalinks. You’ll see a section called ‘Common Settings’. Find the option labeled ‘Post name’ and click the radio button next to it to select it.

WordPress' permalink settings

Then, just scroll down to the bottom of the page and click the ‘Save Changes’ button. Done!

Setting Up Redirects from Your Old Drupal URLs

Now you need to set up redirects to make sure your old Drupal links still work. To do this, you will need that list of old Drupal URLs you grabbed using Link Klipper in Step 1.

Tip: If you use the premium version of FG Drupal to WordPress to import your Drupal content, then it can automatically create these redirects for you.

To set up redirects easily in WordPress, you need to install and activate a plugin called Redirection. It’s free and it makes managing redirects a breeze. If you need help, see my guide on how to install a WordPress plugin.

Once activated, you’ll find the Redirection plugin settings under Tools » Redirection in your WordPress menu.

Add New Redirection to Your Website

In the Redirection plugin interface, you’ll see fields for Source URL and Target URL:

  • Source URL is where you enter your old Drupal website URL – the one you want to redirect from. Just include the part after the domain name, like /my-old-page.
  • Target URL is where you enter the new WordPress URL for the same page. Again, just include the part after the domain name, like /my-new-page.

Make sure the ‘301 – Moved Permanently’ option is selected for the ‘Match’ type (it’s usually the default). This tells search engines that the page has permanently moved to a new location, which is important for SEO.

Finally, click the ‘Add Redirect’ button to save the redirect.

Now, you’ll need to go through your list of old Drupal URLs and repeat these steps for each URL you want to redirect. It can be a bit repetitive if you have a lot of pages, but it’s worth the effort to avoid broken links and keep your SEO intact.

For detailed instructions, see my guide on how to set up redirects in WordPress.

Alternative: Using AIOSEO for Redirects

If you’re already using the All in One SEO (AIOSEO) plugin, or if you’re planning to use it to improve your website’s SEO, then it also has a redirection manager built in.

It’s a powerful WordPress SEO plugin that lets you easily set up full site redirects, plus it offers many other features to help your website rank higher in search results.

Enter new domain address for relocation

For example, its 404 error tracking can easily catch broken links, and you can add schema markup, custom breadcrumbs, local SEO modules, and much more.

Step 6. Setting Up Your WordPress Theme

To make your WordPress website look amazing, you need to choose and install a theme. These are ready-made design templates for your site that control its appearance, including the colors, fonts, layout of your pages, and how your blog posts are displayed.

Free WordPress blog themes

There are plenty of free themes and premium themes available for every possible niche and industry you can imagine.

In my experience, clean and simple designs tend to work best for most websites. They look more professional, they’re easier for visitors to navigate, and most importantly, they put the focus where it should be: on your content.

To help you narrow things down, I put together a guide on selecting the perfect WordPress theme. It walks you through the key things to consider and helps you avoid some common traps.

Then, you can follow my step-by-step guide on how to install a WordPress theme.

Alternatively, you can easily create a custom WordPress theme using drag-and-drop with the SeedProd website builder plugin. This is a great option if you want to perfectly match your old site’s look without writing code, giving you full control over the design.

Of course, if you prefer, you can always hire professionals to design and code a completely custom WordPress website for you.

Step 7. Install Essential WordPress Plugins

WordPress plugins are easier to install than Drupal modules. Thousands are available, both free and paid. So, I created a guide on how to pick the best plugins for your website.

But first, let me introduce you to some must-have plugins that I recommend for pretty much every new WordPress site:

  • WPForms lets you create all sorts of WordPress forms – contact forms, surveys, order forms, and more. I use it on my own websites to allow readers to contact me and gather their feedback.
  • SeedProd is a powerful drag-and-drop website builder. It lets you easily customize your WordPress design, create unique page layouts, or even build a complete custom theme.
  • AIOSEO (All in One SEO) helps you optimize your blog for better search engine rankings. It’s the most powerful SEO plugin for WordPress.
  • MonsterInsights connects to Google Analytics and makes it easy to understand your traffic and visitor behavior right inside your WordPress dashboard.
  • OptinMonster helps you create popups, slide-in forms, and other opt-in forms to grow your email list and boost conversions.

You’ll find more ideas in my list of essential WordPress plugins. It’s packed with plugins I use and trust.

Alternative: Get Professional Help to Migrate Your Drupal Website

Professional WordPress Services by WPBeginner

While many of you will be able to follow this guide to migrate from Drupal to WordPress, it’s still a pretty technical project. Maybe you’re not very techy or are simply too busy to do it yourself.

If that sounds like you, then our WPBeginner professional services team can lend a hand. We’ve helped tons of people with their WordPress websites, and we can help you too.

Here are a couple of ways we can make your Drupal to WordPress migration easier:

  • Premium WordPress Support Services: Reach out to our team anytime you get stuck, have questions, or just want some personalized help with your migration. We can guide you through specific steps, troubleshoot issues, or even take over certain tasks for you.
  • Quick Site Launch Service: Want a completely fresh start with a brand new, custom WordPress website? Our Quick Site Launch service team can design and build a website from the ground up. And we can handle the whole content migration from Drupal.

If you’re curious to learn more about these services or if you just have some questions about migration in general, then we’re here to chat! You can easily get in touch with our support team on our Website Design Services page.

Bonus: Learning WordPress

Now that you have a new WordPress website, you’ll want to learn more. Luckily, we have lots of free resources to help you quickly become a WordPress pro:

  • The WPBeginner Blog is the heart of WPBeginner. It’s a WordPress learning library packed with thousands of easy-to-follow tutorials, guides, and how-to articles.
  • The WPBeginner Dictionary helps you understand all the WordPress terms and jargon, like a WordPress translator.
  • WPBeginner Videos walk you through common WordPress tasks step-by-step, visually, from basic to more advanced techniques.
  • Our WPBeginner YouTube Channel is packed with WordPress tips, tutorials, and how-tos to help you stay up-to-date with the latest WordPress goodness.
  • The WPBeginner Blueprint gives you a peek behind the scenes and shows you our recommended WordPress setup.
  • WPBeginner Deals offer exclusive discounts and coupons on WordPress themes, plugins, hosting, and more.

I hope this tutorial helped you move your site from Drupal to WordPress. You may also want to see our ultimate WordPress SEO migration checklist for beginners or our expert pick of the best WordPress migration services.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post How to Migrate From Drupal to WordPress (Step by Step) first appeared on WPBeginner.

How to Host WordPress on Google Cloud Platform (3 Ways)

4 June 2025 at 10:00

When I first looked into hosting WordPress on Google Cloud, I thought, “This could be the upgrade I’ve been waiting for.”

The idea of running my site on the same infrastructure powering Google Search and YouTube? That was exciting. But it also raised a lot of questions.

There’s no question that Google Cloud offers serious speed and reliability. But I quickly realized that it’s not built with beginners in mind. Between managing virtual machines, setting up your server, and configuring DNS, it’s easy to get stuck.

The good news is that you don’t have to do it the hard way. Whether you want a simple managed solution or you’d rather roll up your sleeves and do it all yourself, I’ll show you both options.

By the end of this guide, you’ll know exactly how to host WordPress on Google Cloud and which path I recommend based on real-world experience.

Hosting your WordPress website on the Google Cloud Platform

Why Host WordPress on Google Cloud?

Google Cloud is known for speed, stability, and high-powered infrastructure. It powers everything from YouTube to Gmail, and it’s built to handle huge amounts of traffic without any issues.

That’s why a lot of website owners, including myself at one point, start thinking: “If I host my WordPress site on Google Cloud, won’t I get the same performance?”

And in theory, yes — you can. But there’s a big difference between having access to Google Cloud and actually knowing how to use it well for WordPress. It’s like buying a race car without knowing how to drive it.

Google Cloud Platform

That’s where most people get stuck. The platform itself is amazing, but it’s built for engineers and DevOps teams, not regular WordPress users trying to publish content or grow an audience.

So if you’ve been wondering whether Google Cloud is the right choice for your WordPress site, you’re not alone.

In the next section, I’ll show you the easiest way to tap into its power, without having to configure anything manually.

After that, I’ll walk you through two hands-on methods if you prefer the DIY route.

You can use the jump links below if you want to skip ahead:

Method 1: Use SiteGround to Host WordPress on Google Cloud

If you want the speed and reliability of Google Cloud without the technical setup, then SiteGround is the option I recommend — and personally use.

We also host WPBeginner on SiteGround. Describing the move, Syed Balkhi, founder of WPBeginner, wrote:

After testing SiteGround across multiple projects and seeing how well their platform handled real-world demands, I knew it was the right move for WPBeginner.

Syed Balkhi - Founder of WPBeginner - Profile PhotoSyed Balkhi

For more details, see the reasons why WPBeginner switched to SiteGround or take a look at my in-depth SiteGround review.

SiteGround runs its entire platform on Google Cloud infrastructure, so you get the same performance without having to manage it all yourself.

You don’t need to worry about setting up servers, installing software, or handling updates. Everything from performance tuning to WordPress security is already taken care of. You just log in, install WordPress, and start building your website.

SiteGround makes it easy for anyone to get started. Their dashboard is clean and beginner-friendly, and you get powerful features out of the box, including automatic caching, free CDN, daily backups, built-in security, and one-click staging environments.

Pros of Using SiteGround

  • Built on Google Cloud’s fast and reliable infrastructure
  • No technical setup required — perfect for beginners
  • Excellent customer support with real WordPress experts
  • Includes caching, backups, security, and CDN out of the box
  • Flat monthly pricing, with no surprise bills

Cons of Using SiteGround

  • Not ideal if you want full server-level control or custom OS-level tweaks
  • More advanced developers might prefer a DIY cloud setup for niche use cases

Pricing: Unlike Google Cloud Platform’s pay-as-you-go pricing, SiteGround offers fixed pricing starting from $2.99 per month.

If you just want to build your site and have it run fast, stay secure, and never think about server maintenance, this is the easiest and most reliable way to do it.

How to Host WordPress on Google Cloud Using SiteGround

First, you need to visit SiteGround’s website and choose a WordPress hosting plan.

I recommend choosing the Startup plan if you are just getting started, or the GrowBig plan if you are upgrading from a regular shared hosting service.

Choose a SiteGround plan

Next, you will be asked to choose a domain name. SiteGround offers a free domain name with each hosting plan for the first year.

If you already have a domain name, you can use that as well.

Choose or add your domain name

After that, you will be asked to provide personal information to create your account.

Just fill in the information and go to the payment section to complete your signup.

Finish your sign up

Once you have completed the purchase, you need to log in to your SiteGround account.

From here, simply click WordPress » Install & Manage.

Install WordPress on SiteGround

Select WordPress, or if you want to build an online store, then select WordPress + WooCommerce.

Simply follow the on-screen instructions to complete the setup wizard.

Congratulations 🎉 Your WordPress website is running on Google Cloud. It is already fully optimized and ready to go.

How to Manually Host WordPress on Google Cloud

There are multiple ways to manually host WordPress on Google Cloud. You can use a ready-to-deploy instance or deploy it manually yourself.

Here is a comparison table to understand the difference between the two approaches:

FeatureManual VM SetupClick to Deploy
Ease of UseRequires Linux experience and command lineEasier with a guided setup wizard
Installation SpeedSlower – install and configure everything yourselfFaster – WordPress and stack are auto-installed
CustomizationFull control over software and server settingsLimited with a pre-configured environment
Learning ValueLearn about the system setup in depthGood for getting started without diving deep into system setup
MaintenanceYou’re fully responsibleYou’re still responsible, but there are pre-installed tools
Use CaseDevelopers, technical users, or testing environmentsDIY users who want to try GCP hosting

Method 2: Use Google Cloud Marketplace to Install WordPress (Click to Deploy)

If you’re not comfortable running server commands or want a quicker way to get started, then Google Cloud offers a ‘Click to Deploy’ version of WordPress in their Marketplace.

It sets up a fully functional WordPress site with a few clicks, including your virtual machine, database, and web server stack.

Here are the pros and cons of using the Click to Deploy method.

Pros:

  • Faster and easier than manual setup
  • No need to SSH or install software manually
  • Great for users new to Google Cloud

Cons:

  • Less flexibility because you’re using a pre-configured environment
  • Still responsible for backups, updates, and security
  • Some users report difficulty scaling or customizing Click to Deploy sites later

Overall, if you’re experimenting or building a personal project, this method is a great way to get started.

Step 1. Create a New Google Cloud Project

To begin, log in to your Google Cloud account and create a new project from the dashboard.

Create new project on Google Cloud console

Step 2. Turn on billing

After creating your project, you need to enable billing.

From the left-hand menu, click on Billing and follow the on-screen instructions.

Enable billing for your Google Cloud project

Step 3. Select Click to Deploy WordPress Package

Once billing is active, click the search bar at the top of the dashboard and type in “WordPress.”

From the results, you need to choose the option labeled ‘WordPress – Click to Deploy’ by Google Cloud.

WordPress click to deploy on Google Cloud

On the next screen, go ahead and click the ‘Get Started’ button.

After that, you may be asked to agree to the terms of service and enable APIs. Simply follow the instructions to move to the next step.

Step 4. Configure Your WordPress Deployment Settings

On the next screen, you’ll see a form with several options for setting up your WordPress instance.

Let’s walk through each one so you know exactly what to choose.

WordPress deploy GCP config

Start by giving your deployment a name. This is just a label inside your Google Cloud dashboard, and you can use something like wordpress-1 or mywebsite.

For the Deployment Service Account, leave it set to ‘New Account’. Google Cloud will automatically create the right permissions to manage your instance.

Next, choose a zone where you want your website to be hosted.

Pick a region closest to your target visitors. For example, asia-southeast1-c for Asia or us-central1-a for the United States.

WordPress deploy GCP configutation

Under Machine type, you should stick with General Purpose. Then choose ‘e2-small (2 vCPU, 2 GB memory)’, which is a good balance between cost and performance.

In the Administrator email address field, you need to enter your real email address. This is where Google will send notifications and status updates related to your server.

Below that, you’ll see optional features. I recommend keeping both Install phpMyAdmin and HTTPS Enabled checked. This adds a database manager and an SSL certificate to your install.

For Boot Disk, leave it as Standard Persistent Disk with 20 GB selected. That’s enough for most small to medium WordPress sites.

WordPress deploying Google Cloud instance

In the Networking section, make sure both checkboxes are selected to allow HTTP and HTTPS traffic. This ensures visitors can reach your site in their browsers.

You can leave Google Cloud Operations unchecked unless you plan to use advanced monitoring tools. They’re not required for running a typical WordPress site.

Once you’ve reviewed everything, simply click the blue ‘Deploy’ button at the bottom. Google Cloud will now set everything up for you behind the scenes.

Once finished, you will see the status of your deployment. From here, you need to copy the ‘Instance Nat IP’. This is your site’s external IP, and you will need it in the next step.

WordPress deployed

Step 5. Connect Your Custom Domain to Google Cloud

To use your own domain name with your deployed WordPress instance on Google Cloud VM, you’ll need to update your domain’s DNS settings to point to the external IP address of your VM (virtual machine) instance.

Tip: If you don’t already have a domain name, I recommend Domain.com. It’s my go-to domain name registrar due to transparent pricing and ease of use.

First, go to the Google Cloud Console, open the ‘VM instances’ page, and copy the external IP address of your virtual machine.

This is the address your domain needs to point to.

Copy external IP Address

Next, log in to your domain registrar’s dashboard — this is where you bought your domain, like Domain.com, GoDaddy, Bluehost, or other registrars.

I will show you instructions for Domain.com, but it is pretty much the same for all domain registrars.

Find the DNS settings or ‘Manage DNS’ section for your domain.

Manage DNS settings

Here, you need to delete any A records that are currently pointing to a different IP address.

After that, click on the ‘Add Record’ button at the top.

Add domain record

In the form that appears, make sure the record type is set to A. In the ‘Refers to’ dropdown, choose Other Host. Change the Name or Host field to @ if you’re pointing the root domain (e.g., example.com).

In the IP address field, you need to enter the external IP address of your Google Cloud VM. For example, if your VM’s IP is 35.247.XX.XX, then you have to type that in.

Adding an A record

Set the TTL (Time to Live) to the default value and then click the ‘Edit’ button to save the changes.

If you also want to support www.yourdomain.com, repeat the process and add another A record with the host set to www, pointing to the same IP.

It may take a few minutes for the DNS changes to propagate. Once that’s complete, visiting your domain in a browser should take you to your Google Cloud-hosted website.

After saving your DNS changes, it may take a few minutes (up to 24 hours, but usually much faster) for them to propagate globally.

Once that’s done, visiting your domain should load your website. You may still need to update your WordPress website address so that it uses your domain name instead of the IP address.

Method 3. Manually Host WordPress on Google Cloud VM

This method is for advanced users, developers, and learners. For this method, you’ll manually configure your VM and use the SSH command line to install software.

Step 1. Create a Project

To begin, you’ll need to sign in to your Google Cloud account and create a new project from the Cloud Console.

Create new project on Google Cloud console

Once your project is created, the next step is to enable billing.

Step 2. Enable Billing

Simply click on the Billing label from the left column and follow the on-screen instructions.

Enable billing for your Google Cloud project

Step 3. Enable Computer Engine

Once billing is set up, you need to click on the ‘Compute Engine’ option from the left column (or use the search bar at the top to find it) and click ‘Enable’ to start using the API.

This unlocks the tools that you’ll use to create and manage your server.

Enable computer engine

Step 4. Create a Virtual Machine

Once you have enabled the Compute Engine, you can now create a Virtual Machine instance (VM instance for short).

A VM instance is your own virtual private machine that you can turn into a VPS server to host your website on the Google Cloud platform.

Create a VM instance on Google Cloud

On the next screen, you will be asked to configure your VM instance.

First, you need to provide a name for your VM, which could be anything that helps you easily identify it. And choose a region and zone where you want to host it.

Configure virtual machine

Below that, you’ll see pre-configured setups for different use cases. I recommend using E2, which is low-cost and perfect for hosting a WordPress website.

Below that, you’ll be able to configure your instance further by adding more memory or CPU cores to it.

Choose VM memory and cores

Next, you need to click ‘Create’ to continue to the next step.

Google Cloud console will now create your Virtual Machine instance and redirect you to the VM management dashboard.

Step 5. Set up Firewall Rules

While your VM is ready, its firewall rules currently don’t allow incoming traffic requests.

Let’s change that.

Simply click on the ‘Set up firewall rules’ option.

VM firewall rules

This will bring you to the Network Security area and display your VM’s firewall rules.

Simply click on the ‘Create firewall rule’ option to continue.

Create firewall rule

On the next screen, you need to enter the following information into the fields:

  • Name: allow-http
  • Targets: All instances in the network
  • Source filter: IPv4 ranges
  • Source IP ranges: 0.0.0.0/0
  • Second source filter: None
  • Destination filter: None
  • Protocols and ports: Check ‘TCP’ and enter 80
Allow HTTP requests in Google Cloud VM firewall

Don’t forget to click ‘Create’ to save your firewall rule.

Your Virtual Machine is now ready for website traffic.

Step 6. Installing Web Server Software

Next, you need to use the SSH button in the Cloud Console to connect to your server. This command-line interface allows you to install software and give your virtual machine commands in text format.

Connect SSH

You’ll need to use it to install the necessary software stack. This includes Apache or Nginx for your web server, PHP for WordPress, and MySQL or MariaDB for your database.

You can run it in your web browser. Once connected, you will see a black terminal screen.

SSH in browser

Now, you will need to run several commands, one after another. I know it does sound a bit complicated, but trust me, it is not as difficult as it sounds. Simply copy and paste the commands below.

You’ll first start by updating your VM instance. This is kind of like updating your computer to ensure you have all the security updates installed:

sudo apt update && sudo apt upgrade -y
Hosted with ❤️ by WPCode

It may take a few minutes to complete. During this time, you may see options pop up. Simply hit Enter to continue with the default choices.

Once finished, copy and paste the following command to install the Apache web server:

sudo apt install apache2 -y

For those of you who want to install Nginx, you can enter the following command:

sudo apt install nginx -y
Hosted with ❤️ by WPCode

Wondering which one is better? See our article comparing Apache vs. Nginx vs. LiteSpeed.

I prefer Nginx because it gives better performance and speed. However, Apache is more widely used due to its flexibility and ease of use.

Once you have installed the web server software, the next step is to install MySQL. Simply run this command:

sudo apt install mysql-server -y
Hosted with ❤️ by WPCode

Depending on your VM’s operating system, in some cases, mysql-server may not be available for installation. In that case, you can use MariaDB as a drop-in replacement for MySQL. It works perfectly with WordPress, and the commands are nearly identical.

Simply add the following command to install MariaDB instead:

sudo apt install mariadb-server -y
Hosted with ❤️ by WPCode

After that, you need to run the MySQL/MariaDB installation.

Enter the following command next:

sudo mysql_secure_installation
Hosted with ❤️ by WPCode

During installation, you can accept the defaults or tighten things based on your comfort level (say yes to remove anonymous users, disable root login remotely, and so on).

Now that you have MySQL installed, you can create a database to use for your WordPress website.

First, enter this command:

sudo mysql -u root -p
Hosted with ❤️ by WPCode

You’ll be asked for a password. If you created one during the installation, you can use that. Or simply hit the Enter key on your keyboard.

You will now enter the MySQL server. This is where you will manage your WordPress database.

Let’s first create one by modifying and entering the following command:

CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
GRANT ALL ON wordpress.* TO 'wpuser'@'localhost' IDENTIFIED BY 'strongpassword';
FLUSH PRIVILEGES;
EXIT;

Hosted with ❤️ by WPCode

You can change the database name from wordpress to anything else.

Similarly, you can change wpuser (the MySQL username), and finally replace strongpassword with your own strong password.

📝Important: Write down your MySQL username, password, and database name somewhere safe, you will need them later for installing WordPress.

Next, you will need to install PHP and the required modules. Simply enter the following command:

sudo apt install php php-mysql php-curl php-gd php-xml php-mbstring php-zip libapache2-mod-php -y
Hosted with ❤️ by WPCode

Once the installation is finished, you need to restart your web server. This allows your web server to load the PHP and other installed modules on reboot.

For Apache, use the following command:

sudo systemctl restart apache2
Hosted with ❤️ by WPCode

For Nginx, you need to use the following command instead:

sudo systemctl restart nginx
Hosted with ❤️ by WPCode

Step 7. Connect Your Custom Domain to Google Cloud

To use your own domain name (like yourdomain.com) with your Google Cloud VM, you’ll need to update your domain’s DNS settings to point to the external IP address of your VM instance.

First, go to the Google Cloud Console, open the ‘VM instances’ page, and copy the external IP address of your virtual machine. This is the address your domain needs to point to.

Copy external IP Address

Next, you have to log in to your domain registrar’s dashboard. This is where you bought your domain, like Domain.com, GoDaddy, Bluehost, or other platforms.

I will show you instructions for Domain.com, but it is pretty much the same for all domain registrars.

Find the DNS settings or ‘Manage DNS’ section for your domain.

Manage DNS settings

Here, you need to delete any A records that are currently pointing to a different IP address.

Then, click on the ‘Add Record’ button at the top.

Add domain record

In the form that appears, make sure the record type is set to A. In the “Refers to” dropdown, choose ‘Other Host’. Change the Name or Host field to @ if you’re pointing the root domain (e.g., example.com).

In the IP address field, enter the external IP address of your Google Cloud VM. For example, if your VM’s IP is 35.247.XX.XX, type that in.

Adding an A record

Set the TTL (Time to Live) to the default value and then click the ‘Edit’ button to save the changes.

If you also want to support www.yourdomain.com, repeat the process and add another A record with the host set to www, pointing to the same IP.

It may take a few minutes for the DNS changes to propagate. Once complete, visiting your domain in a browser should take you to your Google Cloud-hosted website.

After saving your DNS changes, it may take a few minutes (up to 24 hours, but usually much faster) for them to propagate globally. Once that’s done, visiting your domain should load your server instead of just the raw IP.

Step 8. Install SSL and Enable HTTPS

Before visiting your domain, it’s a good idea to set up an SSL certificate. This allows you to serve your WordPress site over HTTPS, which is more secure and preferred by search engines.

I recommend using Let’s Encrypt, which is a free and trusted certificate authority.

To make things easier, I’ll use a tool called Certbot to automatically issue and configure the SSL certificate for Apache or Nginx.

First, update your package list and install Certbot:

sudo apt update  
sudo apt install certbot python3-certbot-apache -y
Hosted with ❤️ by WPCode

If you’re using Nginx, you can install Certbot with the Nginx plugin instead:

sudo apt install certbot python3-certbot-nginx -y
Hosted with ❤️ by WPCode

Once installed, run this command to request an SSL certificate for your domain.

Remember to replace yourdomain.com with your actual domain:

sudo certbot --apache -d yourdomain.com -d www.yourdomain.com
Hosted with ❤️ by WPCode

For Nginx users, the command is:

sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
Hosted with ❤️ by WPCode

Certbot will ask a few questions, including your email for urgent notices. You can choose to redirect all traffic to HTTPS when prompted, and I recommend saying yes.

That’s it! You’ve now installed a free SSL certificate, and your site is available over HTTPS.

Note: Let’s Encrypt certificates are valid for 90 days, but Certbot automatically renews them. You can test auto-renewal with this command:

sudo certbot renew --dry-run
Hosted with ❤️ by WPCode

Step 9. Install WordPress on Your Server

Now it’s time to install WordPress. Switch back to your VM instance, SSH into your server, and run:

wget https://wordpress.org/latest.tar.gz
Hosted with ❤️ by WPCode

Once the download finishes, you need to extract it using the following command:

tar -xvzf latest.tar.gz
Hosted with ❤️ by WPCode

This creates a wordpress folder.

Move its contents to your web root, which is usually called /var/www/html/ , like this:

sudo mv wordpress/* /var/www/html/
Hosted with ❤️ by WPCode

You need to give proper file permissions so your web server can access everything:

sudo chown -R www-data:www-data /var/www/html/
Hosted with ❤️ by WPCode

Now, create the WordPress config file.

First, copy the sample:

sudo cp /var/www/html/wp-config-sample.php /var/www/html/wp-config.php
Hosted with ❤️ by WPCode

Edit it using nano or another editor to enter your database name, user, and password.

This is the information you saved earlier when creating your WordPress database:

sudo nano /var/www/html/wp-config.php
Hosted with ❤️ by WPCode

Save and close the file by pressing CTRL+X.

Finally, go to your domain in a browser, and you should see the WordPress installation screen.

WordPress installation wizard

You can now follow the steps to create your admin user and finish the setup. Need help? See our complete WordPress installation tutorial.

Troubleshooting Tip 💡: If you see a default server page instead of the WordPress installation screen. This means that a default index.html page is present in the root directory of your site. To delete it, connect to SSH again and enter the following command:

sudo rm /var/www/html/index.html
Hosted with ❤️ by WPCode

🎉 That’s it! You now have a working WordPress website running on Google Cloud with your custom domain.

Keep in mind that you’re also responsible for securing your WordPress site, managing backups, applying updates, and monitoring its performance. If you’re not confident doing those things, Method 1 (SiteGround) may be a better fit.

Google Cloud Hosting Costs Explained

One thing that can catch beginners off guard is how Google Cloud charges for hosting. Unlike traditional web hosts with flat monthly plans, Google Cloud uses a pay-as-you-go model that depends on how much you use their services.

When you launch a WordPress site on Google Cloud, whether manually or using Click to Deploy, you’re billed separately for your virtual machine, disk storage, network usage, and optional services, such as snapshots or load balancing.

For example, if you go with the default setup from Click to Deploy using an e2-small instance (2 vCPU, 2 GB RAM) and a 20 GB disk, the estimated monthly cost looks like this:

  • VM instance: $15.09/month
  • Persistent disk: $0.88/month
  • Total estimated monthly cost: ~$15.97/month

This doesn’t include bandwidth usage or backup storage. If your site gets a lot of traffic, or if you store large files or create snapshots, then the cost can increase without warning.

You’ll also need to monitor usage, set up budget alerts, and manually handle software updates, backups, and security patches. That can be a lot of work if you just want to focus on building your site.

That’s why, even though Google Cloud is incredibly powerful, I don’t usually recommend it for beginners — unless you’re prepared to manage everything yourself and optimize for cost.

Google Cloud vs. SiteGround – Cost Comparison

FeatureGoogle CloudSiteGround (Managed Hosting)
Monthly Cost (Starter Site)~$15.97/month (e2-small + 20GB disk)$2.99/month (Startup plan)
Traffic CostsUsage-based billing (can increase with traffic)Generous resources with each plan to handle traffic
Backup & RestoreManual setup requiredAutomated backups included
SecurityUser-managed updates and firewallAI-powered security and server monitoring
SupportNo support for server setup (DIY)24/7 expert WordPress support
Ease of UseRequires technical skills and CLI accessBeginner-friendly dashboard and tools

SiteGround, on the other hand, provides the same Google Cloud infrastructure underneath, but with predictable pricing, automated security, expert support, and no unexpected bills.

If you’re building a serious website or running a business, the peace of mind and support alone are worth it.

Final Verdict: Why I Recommend SiteGround for Hosting WordPress on Google Cloud

Over the years, I have used all three methods: manual VM setup, Click to Deploy, and SiteGround. And my honest recommendation is simple.

If you love digging into server setups and want to learn cloud infrastructure hands-on, then the DIY method is a great project.

But if you’re focused on growing your business rather than managing infrastructure, then SiteGround is the smarter way to go.

You still get the power and reliability of Google Cloud behind the scenes. But everything else — performance optimization, backups, caching, staging, support — is handled for you by people who know WordPress inside and out.

We host WPBeginner on SiteGround, and many of our partner companies are also hosted on SiteGround.

If you’re building a serious website and don’t want to worry about server configuration, billing spikes, or keeping up with security patches, then SiteGround is where you should start.

Frequently Asked Questions About Hosting WordPress on Google Cloud

1. Can I host WordPress on Google Cloud for free?

Google Cloud offers a free tier, but it’s pretty limited. You might be able to run a low-traffic WordPress site for free using a small VM instance, but you’ll still need to monitor usage to avoid surprise charges. In my experience, it’s better to assume some cost if you’re serious about your site.

2. Do I need to be a developer to host WordPress on Google Cloud?

Not necessarily, but some technical comfort helps. The Click to Deploy method is beginner-friendly, while the manual VM setup does require familiarity with Linux, SSH, and server configuration.

If you’re not comfortable with that, then I recommend going with SiteGround — it’s built on Google Cloud and handles all the hard parts for you.

3. Which is better: Click to Deploy or manual VM setup?

Click to Deploy is faster and easier, making it great for testing or smaller projects. Manual setup gives you full control, better performance tuning, and tighter security if you know what you’re doing. I’ve used both, and it really comes down to how hands-on you want to be.

4. What’s the easiest way to host WordPress on Google Cloud?

Without a doubt, the easiest and most reliable option is using SiteGround. You get all the benefits of Google Cloud’s speed and infrastructure without having to deal with technical setup, scaling issues, or security patches. That’s why we use it for WPBeginner.

5. Will my WordPress site be faster on Google Cloud?

Yes — Google Cloud’s network is world-class. Whether you go with SiteGround or configure it yourself, you’ll get faster load times, low latency, and excellent uptime. But keep in mind that speed also depends on how well your site is optimized.

6. Is Google Cloud cheaper than shared hosting?

Not really. Once you factor in bandwidth, storage, and external IP costs, running your own VM can cost more than standard shared hosting. If you’re price-conscious, then SiteGround’s flat-rate plans are often more predictable and affordable in the long run.

Bonus WordPress Hosting Resources 🎁

The following are a few additional resources on hosting WordPress that you may find helpful.

Whether you choose SiteGround for simplicity or go the manual route for full control, hosting WordPress on Google Cloud is absolutely doable. I hope this guide has helped you pick the right path and feel more confident about launching your site.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post How to Host WordPress on Google Cloud Platform (3 Ways) first appeared on WPBeginner.

6 Common Domain Name Scams to Avoid (& How to Spot Them)

2 June 2025 at 10:00

‘Your domain name is about to expire!’ is a pretty scary email that thousands of business owners receive every day. The thing is that many of these urgent messages are actually scams.

I’ve helped countless website owners avoid these traps over the years. The issue that these scams have now evolved from simple email tricks to sophisticated schemes that can fool even experienced website owners.

That’s why I wanted to create this guide to show you what these domain name scams look like and how you can protect yourself. Whether you own one domain name or a hundred, these tips will help you keep your digital property safe.

Common Domain Name Scams to Avoid

What Are Domain Name Scams?

Have you ever received an alarming message telling you that your domain name is about to expire? Maybe it even demanded immediate payment to prevent your website from being taken down.

These domain name scams are designed to extract money or sensitive information from domain owners or potential buyers.

Scammers use a range of tactics—emails, phone calls, even traditional mail—to catch you off guard. They often pretend to be real organizations and make their communications look official.

Now, let’s take a look at the most common domain name scams you may see.

1. Misleading Renewal Notices and Invoices

Final Notice

A few months back, I opened my inbox to find an email with the subject line: ‘URGENT: Your domain name is about to expire!’

The email looked official, and it even had a familiar logo and included my domain name.

But something felt off.

The renewal fee they asked for was twice what I usually pay. Plus, the sender’s email address was generic instead of my actual domain name registrar‘s official email. That’s when I realized it was a scam trying to trick me into either paying unnecessary fees to a fake company or unknowingly transferring my domain to their control.

⚠️ How These Scams Work

This practice is often known as ‘domain slamming’. Scammers might:

  • Send official-looking emails or letters that mimic the branding of legitimate registrars.
  • Use urgent language like ‘Immediate Action Required’ or ‘Final Notice’ to pressure you to act without thinking.
  • Inflate renewal fees, charging prices much higher than standard rates.
  • Trick you into transferring domains by sneakily including transfer authorization, so you unintentionally move your domain name to another registrar.

It’s not just digital communications. Some people get phone calls from scammers posing as customer service representatives, insisting on immediate payment.

And I’ve even received letters in the mail that looked real. They had professional letterheads and detailed information about my domain name.

One letter claimed I’d lose my domain name if I didn’t pay a steep renewal fee immediately. If I hadn’t been cautious, I might have fallen for it.

✅ How to Protect Yourself

Here are a few things you can do to protect yourself from misleading renewal notices and invoices:

  • Verify the Sender: Always double-check that any emails, calls, or letters about your domain are actually from your domain registrar. You can do this by carefully looking at the sender’s email address. If it’s a call, letter, or you’re unsure about an email, it’s best to contact your registrar using the official phone number or support channels listed on their actual website, not from a suspicious message.
  • Check Your Domain Name’s Expiration Date: Log in to your domain registrar’s account dashboard to check when your domain name expires.
  • Don’t Let Urgency Pressure You: Scammers often use urgent language to make you panic and act quickly. If you get a demanding message, take a moment to pause and think things through before you do anything.
  • Contact Your Registrar Directly: If you’re ever unsure about a notice you’ve received, it’s always safest to contact your domain registrar directly. Make sure to find their official contact information on their website, rather than using any phone numbers or links provided in the suspicious message.
  • Educate Your Team: Make sure your team that manages your domain names is aware of these scams to prevent accidental loss.

For more details, just see the last section in this article.

2. Phishing Scams Leading to Domain Hijacking

Phishing

I once received an email that seemed to be from my domain registrar. It had all the right logos and mentioned my domain name. The subject line read, ‘Important: Security Update Required.’

But before I clicked the link in the email, I noticed the URL didn’t look right. I realized it was a phishing attempt.

⚠️ How These Scams Work

Phishing scams are designed to trick you into handing over your login credentials. Scammers create emails or websites that mimic legitimate companies, hoping you’ll:

  • Click on malicious links that lead to fake login pages that capture your username and password.
  • Provide sensitive information, like your bank account details or passwords, through forms or direct replies.
  • Download infected attachments that install malware that can compromise your security.

Remember, phishing attempts aren’t limited to email. Scammers may also use phone calls, text messages, and social media.

Once they have your login information, they can access your domain registrar account and take complete control. This is called domain hijacking.

By hijacking your domain, scammers can transfer your domain name to another registrar without your permission. They can also redirect your website to malicious sites or hold it hostage until you pay a ransom.

Remember, legitimate companies will never ask you to provide sensitive information through unsecured channels.

✅ Protecting Yourself From Phishing and Domain Hijacking

Here are a few things you can do to protect yourself against phishing and domain hijacking:

  • Enable Two-Factor Authentication (2FA) for Your Domain Account: This adds an extra layer of security by requiring a second form of verification. Most registrars offer two-factor authentication (2FA) options—usually via an authenticator app or SMS code.
  • Verify Before You Click: Inspect the email address because scammers often use addresses that look similar to official ones. Before clicking, hover over the link to see where it actually leads. If it doesn’t match the official website, don’t click.
  • Set Up Account Activity Alerts: Many domain registrars let you turn on notifications for important account changes. This way, you’ll get an email if someone logs into your account, changes your settings, or tries to transfer your domain. It’s a good way to catch any suspicious activity quickly without needing to constantly check your account manually.

3. Fake Domain Purchase and Appraisal Scams

Value Added

Imagine getting an unsolicited email from someone eager to buy your domain name at a premium price.

Before you start celebrating, you need to make sure that the offer is legitimate.

⚠️ How These Scams Work

Scammers often use this tactic to exploit domain name owners:

  • They express strong interest in your domain, often offering a price that’s above market value. (Related: Learn how much your website is worth.)
  • They insist that you obtain a ‘certified domain appraisal’ from a specific service they recommend.
  • The supposed buyer disappears once you pay for the appraisal, leaving you out of pocket.
  • In some cases, they might use this scam to collect sensitive information about you or your domain name.

I’ve heard stories from other website owners who have come across similar schemes. These scams prey on the excitement of making a profitable sale.

✅ Protecting Yourself from These Scams

Here’s how you can protect yourself against fake purchase and appraisal scams:

  • Do a Quick Search on the Buyer: If someone offers to buy your domain, it’s a good idea to do a little research on them. Real buyers usually have some online presence, like a company website, a LinkedIn profile, or business directory listings. If you search for their name or company and can’t find anything, that could be a red flag.
  • Be Wary of Paid Appraisal Demands: Most legitimate buyers won’t ask you, the seller, to pay for a domain appraisal. If a potential buyer insists you use a specific appraisal service (especially one you haven’t heard of) and pay a fee, be very careful. If you do want an appraisal for your own information, it’s best to choose a well-known and trusted service yourself.
  • Avoid Sharing Sensitive Information: Never share your sensitive information through email. Legitimate buyers only need basic information to make an offer. If they insist on sensitive details upfront, direct them to use a reputable domain broker or escrow service where transactions are protected.

I explain these safeguards in more detail at the end of this article.

4. Trademark Infringement and Related Domain Scams

Trademark

Businesses may receive alarming messages claiming that someone is attempting to register similar domain names that potentially infringe on their trademark.

These communications often ask for immediate action to prevent brand damage, creating a sense of urgency and concern.

⚠️ How These Scams Work

Here are some ways scammers exploit brand protection concerns:

  • They claim that someone is registering domain names that closely resemble your brand or trademark.
  • Phrases like ‘urgent action required’ or ‘immediate attention needed’ are used to pressure businesses into quick responses.
  • Scammers may suggest purchasing additional domain extensions or services to ‘safeguard’ the brand, which are often unnecessary.

These scams often arrive via email or phone. To appear legitimate, they may use official-sounding language or legal terminology. They want to frighten you into making a rushed decision.

✅ Protecting Against Trademark Infringement Scams

To avoid falling victim to these schemes:

  • Don’t Let Panic Make You Rush: Scammers often use scary-sounding legal language or threats about your brand to make you act quickly without thinking. If you get a notice like this, the first thing to do is take a moment and don’t rush into any decisions or payments.
  • Check if the Claim and Sender Are Real: Try to find out if the organization that contacted you is legitimate and if their claim has any truth to it. Look up the company online and find its official contact information. Also, carefully check the message itself for common warning signs, like generic greetings, poor grammar or spelling, and email addresses that don’t look official.
  • Consider Talking to a Legal Expert: If the notice seems serious, or if you’re genuinely worried that there might be a real trademark issue, it can be very helpful to speak with a lawyer who knows about intellectual property. They can look at the situation, tell you if there’s a real problem, and explain what your options are.
  • Do Your Own Quick Checks: You can use a WHOIS lookup tool online to see if the domain names mentioned in the warning are actually registered by someone else or if they are still available. If the message is urging you to buy multiple domain names to ‘protect your brand,’ think carefully about whether you actually need them.

Check the end of this article for more detailed information on how to protect yourself.

5. Homograph Attacks (Typosquatting)

Typosquatting

Domain scammers often use a trick called a homograph attack. They register domain names that look almost identical to legitimate ones, but use different characters.

For example, they might register ‘exɑmple.com’ instead of ‘example.com’. The ‘a’ looks the same, but it’s actually a different character from another alphabet.

This technique makes scam emails look legitimate at first glance. When you receive a message about your domain name, always check the sender’s email address and any links carefully for these subtle character substitutions.

⚠️ How These Scams Work

Homograph attacks trick us because we usually read words by how they look at first glance, instead of carefully checking each letter.

Scammers register domain names that are visually similar to popular sites by:

  • Using Lookalike Characters: Replacing letters with identical or near-identical characters from different alphabets (e.g., Cyrillic ‘ɑ’ instead of Latin ‘a’).
  • Common Misspellings: Registering domain names with common typos (e.g., ‘gooogle.com’ instead of ‘google.com’).
  • Alternate TLDs: Using different top-level domain names (TLDs) like ‘.net’ instead of ‘.com’ to catch users off guard.

Once you visit these fake sites, scammers may steal your personal information by prompting you to log in or enter sensitive data.

Alternatively, they can download malicious software onto your device or display unwanted ads or content to generate revenue through ad impressions or affiliate links.

✅ Protecting Yourself from Homograph Attacks

Here’s what I’ve learned to do to stay safe:

  • Always Double-Check Web Addresses (URLs): Before clicking on a link, especially in an email or message, hover your mouse over it to see the actual web address it points to. Once you’re on a website, take a quick look at the address in your browser’s address bar to make sure it doesn’t contain any misspellings or unusual characters.
  • Use Your Browser’s Built-in Protection: Most modern web browsers like Chrome, Firefox, and Edge have built-in security features that can warn you if you try to visit a known unsafe website. Make sure these features are turned on.
  • Be Wary of Unsolicited Communications: Don’t click on links from unexpected emails or texts, even if they seem urgent. If you are in doubt, please contact the organization directly using its official contact information.

I cover these strategies in more detail later in this article.

6. Related: SEO and Search Engine Submission Scams

SEO Search Engine Optimization

A while back, I received an email offering to submit my website to ‘hundreds of search engines’ for a small fee. The message promised quick results and top rankings.

It sounded tempting—who wouldn’t want their site to be easily found online?

Unfortunately, this is another common type of scam.

⚠️ How These Scams Work

SEO and search engine submission scams prey on the desire to get more traffic. Scammers might:

  • Offer to submit your domain to numerous search engines. But major search engines like Google and Bing automatically crawl and index websites, and you can submit your site to search engines for free.
  • Promise top rankings overnight. But genuine SEO is a long-term strategy, and no one can guarantee instant top positions.
  • Request payment for secret algorithms or insider knowledge. But search engine algorithms are proprietary and closely guarded. Anyone claiming insider access is misleading you.

These offers often come via unsolicited emails or ads and use buzzwords like ‘guaranteed traffic’ or ‘instant SEO success’ to lure you in.

✅ Protecting Yourself from SEO Scams

Here’s what I’ve learned to do when confronted with these tempting offers:

  • Do Some Research First: If a company offers you SEO services, take a few minutes to look them up online. See if you can find reviews or any complaints. You should be cautious if they promise things like ‘instant top rankings’ or discuss ‘secret SEO methods’ because real SEO doesn’t work that way.
  • Understand How Search Engines Work: Know that major search engines will find and index your site automatically. And understand that SEO takes time and involves optimizing content, improving site speed, and other techniques.
  • Be Careful with Unexpected SEO Offers: If you receive an unexpected email promising amazing SEO results, then you should be cautious. Reputable SEO companies won’t send spammy emails like that. Scammers will also often try to pressure you by claiming an offer is for a limited time, but don’t let that rush you into a decision.
  • Stick to Good SEO Basics: Learning a few basic things about how SEO works can really help you. When you understand the fundamentals, it’s much easier to see when someone is making promises that are too good to be true. For details, you can see our ultimate guide to WordPress SEO.
  • Choose SEO Help Wisely: If you decide you want professional help with your SEO, look for reputable experts or agencies. It’s a good sign if they have real testimonials or case studies from other clients that you can check. You can see our list of the best WordPress support agencies to see some companies that we recommend.
  • Keep Your Login Information Safe: Never share your website login details, such as your WordPress admin password or financial information, with someone just because they offer you SEO services. If you do hire someone, ensure that any payments are made through secure and well-known payment methods.

In the next section of this article, I’ll explain in more detail the best strategies for protecting yourself from domain name scams.

Tips to Protect Yourself From Domain Name Scams

Protect Yourself

Over the years, I’ve used several strategies to keep my domain names safe from scammers. Here are some steps you can take to safeguard your domain names.

✅ Enable Registrar Lock

One of the first things I did after registering my domain names was to enable registrar lock, which is also known as domain lock.

This setting prevents anyone from transferring your domain name to another registrar without your permission. To transfer your domain, you’ll need to log in to your account and unlock it first. This is a simple but effective way to add extra security.

Simply log in to your domain registrar’s control panel and look for the domain lock option. In the example below, it is labeled ‘Transfer Lock’, but some registrars may use different wording.

If you’re unsure, reach out to your registrar’s support team for guidance.

Hover's Domain Transfer Lock Setting

✅ Use WHOIS Privacy Protection

When I first registered a domain name, I was surprised to find my personal contact information listed publicly in the WHOIS database. This visibility can make you a target for scammers.

By enabling WHOIS privacy protection, your personal details are hidden from public view.

The WHOIS Privacy Setting on Hover's Account Settings Page

If you’re curious about how this works, our guide on how to find out who actually owns a domain name explains how to find domain ownership information and the importance of privacy.

✅ Regularly Monitor Your Domain Name Status

It’s easy to forget renewal dates, especially if you have multiple domain names.

I recommend setting up domain expiry reminder emails directly with your domain registrar and enabling automatic domain name renewals.

For more information, see our guide on how to check your domain expiration date.

✅ Educate Your Team

If you have staff or team members who help manage your website or have access to your domain registrar account, ensure they are aware of these common scams.

It’s a good idea to share examples of suspicious emails or messages with them so everyone learns what to look out for and can help keep your domain safe.

✅ Verify Communications

As I’ve mentioned before, always be very careful with emails, phone calls, or letters about your domain name that you weren’t expecting.

Before clicking any links, providing information, or making payments, take a moment to verify if the message is real. If you have any doubts, it’s always safest to contact your domain registrar directly using the official phone number or support channels listed on their website.

✅ Use Two-Factor Authentication (2FA)

Adding an extra layer of security can make a big difference. I enabled 2FA on my domain registrar accounts, so even if someone guesses my password, they can’t access my account without the second verification step.

Most domain registrars offer 2FA options, which are usually found in the account security settings. For example, some registrars let you enable 2FA with a simple ‘Two-Step Sign In’ toggle switch.

2FA for Domain Registrar Login

Tip: You can also add two-factor authentication in WordPress to protect your website.

✅ Deal Only with ICANN-Accredited Registrars

It’s best to register your domain names with well-known and reputable companies.

Look for registrars that are ICANN-accredited (ICANN is the organization responsible for managing domain names globally).

Good registrars usually provide better security features for your account, helpful customer support if you need it, and clear, honest communication about your domain name.

For recommendations, see our pick of the best domain name registrars.

✅ Keep Your Contact Information Up to Date

 It’s really important to make sure your contact information (email, phone number, address) with your domain registrar is always up to date. If you’ve recently changed your contact details, then make sure to update them.

This is how your domain registrar will contact you about important things like renewal reminders or security issues.

✅ Be Skeptical of Unsolicited Offers

Whether it’s an email about SEO services or a call from someone wanting to buy your domain, approach unsolicited communications with caution.

Don’t agree to anything on the spot. Take the time to verify the offer or service. If you are unsure, then seek advice from trusted colleagues or industry experts.

Frequently Asked Questions About Domain Name Scams

Many website owners worry when they receive messages about their domain names. Based on my experience helping website owners, here are answers to the most common domain security questions.

1. What is a domain name scam?

Domain name scams are deceptive practices that try to trick domain owners or potential buyers into giving up money or sensitive information.

Scammers use tactics like fake renewal notices, phishing emails, and misleading offers to exploit unsuspecting individuals.

2. How can I tell if a renewal notice is a scam?

Phrases like ‘Immediate Action Required’ or ‘Final Notice’ are often used by scammers. You should also be wary of emails or letters from companies you don’t recognize.

Besides that, watch out for renewal costs that are significantly higher than your usual rate. And always verify any renewal notice by logging into your registrar’s website or contacting their customer support directly.

3. What is domain slamming?

Domain slamming is when scammers send misleading transfer or renewal notices to trick you into switching domain registrars or paying unnecessary fees.

Make sure you read all messages carefully and check that they are from your actual domain registrar. And always be skeptical of unexpected emails or letters about your domain name.

4. How do phishing scams lead to domain hijacking?

Phishing scams trick you into revealing your login credentials by mimicking your domain registrar’s website or communications.

I once got an email that looked like it was from my domain registrar, asking me to log in due to ‘suspicious activity’. Instead of clicking the link, I accessed my account directly and found everything was fine.

I recommend you enable Two-Factor Authentication (2FA) to add an extra layer of security. Also, never click suspicious links, and navigate to your registrar’s site manually.

Finally, use strong, unique passwords, and avoid using the same password across multiple sites.

5. What should I do if someone offers to buy my domain?

While it can be exciting to receive an unsolicited offer, make sure to be careful. Red flags include when they insist you pay for an appraisal service and make very high offers as bait.

My advice is to research the buyer, verify their credibility, and never pay upfront fees.

6. Are the trademark infringement notices I receive always legitimate?

Not necessarily. Scammers try to use fear around brand protection.

Watch out for urgency and pressure. Scammers often push you to act quickly and demand fees to ‘protect’ your brand.

7. How do homograph attacks (typosquatting) work?

Scammers register domain names that look like yours by using similar or international characters. For example, they may replace ‘o’ with ‘0’ (zero) in a domain name.

Be sure to double-check URLs before clicking on links or entering information. And it’s best to navigate to important sites using saved bookmarks.

8. What should I do if I suspect I’ve been targeted by a scam?

First, don’t engage and avoid responding to the scammer. Next, change your passwords to secure your accounts immediately.

Finally, you should contact your domain registrar and inform them of the suspicious activity. You can also report the scam to the appropriate authorities or online platforms.

9. Can someone steal my domain name?

Yes, domain hijacking is a real threat.

That’s why we recommend using strong passwords and two-factor authentication (2FA) when logging in to your domain registrar account. This makes unauthorized access more difficult.

Also, you should regularly monitor your domain status and consider using a registrar lock. This adds an extra layer of security against unauthorized transfers.

10. Why am I receiving so many unsolicited emails about my domain?

If your domain’s WHOIS information is public, then scammers can easily find your contact details.

The solution is to enable WHOIS privacy protection, which hides your personal information from public databases.

I hope this tutorial helped you learn about common domain name scams and how to avoid them. You may also want to see our guide on how to check domain name availability or our expert pick of the best domain name generators to help you pick a domain fast.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post 6 Common Domain Name Scams to Avoid (& How to Spot Them) first appeared on WPBeginner.

How to Add WordPress Analytics Without Cookies (2 Easy Methods)

28 May 2025 at 10:00

When I first started building WordPress websites, tracking visitor data just meant installing Google Analytics and calling it a day.

But times have changed. With new privacy regulations, using cookies to collect personal information without user consent can lead to legal headaches and lost visitors.

I’ve helped several WordPress site owners transition to cookie-free analytics solutions that still provide powerful insights. After testing numerous options and implementing them across various types of websites, I’ve identified the most effective approaches.

In this guide, let me show you two ways to add analytics while respecting your visitors’ privacy. One uses a privacy-first setup for Google Analytics (which uses first-party cookies), and the other is a cookieless option.

How to Add WordPress Analytics without Cookies

Do I Really Need Cookieless Analytics?

You’ve probably heard a lot about cookies and privacy laws. But what does it all really mean for your WordPress website’s analytics? Let me break it down.

Cookies are small pieces of data that are stored on a user’s browser when they visit a website.

Traditional analytics tools like Google Analytics 4 (GA4) use these cookies to track visitor behavior. This includes details like which pages they visit, how long they stay, and what actions they take.

All this data helps site owners better understand their audience and improve their websites.

🚨 Here’s the challenge: New privacy laws, like the GDPR, CCPA, and ePrivacy, require websites to ask for explicit user consent before tracking with cookies. Because of this, many website owners think they must switch to cookie-free analytics to stay compliant.

However, that’s not actually true!

You can still track important data with Google Analytics while staying compliant with privacy laws.

Why “Cookieless” Google Analytics 4 is the Best Option

When it comes to website analytics, Google Analytics 4 (GA4) is still the best and most powerful tool available – and that’s true for all types of websites. So, if you want accurate insights into your visitors’ behavior, GA4 is the way to go.

But before we start, let’s clear up a common misunderstanding: GA4 does not rely on third-party cookies. Instead, it uses first-party cookies, which are set by your own website to collect data about your visitors’ activity on your WordPress site only.

In contrast, third-party cookies are set by external services (like ad networks) and track users across multiple websites. Because of their broader tracking scope, they raise more privacy concerns and are being phased out by many browsers.

Now, you might be wondering: “Since GA4 still uses cookies – even if they’re first-party – can it be used in a way that complies with privacy laws?”

The answer is yes!

However, do note that Google Analytics itself isn’t automatically compliant or non-compliant. It’s your responsibility to use it in a way that follows the rules that apply to you.

Plus, whether you need cookie consent for Google Analytics depends on several factors. They can be where you and your visitors are located, and how you handle their data.

Since cookie consent laws differ by country (even within the EU), some websites must ask users to consent to specific cookies, while others need a banner for any cookie use.

To help with this, I’ll show you how to pair GA4 with:

MonsterInsights with the EU Compliance addon – This helps ensure your data handling aligns with GDPR and other privacy regulations.

WPConsent cookie banners – These help you request and manage user consent the right way.

With these tools in place, you can continue using GA4 in a way that supports compliance with privacy laws. This helps you gather valuable insights while reducing the risk of legal issues.

How to Add WordPress Analytics Without Cookies

Now that I’ve covered what cookieless tracking is and whether you really need it, let’s talk about how to set it up on your WordPress site.

There are 2 solid options to do this:

  1. GA4 + MonsterInsights EU Compliance addon – Track user behavior with GA4 while staying compliant with privacy laws like GDPR. It uses first-party cookies and offers configurable settings for stronger privacy. Ideal for getting detailed insights with easy website integration.
  2. Burst Statistics – Let’s you set up analytics without cookies. It stores data on your server and offers a hybrid mode with optional cookies.

I will cover both methods in our tutorial, along with some extra tips and FAQs about cookieless tracking.

Feel free to use the jump links below to go to your preferred method:

Ready? Let’s break it down.

Method 1: How to Set Up WordPress Cookieless Analytics (Keep Using GA4 for the Best Insights)

This method is for if you want access to powerful analytics while still respecting user privacy. I’ll be using MonsterInsights alongside WPConsent to set up cookieless tracking.

Step 1: Install MonsterInsights to Set Up Cookieless Analytics

MonsterInsights is the most popular Google Analytics plugin for WordPress, and for a good reason: it makes viewing your Google Analytics data in WordPress incredibly easy.

At WPBeginner, we use it to track traffic sources, visitor demographics, and conversion rates on our forms, buttons, referral links, and more. Check out our complete MonsterInsights review for a deeper look at its features.

MonsterInsights' homepage

✏️ Quick note: In this tutorial, I’ll be using the MonsterInsights Pro version because it comes with the EU Compliance addon (we’ll need it in step 3). But there’s also a free MonsterInsights version that works great if you just need basic analytics reports.

So, let’s first install and activate the MonsterInsights plugin. For details, you can see this guide on how to install a WordPress plugin.

Step 2: Connect MonsterInsights to Google WordPress Analytics

Once you have MonsterInsights up and running, it’s time to connect it to your site and your Google Analytics account.

You can click the ‘Insights’ tab in the left-hand menu of your WordPress dashboard.

Next, just click the ‘Launch the Wizard’ button to start the MonsterInsights setup process.

The MonsterInsights setup wizard

On the next screen, you’ll need to pick a category that best describes your website.

This can be a WordPress blog, business site, or online store.

The MonsterInsights setup wizard

Just hit ‘Save and Continue’ after you make your choice.

After that, you’ll need to connect MonsterInsights to your website’s Google Analytics account.

Simply click the ‘Connect MonsterInsights’ button to begin the process.

How to connect WordPress to Google Analytics using MonsterInsights

In the next steps, you’ll have to sign in to your Google Analytics account and select the website you want to track.

MonsterInsights will then install Google Analytics on your site – easy as that!

Connect WordPress site to Google Analytics using MonsterInsights

For details, you can see this guide on how to install Google Analytics in WordPress.

Step 3: Install the MonsterInsights EU Compliance Addon

Since GA4 still uses first-party cookies, you need to make sure that your tracking complies with GDPR. The MonsterInsights EU Compliance addon makes this easier by automating key privacy settings in GA4.

Some of its essential features include:

  • Anonymizing IP addresses to prevent personal data storage.
  • Disabling the tracking of user demographics, interests, and User IDs.

To install the addon, you can navigate to Insights » Addons.

Here, go ahead and click the ‘Install & Activate’ button to install the EU Compliance addon.

MonsterInsights EU compliance addon

After that, you can switch the toggle to activate the addon when it appears.

Upon activation, let’s go to the ‘Settings’ menu.

In the ‘Engagement’ tab, simply toggle the ‘Enable EU Compliance’ setting to turn it on.

Enabling EU Compliance in MonsterInsights

We also recommend verifying the settings directly in GA4 to ensure your GA4 setup aligns with your MonsterInsights privacy settings.

For example, to make sure your GA4 doesn’t track demographics, you can navigate to your GA4 ‘Admin’ panel.​

Locating the Admin menu

Next up, you’ll want to locate the ‘Data collection and modification’ setting.

Then, simply click the ‘Data collection’ option.

Data Collection section in GA4

Now, in the ‘Google signals data collection’ settings, you should make sure it’s disabled.

Why does this matter? Google Signals collects extra user data, including:

  • Demographics & Interests – Age, gender, and hobbies.
  • Location & Engagement – User locations (from Google accounts).
  • Cross-Device Tracking – Identifies users as they switch between devices.
  • Cross-Platform Reports – How users interact across devices.
  • Ad Personalization Data – Connects with Google Ads for remarketing.

If it’s already off, then you should see the option to ‘Turn On’ like this:

Google signals data collection turned off

You might also want to review your data retention settings.

Data retention controls how long GA4 stores user-level and event-level data before automatically deleting it. A shorter retention period can help with GDPR compliance and privacy regulations.

To do this, you can go to Data collection and modification » Data retention from the ‘Admin’ menu.

Data retention menu in GA4

On the next screen, you’ll see options to set the event and user data retention period.

You can click the ‘Data retention’ dropdown menus for both event and user data. Then, for stricter compliance, simply choose the ‘2 months’ option.

Setting up retention period in GA4

Don’t forget to click ‘Save’ when you’re done adjusting.

To learn more about all things GA4, you can check out our beginner’s guide on how to use Google Analytics 4.

Step 4: Set Up the WPConsent Cookie Consent Plugin

Using Google Analytics 4 while complying with laws like GDPR and CCPA means you need to get user consent before tracking. And that responsibility falls on you.

Whether consent is required depends on where your business is based, where your users are located, what data you collect, and how it’s used. Plus, rules vary widely across countries, even within the EU, with some requiring consent for specific cookies and others for any type.

Instead of handling this manually yourself, you can use WPConsent to simplify compliance.

This powerful plugin lets you display a cookie consent banner, log user choices, and control when tools like GA4 are allowed to run — all within WordPress.

At WPBeginner (and some of our partner brands), we use WPConsent, and it’s been a reliable solution for managing privacy settings. Explore all of its features in our complete WPConsent review!

WPConsent

So, let’s start by installing the WPConsent plugin. If you need help, then you can see this beginner’s guide on how to install a WordPress plugin.

✏️ Quick note: You can use the free WPConsent plugin to set up cookie banners. But for this article, I’ll use the WPConsent Pro version because it provides access to cookie consent logs.

Upon plugin activation, let’s activate the license key.

To do this, you’ll need to go to WPConsent » Settings. After that, simply copy the license key from your WPConsent account and paste it into the ‘License Key’ field.

Then, go ahead and click the ‘Activate Key’ button.

Activating WPConsent license key

With that done, let’s navigate to ‘Dashboard’ to go through the setup wizard.

Go ahead and click on the ‘Let’s Get Started’ button.

WPConsent's setup wizard

On the next screen, WPConsent will run a scan to see if your site is using cookies.

First, it will ask you to check your site’s email address.

If everything looks good already, then you can click ‘Scan Your Website.’

Prompt to scan website for cookies

This will trigger the tool to start the cookie scan.

Once done, you’ll see a ‘Scan completed’ notification along with a short report on the tool’s findings. For example, here it says that WPConsent found 4 services on our site that have set cookies.

Let’s click on ‘OK’ to continue the process.

Scan completed

Next up, you’ll see your WordPress site’s scan results in more detail.

On my demo site, the services that use cookies are WordPress login (this might be because of the ‘Remember Me‘ option), WordPress Comments, Google Analytics, and Matomo.

Make sure that you select all the services. Then, you should also check the box that says ‘Prevent known scripts from adding cookies before consent is given.’

With that done, go ahead and click the ‘Auto-Configure selected’ button.

WPConsent scan results

After that, WPConsent will prompt you to set up your cookie banner.

The process is super simple. You just need to choose a layout and pick a position.

Setting up cookie consent banner

Then, you can scroll down the page to preview your cookie consent banner.

If everything looks good to you, it’s time to click the ‘Save & Complete Setup’ button.

Previewing cookie consent banner

And you’re done!

Now, if you visit your website, you’ll see your cookie consent banner in action.

Cookie consent banner on a live WordPress site

👉 Expert Tip: Adding a link to your privacy policy page in the cookie banner helps build trust with your visitors and align with legal requirements. If you don’t have one yet, then check out our tutorial on how to add a privacy policy page in WordPress.

After setting it up, you can embed the link into your cookie banner from the WPConsent editor.

Just navigate to WPConsent » Banner Design from your admin area. Then, you can edit the text in the ‘Message’ field to include the link to your Privacy Policy page.

Editing WPConsent message to include a link to the Privacy Policy page

Don’t forget to click the ‘Save’ button so you don’t lose your progress.

And here’s your cookie banner:

New cookie banner with privacy policy linked

Step 5: Access Consent Logs to Verify Your Privacy Settings

WPConsent has a ‘Consent Logs’ section that provides a detailed record of how visitors interact with your site’s cookie consent popup.

To see your logs, go ahead and navigate to WPConsent » Consent Logs from your WordPress admin area.

Consent Longs menu item in WPConsent

Here, you’ll find a table with all your users’ consent details.

For example, I have a user who accepted all cookies – essential, statistics, and marketing.

Consent Logs in WPConsent

And that’s it – you’ve successfully set up Google Analytics with enhanced privacy settings while still using cookies.

Method 2: How to Set Up WordPress Analytics Without Cookies (Free Option with Less Data Accuracy)

If you’re looking to track analytics without cookies, then Burst Statistics is a great option. This free plugin makes the process pretty simple.

Keep in mind that Burst Statistics uses a technique called fingerprinting. It’s a way to identify a computer or device based on its unique characteristics, like the browser, operating system, and installed fonts, even without using cookies.

While it’s generally considered less intrusive than cookies, it’s still a form of tracking, so it’s good to be aware of it.

Now, let’s take a look at how you can set it up on your WordPress site.

Step 1: Install and Activate the Burst Statistics Plugin on WordPress

To get started, you need to install and activate the free Burst Statistics plugin. Simply navigate to Plugins » Add New Plugin from your admin area.

After that, you’ll want to use the search feature to quickly find the plugin. Then, go ahead and click the ‘Install Now’ button.

✏️ Quick note: For this guide, I’ll use the free Burst Statistics plugin to set up analytics without cookies. However, upgrading to Burst Statistics Pro will unlock lots of other cool features, including data archiving, multiple goal tracking, and advanced filters.

Burst Statistics Install Now button

Then, you should click once again on the ‘Activate’ button when it appears. If you need help, then you can check out this guide on how to install a WordPress plugin.

Step 2: Configure Settings for Optimal Performance and Privacy

Upon plugin activation, you can enable analytics without cookies straight away.

All you have to do is navigate to Statistics » Settings from your WordPress admin area. Then, let’s make sure you’re in the ‘General’ tab.

From here, simply switch on the ‘Enable Cookieless tracking’ option like this:

Enable Burst Statistics' cookieless tracking

And that’s it – you’ve successfully set up WordPress analytics without cookies on your website.

Step 3: Verify if Your Analytics Are Working Properly

Unlike the more traditional approach, analytics without cookies avoids storing personal data, like IP addresses or other user identifiers. Instead, it provides anonymized, aggregated data.

That said, it’s important to note that some methods still involve data collection. This may carry privacy implications depending on how they’re implemented.

To see if your analytics are working properly, you need to go to the ‘Statistics’ menu. On the next screen, you’ll immediately find your visitors and pageviews graph for the last seven days.

Insights in Burst Statistics

To see the statistics in detail, you can scroll down this page.

Here, you might notice that your sessions are counted differently.

In traditional analytics, cookies track when a visitor starts and ends a session. If the same person comes back within a certain time frame (usually 30 minutes), it’s counted as the same session.

In analytics without cookies, returning users cannot be recognized within that window. Instead, each visit is treated as a new session, even if it occurs shortly after the last one.

🤔 What does this mean for your reports? You may see a higher number of sessions than usual because visitors who leave and return within a short period won’t be grouped into a single session.

Burst Statistics compare and device reports

Further down the page, Burst Statistics provides a dedicated ‘Pages’ report that shows how pageviews are distributed across your site.

For example, if your ‘Compare’ report shows 9 pageviews, then you can see that 3 views came from the ‘Career’ page, 2 views from the ‘Login’ page, and so on.

Burst Statistics pages reports

FAQs About Cookieless WordPress Analytics

Still have questions? Let’s clear up some common concerns about tracking website data without cookies.

Why do websites need cookies?

Cookies store small amounts of data to remember user preferences, track user behavior, and improve the user experience. Many analytics tools use cookies to identify returning visitors and track interactions over time.

How can I add analytics to my WordPress site?

In short, you can add analytics to your WordPress site using tools like MonsterInsights, Matomo, or HubSpot.

I recommend MonsterInsights because it makes installing Google Analytics in WordPress easy. It gives you all your GA4 data in easy-to-understand reports directly in your WordPress dashboard.

For details, see this guide on how to install Google Analytics in WordPress.

Do all websites with analytics need cookie warnings?

No. If your analytics solution doesn’t store personally identifiable information (PII) or track users across sessions using cookies, then you don’t need a cookie consent banner. This is why many site owners switch to analytics without cookies.

For example, Burst Statistics is a privacy-focused analytics tool that uses fingerprinting techniques. Instead of storing cookies, it analyzes non-personal browser and device data to differentiate visitors.

Keep in mind that while this approach is technically cookieless, it is still a form of data collection that may have privacy considerations.

Will cookieless analytics affect data accuracy?

It depends on the tool you use.

Cookieless tracking may not capture user journeys in as much detail, but it still provides accurate insights into overall traffic, page views, and engagement.

Many modern cookieless analytics tools use fingerprinting techniques or server-side tracking to improve accuracy. While these methods minimize cookie usage, they still collect data in other ways, which may raise concerns about privacy.

Can I switch back to traditional analytics if needed?

Yes, most analytics solutions allow you to switch between cookieless and traditional tracking. However, if you start using cookies again, then you may need to add a cookie consent banner to comply with privacy laws.

Further Reading 📚: More WordPress Analytics Guides

I hope this article has helped you learn how to add WordPress analytics without cookies.

Want to dive deeper into WordPress analytics? Check out these guides to track and understand your website’s performance more effectively:

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post How to Add WordPress Analytics Without Cookies (2 Easy Methods) first appeared on WPBeginner.

How to Check Domain Expiration Date: Avoid Website Downtime

19 May 2025 at 10:00

Ever tried visiting a website only to find it’s completely gone? Chances are, someone forgot to check their domain expiration date. After helping many different people set up WordPress websites, I’ve seen this happen more times than I’d like to count.

Checking your domain expiration date is a simple but important task that many website owners overlook. But don’t worry – it’s actually pretty straightforward once you know where to look.

I’ve put together this easy-to-follow guide that shows you exactly how to check when your domain expires, using methods I’ve personally tested and verified over the years.

How to Check Domain Expiration Date

Why Check Your Domain Expiration Date?

Have you ever had that moment of panic when you go to your website, and it’s just gone?

I remember once I was launching a small side project. I’d registered a domain, set up a basic landing page, and was ready to go. Then, a few weeks later, the website vanished.

It turns out, in my excitement, I’d completely forgotten about the domain renewal date.

What happens when a domain name expires?

Your website essentially disappears from the internet. Visitors trying to find you will see a ‘This site can’t be reached’ error page, or maybe even a page full of ads put there by someone else.

The Chrome 'site can't be reached' error

Also, the email addresses linked to the domain will stop working. This can lead to missing important emails from clients or customers.

And it’s not just about your website and email. Your domain name is your online identity, so losing it can damage your brand and reputation.

Can You Recover a Domain Which Has Expired?

Now, here’s the somewhat good news. Sometimes, you can recover an expired domain. But it’s not always guaranteed, and it can get complicated and sometimes expensive.

Generally, after a domain expires, it enters a grace period for a few weeks. You usually have the first right to renew it during this time, often at the regular renewal price.

However, if you miss that grace period, things get trickier. The domain might go into a redemption period. This is another phase where you might still be able to get it back, but now you’ll likely face huge redemption fees on top of the renewal cost.

If you miss the redemption period, your domain will become available for anyone to register, including one of our competitors.

Prevention is always better than a cure. Regularly checking your domain expiration date and setting up renewals is way less stressful than the headache of trying to recover an expired domain.

Expert Tip: Are you wondering when someone else’s domain expires because you want to buy it? Just see our guide on domain backorders and how to place them.

Now, I will show you the best ways to check your domain expiration date:

1. Using Your Domain Registrar’s Account Page

If you’re wondering when your domain expires, your domain registrar’s account page is the first place I’d recommend checking. It’s quick, easy, and gives you all the information you need.

The domain registrar is the service where you first registered your domain name, such as Domain.com, Bluehost, GoDaddy, or Namecheap.

Most registrars make it super simple to find your domain expiration date right in your account dashboard. Simply head over to your domain registrar’s website and log in to your account.

Once you’re logged in, look for something like ‘Domain Management’, ‘My Domains’, or similar. It’s the place where you see a list of all the domains you own through them.

The expiration date is clearly displayed next to each domain or when you click on a specific domain to manage it. Often, it’s right there on the main domain overview page.

Checking Domain Expiration Date in Bluehost

Another bonus is that you’ll usually find options to renew your domain right next to the expiration date.

2. Using WHOIS Lookup Services

WHOIS is like a giant, publicly accessible phonebook for domain names. Its database holds information about who registered a domain, when they registered it, and, importantly, when it expires.

There are tons of websites that offer WHOIS lookup services. But I recommend using the ICANN Lookup tool because ICANN manages domain names globally.

Other popular WHOIS sites include DomainTools and Whois.com.

Using these services is usually very simple. You’ll see a search bar right on the homepage. Just type in the domain name you want to check – like ‘example.com’ – and hit enter or click the ‘Search’ or ‘Lookup’ button.

DomainTools' Whois Lookup Tool

The WHOIS service then fetches the domain information and displays it to you.

And buried in all that information, you’ll almost always find the expiration date.

DomainTools' Whois Lookup Results

I have found WHOIS lookup services, especially ICANN Lookup, to be incredibly convenient for quick checks. This is especially true when you just need to know the expiry date and don’t want to log into any accounts.

Tip: WHOIS Privacy

Now, a little heads-up about privacy. You might have heard of WHOIS privacy or domain privacy.

Many people use privacy services to protect their personal information from being publicly listed in the WHOIS database.

The WHOIS Privacy Setting on Hover's Account Settings Page

If a domain owner uses privacy services, then some of the contact details in the WHOIS record might be masked or replaced with generic contact information.

But the expiration date is still almost always publicly visible, or at least easily findable within the WHOIS output. It’s one piece of information they usually don’t hide.

So, even with privacy services in place, WHOIS and especially ICANN Lookup are still reliable for checking that domain expiration date.

3. Setting Up Domain Name Expiry Notifications

I’ve already shown you how to check your domain expiration date. But what about making sure you never miss it in the first place? That’s where domain expiry notifications come in handy.

They are like setting up a safety net for your online presence. The problem is, it’s easy to forget about domain renewals, especially if you have multiple domains or registered them a while ago.

Expiry notifications are your defense against this. They’re like little digital nudges, reminding you to take action before it’s too late.

Setting Up Domain Expiry Notifications With Your Domain Registrar

Where do you actually set up these notifications? The best and most direct place is usually with your domain registrar. They all typically offer built-in notification systems.

For example, Bluehost will send you automatic domain expiration notifications by default. They will email you at least two reminders within 60 days before the expiration date, and a final reminder 5 days before.

Some registrars let you customize these notifications. For example, you may be able to set the notification frequency to a 60-day, 30-day, or 7-day email reminder.

You might also be able to specify notification email addresses. This is useful if you have a team managing domains or want reminders sent to a different email address than your main account email.

Setting Up Third-Party Domain Expiry Notifications

If you’re really serious about long-term domain monitoring, then you could even consider using dedicated domain monitoring services like UptimeRobot.

Domain Expiration Monitoring With UptimeRobot

You can use the service’s domain monitoring to receive alerts 30, 14, 7, and 1 day before your domain name expires and view the expiration date anytime in your dashboard.

Notifications can be sent via email, SMS, voice call, or through one of many integrations (such as Slack, Zapier, Splunk, and more).

Tip: UptimeRobot can also send you notifications to monitor your website’s server uptime.

But honestly, for most people, setting up email notifications through your domain registrar is more than enough to keep on top of your domain renewals and avoid an unexpected domain expiration.

4. Enabling Auto Renewals So Your Domain Doesn’t Expire

Want to know the absolute best way to make sure your domain never expires accidentally? It’s simple: set up auto-renewal.

Auto-renewal is a service your domain registrar provides that automatically renews your domain registration right before it expires. Think of it as an automatic bill payment for your domain name.

Typically, a few weeks or days before your domain expiration date, the registrar will automatically charge the payment method you have on file with them – your credit card, debit card, or whatever you use. This will pay for your domain renewal for another year (or however long you choose for your renewal period).

I’ve been using auto-renewals for years, and they make things much easier. I don’t have to remember renewal dates or manually renew each domain—it just happens.

If you haven’t already enabled automatic renewals on your domain, then you can do this easily next time you renew it. With most registrars, it is offered as a very clear option during the domain renewal process.

For example, with Bluehost, you will see buttons to enable or disable auto-renewal at the top of the Renewal Center page.

Select domain to renew in Bluehost

All you need to do is click the button labeled ‘Enable Auto-Renew’.

With Domain.com, the option is presented as a simple toggle switch instead. Just make sure the switch is enabled when you reach the Summary page before you pay for your domain renewal.

Click renew domain link

Simply look for the automatic renewal option on your domain registrar. This is a preferred method of payment, so it is normally displayed prominently.

You’ll find more information about the renewal process in our guide on how to renew a domain name for all major hosting registrars.

Plus, many domain registrars like Bluehost and HostGator offer domain expiration protection as an option. For a small fee, this will renew your domain for an additional year if your automatic payment is unsuccessful.

Pay for domain renewal in Bluehost

FAQ About Checking Domain Expiration Dates

Even after reading my guide on how to check your domain expiration date, you may still have questions. Here are answers to the questions I’m asked most frequently:

1. Why is it so important to check my domain expiration date?

Letting your domain expire can cause lots of problems. Your website could go offline, your emails might stop working, and you could even lose your domain name completely.

Checking the expiration date is a simple way to avoid these headaches and protect your online presence.

2. Do domain names expire automatically?

Yes, domain name registrations are typically for a set period—usually a year, but sometimes longer. If you don’t renew your domain registration before the expiration date, it will expire. It’s not a one-time purchase, but more like renting your domain name for a specific period.

3. What happens if I forget to renew my domain and it expires?

If your domain expires, then your website and linked email services will likely stop working. During a grace period, you might be able to renew it at the regular price.

But if you miss that, then you could face higher redemption fees, or even lose the domain name if someone else registers it.

4. Can I check the expiration date of any domain name, even if I don’t own it?

Yes, absolutely! Methods like WHOIS lookup services are designed to let you check the expiration date (and other public info) for almost any registered domain name.

5. Do I need to pay to use WHOIS lookup services?

Most basic WHOIS lookup services are free to check domain expiration dates and basic domain information. Some of these sites also offer more advanced paid services, but the basic lookup is usually free.

6. What is domain auto-renewal, and should I set it up?

Auto-renewal is a service offered by domain registrars that automatically renews your domain before it expires, charging your saved payment method.

I strongly recommend setting up auto-renewal! It’s the most foolproof way to prevent accidental domain expiration and ensures your website and email stay online without interruption.

7. I checked my domain expiration date, and it’s coming up soon. What should I do?

Renew your domain as soon as possible! The easiest way is usually through your domain registrar’s account page. You can typically renew for another year or multiple years. If you have auto-renewal set up, double-check that it’s enabled and your payment information is current.

I hope this tutorial helped you learn how to check your domain expiration date. You may also want to see our guide on how to check domain name availability or our expert pick of the best domain name generators to help you pick a domain fast.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post How to Check Domain Expiration Date: Avoid Website Downtime first appeared on WPBeginner.

How to Easily Do Visual Regression Testing in WordPress

7 May 2025 at 10:00

Last week, a friend who manages multiple WordPress sites called me in a panic. A routine plugin update had broken his client’s navigation menu, but he didn’t notice until customers started complaining.

This is a common problem I’ve seen countless times, and it’s exactly why visual regression testing is so important for WordPress website owners.

Visual regression testing might sound complicated. However, it’s actually a simple solution that can save you hours of manual checking and prevent embarrassing layout issues.

Typically, it works by automatically comparing before-and-after screenshots of your pages. This helps catch even the smallest visual changes that might break your site’s appearance. 🔍

In this guide, I’ll show you how to do visual regression testing on your WordPress site. After testing numerous tools and methods, I’ve found the most reliable solution that won’t require any coding knowledge or technical expertise.

How to Easily Do Visual Regression Testing in WordPress

What Is Visual Regression Testing, and Why Is It Important? 🤔

Every time you update your site — whether it’s a WordPress core update, a new plugin, a theme change, or just a minor code tweak — there’s a chance that something on the front end might shift out of place.

For example, a button could disappear, your layout might break, or a product image could stop loading properly.

The problem? These visual bugs often go unnoticed until a visitor points them out through a contact form or design feedback survey.

By then, the damage to your site’s user experience might already be done.

That’s where visual regression testing comes in.

The process is simple: take snapshots of your pages before and after an update, then compare them to spot anything that’s changed.

And if you’re testing on a staging site (which we recommend), you can safely make updates and run comparisons to catch visual issues before anything goes live.

The good news? You don’t have to do it manually.

With visual regression testing tools like VRTs, Percy, or BackstopJS, you can automate screenshot comparisons and check how your site looks across different screen sizes — helping you catch layout issues on desktop, tablet, and mobile.

Why is this important for WordPress users?

If you’re managing a WordPress website, visual regression testing is a time-saving safety net. Instead of clicking through every page after an update, this tool gives you a visual report of what changed — and whether it’s something you need to fix.

It’s especially helpful in many scenarios, such as agencies running updates across multiple WordPress sites, freelancers managing client websites, or online store owners who want to make sure the product and checkout pages stay intact.

In short, visual regression testing helps you avoid frustrating surprises, save time, and keep your WordPress site running smoothly.

With that said, I’ll share how to easily do visual regression testing in WordPress. Here’s a quick overview of all the steps I’ll cover in this guide:

🧑‍💻 Pro Tip: Before running visual regression tests or making design changes, I highly recommend using a staging site.

A staging site is a private clone of your live website where you can safely test updates, plugin changes, or design tweaks — without affecting your users. It helps you catch layout issues, missing buttons, or visual bugs before they go live.

Not sure how to set one up? Just see our step-by-step guide on creating a WordPress staging site for all the details.

Step 1: Install and Activate the Visual Regression Testing Plugin

In this tutorial, I’ll use the VRTs plugin because it’s beginner-friendly and super easy to use for visual regression testing. Whether that is a shifted layout, a missing button, or a broken element after an update, VRTs helps you spot it early.

Here’s how it works: The plugin takes screenshots of the pages you select. You can then trigger comparisons manually or schedule them to run automatically after making changes to your site, such as updating a plugin or tweaking your theme.

The plugin then compares the ‘before’ and ‘after’ screenshots side-by-side and highlights any visual differences.

So, instead of manually checking every page, you get a quick visual report showing what changed, and whether anything looks off.

To install the plugin, you first need to visit the VRTs website and sign up for a plan by clicking on the ‘Get started for free’ button.

VRTs plugin

You can then choose one of the plans. The free plan will allow you to test up to 3 pages per day on one domain and schedule daily tests.

On the other hand, paid plans will allow you to test a higher number of pages, run manual tests, and automatically run visual regression tests after WordPress core, plugin, and theme updates.

Simply click on ‘Buy now’ or ‘Install now’ underneath the plan you want to use.

VRTs plans

Then, follow the instructions to sign up for an account on the VRTs website and add your payment details.

Once you have completed the payment, you will land on your VRTs dashboard, where you can download the plugin as a .zip file.

Then, simply head to Plugins » Add Plugin and click on the ‘Upload Plugin’ button. From here, you can choose the VRTs plugin .zip file that you just downloaded.

Upload plugins to install

Make sure to activate the plugin once it has been installed. For full details, you can see our guide on how to install a WordPress plugin.

Step 2: Configure the VRTs Plugin Settings

Once you’ve activated the plugin, it’s time to set up when your visual regression tests should run.

Head over to VRTs » Settings in your WordPress admin menu.

Once inside, you can scroll down to the ‘Triggers’ section — this is where you tell the plugin when to automatically take and compare snapshots.

Setting up VRTs triggers

Here are the available options:

  • Run Tests every 24 hours (Free) – This is the default setting. VRTs will automatically check your selected posts or pages once per day for visual changes.
  • Run Tests after WordPress and plugin updates (Pro) – Great for catching layout issues caused by updates, right when they happen.
  • Run Tests with your favorite apps (Pro) – Connect VRTs with external tools or workflows using webhooks.
  • Run Tests on demand (Pro) – Manually trigger tests whenever you need them, directly from your WordPress dashboard.

Once you’ve selected the trigger that fits your workflow (or your license), simply click the ‘Save Changes’ button at the bottom of the page.

Step 3: Add New Pages or Posts to Test

Once you’ve configured the plugin settings, it’s time to choose which pages or posts you’d like to include in your visual regression tests.

Let’s now switch to the ‘Tests’ tab, which is where you’ll manage and run your visual tests.

From here, you can click the ‘Add New’ button. This will let you choose posts or pages to test.

Add new visual regression test

In the popup that appears, you need to choose the pages or posts you want to perform the visual regression testing on.

Then, click ‘Add New Test’ to confirm your selections.

VRTs' add new test popup

The VRTs plugin will take an initial snapshot of each selected page. This acts as your baseline — basically a “before” version of how your posts or pages look right now.

After setting up your test, you’ll see an instruction to refresh the page to load the initial snapshot. Go ahead and do just that.

Refresh to see snapshot instruction

With that done, you’ll find a link to the page or post snapshot you added for testing.

You will also see that the ‘Test Status’ is automatically set to ‘Scheduled’ for the next day. This is because the free version of VRTs runs tests on a 24-hour schedule.

View Snapshot

You can click the ‘View Snapshot’ link to check the initial screenshot.

It will open in a new tab like this:

Initial snapshot

Now, you can make any changes you need to your site. Then, come back tomorrow to review the comparison and spot any unexpected visual issues.

Step 4: Check for Visual Differences

Once the test is complete and any visual bugs are detected, you should see a notification alert in the VRTs » Runs tab.

Go to Runs tab

Once inside, you can hover over the run with changes detected.

Then, click the ‘Show Details’ link when it appears.

Show details in Runs

On the next screen, you’ll see a side-by-side comparison of your page, showing the before and after versions.

The plugin automatically highlights visual differences, so you can quickly spot:

  • Layout Shifts and Misaligned Elements: If your design changes after a plugin update or theme change, like buttons moving out of place or text jumping around, VRTs will flag it.
  • Missing or Broken Elements: Whether it’s a missing image, CTA button, or embedded form, VRTs make it easy to spot anything that disappears unexpectedly, which is especially useful for eCommerce or landing pages.
  • Unexpected Content Changes: The plugin will also alert you to changes in text, links, or images, so you can catch unauthorized edits or publishing errors before users do.

You can use the drag handle in the center of the screen to slide between the old and new versions and visually confirm the exact changes.

Side by side comparison

Step 5: Review and Take Action

After running a visual regression test, you can take action based on the results. Here’s what you can do next:

  • Manually edit the page: If the changes are small, you can fix the issues directly by editing the page, such as adjusting the layout, moving elements, or adding back missing features.
  • Revert to a backup: If the changes are bigger or harder to fix, you can restore the page to a previous version using your website backup or version history. This helps avoid leaving issues on your site.

✋ Need a backup tool recommendation? Duplicator is an excellent choice. It’s easy to use and lets you clone your WordPress site in just a few clicks.

Some of our business websites currently use Duplicator for backups and site migrations, and I highly recommend checking it out. Read our full Duplicator review to learn more!

FAQs for Running Visual Regression Testing in WordPress

If you’re just getting started with visual regression testing, you’re not alone. Here are some quick answers to common questions I often hear from WordPress users and developers.

What is the difference between snapshot testing and visual regression testing?

Snapshot testing checks if your website’s code or content stays the same, kind of like saving a backup of how things are supposed to be.

Visual regression testing, on the other hand, focuses on the appearance of your site. It compares screenshots before and after updates to catch layout changes, missing elements, or visual bugs you might not notice right away.

What is the best tool for visual regression testing in WordPress?

The easiest option is the VRTs – Visual Regression Tests plugin. It’s beginner-friendly, doesn’t require any coding, and runs directly from your dashboard. Plus, it has a free version that’s super easy to use.

How can I do regression testing manually?

Manual regression testing means going through your site and checking key pages after you make changes, like installing a new plugin or updating your theme.

You’ll want to visit your homepage, contact page, checkout process (if you have one), and any custom layouts to make sure everything still looks and works as it should. It works, but it can be time-consuming if you manage a large or busy site.

How do you speed up regression testing?

The best way to save time is to automate it. Using a plugin like VRTs – Visual Regression Tests lets you create snapshots of your important pages and quickly compare them after an update.

No need to manually click through every page — the plugin does the visual check for you.

You can also test updates on a staging site first, so you’re not fixing issues on a live site.

What are the best ways to test WordPress website design?

Here are a few tips to test your WordPress design:

  • Use a visual regression tool like VRTs – Visual Regression Tests to spot design changes.
  • Preview your theme and plugin updates on a staging site.
  • Test on multiple screen sizes (desktop, tablet, and mobile).
  • Use browser dev tools to check how your site looks in different viewports.
  • Ask for feedback from users or clients — they often notice things you might miss.

I hope this article has helped you learn how to do visual regression testing in WordPress. Next, you might want to check our article on creating chat rooms in WordPress for your users and the best user experience feedback questions to ask site visitors.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post How to Easily Do Visual Regression Testing in WordPress first appeared on WPBeginner.

What Is a Domain Backorder? (And How to Properly Place One)

2 May 2025 at 10:00

Last year, I saw someone miss out on their dream domain name because they didn’t know about domain backordering. They’d been waiting months for this domain to expire, but someone else swooped in and grabbed it the moment it became available.

Over the years, I’ve helped many different website owners secure their desired domain names through backordering. I’ve tested numerous domain registrars and backorder services, learning what works (and what doesn’t) when trying to grab an expiring domain name.

If you’ve got your eye on a domain that’s currently registered to someone else, I’ll show you exactly how domain backordering works.

I’ll also show you the best ways to increase your chances of securing that perfect domain name.

What Is a Domain Backorder and How to Properly Place It

What Is Domain Backordering and Why Use It?

Did you know that thousands of valuable domain names expire and become available again every single day? Yet many people don’t realize there’s a systematic way to claim these domains before someone else snatches them up.

That’s where domain backordering comes into play.

What Is Domain Backordering?

A domain backorder is essentially a service that attempts to register a domain name the moment it becomes available. When you use a backorder service, you are placing a reservation on a domain that’s currently registered to someone else.

It’s like standing first in line for a ticket to a sold-out show, hoping someone cancels so you can grab their spot.

And trust me, the thrill of finally acquiring that ideal domain is unbeatable.

How Domain Backorder Works

Why Would You Backorder a Domain?

Sometimes, you’ll come up with a perfect domain name for your blog or online store, but it’s already taken. Perhaps it’s not being actively used — or worse, the domain is parked and gathering dust. That’s when domain backordering can be a game-changer.

Here are some reasons you might consider backordering a domain:

  • You can potentially get a premium domain name that’s currently registered.
  • It’s more cost-effective than buying directly from the current owner, who might demand a premium price.
  • You get professional assistance in securing the domain the moment it’s available, saving you time and energy.
  • Using multiple backorder services can boost your odds of success.

💡 Pro Tip: Want to maximize your chances of success? I recommend you also read the pro tips in my guide on how to buy a domain name that is taken.

Challenges of Domain Backordering

I’ve also learned that domain backordering isn’t perfect. There are some challenges and risks.

Mainly, there’s no guarantee you’ll secure the domain because you might not be the only one who wants it. If multiple parties backorder the same domain, it could go to auction, driving up the price beyond what you might be prepared to pay.

I’ve also noticed that some services charge you even if the backorder attempt is unsuccessful. And sometimes, the current owner renews the domain at the last minute, resetting the whole process and leaving you back at square one.

If you don’t mind the risk that it doesn’t work out, keep reading!

What have you got to lose?

It might seem scary at first, but I’ve gone through the domain backordering process numerous times, both for myself and my friends.

Here’s a quick overview of what I’ll discuss in this article:

I’ll cover everything you need to know about domain backordering and tips to help you increase your chances of securing that perfect domain name.

The Domain Registration Life Cycle: How Does it Work?

Timing is everything when it comes to domain backordering. But when exactly is the right moment to place that backorder?

To answer that, you need to understand how domain names progress through their lifecycle. Here are the main phases:

  • Domain Registration Periods: Every domain name is registered for a set period, usually ranging from 1-10 years. During this time, the owner has full rights to use and renew the domain as they see fit.
  • Expiration and Grace Periods: When a domain’s registration period ends and it’s not renewed, it doesn’t become available to the public immediately. Instead, it enters what’s called a Grace Period. This typically lasts between 30 and 45 days. During this phase, the current owner can still renew the domain at the regular renewal price without any penalties.
  • Redemption Period: If the domain isn’t renewed during the Grace Period, it moves into the Redemption Period, which usually lasts about another 30 days. Now, the original owner can still reclaim their domain, but they’ll have to pay a hefty redemption fee — sometimes up to $200.
  • Pending Delete Status: After the Redemption Period ends, the domain enters the Pending Delete phase, which lasts around 5 days. At this point, the domain is scheduled for deletion, and the original owner can no longer renew it. No one can modify or register the domain during this time.

Once the registration status is deleted, the domain becomes available to the public!

Now, here’s an illustration that may help you visualize the lifecycle of a domain a little better:

The Lifecycle of a Domain

If you discover your dream domain is in the redemption or pending delete phase, it may be time to act. But if you find your desired domain doesn’t expire for another 9 years, that’s probably your sign to be patient and check in later (or look for another domain).

In the next section, we’ll show you how to monitor a domain’s status. This way, you can decide whether it’s worth it to put in a backorder.

Here’s a quick overview of some useful terms related to the domain life cycle:

🕒 Grace Period: A 30-45 day window after expiration when the current owner can renew the domain at the regular price.

💰 Redemption Period: An additional 30-day phase where the owner can reclaim the domain by paying a redemption fee.

Pending Delete: The final 5-day countdown before the domain is released to the public. No renewals or changes can be made during this time.

🗑️ Domain Drop: When the domain is officially deleted from the registry and becomes available for registration by anyone.

🎯 Drop Catching: The process of attempting to register a domain the instant it’s released during the Domain Drop.

Doing Your Research Before Backordering a Domain Name

When you’re looking to backorder a domain name owned by someone else, it’s important to do some basic research first.

I’ve learned from experience that not all domains are created equal. Some might violate copyrights or trademarks, have been used to distribute malware or spam, or have been involved in other malicious activities. You definitely want to avoid those pitfalls.

But don’t worry — there are plenty of tools at your disposal to help you do your research.

Monitoring the Domain’s Status

Staying informed is half the battle in domain backordering. WHOIS tools provide you with historical WHOIS records for all types of domain names.

This helps you see when a domain name was created, when it was last renewed, when DNS changes were made, and other historical data.

By reviewing the historical WHOIS records, you can spot any red flags, such as frequent ownership changes, which might indicate issues.

Here are some tools I’ve found particularly helpful for monitoring a domain’s lifecycle:

  • ICANN WHOIS Lookup: The official ICANN WHOIS lookup tool offers authoritative data directly from the domain’s registry. It displays important dates like creation, expiration, and last updated, as well as the domain’s current status codes.
  • DomainTools: This website provides comprehensive WHOIS records along with historical data. It can help you track changes over time and see if the domain has gone through multiple expiration cycles.
  • ExpiredDomains.net: This platform lists domains that are expired, pending deletion, or available soon. It’s a valuable resource for monitoring domains approaching the end of their lifecycle and identifying potential backorder opportunities.
Example of an Expiring Domain's WHOIS Record

By using these tools, you can keep a close eye on your desired domain’s status and be ready to place a backorder at the optimal time.

I’ve found that combining these monitoring tools with backordering services significantly increases my chances of securing the domains I want.

Checking for Trademarks

Next, you’ll want to make sure the domain name isn’t infringing on any registered trademarks.

According to ICANN rules, if a domain name violates a company’s registered trademark, then that company can claim the domain name or ask you to take it down. I’ve seen this happen, and it’s a situation you definitely want to avoid.

You can check the United States Patent and Trademark Office’s database to do a quick trademark search. Simply enter your desired domain name in the search box to see if it returns any matches.

Trademark Search

Checking Past Domain Name Usage

It is also important to check how the domain has been used in the past. What kind of websites were associated with it? Was it linked to any suspicious activities?

I’ve made it a habit to check a domain’s history before proceeding.

The easiest way to do this is to use the Wayback Machine. It is a massive historical archive of the internet, with snapshots of websites archived regularly.

By entering the domain name, you can see past versions of the website and get a sense of its previous content.

Internet Archive Way Back Machine

Running a Domain Health Check Test

Finally, you need to make sure that the domain hasn’t been used for spamming, launching cyber attacks, or spreading malware. I’ve learned that inheriting a domain with a bad reputation can cause major headaches down the line.

You can use tools like MxToolBox’s domain health tool to check for any red flags. Simply enter the domain name, and the tool will run a series of checks to identify potential problems.

MxToolBox Domain Health Report

Choosing the Right Backordering Service

Selecting the right domain backordering service can make all the difference when you’re trying to secure that perfect domain name.

Not all backordering services are created equal. Some clearly show their prices and are helpful when you have questions. Others make it hard to get the information you need when you need it.

In my experience, here are the key criteria you should look for in a backordering service:

  • Transparent Pricing and Policies: You don’t want any surprise fees popping up.
  • Track Record: A service with a history of successful backorders increases your chances of securing that perfect domain.
  • Good Customer Support: When questions arise, responsive support is very important.
  • Clear Communication: Receiving timely updates keeps you in the loop.

Now, let’s dive into some of the popular domain backordering services I’ve encountered. I’ll highlight their key features to help you make an informed decision.

1. Domain.com

Domain.com - Website Domains, Hosting, and Website Builder

Domain.com specializes in premium domain acquisitions. They’ve helped me secure unique domain names that I couldn’t find elsewhere.

This is what I like about Domain.com:

  • They keep a close watch on expiring domains, increasing your chances of acquiring them.
  • Speed is critical, and they don’t waste any time when a domain becomes available.
  • They have a curated list of premium domains that might just fit your needs.
  • Their team is ready to assist with any questions or issues.

One thing to keep in mind is that pricing details can vary with Domain.com.

It’s best to check their current rates and policies directly. I’ve found their investment worthwhile when searching for a special domain name.

2. Namecheap

Namecheap

Namecheap offers a user-friendly backordering experience. I think it’s an especially good option if you’re on a tight budget.

This is what I like about Namecheap:

  • You only pay if the backorder is successful.
  • You stay informed throughout the process with up-to-the-minute information.
  • If the domain goes to auction, then it’s all handled seamlessly within their system.
  • The platform is straightforward to navigate, even if you’re new to backordering.

I’ve appreciated their straightforward approach. However, I’ve also found that they might have less aggressive drop-catching capabilities compared to some larger services.

3. Network Solutions

Network Solutions

Network Solutions brings a wealth of experience, especially if you’re targeting niche or specialized domains.

This is what I like about Network Solutions:

  • Ideal for industry-specific domain names.
  • They don’t give up easily and keep monitoring for longer durations.
  • Knowledgeable staff can guide you through the process.
  • As one of the oldest registrars, they offer legacy domains and have a deep understanding of the domain landscape.

Network Solutions may be particularly useful if you’re working with clients in specialized fields. However, their pricing can be higher, and sometimes their interface feels a bit outdated compared to more modern platforms.

4. GoDaddy

GoDaddy

GoDaddy‘s backorder service is popular because it is closely integrated into its comprehensive domain marketplace.

This is what I like about GoDaddy:

  • Access to professional brokers who can assist if the domain doesn’t drop.
  • They don’t just try once. They make several attempts to secure the domain.
  • They carefully monitor your desired domain’s status.
  • With a vast user base, they have a track record of successful acquisitions.

But one downside I’ve noticed is that competition can be fierce on GoDaddy. If multiple users backorder the same domain, then it could go to auction, potentially driving up the price beyond what you’re comfortable paying.

5. DropCatch

DropCatch Logo

DropCatch has proven to be one of the most powerful backorder services available, especially for high-value and highly competitive domains.

This is what I like about DropCatch:

  • With over 1,000 ICANN-accredited registrars, they send multiple simultaneous registration requests the moment a domain drops.
  • They’ve invested heavily in their drop-catching systems, making them incredibly quick.
  • Managing backorders is straightforward with their clean dashboard.
  • If multiple users backorder the same domain, then they hold a public auction.

One thing to note is that the base price is higher than that of some competitors. Also, popular domains can end up in competitive auctions, driving up the final price.

An Overview of the Top Domain Backordering Services

You can use this table to compare the pricing and key features of each domain backordering service:

ProviderBackorder PriceAdditional FeesOptionsPayment Terms
Domain.comVariesDepends on domain and servicesPremium domains availableCharged upon successful acquisition
Namecheap$18.88NoneN/AOnly charged if successful
Network Solutions$35.00Varies for premium servicesPriority services offeredFees may apply even if unsuccessful
GoDaddy$24.99$4.99 processing fee (non-refundable)$69.99 Premium BackorderFull amount only if successful
DropCatch$59.00None (auction may apply)N/AOnly charged if successful

My Experience and Recommendations

I find that the best approach is to use multiple backordering services simultaneously. It increases your chances, especially for high-value domains where competition is fierce.

And remember, no service can guarantee success. It’s important to weigh the costs against the value of the domain to you. Don’t hesitate to reach out to customer support with any questions.

Selecting the right backordering service boils down to your specific needs, budget, and the domain you’re targeting. By understanding what each service offers and how they align with your goals, you’ll be well on your way to securing that perfect domain name.

Properly Placing a Backorder Domain

Once you have chosen a backordering service, you will need to sign up for an account if you don’t already have one.

This usually involves providing some basic contact information and setting up payment methods. I like to set this up in advance so I’m ready to act when the time comes.

Next, you should use the backordering service’s search function to locate the domain you want to backorder. Confirm that the domain is eligible for backordering and note any specific conditions or auction processes that may apply.

Check That a Domain Backorder Is Available

Simply follow the prompts to place your backorder. This typically involves agreeing to terms and conditions and making the necessary payment.

Some services only charge you if the backorder is successful, while others may require an upfront fee. I appreciate services that offer transparent pricing with no hidden fees.

Monitoring the Domain Backorder Progress

When you place your backorder, make sure you enable notifications so you receive updates about its status. In my experience, staying informed is key, especially if the domain goes to auction or if additional action is required on my part.

Once your backorder is in place, it’s a bit of a waiting game. The domain will move through its expiration phases, and your backordering service will monitor it closely.

I recommend checking in from time to time to stay updated. If your service offers a dashboard, then use it to track the domain’s status.

Remember, patience is part of the process. Domains can take weeks or even months to become available, depending on where they are in the lifecycle. I like to set reminders for myself so I don’t become too fixated, but still stay on top of any developments.

Potential Domain Backorder Outcomes

When you place a domain backorder, there are a few possible outcomes. I’ve experienced all of them at one point or another. Understanding these outcomes can help you prepare for each scenario and decide your best course of action.

Outcome 1: Your Domain Backorder Is Successful

If your backorder is successful, you should celebrate!

But first, you’ll need to complete the registration process to officially secure the domain. This usually involves confirming your contact details and agreeing to any registrar terms. I like to double-check everything at this stage to ensure there are no hiccups.

Once registered, don’t forget to set up auto-renewal if you plan to keep the domain long-term. I’ve learned from experience that it’s easy to forget renewal dates, and auto-renewal provides peace of mind.

Outcome 2: The Domain Backorder Goes Up for Auction

Sometimes, several users will place backorders on the same domain. In such cases, the domain often goes to auction.

I’ve been through a few of these, and while they can be intense, having a strategy helps.

Here are some tips if you find yourself in a domain auction:

  • Decide beforehand the highest amount you’re willing to pay and stick to it. It’s easy to get caught up in the moment, but you’ll thank yourself later.
  • Some auctions are public, while others are private among the interested backorder parties. Knowing the rules can give you an edge.
  • Auctions have time limits. Keep an eye on deadlines to ensure you don’t miss out.

I’ve found that staying level-headed during auctions helps. In my opinion, it’s better to walk away than overextend your budget for a domain that’s not absolutely critical.

Outcome 3: Your Domain Backorder Is Unsuccessful

Sometimes, despite your best efforts, your domain backorder may be unsuccessful. It’s disappointing, but don’t give up. There are alternative paths you can take.

I’ll cover these alternatives in the next section, so keep reading for further guidance.

Alternatives to Domain Backordering

Don’t lose hope if your backorder attempt doesn’t pan out. I’ve helped many friends secure their desired domains through alternative methods that can be just as effective.

Contacting the Current Domain Owner

Sometimes, the direct approach is the most straightforward. If the domain you want is already taken, then reaching out to the current owner might be your best bet.

First, you’ll need to perform a WHOIS lookup to find the owner’s contact information. I show you how to do this in my guide on how to find out who actually owns the domain name.

WHOIS database

When reaching out, keep your communication professional and courteous. Introduce yourself and express genuine interest in purchasing the domain.

I’ve found that being transparent about our intentions helps build trust. You might say something like:

“Hello, I’m interested in acquiring your domain example.com for my upcoming project. Would you be open to discussing a potential sale?”

Be prepared to negotiate on price. The owner might have a specific value in mind, or they may ask you to make an offer. It’s wise to have a budget in place and know how much the domain is worth to you.

In my experience, starting with a fair offer can move the conversation along more smoothly.

Considering Different Domain Extensions

If acquiring the exact domain name isn’t possible, then exploring alternative domain extensions can be a solid Plan B.

I’ve had friends who initially wanted a .com but found success with other top-level domains (TLDs) like .net, .org, or even newer extensions like .io or .co.

Here are some things to consider:

  • Relevance: Choose an extension that makes sense for your industry or audience. For example, .org is commonly associated with non-profits.
  • Availability: Alternative TLDs often have more availability, increasing your chances of finding the perfect name.
  • Brand Consistency: Make sure that the new extension doesn’t confuse your audience. I’ve found that clear communication in marketing materials helps avoid this.

While .com is still the most recognized TLD, alternative extensions can offer a unique touch to your brand. In my opinion, it’s better to have a memorable domain with a different extension than an overly complex .com that no one can remember.

Modifying Your Desired Domain Name

Another option is to slightly modify your desired domain name. This could involve adding a keyword, using abbreviations, or incorporating your location.

Some strategies I’ve seen work well include:

  • Adding Action Words: If ‘example.com’ is taken, consider ‘getexample.com’ or ‘tryexample.com’.
  • Including Your Niche: Tailor the domain to your industry, like ‘examplemedia.com’ or ‘exampletech.com.
  • Using Shortened Versions: Abbreviations or acronyms can make your domain concise and memorable.

Just make sure that any modifications still align with your branding goals. Consistency is key, and you want your domain to reflect your business accurately.

I’ve seen companies successfully rebrand around a modified domain, turning it into a unique asset rather than a compromise.

Considering Subdomains

Using a subdomain is another creative solution. If you already own a primary domain, then you can create a subdomain for your new project. For instance, if you already own ‘example.com,’ you could try ‘blog.example.com,’ or ‘store.example.com.’

While subdomains might not be ideal for standalone brands, they can be effective for different sections of your website or for launching new initiatives under an existing brand umbrella.

Final Thoughts

Missing out on a backordered domain can be frustrating, but it’s not the end of the road. I’ve navigated these challenges before and found that with a bit of creativity and persistence, you can secure a domain that works for you.

Remember:

  • Be open to alternatives and consider how they might even offer new opportunities.
  • Whatever route you choose, ensure it aligns with your overall brand strategy.
  • The digital landscape moves quickly. Acting promptly increases your chances of securing the domain you want.

At the end of the day, your domain is just one piece of the puzzle. It’s important, yes, but what you build on that domain is what truly counts.

So keep moving forward, and don’t let a minor setback derail your plans.

Frequently Asked Questions About Domain Backorders

I’ve covered a lot of ground on domain backordering, but you might still have some questions. Here are answers to some of the most common queries I’ve been asked.

1. What exactly is a domain backorder?

A domain backorder is a service that allows you to ‘reserve’ a domain name that’s currently registered to someone else.

If that domain becomes available because the current owner doesn’t renew it, then the backorder service attempts to register it on your behalf the moment it drops.

2. Is there a guarantee I’ll get the domain I backorder?

No, there’s no guarantee. I’ve found that while backordering improves your chances, it doesn’t ensure success.

Other people might also backorder the same domain, or the current owner might renew it at the last minute. But using a reputable backordering service certainly gives you a fighting chance.

3. What happens if multiple people backorder the same domain?

If several parties place a backorder on the same domain, then most services will hold a private auction once they secure it. The domain goes to the highest bidder in that auction.

I recommend setting a clear budget before you start bidding.

4. Do I have to pay if the backorder isn’t successful?

It depends on the service. Some, like Namecheap, only charge you if they successfully secure the domain. Others might have non-refundable fees or processing charges.

I always read the fine print to understand any potential costs upfront.

5. How long does the backordering process take?

The timeline can vary. It depends on where the domain is in its lifecycle. It could take as little as 30 days if the domain is near expiration or several months if it’s just been renewed.

I’ve learned to be patient and keep tabs on the domain’s status through our backordering service.

6. Can I backorder a domain that’s already expired?

Yes, you can. If a domain has expired but isn’t yet deleted, then it’s often in the redemption or pending delete phase. This is a prime time to place a backorder.

In my experience, acting quickly during this window can improve your chances of success.

7. What if the current owner wants to sell the domain?

If the owner is open to selling, then you might consider reaching out directly to negotiate a purchase. I’ve sometimes found this to be a quicker route.

However, be prepared for the owner to ask for a premium price, especially if the domain has significant value.

8. Is backordering legal and ethical?

Absolutely. Domain backordering is a legitimate service offered by many accredited registrars. It’s a first-come, first-served system once a domain becomes available.

I always make sure I’m not infringing on trademarks or engaging in cybersquatting, which can lead to legal issues.

9. Can I cancel a backorder after placing it?

Policies on cancellations vary by service. Some allow you to cancel and get a refund if the domain hasn’t been secured yet. Others might not offer refunds.

I make it a habit to thoroughly review cancellation policies before placing a backorder.

10. What if the domain I want is in an auction?

If the domain is already in an auction, then you won’t be able to backorder it. Instead, you’ll need to participate in the auction to bid on the domain.

I’ve found that auctions can be competitive, so it’s important to set a budget beforehand.

11. Can I use multiple backordering services for the same domain?

Yes, and I often do. Using multiple services can increase your chances since different services might have different levels of success in capturing the domain. Just keep in mind that if more than one service succeeds, you might end up in multiple auctions.

Related Guides: Domains & How to Buy Them

I hope this tutorial helped you learn what a domain backorder is and how to place one properly. If you’re looking for more useful information about domain management, check out these guides:

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post What Is a Domain Backorder? (And How to Properly Place One) first appeared on WPBeginner.

How to Automatically Post to Threads From WordPress

28 April 2025 at 10:00

Since Threads launched in 2023, I’ve been experimenting with different ways to share my WordPress blog posts there automatically. Like many website owners, I initially posted manually, but that quickly became time-consuming as I managed multiple sites and social channels.

Between summarizing content, researching the right hashtags (and even emojis!), and formatting everything, I was losing valuable time that could be better spent growing my business. 

That’s why I started looking for an alternative that could speed up the entire process. And after testing a few different tools, I found a plugin that allows you to automatically post from WordPress to Threads — no coding required.

In this guide, I’ll walk you through straightforward steps that connect your WordPress site to Threads, allowing you to grow your audience and say goodbye to tedious manual posting.

How to automatically post to Threads from WordPress

Why Share Your Content on Threads?

For small business owners, one of the best ways to grow and get traction is to build a loyal community. One easy way to do that is by engaging with your users directly on social media platforms, including X, Facebook, Instagram, LinkedIn, and now Threads. 

Threads launched in 2023 as a Meta (formerly Facebook) product to compete directly with X (previously Twitter).

Within 5 days, Threads had over 100 million users, making it the fastest-growing consumer application in history. Plus, at the time of writing, there were over 320 million active users every month.

With those types of numbers, you can assume that many of your users and customers are active on Threads!

While there are many similarities to X (Twitter), Threads has some key differences:

  • There’s a higher character limit than with X’s free accounts (500 vs. 280).
  • There’s no advertising.
  • Direct messaging isn’t supported.
  • The interface is simpler and more streamlined.
  • Only 1 tag is allowed per post.

Of course, the biggest reason to integrate your WordPress site with Threads is that you can do so with very little cost and effort. With an automation plugin like Uncanny Automator, you can set up an automated workflow that posts periodically to your Threads account with no oversight needed.

This is exactly what I do on my own small business website. As new blog posts are published, I share them automatically on Threads.

I also use Automator to share occasional tips about buying and selling secondhand clothes. And in this article, I will show you how to create these types of recipes on your own WordPress site.

Related Posts: Learn how to automatically post your WordPress content to Facebook, LinkedIn, and Instagram.

Step 1: Install Uncanny Automator on Your Website

In this tutorial, I will show you how to use Uncanny Automator to automatically publish from WordPress to Threads.

Uncanny Automator is the best WordPress automation plugin that lets you build automated workflows with no code. It connects with hundreds of plugins and third-party apps, including social platforms like Facebook, LinkedIn, Threads, X, and more.

You can read this complete Uncanny Automator review for more information.

Uncanny Automator

By connecting your WordPress site to Automator, it can automatically generate and share your posts in the background while you create content on your WordPress site. 

Besides Threads, Uncanny Automator also connects directly with OpenAI, which is how we will create shareable, high-converting posts on Threads. The post content will be generated automatically based on guidance we send to OpenAI, with no user oversight needed.

You can use the free version of Uncanny Automator for this tutorial, along with an OpenAI API key. The free plugin license uses a credit system, and if you need a higher posting limit, then Uncanny Automator Pro licenses provide unlimited posting credits. 

First, you need to go to Plugins » Add New Plugin and search for the free Uncanny Automator plugin. Click to install and activate it.

Install Uncanny Automator free plugin

This will then launch the onscreen setup wizard.

You can either continue with a free account or sign up for a paid Uncanny Automator account. Just follow the onscreen instructions to finish the setup.

The Uncanny Automator setup wizard

If you need any help, see this guide on how to install a WordPress plugin.

Step 2: Connect WordPress to Threads

After setting up Uncanny Automator, the next step is to connect Threads to your WordPress site. You must have a Threads account set up and ready to use with Automator.

To connect your Threads account, just go to Automator » App integrations.

Uncanny Automator app integrations

In the list of integrations on the left side of the page, scroll down to ‘Threads’.

You have to click that to see the details for the integration, and then click the ‘Connect Threads account’ button at the bottom of the frame.

Uncanny Automator app integration Threads

You will be directed to Threads to sign in and give Uncanny Automator access to your Threads account.

Just follow the prompts to connect Threads to Uncanny Automator.

After allowing the connection, you will be returned to your website, and you can start using the Threads integration in your Automator recipes.

Step 3: Connect to OpenAI

Next, we need to connect OpenAI, which you’ll use to generate the content for your social posts on Threads.

Note: If you don’t already have an OpenAI account, then you need to create one on the OpenAI website.

While still on the App integrations page in Uncanny Automator, scroll up to ‘OpenAI’ in the menu on the left. Then, follow the ‘Setup instructions’ by clicking the button. This will walk you through the process of connecting your OpenAI account to Uncanny Automator.

Uncanny Automator OpenAI instructions

Make sure that your OpenAI API account has been funded (this is different from a ChatGPT account) and that there’s a balance available so that you can access the latest GPT models. 

After generating and copying your API secret key, paste it into the ‘Secret key’ field and click ‘Connect OpenAI account’.

Step 4: Create a Trigger to Post From WordPress to Threads

Now that the Threads and OpenAI accounts are connected, we can create the automation that will automate our Threads posting. In Uncanny Automator, this is known as a “recipe”.

On my website, one of my objectives with Automator and Threads is to automatically share summaries of new blog posts with my followers on Threads.

So, that’s what we’ll be covering in this recipe example: an automated workflow that is started whenever a new blog post is published (the “trigger”) that generates suitable content for a social post that is then shared on Threads (the “actions”).

Once the recipe is set up, it will run automatically for all future blog posts.

To create this recipe, you need to go to Automator » Add new recipe.

OpenAI add new recipe

Uncanny Automator offers a choice of recipe types.

Because this recipe will start when a WordPress user publishes a new blog post, it will always be linked to an account (the account linked to the user publishing the post). So, choose ‘Logged-in users’ and click ‘Confirm’.

Choose recipe type in Uncanny Automator

Choose a title for the recipe and enter it. For this example, we’ll use ‘Share new blog posts on Threads’.

In the Trigger section, you need to choose ‘WordPress’ because the recipe will run when an activity happens on WordPress (in this case, when a user publishes a post).

Connect WordPress to Uncanny

In the list of available WordPress triggers, you need to choose ‘A user publishes a post’.

Just click on it to select it

WordPress trigger Uncanny Automator

We want to make sure that the recipe runs for blog posts only, so it’s important to narrow the scope of the trigger to the ‘Post’ section in the ‘Post type’ field.

After selecting the post type, simply click ‘Save’ in the trigger.

Choose post type in Uncanny

Step 5: Set Up Actions for Posting to Threads From WordPress

We need to add actions to the recipe next, which define what happens when new blog posts are published.

To get started, click the ‘Add action’ button in the ‘Actions’ section of the recipe.

Add action in Uncanny Automator

The OpenAI action must be added first, because it will generate the content to share on Threads. The order of actions in a recipe is important since we need to use the output of the first action in the second action.

Choose the ‘OpenAI’ integration to see a list of possible actions.

We’ll use the ‘Use a prompt to generate text with the GPT model’.

This is because it provides the most flexibility and model options.

OpenAI action in Uncanny

Inside the OpenAI action, several fields are required, and others are optional.

Here’s an outline of how we’ll use the fields in this recipe:

  • Model: To keep costs down but still return high-quality output, we’ll use the gpt-4o-mini model. OpenAI models change periodically, so you may not see this model as available.
  • Temperature: A value of ‘0.5’ balances creativity with a focused response.
  • Maximum length: Blog posts on many websites are typically under 2,000 words. We’ll use ‘4000’ tokens as a safe upper limit (and also to keep costs a bit lower).
  • System message: We won’t use one for this example.
  • Prompt: These are the instructions we’re sending to the OpenAI model that will yield a response. 

Writing a great prompt is perhaps the hardest part of this recipe. It should include clear instructions for OpenAI so that it understands exactly what to do.

Ensure that it also understands that the response will be posted as-is to social media and won’t be reviewed by a human.

Here’s a basic prompt that we might use for this purpose:

OpenAI prompt in Uncanny

You may also want to see this roundup of the best ChatGPT prompts for bloggers, marketers, and social media for more inspiration.

In the image above, you will notice some dynamic values identified by grey oval shapes. These are called ‘tokens’, and they’re used in Uncanny Automator recipes to add dynamic data.

In this example, we’re pulling in records related to whichever post triggered this recipe. 

Start by adding the prompt you want to use into the ‘Prompt’ text area in the action.

Then, to add the tokens you need, you must click the asterisk (*) icon to the right of the ‘Prompt’ field.

OpenAI token Uncanny Automator

Clicking the asterisk shows all available tokens for the action, grouped by token type.

After adding the post title, you have to move your cursor to the location in the prompt where you want to populate the post body.

Next, click the asterisk again to choose a token, and this time choose ‘Post content (raw)’ from the tokens in the ‘A user publishes a post’ list. 

Once your prompt is set up with your instructions, click ‘Save’ in the action.

That’s all we need to do for that section.

Next, we need the Threads action to take the response from OpenAI and post it to our Threads account.

So, we need to click on ‘Add action’.

Post to Threads with Uncanny

Next, choose the ‘Threads’ integration.

You can just click to select it from the list of integrations.

You have to choose the ‘Create a thread post’ action to add it to the recipe.

Click to select it.

The action requires the ‘Content’ for the post first, so we’ll click on the asterisk again to choose tokens for our post body. 

Since we want to use the OpenAI response primarily in the body, just expand the OpenAI action tokens section and choose the ‘Response’ token.

We also want to include the URL of the post in the body.

So, consider adding some text and then a token for the post URL (from the trigger) to the body as well.

In the ‘Image URL or Media library ID’, you need to click the asterisk to show a list of available tokens.

In the ‘Trigger’ section, expand ‘A user publishes a post’ and choose the ‘Post featured image URL’ token.

Assuming that your post has a featured image, completing this step will include the image in your Threads post.

Now that you’ve followed all these steps, your ‘Create a thread post’ action should end up looking something like this:

Create a Threads post in Uncanny

To save your changes, just click ‘Save’ in the action.

The recipe isn’t live yet, but we have added the triggers and actions that we need for the automation.

To take the recipe live, you need to look for the ‘Draft’ toggle on the right side of the page and click it so that it says ‘Live’.

Once the recipe is live and the switch is a solid blue, all new blog articles will generate posts on Threads automatically!

Make Uncanny recipe live

For example, on my website, this recipe runs about 4 times per month as new posts are published about buying and selling secondhand clothing.

Posting to Threads manually previously took me about 15 minutes per post, so taking 20 minutes to set up this one recipe saves our organization approximately 12 hours per year!

If your business posts more frequently, then this automated workflow can save you even more time and let you invest your time more productively instead.

Bonus: How to Publish Automated, Recurring Posts on Threads

With the Pro version of Uncanny Automator, you get more triggers and actions, unlimited posting, and lots of additional features.

One of those extra features is the Schedule integration, which allows recipes to run automatically on a recurring basis. 

For instance, we use a recipe with the Schedule integration as a trigger to post content automatically on Threads. Every few days, we share thrifting and resale tips on our Threads profile. This allows us to generate content automatically and engage with our users without any extra manual work.

Here’s what the Trigger part of the recipe looks like:

Recipe trigger for recurring posts to Threads on Uncanny

And here is the first part of the Actions section.

It has the OpenAI prompt to create the content for the Threads post.

OpenAI prompt for recurring content on Threads

Finally, this is the final Action.

It actually posts this content to Threads.

Create Threads post

This recipe won’t work for all industries, of course, but it’s a useful example of how you can generate and post social content automatically. This type of recipe will also become a lot more useful when the OpenAI API supports external sources and calling URLs directly. That way you can pull content directly from your website.

We hope this article helped you learn how to automate posting to Threads from your WordPress website. You may also wish to see our post on how to add your social media feeds to WordPress or our expert pick of the best social media plugins for WordPress.

Note: This is a guest post from Kelly at Ultimate Thrifting. She publishes insider tips, tools, and stories to help people make money from thrifting and reselling secondhand clothing.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post How to Automatically Post to Threads From WordPress first appeared on WPBeginner.

How to Require Login to View a Page in WordPress (2 Easy Ways)

25 April 2025 at 10:00

“How do I make this page private for members only?” That’s one of the most common questions I get asked by my friends who use WordPress. I remember asking the same question myself when we were building our video membership site at WPBeginner.

Luckily, it’s surprisingly easy to restrict page access to logged-in users in WordPress. You don’t need to hire a developer or learn complex coding. As long as you have the right plugin, you can set it all up in almost no time.

After helping different website owners solve this exact problem, I’ve narrowed it down to 2 foolproof methods that work for any WordPress site. Let me show you how to make WordPress login required to view a page or even your entire website.

Require Login to View a Page in WordPress

When Should You Require Users to Log In to View a Page?

Not every page on your website needs to be locked, but in some cases, requiring users to log in is the best way to protect your content.

Here are a few situations where requiring user login is a good idea:

  • Membership Sites & Online Courses – If you offer exclusive content, tutorials, or training materials, then requiring a login ensures only paying members can access your premium content.
  • Private Client Portals – If you are sharing confidential documents, project updates, or invoices in client portals, then restricting access keeps sensitive information secure.
  • Exclusive Blog Content – Some websites offer premium articles, guides, or research reports to registered users or subscribers only. This can help grow your email list and boost engagement.
  • Community Forums & Discussion Boards – If you run a members-only forum, then requiring login helps keep the conversation private and relevant to your audience.
  • Company Intranet & Team Resources – Businesses often use WordPress to share internal documents, training materials, or announcements with employees. Requiring login for access keeps this information secure.

If any of these apply to your site, then setting up a login requirement is a smart move.

Now, let’s take a look at 2 easy ways to require login to view a page in WordPress. I’ll show you how to do this with both specific pages and all pages.

You can use the quick links below to jump to the method you want to use:

Method 1: Require Login to View a Page in WordPress With MemberPress (For Specific Pages & Posts)

If you’re looking for an easy and powerful way to restrict access to specific pages or posts, then MemberPress is a great choice.

With MemberPress, you can easily control who gets access to your content, whether it’s for members, subscribers, or paying customers. It allows you to create a powerful membership website that fits your specific needs.

In my opinion, it’s the best content protection plugin for WordPress. It makes it super simple to require users to log in before viewing a page.

At WPBeginner, we used MemberPress to create our free video membership website where only subscribers can access the lessons. For details, see this guide on how WPBeginner uses a free video membership site to grow our email list.

Now, to get started, you’ll need to install and activate the MemberPress plugin. For step-by-step instructions, see our tutorial on how to install a WordPress plugin.

Once you’ve activated the plugin, head over to the MemberPress » Settings page to enter your license key. You can get this information in your account area on the MemberPress website.

Adding a license key to your MemberPress plugin

Then, you need to switch to the ‘Payments’ tab to add a payment gateway. The plugin comes with built-in support for PayPal and Stripe.

Go ahead and click the ‘+ Add Payment Method’ button and choose the gateway of your choice. If you need step-by-step instructions, see this tutorial on how to accept Stripe payments in WordPress.

Adding payment methods to a pay-per-view website

Once you have set up your payment methods, you will need to create different membership levels. With each membership, you can specify the level of access a user has for viewing restricted content.

To get started, go to the MemberPress » Memberships page from the WordPress admin panel and click the ‘Add New’ button.

Adding membership levels to your WordPress website

This will open the membership editor, where you’ll need to add a name and description for your membership.

Then, set the price and expiration for your membership plan. For instance, you can select the billing type as recurring or one-time and choose the interval to be yearly, monthly, weekly, or custom.

Creating a paid membership subscription using MemberPress

If you are new to using MemberPress, then you can check out WPBeginner’s ultimate guide to creating a membership website for more instructions.

After you’re happy with your membership plan, click the ‘Publish’ button to store your settings. You can now repeat the process to add as many membership levels as you like.

Next, you have to restrict access to your content so that only logged-in users can view it. To do this, head over to the MemberPress » Rules page from the WordPress dashboard.

Here, click on the ‘Add New’ button at the top.

Adding a new rule to your WordPress membership site

This will take you to a new screen, where you must choose the ‘A Single Page’ option from the ‘Protected Content’ dropdown menu.

Next, enter the slug (URL) of the page where you want to require users to log in before being able to view the content.

Choose content to protect from the dropdown menu

Note: Although using MemberPress is ideal for having granular control over restricted content, you can also choose the ‘All Pages’ option from the dropdown menu to require WordPress login for all pages on your site.

Now, you need to set a condition for the kind of members who can view this page.

To do this, select ‘Member’ from the dropdown menu and type ‘logged in’ in the field next to it. This means that anyone with the Member user role can access this content once they log in.

Configure access condition

After that, scroll down to the ‘Unauthorized Access’ section and choose the ‘Show’ option for the login form from the dropdown.

Then, click the ‘Save Rule’ and ‘Publish’ buttons at the top.

Choose the Show option for the login form

At this point, you’ll need to create the login page that users will see when they try to access your restricted content.

To do this, head over to Pages » Add New Page from the WordPress admin sidebar.

This will open the block editor, where you can customize the page. Once here, I recommend giving the page a descriptive title, like ‘Unauthorized’ or ‘Login Here,’ to make it clear to users why they are seeing the page.

Below the title, you might also want to add a simple message like “You cannot view this page because you haven’t logged in.”

Next, click the ‘Add Block’ (+) button and choose the ‘Login Form’ block.

Add login form block

Wondering where this handy block came from? MemberPress creates it automatically, so you don’t have to. This is just another perk of using the plugin.

Adding the login form here allows users to sign in quickly so they can view your exclusive page.

Once you’ve added the login block to your page, I highly recommend including a link to your main signup or pricing page using the link icon in the toolbar. This gives visitors a clear next step if they’re not members yet.

You can add a short, friendly message along with the link to encourage signups — something like: “New here? Visit our Sign Up Page to choose your membership plan.”

Add sign up page link

Make sure your message is clear, inviting, and matches the tone of the site. If you’re not sure how to insert a link, see our step-by-step tutorial on how to add a link in WordPress.

When you’re done with your changes, click the ‘Publish’ button in the top right corner of your editor to make your login page live.

Now, copy the URL of your new login page. You’ll need it in a moment.

💡 Haven’t created your signup page yet? Check out our in-depth MemberPress review to learn more about the plugin’s built-in registration features and how they can save you time.

Visit MemberPress » Settings » Pages from your admin sidebar and scroll down to the ‘Unauthorized Access’ section.

Now, simply check the ‘Redirect unauthorized visitors to a specific URL’ option.

Add URL for the unauthorized page

Then, add the URL for the published page that you copied earlier and click the ‘Update Options’ button to save your changes.

Now, when users try to visit your page with exclusive content without logging in, they will be automatically redirected to the ‘Unauthorized’ page.

Here, they can log in to view the locked content on this page.

Login page preview

If a new visitor lands on this page, they can simply click the signup link to be taken directly to your registration or membership plans page.

Now that your ‘Unauthorized’ page is set up with clear login and signup links, it’s easy for visitors to take action — whether they are returning users or new to your site.

But what if you want to go a step further and give new visitors a glimpse of what they’re missing if they don’t sign up? That’s where MemberPress really shines.

It lets you go beyond simply locking pages. You can actually show a snippet or preview of your content using the Excerpts feature.

Creating a custom unauthorized access message for your membership site

This is perfect for teasing blog posts, lessons, or gated resources.

For example, you might display the first few paragraphs of an article to everyone, but then prompt them to register or upgrade their plan to continue reading.

This approach not only improves user experience but can also boost your conversions since visitors get to see the value of your content before signing up.

For more information about this feature, see our guide on how to create paywall options in WordPress (with preview options).

Alternative: While I highly recommend MemberPress for creating members-only content, many other options are available on the market. For more recommendations, see our expert pick of the best WordPress membership plugins.

Method 2: Require Login to View All Pages in WordPress With My Private Site (For All Pages & Posts)

If you are looking for a free and simple way to restrict access to your entire website, then using My Private Site is a great option.

This free plugin locks down your WordPress site, requiring users to log in before they can view any page. However, keep in mind that it doesn’t allow you to choose which pages you want to make private, so it won’t be suitable unless you want to require login for your entire website.

First, you need to install and activate the My Private Site plugin. For details, see this tutorial on how to install a WordPress plugin.

After you activate the plugin, you need to head over to the My Private Site » Site Privacy page from the WordPress dashboard and check the ‘Enable login privacy’ box.

Enable login privacy

Then, click the ‘Save Privacy Status’ button to store your changes. Now, users will need to log in to view any page on your website.

Next, go to the ‘Landing Page’ section. This is where you decide where users should be redirected after they log in.

You can choose to return them to the same URL, so they land back on the page they were trying to access. Alternatively, you can redirect them to the home page. You can also send users to the WordPress dashboard after they log in.

If none of those options work for you, then you can set a custom URL instead. This way, you can redirect users to a specific page, like a welcome page or members-only content area.

Make sure to click the ‘Save Landing Page’ button to store your changes.

Choose the landing page where logged in users will be redirected

After that, switch to the ‘Home Page’ tab.

Here, you can check the ‘Allow site home page to remain accessible without requiring login’ box if you want the home page to remain accessible to everyone.

Then, click the ‘Make Page Public’ button.

Allow home page to be accessible for everyone

Now, when you visit your website, your home page will be visible to everyone.

However, when users try to access any other page without logging in, they will be taken to the default WordPress login page, where they can add their details.

WordPress Login Screen

Related Guides for Membership Sites & User Login

Looking for more tips and tricks to manage your membership site or user login pages? Check out these useful guides below:

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post How to Require Login to View a Page in WordPress (2 Easy Ways) first appeared on WPBeginner.

How to Embed Apple Podcasts in WordPress (2 Easy Methods)

23 April 2025 at 10:00

When I first tried to add podcast episodes to my WordPress website, I quickly realized that embedding them from Apple Podcasts wasn’t as straightforward as I’d hoped. Like many of you, I wanted a simple solution that wouldn’t require coding knowledge.

Through trial and error (and plenty of coffee), I discovered several different methods for embedding Apple Podcasts in WordPress. And by testing them all out, I found the best solutions for podcasters and other WordPress users.

In this guide, I’ll walk you through the exact steps you need to embed Apple Podcasts in WordPress, ensuring your audio content looks great and works perfectly on any device.

Whether you’re sharing your own show or featuring episodes from others, these methods make it easy to display an attractive, functional podcast player.

How to Embed Apple Podcasts in WordPress

Why Embed Apple Podcasts in WordPress?

Apple Podcasts is one of the top platforms for discovering and listening to podcasts on iPhones, iPads, and other Apple devices.

If you have an audio show on Apple Podcasts, then embedding episodes on your WordPress site is a great way to promote your production and grow your audience.

Instead of linking out or using a generic player, you can display your episodes right on your podcast website, where listeners can instantly hit play.

When you embed your show:

  • 🎧 Visitors can listen without leaving your site.
  • 📈 You increase time on site and boost engagement.
  • 🌟 Your podcast stays on-brand by living alongside your other content.
  • ☑ Your podcast website becomes a central hub to promote your show, share bonus content, and grow your audience on your own terms.

Perhaps most importantly, any first-time website visitors who discover your brand or business will immediately know about your podcast. This can help you gain tons of new listeners.

Even if you’re not embedding your own show, featuring Apple Podcasts on your website is a great way to share your favorite podcast episodes or curate recommendations.

For example, if you’re a blogger, then you might include relevant episodes to enrich your articles or support key points. Meanwhile, businesses and authors can feature podcast appearances as social proof.

Additionally, online course creators could use embedded interviews or discussions as bonus material for students.

Related Posts: See our expert pick of the best podcasting plugins and the best podcast themes for WordPress.

How to Embed Apple Podcasts in WordPress

Now that you know why embedding Apple Podcasts in WordPress is a smart move, I’ll walk you through 2 easy ways to do it – no technical skills required.

You can use the quick link below to jump to the different methods:

Ready? Let’s get started.

Note: The Apple Podcasts interface may look a bit different depending on whether you’re using the web, desktop, or mobile app. In this guide, the steps are based on the web version.

Method 1: Embed Apple Podcasts in WordPress Using the Custom HTML Block

This method works well if you’re using the WordPress block editor and want a quick, free way to embed an Apple Podcasts episode.

You don’t need to install any plugins – just copy the embed code from Apple Podcasts and paste it into a ‘Custom HTML’ block.

That said, please note that some themes may style the embedded podcast player differently. So be sure to preview how it looks on mobile and desktop.

Step 1: Copying the Apple Podcast Embed Code

First, let’s head over to the Apple Podcasts site. You can do this on any browser — no need to use iTunes or the Apple Podcasts app.

Next, use the ‘Search’ bar in the left-hand panel to look for the podcast you want to feature. You can search by podcast title, episode name, and host name.

For example, I looked for a show called ‘The Climate Question.’

Clicking on Apple Podcasts search result to go to the show page

Once you find what you’re looking for, click on the relevant search result to open the show or episode.

On the podcast page, click the three-dot menu next to the ‘+ Follow’ button.

Finding the three-dot button

From the dropdown, go ahead and select ‘Copy Embed.’

Apple Podcasts will automatically copy the show’s embed code to your clipboard.

Copying a show's embed code

If you want to embed a specific episode, then you can scroll down the show page to the ‘Episodes’ list.

Give the three-dot menu in the episode section a click. Then, hit the ‘Copy Embed Code’ button.

Copying an episode's embed code

Alternatively, you can click on a specific episode title.

This will take you to the episode’s page, where you can see a brief description of what the episode is about. You’ll also find links to social media pages, an email address for inquiries, the episode’s content rating (like Clean or Explicit), and details about the host.

Clicking on an episode to go to its page

Once there, just click the three-dot menu next to the ‘Play’ button and select ‘Copy Embed’ from the dropdown.

With that done, you have the episode’s embed code copied to your clipboard.

Copying an episode's embed code from its individual page

Step 2: Add the Apple Podcast Embed Code to WordPress

Now that you have the Apple Podcasts embed code, it’s time to add it to your WordPress website.

You can embed the player on any post or page. For this tutorial, I’ll show you how to embed it in a blog post using the block editor.

From your WordPress admin area, go to Posts » Add New or open an existing post where you want to add the podcast.

Adding a new post

In the block editor, click the ‘+’ button to add a block.

Then, type ‘Custom HTML’ into the search bar and select the ‘Custom HTML’ block.

Custom HTML block

Paste the Apple Podcasts embed code you copied earlier into the block.

It should look something like this:

Apple Podcasts' code embedded

If you want to see how the Apple Podcasts player will look on the front end, select the HTML block and click the ‘Preview’ tab in the toolbar.

This will load the front-end preview of the player in the content editor.

Previewing the embedded code

If the embedded player looks good, go ahead and click ‘Publish’ (or ‘Update’ if you’re editing an existing post).

Now, your visitors can listen to Apple Podcasts directly from your site.

Apple Podcasts on a live site

It’s that simple!

Method 2: Embed Apple Podcasts in WordPress Using EmbedPress

The Custom HTML block is a great free option, but it can feel a bit clunky, especially if you’re not comfortable working with code.

On the other hand, EmbedPress offers more streamlined embedding experience. With EmbedPress, you just need to paste the Apple Podcasts URL into the EmbedPress block, and it instantly shows a mobile-friendly player in your content.

Step 1: Get the EmbedPress Pro Plugin

To embed Apple Podcasts using EmbedPress, you’ll need the Pro version of the plugin.

You can visit the WPDeveloper website and sign up for a Pro account. Then, choose a plan based on how many sites you want to use it on.

EmbedPress WordPress Plugin

After signing up, you’ll be redirected to your EmbedPress dashboard, where you’ll find:

  • A download link for the EmbedPress Pro .zip file.
  • Your license key for activating the plugin.

You can download the .zip file and keep the tab open, as you’ll need the license key in the next step.

📝 Note: You’ll need EmbedPress Pro, not its free version to embed Apple Podcasts.

Upgrading to the premium version will also let you make your content exclusive, display video or image ads, tweak the player’s design, and add your own branding. It even allows you to enable lazy loading to improve site speed.

Step 2: Install EmbedPress Pro and Activate the License Key

Once you’ve downloaded the EmbedPress Pro .zip file from your account dashboard, it’s time to install it on your WordPress site.

In your WordPress admin area, go to Plugins » Add New.

Then, you can click the ‘Upload Plugin’ button at the top.

The Upload Plugin button

Choose the .zip file you downloaded from EmbedPress.

Then, click the ‘Install Now’ button followed by ‘Activate.’ For more detailed instructions, you can go to our guide on how to install a WordPress plugin.

The next step is to activate the premium plugin using your license key. To do this, go to EmbedPress » License in your WordPress dashboard.

Here, you will need to paste your license key (which you can find in your WPDeveloper dashboard) and click ‘Activate License.’

EmbedPress License

At this point, a verification code will be sent to the email address you used to purchase EmbedPress Pro.

Simply open the email, copy the verification code, and then return to this page to enter it in the new box that appears below the license key box. Then, hit ‘Verify.’

Once you activate the plugin, you’ll unlock support for premium platforms, including Apple Podcasts, and gain access to extra customization features.

Step 3: Copy the Apple Podcast URL

To embed Apple Podcasts into WordPress using EmbedPress, you’ll need the correct URL for the entire show or a specific episode.

Let’s say you want to copy a show link.

To do this, go to Apple Podcasts and use the search bar to find the show or episode you want to feature.

For example, I searched for ‘The Psychology of Your 20s.’

Searching for an Apple Podcasts show

In the search results, click on the podcast name to open the show’s main page.

Then, click the three-dot button next to the ‘+ Follow’ button to expand the menu.

Finding the three-dot button for an Apple Podcasts show

Now, go ahead and click the ‘Copy Link’ button to get the link for the show.

Apple Podcasts will then automatically copy the link to your clipboard.

Copy Link to a show

Now, to copy a single episode link, scroll through the list of available episodes in the Apple Podcasts show.

Once you find what you’re looking for, click on the episode’s three-dot button and click the ‘Copy Link’ button.

Copy Link to an episode

Want to see more details about the episode?

Just click on the episode section to open its page. There, you’ll find a short description of the episode, links to social media pages, an email address for inquiries, the content rating (like Clean or Explicit), and information about the host.

Clicking on an episode to see its individual page

From the episode’s individual page, click the three-dot button next to ‘Play.’

Then, select ‘Copy Link’ to get the episode’s link.

Copy Link from an individual episode page

Alternatively, you can copy the show’s or episode’s URL directly from your browser’s address bar.

This saves you from having to find the three-dot menu and click the ‘Copy Link’ button.

Copying an Apple Podcasts show URL

Just make sure you’re right where you want to be: a show or a specific episode.

Step 4: Add the Apple Podcast URL to WordPress Using the EmbedPress Block

Next, it’s time to embed your podcast using the EmbedPress plugin.

You can add it to any page or post, but in this example, I’ll show you how to do it in a WordPress blog post.

From your WordPress dashboard, go to Posts » Add New or open an existing post.

Adding a new post

In the block editor, you can click the ‘+’ button.

Then, search for the EmbedPress block.

Searching for the EmbedPress block

Just select the block when it appears, and WordPress will add it to your content editor.

Next, simply paste the URL you copied before into the EmbedPress block.

Embedding the APple Podcasts link

Don’t forget to click the ‘Embed’ button or press ‘Enter.’

EmbedPress will instantly fetch and display the Apple Podcasts player right inside your editor.

Apple Podcasts preview in the content editor

You can adjust the player’s appearance right inside the ‘Block’ tab.

In the ‘General’ section, just set the width and height to control the size of the embedded player.

EmbedPress' general settings for width and height

You can also toggle ‘Social Share’ to add social share buttons for Facebook, X (Twitter), and more to your Apple Podcasts embed.

This lets visitors easily share the episode on their social media accounts.

Social Share toggle in EmbedPress' block setting

In addition, EmbedPress Pro includes monetization and content protection tools. You can find them in the ‘Ads Settings’ and ‘Content Protection’ sections in the ‘Block’ tab:

  • Ads Settings: This allows you to add video or image ads to your embeds, with control over size, timing, and skip options.
  • Content Protection: Allows you to restrict access by user role or password to keep your embedded content secure.

You can configure these settings as needed.

Ads Settings in EmbedPress

Once you’re happy with how the Apple Podcasts embed looks, just click ‘Publish’ or ‘Update’ to make it live.

Your visitors can now listen to the show directly from your site — and even share it on social media with a single click.

Apple Podcasts on a live site

Bonus Tips and Ideas to Grow Your Podcast

Embedding your Apple Podcasts in WordPress is just the beginning.

Here are some easy ways to grow your podcast audience and keep listeners coming back:

  • Run a giveaway. Want more subscribers or podcast reviews? With RafflePress, you can create giveaways that reward people for actions like subscribing, leaving a review, or sharing an episode on social media. See our guide on how to run a giveaway for more details.
  • Invite guest speakers. Featuring creators or experts in your podcast niche can bring fresh insights and help you reach new listeners.
  • Add show notes and transcripts. These can help improve SEO, make your episodes easier to skim, and enhance accessibility for users who prefer reading. See our pick of the best transcription services for more details.
  • Grow your email list. This will allow you to contact listeners to let them know about new episodes, promotions, and any other information. You can display a newsletter signup form below your podcast player or in popups on your podcast website. For details, see our guide on how to grow your email list.
  • Create a membership site around your podcast. You can use MemberPress to offer exclusive content like bonus episodes, behind-the-scenes clips, or downloadable resources. For details, see our guide on how to create a membership website.

These small touches can go a long way in building a loyal podcast community. 🌐

FAQs About Embedding Apple Podcasts in WordPress

Still have questions? Here are some common questions I get from readers looking to feature Apple Podcasts on their WordPress sites:

Can you embed a podcast into a WordPress website?

Yes, you can! WordPress supports both HTML embed codes and direct URLs for many podcast platforms. That means you can easily display podcast episodes using built-in blocks or plugins – no coding required.

How do you embed Apple Podcasts into a website?

The easiest way is to copy the embed code directly from Apple Podcasts and paste it into a Custom HTML block in WordPress.

Alternatively, you can use a plugin like EmbedPress, which lets you embed Apple Podcasts by simply pasting the episode URL.

Do I need a website for my podcast?

While it’s not required, having your own website gives you more control over your content, branding, and audience. You can promote episodes, collect emails, add show notes, and even improve SEO to reach more listeners. For details, see our guide on how to create a podcast.

Is WordPress a good option for a podcast website?

Yes, WordPress is a highly adaptable, beginner-friendly platform that supports a wide range of podcast plugins and themes. WordPress makes it easy to manage and promote your podcast in one place, whether you’re just starting out or growing your show.

I hope this guide has helped you learn how to embed Apple Podcasts in WordPress. Next up, you can check out our guide on how to start a podcast or our expert picks of the best podcast hosting.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post How to Embed Apple Podcasts in WordPress (2 Easy Methods) first appeared on WPBeginner.

How to Move Your Site From HubSpot to WordPress (Step by Step)

21 April 2025 at 10:00

Many business owners feel stuck with HubSpot because they worry about losing their content, breaking their SEO rankings, or disrupting their email marketing. These are valid concerns – I had the same worries when I decided to migrate one of my HubSpot sites to WordPress.

The good news is that moving from HubSpot to WordPress is completely doable with the right approach. All you need is to follow the right steps in the right order.

Let me show you exactly how to move your site from HubSpot to WordPress while protecting your content, preserving your SEO rankings, and keeping your sanity intact.

How to Move Your Site From HubSpot to WordPress

Why Move Your Blog From HubSpot to WordPress?

Most people start using HubSpot because it is a powerful customer relationship manager (CRM) with marketing automation.

They tend to be really happy with it as a CRM, which doesn’t surprise me, as I love it myself. I even recommend it! See my detailed HubSpot review for more information.

However, what often happens is people start using the default blogging feature in HubSpot simply because it’s convenient. Then, they end up feeling limited.

I’ve worked with clients who started blogging on HubSpot and eventually felt the same way.

Now, I’ll be honest. HubSpot’s content management system is useful for landing pages and integrated marketing campaigns. But for blogging specifically? WordPress comes out on top.

Just making a simple design tweak or changing the layout of a post on HubSpot can feel like navigating a maze.

WordPress, on the other hand, is built for content. It started as a blogging platform and evolved into a powerhouse.

So, if blogging is a core part of your strategy, and you’re feeling a bit constrained by HubSpot, then WordPress can be super refreshing. You’ll get greater simplicity but more flexibility, more design control, and a whole lot more options to grow your blog the way you want.

Worried you won’t get to keep using all of HubSpot’s other powerful CRM features? The good news is that WordPress integrates seamlessly with the platform, so that won’t be an issue.

What to Expect When Migrating From HubSpot to WordPress

With any significant change, it’s helpful to know what lies ahead. Here is a brief roadmap of the journey we will take together:

  • First, we’ll get prepared. Imagine it as the preparation phase when you export your content from HubSpot and set up your new WordPress environment.
  • Then comes the actual migration. We’ll guide you through moving your valuable blog posts and important pages, and all the images that make your blog visually engaging.
  • Next, we’ll focus on maintaining your SEO. This is like making sure your mail is properly forwarded when you move. We’ll help you set up permalinks and redirects to avoid broken links and maintain your search engine rankings.
  • Finally, we’ll cover post-migration tasks. Think of this as settling into your new WordPress home. We’ll recommend some essential plugins and learning resources to help you get the most from WordPress.

All that said, you’re probably ready to move your site from HubSpot to WordPress! Here’s how you can do it step by step:

I’ll walk you through the entire process so you’ll be able to follow along even if you’re a beginner. But, if you change your mind at any time, you can always jump to the alternative option – which is getting help from the professionals.

Step 1. Export Your HubSpot Blog Content

Before you even think about touching anything in HubSpot, the first thing you’ll need to do is export your essential content. Later in this tutorial, you will import this content into WordPress.

It’s also wise to back up the link structure of your website. I’ll show you how to do both.

Exporting Your HubSpot Blog Content

The most important step in your WordPress migration is exporting your HubSpot blog content. Luckily, HubSpot makes it pretty easy to export your blog posts in a way you can import into WordPress.

Simply go to your HubSpot account and find your blog content at Content » Blog.

Navigating to the HubSpot Blog

Now look for the ‘Export blog posts’ option on the ‘Actions’ drop-down menu.

This option will let you export your posts as a .CSV or Excel (XLS or XLSX) file. I personally like using the .CSV option because it can be easily imported into WordPress.

Exporting Blog Posts in HubSpot

Once your blog has been exported, you will receive a link to the .CSV file in your email. You will have 90 days to download the file before it expires.

Exporting your blog posts like this is a great starting point because you can easily import them into your new WordPress website.

However, the export only includes your blog content, and not other pages like landing pages or sales pages. Later in this article, I’ll show you how to recreate those pages manually.

Backing Up Your Link Structure

Backing up your blog’s link structure is super important for SEO.

For this, you’ll need to gather a list of all the web addresses (URLs) from your HubSpot blog. This is important because we’ll use this list to create redirects. Redirects help maintain the SEO benefits you’ve built up over time, even after moving to WordPress.

For this, I like using a browser extension called Link Klipper, because it’s super handy. It’s also free and works with Chrome and compatible browsers.

To get started, install Link Klipper. Then, go to your HubSpot blog homepage. Click the Link Klipper icon in your browser toolbar and choose ‘Extract All Links.’

Download links using Klipper

This will quickly grab all the links on that page and download them as a .CSV file. When you open this file in Excel or Google Sheets, you will see a list of your blog URLs.

Now, I recommend using Link Klipper as a quick and easy way to grab URLs. However, you can also use an online sitemap generator like XML-Sitemaps.com. This tool crawls your website and creates a list of URLs, which you can then export.

Sitemap generators can sometimes find more URLs than Link Klipper, as they crawl your entire site structure. XML-Sitemaps will generate the usual XML sitemaps, but also create a text file called urllist.txt containing all the URLs that you can easily use when creating redirects.

With your blog content, pages, and URLs exported, you’ve done a great job! You have a safety net and a set of files that can be imported into WordPress.

Step 2. Installing and Setting Up WordPress

You need hosting to run a WordPress website. It’s non-negotiable since it provides your site with the resources it needs to be online.

A good hosting provider is like a reliable landlord – you want them to be dependable and keep things running smoothly.

In short, WordPress hosting is where all your WordPress content and files will live. It’s what makes your blog accessible to the world.

Now, you might be thinking, ‘Can’t I just install WordPress on my current HubSpot hosting?’ Unfortunately, no. HubSpot is a closed platform. You can’t install WordPress on HubSpot.

So, you’ll need to get new hosting specifically for your WordPress blog. If you’re new to WordPress or just want a straightforward experience, I recommend Bluehost.

Right now, they’re offering a deal for WPBeginner readers that includes a free domain name and a huge discount on hosting. You can get started for just $1.99 a month.

Alternatives: Hostinger and SiteGround are also popular hosting providers. They have good reputations and offer different features and price points. It’s worth checking them out if you want to compare.

For this guide, just to show you the general process, I’ll use screenshots from Bluehost. But honestly, the steps for most good WordPress hosts are pretty similar.

You can get started by visiting the Bluehost website and clicking the ‘Get Started Now’ button.

Bluehost website

You’ll land on a page showing different hosting plans. For a new blog, especially when you’re just migrating over, the Basic plan is usually perfectly fine.

Choose a plan that fits your needs by clicking the ‘Select’ button.

Choose a hosting plan

Next up, you’ll need to set up a domain name. This is your blog’s web address, like www.yourblogname.com.

Now, you probably want to keep using the same domain name you were using with your HubSpot blog, right?

The good news is that you can! Just choose the option that says ‘Use a domain you own’ and type in your current domain name.

Choose domain name

Or, if you’re starting fresh with a new domain name, then you can choose to register a new one. This will be free for the first year.

Now, follow the steps to enter your account details and payment info and complete the purchase.

After you sign up, Bluehost (and most WordPress hosting providers) will send you a welcome email with your login details. Keep this email safe! You’ll need it to access your hosting account.

Now, here’s where picking a good WordPress hosting provider pays off.

When you log in to your Bluehost account for the first time, they will automatically install WordPress for you. I love how this streamlines setting up new WordPress websites.

From your Bluehost account page, go to ‘Websites’ then click ‘Edit Site.’

Bluehost login WordPress

That should take you right into your brand-new WordPress dashboard.

Want a more thorough walkthrough of installing WordPress? My team has created a super detailed WordPress installation tutorial if you’re curious.

Step 3. Setting Up WordPress Theme

Alright, WordPress is installed. Now for the fun part: making it look like your website. That’s where themes come in.

WordPress themes are ready-made design blueprints for your blog. They control everything visual, like the colors, the fonts, and how your blog posts are laid out. It’s like choosing the style of your new house.

WordPress has a huge collection of themes. Seriously, thousands upon thousands. Free themes, paid themes, themes for every niche imaginable.

The WordPress Theme Directory is a good place to start exploring free themes.

WordPress themes directory

But having too many choices can be a bit paralyzing. To help you narrow down the options, my team has created a helpful guide on selecting the perfect WordPress theme.

In my experience, clean, uncluttered designs tend to work best. They look professional, they’re easy for readers to navigate, and they put the focus on your content – which is the most important thing.

Once you’ve chosen and installed a theme, you’ll be ready for the next big step: actually moving your content from HubSpot into WordPress.

Step 4. Importing Your HubSpot Blog Content

This step is like unpacking your moving boxes and arranging your furniture in your new WordPress home. It’s where your blog really starts to take shape.

At this point, you’re going to take the HubSpot content you exported earlier and import it into WordPress. To do that, I’m going to use a plugin called Import any XML, CSV or Excel File to WordPress.

First, you need to install and activate the plugin in your WordPress dashboard. If you need help, see our guide on how to install a WordPress plugin.

Once the plugin is activated, navigate to the All Import » New Import page in your WordPress dashboard. Once there, you should click the ‘Upload a file’ button.

Importing Posts Into WordPress

Now, you’ll be asked to choose your import file. Remember the .CSV file you exported from HubSpot in step 1? You need to select it now and then click the ‘Import’ button.

The plugin will automatically detect the type of content you’re importing (usually “Posts” for blog posts). It’s pretty smart like that.

Importing Posts Into WordPress

Next, click the ‘Continue to Step 2’ button. You will be shown a preview of the import file and can browse through a spreadsheet view of your posts, one at a time.

Once done, click ‘Continue to Step 3’ at the top or bottom of the page.

Now comes the important part: mapping fields. This is where you tell the plugin how the columns in your .CSV file correspond to fields in WordPress. Don’t worry, you only need to do this step once, not for each post.

For example, you’ll want to drag the column from your import file that contains your blog post titles to the Title field in WordPress.

Importing Posts Into WordPress

You can do the same for the post content, tags, and any other data you exported from HubSpot. It’s like matching up labels on boxes when you’re unpacking – you want to put everything in the right place.

Once you’ve mapped all the fields, click ‘Continue to Step 4’ at the bottom of the page.

Next, you’ll be asked to set a unique identifier for your posts. This is used internally by WordPress to keep track of your imported content.

Just click the ‘Auto-detect’ button and the plugin will handle this for you.

Auto-detect unique identifier

Finally, click ‘Confirm & Run Import.’

The plugin will now start importing your content. The time it takes will depend on how much content you’re importing. For a large blog, it might take a few minutes.

Once it’s done, the plugin will show you an ‘Import Complete!’ message.

Import complete

Now, you can navigate to Posts » All Posts in your WordPress dashboard. You should see your HubSpot blog posts there! Check them out to make sure all your blog posts are imported correctly.

Step 5. Recreating HubSpot Landing Pages in WordPress

Let’s talk about those special pages you might have built in HubSpot – landing pages, sales pages, or other custom pages.

Unfortunately, these often don’t transfer perfectly with a simple import like blog posts do. HubSpot’s page structure and design elements are quite different from WordPress.

So, the best approach for these pages is to recreate them in WordPress. It might sound like extra work, but it gives you the most control over the final result and makes sure everything looks right.

Now, while you could try to rebuild these pages using the standard WordPress block editor, it’s worth considering a dedicated page builder for landing pages.

The block editor is great for creating regular content pages and blog posts. It uses a system of blocks that you can easily add and arrange to build your page. However, for more complex layouts, a page builder plugin like SeedProd offers more advanced features and flexibility.

SeedProd is a drag-and-drop page builder specifically designed for creating landing pages, sales pages, and other marketing-focused pages. It offers a more visual and intuitive way to design intricate layouts without needing to write code.

Whenever I’ve used SeedProd, I’ve found it to be very user-friendly, even if you’re not a design expert. It has a visual interface, tons of pre-designed templates, and all sorts of elements you can just drag and drop onto your page.

The first step, of course, is to install and activate the SeedProd plugin. For details, see our tutorial on how to install a WordPress plugin.

Once SeedProd is active, you can go to SeedProd » Landing Pages in your WordPress menu and then click ‘Add New Landing Page.’

Add new landing page button

SeedProd will then show you a library of templates.

Browse through them and pick a template that looks similar to the HubSpot landing page you want to recreate.

SeedProd choose template

Don’t worry about getting it exactly the same at this stage, you can customize everything later.

Next, give your new page a name and set the URL slug.

Page name and slug

Click the ‘Save and Start Editing the Page’ button to open the SeedProd page builder.

Here’s where the fun begins! You’ll see a visual drag-and-drop interface. You can click on any element on the template and edit it – change text, images, colors, fonts, everything.

SeedProd page builder UI

On the left-hand side, you’ll find a panel with all sorts of elements you can add to your page – headings, text blocks, images, videos, buttons, forms, and much more. Just drag and drop them onto your page to build your layout.

Take your original HubSpot landing page as a reference. Section by section, element by element, recreate it in SeedProd.

For more details, see our tutorial on how to create a landing page in WordPress.

Want to explore other page builder options? Thrive Architect is another excellent page builder plugin for WordPress, and it’s also very visual and drag-and-drop based.

Thrive Architect is particularly strong if you are heavily focused on marketing and sales pages. It’s built by the team behind Thrive Themes, which is known for its conversion-focused tools. It excels at creating high-converting sales pages, opt-in pages, and webinar registration pages.

If your primary goal is to build pages specifically designed to drive conversions and sales, Thrive Architect is a powerful alternative to consider.

Editing a page in Thrive Architect

Yes, recreating your HubSpot landing pages in WordPress takes a bit of hands-on work. However, it’s the most reliable way to bring those important pages over properly.

And the great news is, using a page builder like SeedProd makes the process much smoother and allows you to build even more powerful and customized landing pages in WordPress.

Step 6. Importing Your HubSpot Images to WordPress

You might notice that after importing your content, your images are still being hosted on HubSpot’s servers. You’ve copied the text over, but the images are still living at their old address.

We need to bring those images into your WordPress Media Library. Why? Because it’s much better to host your images directly within your WordPress website. It’s more reliable, often faster, and gives you more control.

Imagine if HubSpot changed its image hosting structure or, worse case, you decided to close your HubSpot account completely down the line. Your images could disappear!

You’re able to import your images using a fantastic little plugin called Auto Upload Images. Please refer to our guide on how to install a WordPress plugin if you need help.

Note: You may notice that this plugin is outdated, but I tested it for this tutorial, and it was working fine. For details, see this guide on whether you should use outdated plugins.

Once activated, you need to trigger the bulk image import using the WordPress bulk edit feature. Don’t worry, you’re not actually editing anything, but just using the bulk edit to tell WordPress to re-process your posts and pages.

Head over to Posts » All Posts in your WordPress dashboard. Select all the posts where you imported content from HubSpot. You can usually do this by checking the checkbox at the very top of the post list.

Bulk update posts

Then, in the ‘Bulk actions’ dropdown menu, choose ‘Edit’ and click the ‘Apply’ button.

A bunch of bulk edit options will appear. Don’t panic! You don’t need to change anything here. Just click the blue ‘Update’ button at the bottom.

Bulk update all posts

What this does is tell WordPress to re-save all the selected posts. And that action triggers the Auto Upload Images plugin to kick in.

The plugin will scan the content of each post, look for external image URLs (pointing to HubSpot), and then automatically download each image and import it into your WordPress Media Library.

It will then update the image URLs in your posts to point to the newly imported images in your Media Library.

Next, you need to repeat this exact same process for your Pages. Simply go to Pages » All Pages, select all your pages, choose ‘Edit’ in bulk actions, apply, and then just click ‘Update’.

If you need detailed instructions, then see my tutorial on how to easily import external images in WordPress.

After you’ve done this bulk update for both your posts and pages, go to Media » Library in your WordPress dashboard. You should see all those images from your HubSpot blog and pages in your WordPress Media Library!

Step 7. Pointing Your Domain Name to Your New WordPress Website

If you were already using a custom domain name for your HubSpot blog (like yourblogname.com), then you definitely want to keep using that same domain for your WordPress blog.

Why? Branding, for starters. You want people to find you at the same address. But also, and maybe even more importantly, for SEO.

Search engines have already associated your domain name with your content and authority. Keeping the same domain helps you maintain your search engine rankings.

To make this happen, you need to adjust your domain name settings. Specifically, you’re going to change something called nameservers.

Nameservers are like the internet’s phonebook for domain names. When someone types your domain name into their browser, the nameservers tell the internet where your website is hosted.

Right now, your domain name is likely pointing to HubSpot’s servers, where your HubSpot blog was hosted. We need to update it to point to your new WordPress hosting account.

Your WordPress hosting provider (like BluehostHostinger, or SiteGround) will give you the nameserver information you need. It usually looks like a pair of addresses, something like:

ns1.yourhostingprovider.com
ns2.yourhostingprovider.com

Your hosting provider will have the exact nameservers you need to use.

I usually find this information in my hosting account dashboard, but you can also check the welcome email they sent you when you signed up. If you’re not sure, then their support team can help you out. See the tips in my guide on how to contact WordPress support.

Okay, so where do you actually change these nameserver settings? That’s at your domain name registrar. This is the company where you registered your domain name in the first place.

Sometimes, your domain registrar is the same company as your hosting provider. But often, they are separate. Common domain registrars include companies like Domain.comNetwork Solutions, or Namecheap.

You’ll need to log in to your account at your domain registrar. Find the settings for your domain name. Look for something like ‘DNS Settings’, ‘Nameservers’, or ‘Domain Management’.

For example, if your domain is registered with Bluehost, then the nameserver settings in their domain management area will look something like this:

Managing Nameservers in Bluehost

The exact steps vary depending on your domain registrar. But the general idea is always the same: you need to replace the old nameservers (the ones pointing to HubSpot) with the new nameservers provided by your WordPress hosting company.

Our team has written a handy guide on how to easily change domain nameservers at many popular domain registrars if you need more detailed instructions.

Once you’ve updated your nameservers, it takes a little while for these changes to spread across the internet. This is called DNS propagation.

DNS propagation can take anywhere from a few hours to, in rare cases, up to 48 hours. During this time, some people might still see your old HubSpot blog, while others might start seeing your new WordPress blog. This is totally normal, don’t worry!

After DNS propagation is complete, when users enter your domain name into their browsers, they will be automatically directed to your WordPress site at its new hosting location.

Step 8. Setting Up Permalinks and Redirects

You’re in the home stretch now! You’ve moved your content and images and pointed your domain to your new WordPress blog. But there’s another really important step for a smooth migration: setting up permalinks and redirects.

Your HubSpot blog probably had its own way of creating URLs. WordPress, naturally, has its own system too, called permalinks.

And here’s the thing. It’s highly likely that your old HubSpot URLs are different from how WordPress creates URLs by default.

Without proper URL redirection from your old HubSpot blog to your new WordPress site, visitors following the old blog post URLs will encounter 404 errors. These broken links not only frustrate users but also negatively impact your search engine rankings since Google penalizes sites with too many broken links.

To fix this issue, you need to do two key things:

  • Set up SEO-friendly permalinks in WordPress so your new URLs are clean and readable.
  • Set up redirects to automatically send visitors from your old HubSpot URLs to the correct pages on your new WordPress site. It’s like setting up a forwarding address when you move house.

Let’s start with permalinks.

Setting Up WordPress Permalinks

WordPress gives you control over how your website addresses (URLs) are structured. This is managed through permalink settings.

While you can choose any permalink structure, for the sake of this example, let’s choose ‘Post name’.

‘Post name’ permalinks create clean, easy-to-understand URLs that clearly include the title of your page or blog post. It incorporates keywords from your title, providing an additional SEO advantage and making it readable for people.

For example, instead of a URL that looks like this, which gives no context at all

yourblog.com/?p=123

You get something much nicer and more informative, like:

yourblog.com/your-blog-post-title

See the difference? The second option is much clearer.

Setting this up is quick and easy. In your WordPress dashboard, go to Settings » Permalinks.

You’ll see a section called ‘Common Settings.’ Find the option labeled ‘Post name’ and select it.

WordPress' permalink settings

Then, just scroll down to the bottom of the page and click the ‘Save Changes’ button.

Done! Permalinks are set up. From now on, WordPress will use the post name structure for all your new blog posts and pages.

Setting Up Redirects From Your Old HubSpot URLs

Now for the redirects, which are extremely important for a smooth migration. Remember that list of old HubSpot URLs you grabbed using Link Klipper way back in the export step? We’re going to put it to good use.

To set up redirects in WordPress without pulling your hair out, I recommend the Redirection plugin. It’s free, it’s powerful, and it makes setting up redirects straightforward.

The first step is to install and activate the Redirection plugin. If you need help, then see our guide on how to install a WordPress plugin.

Once activated, you’ll find the Redirection plugin settings under Tools » Redirection.

In the Redirection plugin interface, you’ll see fields for Source URL and Target URL.

Add New Redirection to Your Website
  • Source URL is where you enter your old HubSpot URL. But here’s a little trick: you only need to enter the part of the URL after your domain name. For example, if your old HubSpot blog post URL was https://your-hubspot-blog.com/blog/my-awesome-post, then you’d just enter /blog/my-awesome-post.
  • Target URL is where you enter the new WordPress URL for the same content. Again, just the part after your domain name. So, if your new WordPress URL for that post is https://your-wordpress-blog.com/my-awesome-post/, then you’d enter /my-awesome-post/.

Make sure the ‘301 – Moved Permanently’ option is selected for the Redirect Type. Using a 301 redirect is important for search engine optimization, or SEO. It signals to search engines that your content has moved permanently to a new address, and it helps you preserve link equity.

Link equity is the SEO ‘value’ or authority your old pages have built up over time, and 301 redirects help transfer that valuable equity to your new WordPress pages, maintaining your search engine ranking.

Finally, click the ‘Add Redirect’ button to save your redirect.

Now, you need to go through your entire list of old HubSpot URLs and repeat these steps for each one. Yes, it can take a bit of time, especially if you have a lot of blog posts. But it’s essential for a smooth transition.

Once you’ve added all your redirects, test them! Type your old HubSpot URLs into your browser and make sure they correctly redirect you to the right pages on your new WordPress site.

Alternative: Using All in One SEO (AIOSEO) for Redirects

Now, if you’re thinking about SEO seriously (and you should!), you might want to consider All in One SEO (AIOSEO). I use this plugin on my own websites, and it’s fantastic.

Yes, it’s a premium plugin, but it’s packed with SEO features to help your blog rank higher – and it includes a really handy Redirection Manager that lets you set up full site redirects.

Enter new domain address for relocation

What I really appreciate is that AIOSEO is an all-in-one SEO powerhouse. Instead of juggling separate plugins for redirects, sitemaps, schema, and everything else SEO-related, AIOSEO puts it all in one place.

Plus, its Redirection Manager is quite powerful and makes setting up even complex redirects straightforward. It’s a real time-saver and keeps my SEO workflow streamlined.

Step 9. Add Your HubSpot CRM to WordPress

Now, if you’re like many HubSpot users, then you’re probably using HubSpot CRM to manage your leads and customer interactions. Good news! You can easily connect your new WordPress blog to your existing HubSpot CRM.

Think of it as keeping the best of both worlds – the flexibility of WordPress for your blog and the robust CRM capabilities of HubSpot.

The official HubSpot plugin lets you connect your WordPress site to your HubSpot account and unlock a bunch of useful features right within your WordPress dashboard.

The HubSpot WordPress plugin

With the HubSpot plugin, you can:

  • Capture leads from your WordPress site: Easily add HubSpot forms to your WordPress pages and blog posts to capture contact information.
  • Track website visitors: The plugin adds HubSpot tracking code to your WordPress site, showing how visitors interact with your content and identifying potential leads.
  • Access HubSpot CRM tools from WordPress: Get quick access to your HubSpot contacts, deals, and tasks directly from your WordPress admin area.
  • Use live chat: Embed your HubSpot live chat widget on your WordPress site to engage with visitors in real time.
  • Analyze your marketing performance: View HubSpot analytics dashboards within WordPress to monitor your blog’s performance and lead generation efforts.

Simply install and activate the HubSpot plugin. For more details, see our step-by-step guide on how to install a WordPress plugin.

Once activated, the plugin will add a new HubSpot menu to your WordPress admin sidebar. This will take you to the setup wizard, where you can click the ‘Sign in here’ link at the top.

hubspot dashboard

Once you have signed in, simply follow the prompts to connect the plugin to your existing HubSpot account.

After connecting, you can explore the HubSpot plugin settings to customize features like form embedding, live chat, and tracking options.

And that’s it! You’ve now integrated your WordPress blog with HubSpot CRM. You can now manage your blog content in WordPress while still making the most of HubSpot’s powerful CRM and marketing tools.

If you’d like a more detailed walkthrough of setting up HubSpot on your WordPress site, then see our guide on how to add a CRM on your WordPress site.

Bonus: Now that you’ve installed the HubSpot plugin, you can also set up HubSpot Analytics and create HubSpot forms in WordPress.

Step 10. Install Essential WordPress Plugins

One of the best things about using WordPress is that you can easily extend your site’s features with plugins.

There are thousands of WordPress plugins available, both free and paid.

At WPBeginner, we put together a guide on how to pick the best plugins for your website. It’s worth a read to learn how to evaluate plugins and pick the right ones for your specific needs.

But to get you off to a flying start, here are a few top plugins we often recommend for almost every new WordPress blog:

  • WPForms is a fantastic plugin for creating all sorts of forms – contact forms, surveys, order forms, and more. I use WPForms on my own websites and love how user-friendly it is.
  • SeedProd is a drag-and-drop website builder that makes customizing your design a breeze. You can create custom page layouts beyond your theme’s standard options.
  • AIOSEO (All in One SEO) is one of the most popular and powerful SEO plugins for WordPress. It helps you optimize your blog for better search engine rankings.
  • MonsterInsights makes it easy to understand your blog traffic and visitor behavior. It connects WordPress to Google Analytics and shows you key stats in your dashboard.
  • OptinMonster is a powerful toolkit for growing your email list and boosting conversions. It helps you create popups, slide-in forms, and other opt-in forms to capture email addresses.

For even more plugin ideas and recommendations, be sure to check out our comprehensive list of essential WordPress plugins. It’s packed with plugins we use and trust.

Alternative: Get Professional Help to Migrate Your HubSpot Website

Professional WordPress Services by WPBeginner

Okay, I’ve walked through all the steps to migrate your blog from HubSpot to WordPress. And you know what? For many of you, following these steps will be totally doable!

But let’s be real. Even with a detailed guide, moving a website from HubSpot to WordPress is still quite a technical project. And time-consuming.

Perhaps you’re not super comfortable with the website side of things. Or maybe you’re already juggling a million tasks and just want this migration done quickly, correctly, without headaches.

If that sounds like you, then WPBeginner can help. Our WordPress Website Design service team can design and build you a brand-new, custom WordPress website that’s perfectly tailored to your needs. They can handle the migration of your content from HubSpot, too.

If you’re curious to learn more about these services, or if you just have some questions, then you can easily chat with our support team on our Website Design Services page. They can give you all the details and help you figure out if professional migration help is the right path for you.

Bonus: Learning WordPress

You’ve made the move from HubSpot to the wonderful world of WordPress!

Now, you might be looking at your new WordPress dashboard and thinking, ‘Okay, this is different!’ And you’d be right. WordPress works in its own way, and it has a lot of features and options that might be new to you if you’re coming from HubSpot.

Luckily, I can recommend tons of completely free resources to help you become a WordPress pro in no time. Here are just a few that I think you’ll find super helpful:

  • WPBeginner Blog: This is the heart of WPBeginner. Think of it as your go-to library for everything WordPress. You’ll find thousands of easy-to-follow tutorials, guides, and articles.
  • WPBeginner Dictionary: WordPress has its own vocabulary! Our dictionary helps you understand all the WordPress terms and jargon.
  • WPBeginner Videos: Prefer to learn by watching? Our video tutorials walk you through common WordPress tasks step-by-step, visually.
  • WPBeginner YouTube Channel: Even more video help! Our YouTube channel is packed with WordPress tips, tutorials, and how-tos.
  • WPBeginner Blueprint: Curious about the tools and plugins we use here at WPBeginner? The Blueprint gives you a peek behind the scenes.
  • WPBeginner Deals: Who doesn’t love a good deal? In our Deals section, we gather exclusive discounts and coupons on WordPress themes, plugins, hosting, and more.

So, don’t feel overwhelmed by learning WordPress. With WPBeginner as your guide, you have all the resources you need right at your fingertips. Dive in, explore, and start enjoying the power and flexibility of WordPress!

I hope this tutorial helped you move your site from HubSpot to WordPress. You may also want to see my ultimate WordPress SEO migration checklist for beginners or my expert pick of the best WordPress migration services.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post How to Move Your Site From HubSpot to WordPress (Step by Step) first appeared on WPBeginner.

How to Embed Spotify in WordPress (2 Easy Methods)

11 April 2025 at 10:00

Do you remember when sharing music on a website meant uploading MP3 files and dealing with clunky audio players? I sure do.

Thankfully, many streaming services have made it easier to share music online, and Spotify is leading the way. As one of the world’s largest music platforms, it offers straightforward embedding options that work well with WordPress.

As a music lover and WordPress user, I decided to look for the most reliable methods for adding Spotify content to WordPress sites. Whether you’re a music reviewer, podcast creator, or just want to share your favorite playlist, I will show you how to embed audio content without touching a single line of code.

In this guide, I’ll show you 2 easy methods to embed Spotify in WordPress. These are great options for sharing a single track, a full album, a podcast episode, or an entire playlist. 🎶

EmbedPress' social share setting

Why Embed Spotify in WordPress?

If you’re a musician or podcaster, then embedding Spotify content on your WordPress website is a powerful way to promote your work and connect with your audience.

Instead of sending visitors away to your Spotify profile, you can feature your music or episodes right where your fans already are – like on your podcasting website or the professional hub for your music.

That said, even if you’re not sharing your own content, adding Spotify embeds can still make your site more engaging. Whether you’re writing music reviews or curating playlists, embedding audio tracks can take your content to the next level.

EmbedPress' Spotify player on a live site

And here are the types of Spotify content you can embed:

  • Single tracks – Perfect for promoting your own music or highlighting a specific song.
  • Albums – Great for showcasing full releases, especially for artists or music reviewers.
  • Playlists – Share your favorite collections or set the mood with themed playlists.
  • Podcasts – Ideal if you host a podcast and want to share episodes on your site.
  • Artist profiles – Highlight your own Spotify artist page or feature others you support.

The best part? Spotify comes with easy embed links that you can use in WordPress.

🌟Related Post: Check out our expert pick of the best WordPress themes for podcasters.

How to Embed Spotify in WordPress

WordPress makes it easy to embed Spotify content right out of the box. You can simply paste a Spotify link into the content editor. WordPress will then automatically turn it into an embedded player within a Spotify block.

In this guide, I’ll cover 2 easy ways to embed Spotify in WordPress:

Both methods let you embed songs, albums, playlists, podcasts, or artist profiles without writing a single line of code!

💡 Note: The exact location of buttons and menus in Spotify might vary slightly depending on whether you’re using the web player, desktop app, or mobile app. In this guide, I will use the Spotify web player.

Method 1: Embed Spotify Using the Spotify Block in WordPress (No Plugin Needed)

This is the easiest method because you just need to add a block in the WordPress block editor. It’s great for adding tracks, playlists, or podcast episodes directly to your posts or pages – no extra plugins needed.

Step 1: Find the Spotify Content Link

First, let’s get the Spotify content link.

You can start by opening the Spotify web player or desktop application to access its content (logging in is optional).

From the ‘Home’ screen, you need to use the ‘Search’ feature to find the content you want to embed. You can search by song title, album title, or artist name.

For example, I looked for Dream, Ivory’s artist page.

Using Spotify search feature

Just click on the relevant search result when it appears.

Once inside, you can click the three-dot button next to the ‘Follow’ button on the artist’s profile.

Next, hover over the ‘Share’ option and then click ‘Copy link to artist.’

The Copy link to artist button

If you want to embed a single track, then you can click on the three-dot button for a track.

Then, simply hover over the ‘Share’ option and click the ‘Copy Song Link’ button.

The Copy Song Link button

To embed a full album, scroll down the artist page to the ‘Discography’ section.

After that, just click on the album you want to share to open it.

Clicking on an album in Spotify

You’ll see a three-dot button below the album name; go ahead and click it.

From here, you can hover over ‘Share’ and click ‘Copy Album Link.’

The Copy album link button

The process is pretty much the same for playlists and podcasts.

Just make sure you’re clicking the right three-dot button depending on whether you’re on a song, album, playlist, show, or artist page.

The Copy link to playlist button

Step 2: Embed the Spotify Content into WordPress

Now, let’s add the link to your WordPress website.

You can embed Spotify content into any post or page. For this tutorial, I’ll show you how to do it inside a blog post using the WordPress block editor.

From your WordPress dashboard, let’s go to Posts » Add New Post or edit an existing post where you want the Spotify player to appear.

Adding a new post

You can just paste the Spotify link straight into the editor. But I will also show you how to add the dedicated Spotify block.

In the editor, click the ‘+’ button to add a block.

Then, simply search for ‘Spotify Embed.’

The Spotify Embed block

Once you’ve found the ‘Spotify Embed’ block, give it a click to add it to the editor.

Now, you can paste the Spotify link you copied earlier into the block.

The Spotify Embed block

You can then click the ‘Embed’ button or press ‘Enter.’

WordPress will automatically fetch and display a live preview of the embedded player.

The Spotify Embed block

Before publishing, you might want to adjust the ‘Media settings.’ You can find this slider in the ‘Block’ tab on the right.

Turning on this setting helps the Spotify player look good on all screen sizes, which can help with mobile-friendly design.

Adjusting the media settings

When you’re happy with how the Spotify player looks, you can go ahead and click ‘Publish’ or ‘Update’ to make it live.

Now, when visitors view your post, they’ll see a fully interactive Spotify player they can use to listen to the audio content directly.

Spotify Embed's Spotify player on a live site

Method 2: Embed Spotify Using the EmbedPress Plugin (More Customizable)

This method is ideal if you want more flexibility when embedding Spotify content. The EmbedPress plugin lets you customize how your music, playlists, or podcasts appear on your site without using any code.

You can control the size of the audio player and even make the content shareable on social networks. It’s also suitable if you’re using the classic editor because it doesn’t rely on blocks.

Step 1: Install the EmbedPress Plugin

To get started, you’ll need to install and activate the free EmbedPress plugin.

💡 Pro Tip: The free version of EmbedPress works great, but EmbedPress Pro will give you more control. For example, you can add your own branding, tweak the player’s design, enable lazy loading for faster pages, and even show custom ads to boost revenue.

So, let’s log in to your WordPress dashboard and go to Plugins » Add New Plugin.

The Add New Plugin submenu under Plugins in the WordPress admin area

In the search bar, type ‘EmbedPress,’ then click ‘Install Now’ and ‘Activate’ when it appears.

Need help installing a plugin? Check out this step-by-step guide on how to install a WordPress plugin.

Installing EmbedPress

Step 3: Copy the Spotify Content URL

For this tutorial, I’m going to show you how to find Spotify playlist and podcast links.

Let’s start by going to the Spotify web player or desktop application. You don’t need to be logged in to your account for this step.

Once inside, you can use the search bar at the top to find the Spotify playlist or podcast you want to embed.

Saerching for a playlist

On the results page, scroll down to the ‘Playlist’ section.

After that, go ahead and click on the playlist that you want to embed.

Select the playlist you want to embed

From here, you can click the three-dot button under the playlist name or near the ‘+’ button.

This will expand the menu where you can hover over ‘Share’ and click ‘Copy link to playlist.’

The Copy link to playlist button

You can also go to an artist page, as they usually have a curated playlist.

For example, I went to Nina Simone’s artist page and scrolled down to find her ‘Artist pick’ playlist.

Spotify playlist

Once you’ve opened the playlist, just click the three-dot button near the title or the ‘+’ icon.

Then, hover over ‘Share’ and choose ‘Copy link to playlist.’

The Copy link to playlist button

When it comes to podcasts, the process is pretty similar. Simply start by using the ‘Search’ feature to go to the podcast.

Once inside, you can click the three-dot button, hover over ‘Share,’ and click ‘Copy Show Link.’

The Copy show link button

If you want to share an episode instead, then you can scroll down the podcast page.

Then, click the ‘Share’ icon next to the episode you want to embed and copy the link.

The share button for sharing a podcast episode

The process is pretty much the same for songs, albums, and artist pages.

Just make sure you’re clicking the right three-dot button.

The Copy Song Link button

Step 4: Add the Spotify URL to WordPress Using the EmbedPress Block

Once you get your link, you can embed Spotify content into any WordPress post or page using the EmbedPress block.

To get started, you can create a new post by navigating to Posts » Add New Post. Alternatively, you can open the post where you want to embed the track, playlist, or podcast.

Adding a new post

In the editor, let’s click the ‘+’ icon.

Then, you can go ahead and search for the EmbedPress block.

Finding the EmbedPress block

Once you’ve found the block, simply click on it to add it to the editor.

After that, paste your Spotify link into the block.

Adding the Spotify link to the EmbedPress block

Don’t forget to click the ‘Embed’ button or press ‘Enter.’

EmbedPress will then instantly fetch the preview and display it right inside the editor.

Spotify embedded on the editor

Now, you will have access to extra controls for the audio player.

In the right panel, you can find the option to resize the player by adjusting its width and height.

EmbedPress general setting

Plus, you can enable social sharing to make your content more discoverable.

With this setting, you can choose whether to show the icons at the top, left, right, or bottom of the Spotify player.

EmbedPress' social share setting

EmbedPress Pro also allows you to change the color of the audio player and add a ‘Follow’ button. This can help you get more Spotify followers directly from your WordPress website.

When you’re done customizing, just click ‘Publish’ or ‘Update’ to make it live.

That’s it! Your Spotify content is now fully ready to go on your WordPress website. 🎧

EmbedPress' Spotify player on a live site

💡 Note: If you’re using the old Classic Editor, then you can simply paste the Spotify link into the Visual editor.

The EmbedPress plugin will automatically detect the URL and convert it into an embed.

Embedding Spotify in the Classic Editor

Take It Further: Sell Your Tracks, Albums, or Sample Packs 💿

Embedding your tracks on your website is just one way to get more listeners.

If you’re a musician, then you can also sell your songs directly from your WordPress site — no middlemen, no platform fees. It’s a smart way to keep full control over your music, grow your fanbase, and earn more from every download.

The easiest way to do this is by using a plugin called Easy Digital Downloads.

Unlike general eCommerce plugins, Easy Digital Downloads is built specifically for selling digital products like MP3s. That means no extra setup for shipping or inventory — just the tools you actually need.

Selling products online using EDD

You can sell singles, full albums, or even sample packs with features like secure file delivery, discount codes, and customer management built right in.

For detailed instructions, you can see this guide on how to sell music online in WordPress.

Alternatively, if you want to sell physical music, like vinyl or CDs, then you’ll need a full store with shipping, tax, and inventory support. I recommend using WooCommerce because it’s the most popular eCommerce plugin for WordPress and makes it super easy to sell products online.

You can follow this step-by-step guide on how to start an online store to get started.

FAQs Around How to Embed Spotify in WordPress

If you’re just getting started or still have questions about embedding Spotify links, you’re not alone. Here are some common questions I often hear from WordPress users:

How do I embed a Spotify playlist into WordPress?

You can copy the Spotify playlist link and paste it into a Spotify block in the WordPress editor. WordPress will automatically convert it into an embedded player. Alternatively, a premium plugin like EmbedPress gives you more control over the audio player’s look and branding.

How do I add a Spotify podcast to my WordPress site?

You can copy the podcast episode or show link from Spotify and paste it into the Spotify block in the WordPress block editor. It will instantly turn into a playable embed. Using a plugin like EmbedPress will also allow you to control how the audio player looks and get more followers directly from your website.

How do I play background music on a WordPress site?

Most modern browsers limit autoplaying background music to protect the user experience, especially on mobile devices, where unexpected sounds can be intrusive. Similarly, WordPress also doesn’t support autoplay out of the box.

That said, there are more user-friendly ways to share background music:

  • Use a plugin with a custom play button – Plugins like HTML5 Audio Player let you add a small play/pause button. You can place it in a header, footer, or floating sidebar so that visitors can choose to start the music.
  • Embed Spotify or other music players – Instead of true background music, you can embed a playlist or single track using Spotify or another streaming service. Visitors can click play whenever they’re ready to listen.

I hope this article has helped you learn how to embed Spotify in WordPress and make your music website more interesting. Next, you can check out our guides on how to add MP3 audio files in WordPress or our expert picks of the best WordPress plugins for podcasters.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post How to Embed Spotify in WordPress (2 Easy Methods) first appeared on WPBeginner.

❌