Recently our colleague Joshua Goode escalated to the Security Research team an investigation he was performing on several websites that presented the same indicators of compromise. There were small variations in what the final payload was, but the attack timeline was always the same.
Attack timeline
As Joshua initially pointed out and subsequently confirmed by me, the chain starts with the installation of the core-stab plugin, followed by other additional items. The following timeline depicts one of the many compromised sites we reviewed:
Jan 10, 2023 @ 17:29:49.587 UTC – Core stab plugin upload – /wp-admin/update.php?action=upload-plugin
Jan 10, 2023 @ 17:29:52.270 – /wp-content/plugins/core-stab/index.php
Jan 11, 2023 @ 02:12:50.773 – /wp-admin/theme-install.php?tab=upload
Jan 11, 2023 @ 03:37:58.870 – Another core-stab install
Jan 11, 2023 @ 04:15:06.014 – Installation of a new plugin, task-controller, /wp-content/plugins/task-controller/index.php
Jan 11, 2023 @ 08:23:26.519 – Installation of WP File Manager (Unsure if by attacker but this plugin is typical with a lot of malware)
The most common “coincidence†is that all users involved in this attack had their emails listed on at least one public password leak since 2019, which only corroborates the overall findings: the attacker(s) used compromised or leaked accounts to install the malware.
You can find more details on how the core-stab malware works, as well as detailed detection and blocking information for WP security experts, via WPScan (TODO: link that last bit to the WPScan post).
Testing and validating our Proof-of-Concept for the malicious code.
What to do if my site was infected?
If you find the core-stab plugin installed on your site, the first thing you should do is remove it and then follow these next steps:
Every WordPress installation has a selection of “core†files. These are the files behind critical functionality, and one of them is .htaccess. It includes configuration options for your web server. In other words, it’s extremely important.
If you know how to find and edit .htaccess, you can change your site’s permalink structure, set up redirects, increase security for the dashboard, and make many more tweaks. You don’t even need to know how to code if you follow instructions carefully.
In this article, we’ll talk about the .htaccess file and how it works. We’ll show you how to locate, access, and edit the file. Finally, we’ll wrap up with some frequently asked questions.
What is an.htaccess file?
.htaccess or Hypertext Access files aren’t unique to WordPress. Every Apache web server has an .htaccess file that contains configuration settings for the server. In the case of WordPress, the file also includes instructions for your website’s permalink structure.
Here’s how the file looks by default on most websites:
We say “most websites†because some hosts customize their clients’ .htaccess files to include additional functionality. Still, the file is always located in the WordPress root directory.
If you have access to the server, you can locate and edit .htaccess to make critical changes to your site’s functionality. Some of the changes you can implement include:
Adding redirects. Implement redirects at the server level.
Changing the permalink structure. When you change your website’s permalink structure, these changes are reflected in .htaccess. You can use the file to manually change the URL structure instead of doing so in the WordPress admin panel.
Preventing resource hotlinking. If you don’t want other websites to use images or other elements from your website, you can disable hotlinking by modifying the .htaccess file.
Configuring access to the website. .htaccess enables you to password-protect directories, whitelist IP addresses for access to the dashboard, and more.
It’s important to understand that .htaccess is an incredibly delicate file. Since it lets you configure server-level rules, changing the file can break your website if you’re not careful.
You don’t need to know a specific programming language to edit .htaccess, although PHP knowledge can help. If you follow instructions and copy the necessary code snippets, you can easily modify the file.
If you’re not comfortable using code, several plugins can edit .htaccess for you. Most security and redirect plugins work by editing the file without you having to open it. Depending on the changes you want to make, you may be able to use a plugin to edit .htaccess.
Where is the .htaccess file located in WordPress?
The .htaccess file is located in the WordPress root directory. This directory contains all of your WordPress core files (like wp-config.php), as well as everything that you upload to your website.
You can’t access the rootdirectory from the WordPress dashboard. To get access to .htaccess and other similar core files, you’ll need to connect to your server via File Transfer Protocol (FTP) or your hosting control panel.
Since WordPress is open-source software, you can freely edit all the files in any way you want. In the next section, we’ll show you how to make changes to .htaccess safely (and the same advice applies to all other WordPress core files).
How to edit your WordPress .htaccess file (3 methods)
Editing the WordPress .htaccess file requires access to the rootdirectory. But before making any changes, we highly recommend downloading a backup of your .htaccess file. Since .htaccess deals with server configuration settings, any errors in the file’s code can render your website inaccessible. If that happens, you’ll need to restore a previous version of .htaccess, remove the incorrect code, or create a new .htaccess file to reaccess your site. With that in mind, it’s best to play it safe and have a recent backup available.
Thankfully, backing up the .htaccess file is a pretty simple process. Start by accessing your server’s files via either your host’s file manager or file transfer protocol (FTP) software like FileZilla. Navigate to your website’s root folder, typically called public_html, www, or your website name. Here, you’ll find the .htaccess file.
If you don’t see that file, you may need to turn on a setting that enables you to view hidden files. This will depend on your host or FTP software. If you’re using cPanel, click the Settings button at the top right, followed by Show Hidden Files (dotfiles) and Save.
With FileZilla, you’ll need to toggle this setting before you connect to your server. All you have to do is go to Server → Force showing hidden files.
Once you’ve found the .htaccess file, download it to your computer and rename it to something you’ll remember, like .htaccess_before-changes. Then, if you do need to revert any changes that you’ve made, you can simply copy the code from this file and paste it into the live version on your server.
1. Using an FTP client
The best way to access the .htaccess file is with an FTP client. FTP clients tend to be easier to navigate than file managers in hosting control panels, and they provide more control for interacting with your site’s directories and files.
It’s up to you which FTP client you use. But you might consider the open-source FileZilla option if you haven’t used FTP before.
To connect to WordPress, you’ll need your site’s FTP credentials. You should have received these when signing up for a hosting plan. If not, you can find them in your hosting control panel.
Once you have the right credentials, connect to your website via FTP. Navigate to the folder that says www, public_html, public, or your site’s name. Those are the most common names for the WordPress root directory.
Open the directory, and you should see a collection of files and folders that looks like this:
The file we’re looking for, .htaccess, is located in this top-level directory. Once you find it, right-click on the file and select View/Edit (the name of this option may change depending on which FTP client you use). This will open the file using your default text editor.
Again, before taking this step, make sure you download the file to a safe location so you can restore the code if you make a mistake.
Any changes that you make to this file need to come before the “# END WordPress†line. To keep things organized, we recommend adding new snippets of code with a line of separation from others.
If possible, also add comments like this to identify what each snippet does:
# This is a comment
That way, if you return to the file to remove part of its code, you’ll know precisely what each snippet does. When you’re ready, save the changes to the file and close it.
The FTP client will ask if you want to update the file on the server. Choose the option that says Yes, and that’s it. The changes that you made to .htaccess should be live now.
2. Using your cPanel
Editing a WordPress .htaccess file using cPanel is relatively simple since the software includes file manager functionality. But keep in mind the text editor included with the file manager is very bare bones. We recommend using an FTP client instead if you can.Â
If you prefer using cPanel, login to the hosting control panel and look for the File Manager option under the Files section.
On the next screen, look for a directory called www, public_html, public, or your website’s name. That is your WordPress rootdirectory, and it contains the .htaccess file.
Right-click on .htaccess and select the Edit option. This will open the file manager’s text editor and enable you to make changes to the file. Again, make sure you have a current version of your .htaccess file on hand that you can restore if needed.
We included instructions on how to edit .htaccess safely in the previous section. Make sure to review those instructions before adding code to the file to prevent any problems with your server.
3. Using a WordPress plugin
If you don’t want to use an FTP client or cPanel to access the .htaccess file, some plugins provide this functionality from the WordPress dashboard. One example is Htaccess File Editor by WebFactory.
This plugin adds a new WP Htaccess Editor tab to the dashboard. From here, you can use a basic text editor that works only with .htaccess.
The advantage of using a plugin to edit .htaccess over a regular text editor is that you may get access to functionality like testing the file before saving. You might also be able to restore backups in case of an error.
Other plugins that let you edit .htaccess include Redirection and Htaccess File Editor. In most cases, we recommend using FTP over plugins. But a plugin might do the trick if you only plan on making minor changes to .htaccess.
How to create a new WordPress .htaccess file
Creating a new WordPress .htaccess file is relatively simple. Sometimes, you won’t see the .htaccess file if you go to the rootfolder of your WordPress website. This can happen because WordPress hasn’t generated the file yet.
Sometimes, WordPress doesn’t generate an .htaccess file until you make changes to your site’s default permalink structure. To do this, go toSettings → Permalinks. The default permalink structure for WordPress is set to Plain. But you might want to change that structure to another, more user-friendly option, like Post name or Month and name.
When you change the permalink structure from Plain, WordPress will generate a new .htaccess file. It will contain the instructions for the new structure that you choose.
After saving the changes to your site’s permalink structure, return to the WordPress rootfolder. There should be a brand new .htaccess file inside, ready for you to start editing it.
How to replace your current .htaccessfile with a new one
If you want to restore the .htaccess file to its original contents, you can either delete all custom code or replace it altogether. In many cases, replacing the file is the easier option. That applies particularly if you run into an error and are unsure which part of the code is causing it.
Before moving forward, download a copy of your existing .htaccess file, just in case.
First, you’ll need to make a new copy of a default .htaccess file. To do so, create a new file called .htaccess on your computer (including the period).
Then, open the new file using a text editor and paste the following code within:
# BEGIN WordPress
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
That is the default code for the .htaccess file, and it should work with every website. The only exception is if you’re using a Multisite installation. In that case, the default .htaccess file should look like this, with a subdirectory setup:
# BEGIN WordPress Multisite
# Using subfolder network type: https://wordpress.org/support/article/htaccess/#multisite
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
# END WordPress Multisite
Alternatively, if you’re using a subdomain setup for Multisite, the code will look like this:
# BEGIN WordPress Multisite
# Using subdomain network type: https://wordpress.org/support/article/htaccess/#multisite
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
# END WordPress Multisite
In any case, save the new .htaccess file and upload it to the WordPress rootdirectory. You can follow our earlier instructions on accessing the directory using FTP or cPanel. Once you’re inside, delete the existing .htaccess file and upload the new one, or simply upload and overwrite it.
Five examples of rules you can add to your .htaccess file
There are several ways to edit the .htaccess file and add new functionality to WordPress. Each code snippet is known as a “rule†because it tells the server what to do.
In this section, we’ll introduce you to several rules you can implement in the WordPress .htaccess file and explain what they do!
1. Redirect all traffic via HTTPS
Once you add a Secure Sockets Layer (SSL) certificate to WordPress, you’ll want to configure the website to load over HTTPS. There are several plugins you can use to implement this change, but you can also do so by adding a new rule to the .htaccess file:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
This rule implements 301 redirects that will process every HTTP request over HTTPS. If you see security errors in the browser after implementing this rule, there might be an issue with your site’s SSL certificate.
2. Add a password to a directory
.htaccess enables you to password-protect specific parts of your website. The password prompt doesn’t appear as a login screen, but as a pop-up window directly through the browser. The server will block your access to the page if you don’t enter the correct password.
In this example, we’re using code to password-protect the WordPress admin dashboard:
You can change which page you want to add a password to by editing the part of the snippet that comes after the “/â€. For example, you can add a password prompt to /wp-login.php to protect the login page further.
Note: Requiring a password to access the homepage will break Jetpack’s connection. So, if you’re using any of Jetpack’s tools, you won’t want to implement this rule.
3. Disable access to specific files
On top of disabling access to parts of your website, you can block every user from being able to access specific files. This rule can come in handy for core files, since you don’t want anyone else to be able to download or edit them.
For this rule, we’re using code that tells the server if a visitor tries to access a file that matches one of the names you specify, it should block that connection:
<FilesMatch "^.*(error_log|wp-config\.php|\.[hH][tT][aApP].*)$">
Order deny,allow
Deny from all
</FilesMatch>
You can add more files to that list by separating them with a “|â€. Keep in mind that there should be one final “|†symbol right before the slash in the first line within the rule.
4. Blocklist an IP address
One of the most useful functions in .htaccess is the ability to blocklist specific IP addresses. If you include an IP address using a blocklist rule, it won’t be able to access any of your site’s pages. Here’s what that rule looks like:
order allow,deny
deny from 192.168.1.1
allow from
That example uses the localhost IP, but you can replace it with any other address. To include multiple addresses, separate them using a comma.
Note that blocklisting an IP means the user with that address won’t be able to load any of your site’s pages at all. They won’t see 404 errors or be redirected to login pages. Instead, they’ll get “access denied†errors.
It’s also important to understand that blocking or allowing IP addresses in your .htaccess will not supersede any IP blocking or allowing that is done at the server level, or via a security plugin or service. That is why it is important to ensure that our IP addresses are allowed at the server level and in any security plugins you may use.
5. Add a redirect
You can use the .htaccess file to implement multiple types of redirects. Earlier, we showed you how to use redirects to force WordPress to load over HTTPS. But you can also implement more straightforward rules to redirect a single page to a second address.
Here’s how a basic 301 redirect looks in .htaccess:
The file also supports more complex redirects, like redirecting an entire website to a new URL. Here’s what that rule would look like in action:
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.newsite.com/$1 [R=301,L]
This rule can be useful if you want to stop working on a website and redirect all of its traffic to a different property.
Keep in mind that 301 redirects are “permanent.†That means that search engines interpret them as “This page has moved permanently to a new address†and pass along some of its link equity.
Frequently asked questions about the .htaccess file
If you still have questions about the WordPress .htaccess file, this section will answer them. Let’s start by talking about what you can do with this file!
What can you do with your .htaccessfile on WordPress?
The .htaccess file on WordPress is highly versatile. You can use it to implement redirects, update your site’s permalink structure, whitelist IP addresses, password-protect directories, force your site to load over HTTPS, and more.
These changes require you to either use plugins or add code to the .htaccess file. You can do this even if you’re unfamiliar with coding since the snippets can be found online, including in this article!
What if you can’t find your WordPress .htaccess file?
You may not be able to find the .htaccess file in the WordPress rootdirectory if it hasn’t been created yet. In some cases, WordPress doesn’t generate the file unless you change your website’s permalink structure from Plainto another option. Earlier in this article, we explain how to do this.
Do .htaccess changes take effect immediately?
Any changes that you make to .htaccess should take place immediately. You don’t need to restart the server for changes to take effect.
If you edit the file and you don’t see the changes reflected immediately, there might be an issue with your web host. In some cases, hosting providers might not provide the necessary permissions for your .htaccess file to override the server’s configuration. This is particularly common in shared hosting plans.
Should I use a plugin to edit .htaccess?
Many plugins can edit .htaccess, but some of these tools don’t give you access to the file itself. For example, if you use a redirect plugin, it likely implements redirects via .htaccess, but it doesn’t show you the changes in the file.
Some tools enable you to edit .htaccess from the dashboard. But these plugins often offer limited editor functionality, making it harder to implement changes. Whenever possible, we recommend using FTP so you can use your favorite text editor to interact with .htaccess.
Can your WordPress site’s .htaccess file be hacked?
If attackers can gain access to your server, they can also access the .htaccess file and use it to break parts of your site, implement malicious redirects, and even lock you out of the website altogether.
Backing up your website regularly is vital to protect user data and avoid downtime from attacks. With Jetpack Security, you can access real-time automatic backups and malware protection.
Jetpack also adds a firewall to your website. This feature helps further prevent other attacks, like DDoS events or attempts to brute force the WordPress login page.
How do I edit the .htaccess file in Nginx?
.htaccess files are unique to Apache servers. They’re still very common because Apache is one of the most popular server software options on the market. But it’s not the only one.
Many popular WordPress web hosts use Nginx since it offers several advantages over Apache. But Nginx servers don’t have .htaccess files. That means you may be unable to implement several of the customizations discussed in this article, or the process might be entirely different.
What is an example of a default WordPress .htaccessfile?
By default, the .htaccess file should look the same on most WordPress websites. Here’s the code the file should contain if you’ve made no changes to it:
# BEGIN WordPress
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
You can use this code to restore the .htaccess file to its original settings in case of any errors while customizing it. We include instructions on how to replace the file in one of the previous sections of this article.
Change the WordPress .htaccess file
Knowing how to access and edit the WordPress .htaccess file can help you change key functionality on your website and keep it safe. You can use this file for anything from implementing redirects to password-protecting directories if you know how to edit it.
Since you’re dealing with a WordPress core file, we always recommend creating a backup ahead of time. Once you start working on the file, you can use the code snippets from this article to implement new features.
Editing your .htaccess file is just one way to secure your WordPress website. Jetpack Scan constantly monitors your site for threats, notifies you about any problems, and helps you resolve any issues. Check out Jetpack Scan today!
WordPress is an excellent platform for your website. But that doesn’t mean that it’s invincible. If you’re working on your site and encounter a sudden glitch, freeze, or crash, it’s easy to enter panic mode.
Fortunately, there are ways to recover and restore your WordPress site after a crash. Whether you installed a poorly-coded plugin or accidentally deleted a file, you can get your site up and running again by following the right steps.
In this post, we’ll take a closer look at WordPress website crashes and some common causes. Then, we’ll guide you through five steps to recover and restore your site after a crash. Let’s get started!
Does WordPress crash?
WordPress, like any Content Management System (CMS), isn’t infallible. But, since it’s built through volunteer contributions by the world’s top developers and continuously peer-checked and improved upon, it’s truly a stable platform. Most issues arise from human error on an individual site level.
So, a WordPress site can crash, and one of the main causes is running outdated software, whether it’s WordPress core, plugins, or themes. Outdated software poses a risk to your site since known vulnerabilities are easily exploited. Therefore, your site may be less resistant to viruses, malware, and online attacks. And when things like plugins or themes are outdated, they can conflict with one another and cause errors and outages.
Does WordPress have a crash log?
When WordPress site crashes occur, you can use an error log to identify and resolve the issue as quickly as possible. To view PHP errors on your website, all you have to do is enable the WP_DEBUG function.
The easiest way to enable WordPress debugging is with a handy plugin like Query Monitor.
Query Monitor adds a developer tool panel to your WordPress admin area. Using this plugin, you can debug various parts of WordPress, including database queries, PHP errors, and CSS.
Alternatively, you can always enable debug mode manually. If you prefer this option, it requires access to your site’s File Manager or a connection through Secure File Transfer Protocol (SFTP).Â
At this point, look for the line that reads: “That’s all, stop editing! Happy publishingâ€. Then, insert this line of code above it:
define ( ‘WP_DEBUG’, true );
If there are errors on your site, a debug.log file will appear within your wp-content folder. You can download it to your computer to view the entire log and identify the errors.
Seven common causes of WordPress site crashes
Now that you know a bit more about WordPress crashes, let’s look at some of the leading causes.
1. Installing or updating a plugin or theme
WordPress plugins extend the functionality of your site, but poorly-coded plugins can create errors. Not just that, but even a high-quality plugin can cause problems if it isn’t compatible with your version of WordPress or other software on your site.
If your site crashed, think about whether you’ve recently installed a new plugin, updated an existing tool, or changed your theme.
In the future, it’s important to only choose reputable plugins and themes, like the ones in the WordPress plugin directory.
Alternatively, you could choose premium plugins and themes from trusted third-party marketplaces. Make sure that it has a number of positive customer reviews to verify that the plugin or theme is well-coded and functional.
You’ll also want to pay attention to how frequently the tool is updated, whether the software is compatible with the latest WordPress version, and the level of support from the developer.
2. Expired domain names
If an expired domain causes your WordPress site to crash, the good news is that it’s one of the easier problems to resolve. Your domain name is the website address that visitors enter to find your site. It’s a crucial branding element that helps you establish a strong online identity.
But once you’ve secured a unique domain name, it will typically only last for one year. Since you’re simply “renting†a domain for a set period, you’ll need to renew it before it expires.
If you’ve forgotten to renew your domain name, you should contact the company you used to register your domain and see if it’s still possible to get it back. If you can get the domain back, then check that your contact and payment details are correct. Also, you might want to enable auto-renew so that you don’t have to worry about this happening again.
3. Server issues
Some server errors can cause problems on your site. For instance, the HTTP 500 Internal Server Error and the Timed-Out Error are both caused by a slow or overwhelmed server.
The leading causes of WordPress server errors include browser caching problems, database server problems (like slow connection times), and corrupt databases (perhaps containing malicious files).Â
Typically, you can only resolve these issues by changing the server configuration. You can contact your hosting provider to sort this out for you.
You can give your website a better chance of avoiding these issues by opting for a quality WordPress host. It’s a good idea to prioritize hosts that offer at least 99.99 percent uptime. You’ll also benefit from choosing a provider that offers plenty of extra security measures like Web Application Firewalls (WAFs) and automated updates.
Note: Some WAFs will block our IPs, which breaks the Jetpack connection. If you’re using any of the Jetpack plugins, be sure to ask your hosting provider to allow our IP addresses to access your site’s xmlrpc.php file. This will ensure your site has a continuous connection to WordPress.com.
4. Updating the WordPress core software
As we discussed earlier, it’s important to keep plugins and themes up-to-date. But it’s also essential to update your WordPress core software. This way, you can prevent compatibility issues resulting in WordPress crashes.
What’s more, WordPress updates often contain security fixes for bugs found in the previous release. So, there’s less chance of hackers being able to exploit these known vulnerabilities on your site.
If you’re unsure which version of WordPress you’re running, head to Dashboard → Updates.
Here, you can confirm your version of WordPress, enable auto-updates, and upgrade your plugins and themes. When a new version of WordPress is available, you’ll receive an update message in your dashboard.
It’s also essential to back up your site before running an update in case anything goes wrong. Later, we’ll explain how you can do this with Jetpack VaultPress Backup!
5. Editing the WordPress code
Even when experts carry out routine website maintenance, human error can result in the accidental deletion of files and folders. Therefore, it’s possible to crash your site when adding or editing code in WordPress.
The best solution is to make sure that you regularly back up your website. That way, if anything goes wrong, it’s easy to restore your site to its original state.
For extra peace of mind, Jetpack stores your backups on a different server from your website — using the industry-leading, secure infrastructure of WordPress.com. This means that if you’ve made a mistake on your server, your backups won’t be compromised. And you can restore them even if your website is completely down.Â
6. WordPress hacks
While the previous causes are pretty harmless, WordPress can also crash if your site gets hacked or compromised.
Distributed Denial of Service (DDoS) is one of the most common types of online attacks. This occurs when hackers use multiple machines to overwhelm your server with millions of fake requests.
Additionally, you might face brute force attacks that target the WordPress login page. These attacks are when hackers try thousands of username/password combinations to try to break into your website. Eventually, attackers can gain unauthorized access to your account and take over your entire site.
You’ll know if your website has been hacked because it may become slow, unresponsive, or inaccessible to users. Visitors may also be redirected to malicious sites. Sometimes, you can find these redirects placed in the footer of your pages.
Furthermore, an obvious sign that WordPress has been hacked is Google blocklisting your site. Search engines do this to prevent visitors from reaching your pages and becoming infected themselves.
To prevent future WordPress hacks, consider upgrading to the Jetpack Security bundle on your site. The bundle includes malware scanning, spam protection, and regular backups. Additionally, you can strengthen your login credentials by using strong passwords and implementing two-factor authentication.
7. Updating your site’s PHP version
PHP is an open-source scripting language that WordPress is built on. Like any other software on your site, updating PHP is vital since newer versions are better prepared to deal with security threats.Â
If you’re not sure which version of PHP you’re running, navigate to Tools → Site Health.
Switch to the Info tab. Then, scroll down to open the Server tab.
You’ll find your server setup information here, including the current PHP version.
Updating your PHP is generally a safe process. But, if you have outdated code (like themes and plugins), you could crash your site. Therefore, it’s essential to check that all plugins and themes are compatible with the version of PHP you intend to use.Â
You can usually find this information by visiting the dedicated plugin/theme page and looking under PHP Version.
Then, you can update your PHP version through your hosting account. The process will differ depending on your web host.
How to recover and restore your WordPress site after a crash (in 5 steps)
Now that you know why your WordPress site can crash, let’s discuss what to do if you find yourself in this situation!
Step 1: Restore a backup of your site
The best and easiest way to restore a backup of your WordPress site is to use the Jetpack VaultPress Backup plugin. There are a couple of ways you can do this.
Note: You’ll need to add server credentials to your Jetpack settings before you begin these steps.
The first method is to restore your site to a specific event. Start by opening your activity log, which keeps track of all the actions that take place on your site. There, you can either scroll down to a specific event or filter by date range or type of activity.
This can be particularly helpful if you know what may have caused the crash, like a recent plugin update or code edit. Click the Actions button next to the event, then choose Restore to this point.
A window will appear asking what elements you want to restore. In most cases, you’ll want to leave all of them selected. Then, click Confirm restore.
The restore process will start automatically. You can keep track of it using the progress bar that appears, but you’ll also receive an email when it’s done.
The second method is to restore to a specific day. To do this, navigate to https://cloud.jetpack.com and click Backups. You’ll immediately see the most recent backup of your site, but you can also use the arrows to scroll through other options. You can also choose Select Date to find a specific day.
Once you’ve chosen a day and time, click Restore to this point. Then, you’ll need to choose what elements you want to restore and wait for the process to finish.
And that’s it! No messing with server settings, dealing with your database, or editing code.
Step 2: Retrace your last steps
But what if you don’t have a backup on hand that you can restore? At this point, you’ll need to identify the cause of your WordPress crash to get your website back up and running. You may also need to do this if you restored a backup and aren’t exactly sure what caused the problem. After all, you don’t want your site to just crash again!
This can also help you identify the point in time you want to restore your site to. In that case, you may want to take this step before the first one.
It’s best to start with any recent changes you made and work your way back. For instance, have you installed a new plugin? Have you updated your theme? Did you edit your site’s code? Write down everything you can remember.
Then, work your way through the list and revert any changes that you can. You might roll back WordPress, your theme, or a specific plugin to a previous version. Or you may replace the file that you edited with a fresh copy. You can do this through File Manager or FTP if you can’t access your WordPress dashboard. We’ll explain how to do this in the next section.
But this is where the WordPress Activity Log can be your best friend! There, you can get a list of all the actions that occurred on your site, along with who performed each one and when it occurred. So, if you know that your website went down at 3:05 PM, you can see what happened immediately beforehand. This can also alert you to any nefarious activity taken by an unauthorized user.
Step 3: Deactivate or delete plugins
If you think a plugin may have caused your WordPress crash, but aren’t sure which one, it’s best to deactivate all your plugins at once. You can do this from your WordPress dashboard as long as you still have access.
Simply head to Plugins → Installed Plugins. Check the box next to “Plugin†to select all of the plugins at once. Then, in the Bulk actions dropdown, choose Deactivate.
If this fixes the problem you’re having with your site, then you know the root cause is a plugin. Reactivate them one by one until you identify the culprit. Now you can delete that plugin, find a replacement, roll back to a previous version, or reach out to the developer for support.
But if you can’t access your WordPress admin area, you’ll have to revert the changes through the File Manager or by using FTP. No matter which one you choose, navigate to the root folder of your website, typically called public_html.
Now, go to wp-content → plugins. Rename this folder to whatever you’d like — e.g. plugins.bak — to deactivate all of your plugins at once. Again, if this solves the problem, then you know it was caused by a plugin.
Rename the folder to its original state. Then, deactivate each plugin one by one by renaming it until you find the culprit. Again, your next step is to delete the plugin, find a replacement, roll back to a previous version, or reach out to the developer for support.
Step 4: Switch to a default theme
It’s possible that a theme update might conflict with WordPress core, or that there was a problem with your theme code in general. You can determine this by switching to a default theme, like Twenty Twenty-Two.
If you can access your WordPress dashboard, go to Appearance → Themes.
Find a default WordPress theme like Twenty Twenty-Two and hit Activate. If this solves the problem, then you may need to roll back your original theme, switch to a new theme, or reach out to the theme developer for help.
If you can’t log in to your WordPress dashboard, you’ll need to use either your host’s file manager or FTP to access your site files. Again, you’ll need to locate your wp-content folder.
Open the themes folder inside of it. Rename the directory for your current, active theme. This will force WordPress to activate a default theme instead. If this fixes your problem, then you can attribute it to your theme!
Pro tip: You can take care of steps 3 and 4 all at once using the Health Check & Troubleshooting plugin. This tool even enables you to troubleshoot in the backend while your site remains live and visible online!
Step 5: Install a fresh version of WordPress
Since a wrong line of code or a missing file can cause WordPress to crash, uploading fresh WordPress core files can potentially fix the problem. Start by downloading a new WordPress version.
Open up the zip file on your computer and remove the wp-content folder and wp-config.php file. It’s critical that you don’t replace these because they contain settings, plugins, themes, and other valuable data that’s specific to your website. As always, it’s also important that you have a backup on hand before you make major changes.
Now, connect to your site via FTP and replace the rest of the WordPress files. Once that process is finished, load your site and see if it’s working. If it is, great job! The problem is solved.
What to do if WordPress keeps crashing
You should now have a good idea of how to recover your site after a crash. If WordPress keeps crashing, here are some things to consider:
Ensure regular backups are in place
An easy-to-use WordPress backup and restoration system is the single best tool you can have on your side if your site’s experiencing issues. While it won’t solve the root cause of crashes (unless the issues can be solved by restoring a clean backup), it will make it easier to keep your site running and troubleshoot issues until there’s a fix.
Automated solutions like Jetpack VaultPress Backup are ideal in this situation, because even an experienced, careful developer can make mistakes when taking or restoring backups manually.
Some backup plugins offer weekly or daily backups. But if you’re experiencing frequent issues or just have lots of regular activity on your site (comments, sales, new posts, etc.), you’ll want to look for a real-time solution. This is once again where Jetpack VaultPress Backup shines — it saves every change on your site and keeps a detailed WordPress activity log so that you can restore to a specific point in time and never lose your work.
Backups are also an essential part of good WordPress site security — they allow you a way to recover from hacks and safeguard your files. But to make the most of this, backups should be stored off-site, on another server than where your site is hosted. This way, if the server is compromised, you can still access your backups and recover a clean version of your site. Jetpack VaultPress Backup stores files on a secure infrastructure used by WordPress.com and WordPress VIP clients. In other words, it’s fast, reliable, and secure.
Finally, backups are great, but if you can’t easily restore one, it’s not a complete solution. Make sure you test the restoration process of your chosen backup system. Jetpack VaultPress Backup can restore your site (even if it’s completely down), in just a click or two.
Update software in a staging environment
It’s important to update WordPress core, along with your themes and plugins, whenever new versions are available. These updates often include patches for security issues, and also ensure compatibility with other pieces of software on your site.
But the best and safest way to do this is using a staging environment. This is essentially a copy of your site that isn’t publicly accessible to your audience. You can test updates, code changes, and more without affecting your live site. Then, you can easily push those changes live when you know they’re safe.
Some hosting providers, like Bluehost, offer staging as part of their plans. But if your host doesn’t do this, you can always use a plugin like WP Staging.
Restrict user privileges
Be selective when it comes to granting access to your WordPress site, especially with user roles that allow people to make major changes. For example, Administrators have full permissions, and can do absolutely anything on your site. In general, it’s best to have just one administrator — you! — but if you decide to have more, make sure they’re trusted and experienced.
After all, if someone has full access to your website, they can use it for nefarious purposes, perform actions you don’t want them to, and even take down the site entirely.
So take some time to understand the permissions that come with each type of WordPress user role. Then, only assign the minimum necessary permissions required for each person to do their job. And if they stop working with you, remove their account.
You can edit user privileges in WordPress by going to Users → All Users.
Here, you can add new users, edit existing users, and change user roles by clicking on each individual account.
Check your browser and computer
If your site keeps going down just for you, it’s possible that there’s a problem with your computer or browser. In this case, your first step should be deleting your browser cache. This will ensure that you’re seeing the latest version of your site.
The instructions for this will depend on the browser you’re using. But let’s take a look at how to do this in Google Chrome.
In your browser, click on History → Show Full History. Then, choose Clear Browsing Data in the left-hand menu. Check the box next to Cached images and files, and click the Clear data button.
If you’re still having problems, you may also need to update the version of your browser you have installed. Again, check with your specific provider for instructions.
Talk to your hosting provider
If your site regularly goes down, it’s worth seeking your host’s help. It’s possible that the cause could be a misconfigured server, lack of resources, or outdated software version (like PHP). They can help you identify and solve these types of problems.
You may need to upgrade your plan if you’re using more resources than are allotted to your site or even switch hosting providers entirely. See our list of recommended WordPress hosts for guidance.
Use an activity log
We’ve talked about an activity log a few times throughout this post, and that’s because it’s incredibly helpful when it comes to identifying problems. With a good WordPress activity log, you can see what happens right before your site goes down each time.
For example, perhaps you have WordPress auto-updates enabled, and your website crashes each time a specific plugin updates. This is a sign that you’ll need to switch plugins, turn off auto-updates for that specific tool, or reach out to its developer.
Or maybe you start to notice activity that you didn’t authorize. Then, there could have been a security breach on your site that you’ll need to lock down.
Jetpack’s activity log is the best option for WordPress because it integrates so seamlessly. It shows you all the information you need to know, including each action taken, its date and time, and the user who performed it. It also works with Jetpack VaultPress Backup, so you can restore a backup from right before a certain action took place.
Recover and restore WordPress after a crash
When working on your WordPress website, small mistakes can cause a crash. Fortunately, there are plenty of quick ways to recover. By identifying the cause of the issue, you can get your site back up and running in no time.
To recap, here are five steps to recover and restore your WordPress site after a crash:
With Jetpack VaultPress Backup, you don’t need to worry about website crashes since it’s easy to restore your site quickly. Better yet, you can back up all your site files, including customer data and database files in real-time. Get started with Jetpack today!
People who visit your website don’t want to wait a long time to see your content. If you don’t optimize your code, render-blocking resources like CSS can contribute to visitors’ perception of slower load times.
Fortunately, you can easily generate critical CSS for your website. By installing a plugin like Jetpack Boost, you’ll be able to extract all the necessary CSS for displaying above-the-fold content. This can be key to making your website appear faster and more user-friendly.
In this post, we’ll explain critical CSS and why you should consider generating it for your website. Then, we’ll show you two different ways to do this in WordPress.
What is critical CSS in WordPress?
Once a visitor clicks on a link to your website, their browser has to process a series of tasks to render the content fully. All the steps involved in downloading, processing, and converting the code into pixels make up the Critical Rendering Path.
The browser reads the site’s HTML, CSS, and JavaScript code from top to bottom during this loading process. Since it won’t automatically know which resources are most important in rendering the page, the browser could get stuck processing unnecessary code.
If a certain CSS file stops your website from rendering, it becomes a render-blocking resource. Even if it isn’t necessary for displaying the page, visitors won’t see the content until this render-blocking CSS is fully processed.
Critical CSS refers to the required CSS code for the above-the-fold web content. Essentially, it’s the bare minimum code the browser needs to display the first section of content to visitors.
The benefits of generating critical CSS
Generating critical CSS for your web pages involves eliminating any render-blocking CSS and enabling the browser to only process what’s necessary.
1. Optimize content delivery
When you optimize CSS delivery for your WordPress website, it can improve the rendering process. To a front-end visitor, it might even seem like your pages are loading more quickly.
When someone lands on your website, the first thing they’ll see is the above-the-fold content. This is everything displayed on the front page without needing to scroll.
By extracting critical CSS, you’re optimizing the CSS files needed to display this initial section. Without it, users may see partial elements that haven’t been fully rendered.
A common misconception is that critical CSS decreases your loading time. Although this isn’t true, the optimization technique can improve perceived performance.
Essentially, users will think your pages are loading faster because the browser can simply display above-the-fold elements more efficiently.
By generating WordPress critical CSS, visitors will have a better User Experience (UX) on your site. As a result, you can reduce bounce rates and encourage return visits.
2. Improve Core Web Vitals
Although WordPress critical CSS doesn’t increase or decrease page loading time, it can improve your Core Web Vitals. These metrics analyze a website’s user experience.
Here are the Core Web Vitals:
Largest Contentful Paint (LCP): A website’s loading performance
First Input Delay (FID): A website’s interactivity
After you scan your website for a Core Web Vitals report, you may see additional metrics like First Contentful Paint (FCP) or Time to First Byte (TTFB). These impact LCP and play an important role in the loading process.
Critical CSS directly impacts FCP. Put simply, FCP measures the time it takes to render the first element on a web page after it starts loading. If your site has a poor FCP score, visitors will often see a blank page for a while.
As a WordPress website owner, you should aim to get FCP under 1.8 seconds, but many elements can negatively impact this score, including:
Render-blocking JavaScript and CSS
A slow server
Bulky font files
Large Document Object Model (DOM) size
Since render-blocking CSS contributes to FCP, generating critical CSS can improve this score. During this process, you’ll inline all the CSS needed to render above-the-fold content.
How to test your website for render-blocking CSS
Before generating WordPress critical CSS, you’ll need to know whether it’s necessary for your website. Since large CSS files are considered render-blocking resources, you can scan for them with a speed optimization tool.
To get started, enter your website’s URL into PageSpeed Insights. This Google software will analyze your site’s performance with various speed audits.
At the top of the page, you’ll see your Core Web Vitals assessment. It includes metrics for Largest Contentful Paint, First Input Delay, Cumulative Layout Shift, First Contentful Paint, Interaction to Next Paint, and Time to First Byte.
As you learned earlier, render-blocking CSS is closely tied to the FCP score. Make sure both your mobile and desktop assessment results are 1.8 seconds or less.
If you receive a poor score, you may have bulky, unoptimized CSS files on your website. To verify if this is true, scroll down to Opportunities. This section provides specific suggestions to improve your website’s loading time.
Here, you may notice an alert telling you to Eliminate render-blocking resources. Although this message could refer to a JavaScript file, it might also signal that you need to generate critical CSS.
How to generate critical CSS in WordPress
Now that you understand more about WordPress critical CSS and why it’s important, it’s time to generate it! Regardless of your skill level, you can easily learn how to optimize CSS delivery in WordPress by following our beginner-friendly tutorial.
Method 1: Generate critical CSS with a plugin
Although you could generate it yourself, optimizing CSS delivery with a WordPress plugin is often easier. The right tool can automatically defer less important CSS. Plus, you won’t have to edit any code manually.
Jetpack Boost can quickly improve your site’s loading performance. After a simple setup process, you can use this plugin to generate critical CSS, defer non-essential JavaScript, and more.
To start using Jetpack Boost, install and activate it in WordPress. Then, you’ll receive a score based on your website’s current performance.
With the free plugin, you’ll see an option to Optimize CSS loading. Alternatively, you can upgrade to a paid subscription to generate critical CSS automatically. This will help avoid having to regenerate CSS every time you make a change.
To enable critical CSS, simply use the switch on the left-hand side. Similarly, you can defer non-essential JavaScript and turn on lazy loading for images. Combined, these settings can significantly reduce page loading time and allow visitors to see your content earlier.
Method 2: Manually generate critical CSS
If you don’t want to use a plugin, you can also manually generate critical CSS. It’s important to remember that this method involves editing your site’s code, so it can be a more complicated process for beginners.
Step 1: Back up your website
To get started, you’ll want to create a backup of your WordPress site. If you make a mistake in your site files, you can easily revert to this saved version. This way, you won’t lose any important data.
If you need to manage your backups easily, you can install the Jetpack VaultPress Backup plugin. This tool stores backups off-site and provides one-click restorations, even if your site is completely down.
Here’s how to get started:
Go to Plugins → Add new in your WordPress dashboard. Search for “Jetpack VaultPress Backup†and click Install now → Activate.
Then, you’ll see a new window that will allow you to set up the plugin. Click Set up Jetpack.
Then, connect your site to your WordPress.com account. Once you’re redirected back to your site, click Upgrade now to view several options for Jetpack VaultPress Backup plans.
At a minimum, you’ll need the Backup plan, but Security and Complete provide additional tools for protecting, growing, and speeding up your site.
Your first backup will start automatically, and you can check its progress by going to Jetpack → Backup in your WordPress dashboard.
If any mistakes happen during the next few steps, simply come back to this page and hit Restore to this point. This will revert your site to the older version, eliminating any errors that occurred.
Step 2: Use a critical CSS generator
Once you know that your website is backed up, you can start generating your critical CSS. One of the easiest ways to do this is with a critical CSS generator. This tool will automatically produce your critical CSS, preventing you from having to manually create code.
First, open the CoreWebVitals Critical CSS Generator. Enter the URL for your website or a specific page you want to optimize. Then, hit Generate critical CSS.
Once it’s finished loading, you’ll see the CSS code generated in the text box. Copy this code.
After you save this code, you can inline it on your website!
Step 3: Inline critical CSS
When someone visits your website, their browser will retrieve your site’s files from the server. It will first check the <head> section for necessary content during the parsing process. Then, it’ll continue rendering the <body> content.
To prioritize critical CSS, place it in your files’ <head> section. This is called inlining. When you inline CSS, the browser requests that this stylesheet is retrieved before rendering the rest of the page.
Essentially, inlining CSS will place the code where it needs to be used. So, a visitor’s browser won’t have to parse render-blocking files before displaying the target content.
Once you’ve copied the generated critical CSS, you can inline it in your files. Navigate to your public_html folder via FTP. Then, go to wp-content → themes → your active theme and open the header.php file.
In this header file, locate the <title> tag. Beneath it, add the critical CSS using <style> tags. Finally, select Update File.
Frequently asked questions (FAQs)
So far, we’ve discussed critical CSS and how to generate it. If you still have questions about inlining CSS on your website, we’ll answer them here!
Can generating critical CSS break your site’s appearance?
If done incorrectly, generating critical CSS could negatively impact your site’s appearance and layout. Fortunately, you can reverse any changes by simply restoring a saved backup of your WordPress site. Using Jetpack VaultPress Backup, you can view an activity log and restore old versions of your site with one click.
Plus, you can use a plugin like Jetpack Boost to turn critical CSS on and off whenever necessary. These simple settings were built according to WordPress best practices, so they’re less likely to affect your site on the front end.
What else can I do to optimize my CSS code?
If you want to further optimize CSS on your site, consider minifying it. You’ll remove unnecessary code during CSS minification to reduce the CSS file sizes.
Your CSS code likely has spaces and line breaks to make it easier to read. Since a browser can process code without these extra elements, you can delete them. This reduces the resources and time needed to run the files.
You can also remove unused CSS altogether. By reducing your files to only the necessary code, your website will start loading faster.
What else can I do to improve my page speed?
One of the best ways to speed up your site is by improving your Core Web Vitals. Using a tool like PageSpeed Insights, you can identify unoptimized elements like render-blocking resources.
Since browsers load your site’s code from top to bottom, the loading process can easily be interrupted by JavaScript. By deferring JavaScript parsing, visitors won’t have to wait for scripts to load before they see your content.
Additionally, consider implementing lazy loading for images. With this setting in Jetpack Boost, pictures below the fold won’t load until visitors scroll down. This can prevent your website from loading every image simultaneously, delaying the rendering process.
Lastly, a Content Delivery Network (CDN) can significantly speed up your website. Instead of relying on one server, a CDN uses a system of data centers worldwide. An option like Jetpack’s CDN can improve content delivery for images and static files.
Optimize CSS delivery in WordPress
If you’re trying to improve your website’s content delivery, it’s important to eliminate any render-blocking resources. Since unoptimized CSS can delay the rendering process, it’s worth generating critical CSS. Although doing this won’t directly improve loading time, it will enable visitors to see above-the-fold content much faster.
To review, here’s how to generate critical CSS in WordPress:
Generate critical CSS with a plugin like Jetpack Boost.
With Jetpack Boost, you can optimize CSS without editing any code. After downloading and activating the plugin, you’ll be able to generate critical CSS with just one click!
Did you know that you can view and restore your site from anywhere with the Jetpack mobile app?
The app is the perfect companion to Jetpack Security. With it, you can be reassured that your site is humming along nicely, even while you’re far away from your laptop. Real-time security alerts will empower you to restore your site right from the palm of your hand if ever needed.
What’s more, with the Jetpack app, you get access to a wide range of features, all designed to help you effectively manage your site while on the go:
Gain further peace of mind with security scanning and malware detection. An instant notification will be sent to your app if any action is ever needed from you.
Understand how your content is performing and know what’s resonating with your audience using Stats and Insights.
Auto-share new blog posts to Facebook, Twitter, LinkedIn, and Tumblr. Write once, post everywhere.
Reply to comments on the go, see when your traffic is booming, and keep engaged with your audience with Notifications.
Tweak, create, or publish your site’s content from anywhere in the world.
Discover new bloggers and catch up with your favorite sites using the Reader.
We’re constantly working on new ways to improve the Jetpack app and make it the best possible way to put your site in your pocket and make updates on the go. Inspiration can strike anywhere, after all!
What’s the difference between the WordPress and the Jetpack apps?
Your favorite Jetpack-powered features from the WordPress app – including Stats, Notifications, and the Reader – have a new home: the Jetpack app! These features will soon be removed from the WordPress app so that its focus will be on essential user and publishing tools. With the Jetpack app, you can expect the same attention to core features like managing and editing content, as well as next-level tools to grow your audience on a trusted platform.
Why are there two apps, and which should I use?
WordPress comes in more than one flavor and serves a diverse range of site administration needs. After listening to a lot of feedback around varying expectations, we settled on creating two options for you to WordPress on the go:
The WordPress app will focus on WordPress’ core functionality. If you’re looking for the essential tools you need to publish on the go, with support for offline editing and the ability to upload media straight from your phone’s camera roll, then this may be the app for you.
The Jetpack app is the premium mobile publishing experience for our super-connected world. With it, you’ll get all the essential tools that come with the WordPress app, plus a suite of features for growing your site. Track the performance of your content with Stats, get notified about comments and reactions with Notifications, and discover content and join communities with the Reader. Whether you’re new to publishing on the Internet or a seasoned veteran, have a WordPress site already or want to start a new one — download the Jetpack app today for a great set of tools to start or grow!
Either app is available for you to use. Once you’ve decided which app is best for you, please delete the other. Managing your site across both apps is currently unsupported and may lead to issues like data conflicts.
We’re excited to offer different apps to suit different needs and will be sharing further details over the coming weeks. In the meantime, we want to hear from you! Please feel welcome to comment on this post with any questions or feedback you may have.
Your WordPress website is the product of countless hours of hard work, so it’s important to keep it secure. One essential part of your security setup should be a robust and reliable malware scanner. An effective WordPress malware plugin will help you quickly identify any malicious software that makes its way onto your WordPress website, and provide guidance on removing it.
But, with lots of different WordPress malware scanner plugins available, it may be a challenge to determine which one is right for you. To help, we’ve reviewed six of the most popular options and set out some key things to consider when deciding on the best WordPress malware scanner for your website.
A review of the best malware removal plugins for WordPress
Jetpack Protect is an impressive, free WordPress malware scanning plugin that helps you keep your site secure and clean. It enables you to stay one step ahead of security threats by automatically scanning your site against over 37,000 types of malware — and you can activate its powerful protection with just one click!
New malware is constantly being developed, but WordPress security experts update Jetpack Protect’s malware database as soon as new information becomes available — defending against the latest attacks and vulnerabilities. Jetpack Protect also alerts you to any security vulnerabilities within your plugins or themes, so you can take steps to secure your site.
The plugin will notify you if it finds any malware or other security vulnerabilities within your website, and its powerful technology can scan your entire site, including plugins and themes. If it detects an issue, it will provide straightforward guidance to help you secure your site and remove any malware. Jetpack Protect uses clever decentralized scanning technology, which enables it to scan your site using Jetpack’s servers. This means that its daily scans can detect even the most complex malware without slowing down your site.
Jetpack Protect is made by Automattic, the team behind WordPress.com, so it seamlessly integrates with your WordPress site. Automattic is also behind WPScan, allowing Jetpack Protect to scan against the same malware database used by some of the world’s leading brands, making Jetpack Protect one of the best WordPress malware plugins available.
Key features of Jetpack Protect:
Powerful malware scanning against over 37,000 malware types
Automatic scans of your plugins and themes for known vulnerabilities
A simple one-click setup
Daily scans that help keep your site secure
Regular updates to the malware database by a team of dedicated WordPress security experts
Recommended actions if a security issue or malware is identified
Pros of Jetpack Protect:
As the daily malware scans use Jetpack’s servers, Jetpack Protect can scan your site without slowing it down.
You can start protecting your site with just one click. It will automatically scan your site daily and notify you of any issues through your dashboard.
Jetpack Protect uses the same malware database as WPScan, which is constantly updated by experienced WordPress security experts as soon as new malware or security issues are discovered.
Cons of Jetpack Protect:
While the plugin offers advice on how to resolve any security issues, it doesn’t provide automatic malware removal. However, one-click fixes for most types of known malware, alongside real-time email alerts, are available through an upgrade to Jetpack Scan. You can switch within the plugin for only $9 a month.
Ease of use:
It only takes one click to activate Jetpack Protect’s advanced malware scanning. The plugin then protects your site automatically in the background, meaning you don’t have to remember to run scans. There’s detailed documentation available, and if you need support, you can access Jetpack’s team of WordPress Happiness Engineers.
Sucuri is a popular name in website security, and they offer a free WordPress plugin alongside premium services, such as a web application firewall and malware removal. Sucuri’s plugin scans your WordPress site and looks for any changes in the WordPress core files, and it also gives you access to Sucuri’s SiteCheck remote malware scanner.
Key features of Sucuri:
File integrity scanning
Security event logs
Remote malware scanning
Email notifications of any issues
Blocklist monitoring
A web application firewall (premium)
Pros of Sucuri:
Sucuri provides an activity log of key events on your site, which you can use to help identify the cause of a hack or malware infection.
Sucuri’s premium plans include unlimited malware removal by a security expert.
Cons of Sucuri:
Sucuri may not be able to spot all malware on your site. This is because the plugin’s malware scanners run remotely, so it can only check for malware in the source code of the public-facing pages on your site. Sucuri says that their WordPress malware scanner isn’t 100% accurate, as malware could be inserted into plugin files or other admin areas and, therefore, wouldn’t show up on your site’s front end.
In the free version of the plugin, Sucuri only provides general advice for securing your site after a malware infection. It encourages you to subscribe to its premium services to remove malware.
Sucuri provides security services that can be used on any website, which means its malware scans are not tailored to WordPress.
Sucuri has features that can block Jetpack’s connection to your site. If you use this plugin, be sure to allow our IP addresses access to your site’s xmlrpc.php file.
Ease of use:
Sucuri is easy to install and allows you to schedule website scans. Sucuri offers support for the plugin through the plugin’s support forum.
MalCare is a WordPress malware scanning and removal plugin developed by a team of WordPress security experts. The plugin includes automatic malware scanning and a web application firewall to help prevent hackers from accessing your site. The premium version of the plugin offers automatic malware removal.
Key features of MalCare:
A malware scanner, which automatically scans your site daily
A WordPress firewall
Vulnerability detection
Automated malware cleaning (premium)
Pros of MalCare:
MalCare scans your entire site for malware daily.
MalCare temporarily and securely copies your files to its servers to conduct the malware scan, meaning that scans won’t slow down your site.
MalCare will alert you by email if a plugin you’ve installed has a known security vulnerability, so you can take action to secure your site.
Cons of MalCare:
The free version of the plugin only tells you if your site is infected with malware, not where it is. You must upgrade to a premium plan to locate and remove the malware.
Malcare can also block Jetpack from making requests to your site’s xmlrpc.php file, which is necessary for Jetpack’s connection to work. Make sure you allow our IP addresses to keep the connection working properly.
Ease of use:
MalCare is easy to install and configure, and its automatic scans mean you don’t need to remember to scan your site. MalCare offers support for all users via email, alongside live chat support for premium users.
Wordfence is a popular WordPress security plugin that includes a malware scanner and a web application firewall that identifies and blocks malicious traffic. The plugin’s WordPress malware scanner automatically scans your whole site, including code injections, malicious redirects and backdoors. The plugin will also check the integrity of your core files, themes, and plugins against the official versions from the WordPress.org repository, then report any changes to you.
If Wordfence detects malware, it can help you replace any damaged core WordPress files with the official version and delete any files that have been added. Full malware removal is included at some of the higher, premium subscription levels.
Key features of Wordfence:
An automated malware scanner
Basic repair and deletion settings for removing simple malware
A web application firewall, which helps prevent brute force attacks
Two-factor authentication and login protection
Access logs and real-time traffic monitoring
Manual malware removal by a WordPress expert (premium)
Pros of Wordfence:
Wordfence automatically scans your site and sends you daily emails if it notices any issues.
Alongside malware scanning, Wordfence includes additional features to help keep your WordPress site secure, including a firewall, access logs, and two-factor authentication.
Cons of Wordfence:
The free version of Wordfence only provides malware database updates every 30 days. Unfortunately, this means that the newest malware might not be detected.
Wordfence conducts its scans on your server, meaning it can have an effect on your site’s performance.
The malware removal tools in the free version are limited to deleting and replacing files, which isn’t sufficient to remove more complex malware infections.
Wordfence also has features to block access to the xmlrpc.php file. Wordfence uses CIDR notation to allow IP addresses access. You can learn more about how to allow those in our support article.
Ease of use:
Wordfence requires configuration to ensure that it fully protects your site. The daily alert emails sent by Wordfence sometimes flag legitimate changes as a concern, which can cause confusion for those unfamiliar with WordPress. Wordfence has comprehensive documentation and a learning center. Free users can access support through the plugin’s support forum while premium subscribers also have access to support via email.
Pricing:
Wordfence offers a free plugin that includes malware scanning and a firewall. Wordfence Premium costs $99 a year and includes daily malware database updates. Wordfence Care costs $499 a year, which includes installation and optimization of the plugin as well malware removal by a WordPress security expert.
SecuPress is a WordPress security plugin that helps you analyze the security of your site. The plugin will give you a security grade and a list of recommended changes to help make your site safer, many of which it can take care of for you. In addition, the plugin’s premium version offers automatic malware scanning with daily malware database updates.
Key features of SecuPress:
Security audits that identify and automatically fix common security issues
Brute force login protection
A web application firewall
Login protection
Protection for your website security keys
Malware scanning (premium)
Pros of SecuPress:
It scans 35 different elements that could negatively impact the security of your site, and enables you to fix them in one click.
SecuPress offers a wide range of security features in addition to malware scanning.
Cons of SecuPress:
Malware scanning is not available in the free version, which is restricted to scanning for security vulnerabilities only.
Automatic security scanning is not available in the free version of the plugin, meaning you must remember to run a scan.
Free security scans are limited to one per week.
SecuPress also blocks the xmlrpc.php file. Be sure to make sure Jetpack’s IP addresses are still allowed to access it, so that the Jetpack connection keeps working.
Ease of use:
The plugin is easy to install and set up. However, the security scan must be manually run in the free version of the plugin. Comprehensive documentation is provided, alongside email support for the premium plugin.
Pricing:
A limited, free version of the plugin is available, but to enable malware scanning, you need to use SecuPress Premium, which starts at $69.99 a year.
Titan Anti-Spam and Security is a security and malware scanner for WordPress that was created by a team of developers called Creativemotion. The plugin combines malware scanning with anti-spam protection. The free version includes automated malware checking against 1,000 kinds of malware and other security features, including file integrity scanning and brute force login protection.
Key features of Titan Anti-Spam and Security:
Malware scanning against 1,000 types of malware for free users
Malware scanning against 6,000 types of malware for premium users
File integrity scanning
Anti-spam tools
Brute force login prevention
Additional security features, including a full firewall and advanced anti-spam tools (premium)
Pros of Titan Anti-Spam and Security:
Titan Anti-Spam and Security combines anti-spam with basic malware scanning.
Cons of Titan Anti-spam and Security:
The free version of the plugin can’t detect all malware, as it only checks your site against a small library of 1,000 types of malware.
The plugin runs its scans on your servers, so your site may slow down when a scan is running.
The premium version unlocks malware scanning against 6,000 types of malware, which is still considerably less than some of the other plugins in this list, such as Jetpack Protect.
This tool conflicts with major plugins like Jetpack, which can hamper your ability to maximize site performance in other areas.
Ease of use:
Several steps are required to set up this plugin, and it includes an intuitive wizard that helps you configure the plugin, so it works well on your site. The developer offers a support forum for all users, and email support for premium subscribers.
Pricing:
The free version includes limited malware scanning against just 1,000 types of malware. Premium subscriptions start at $55 a year and unlock additional features, including malware scanning against 6,000 types of malware.
A comparison of the top malware removal plugins on WordPress
Jetpack Protect
Sucuri
MalCare
Wordfence
SecuPress
Titan Anti-spam and Security
Made specifically for WordPress
Yes
No
Yes
Yes
Yes
Yes
Number of malware definitions your site is checked against.
Over 37,000
Not stated
Not stated
Over 44,000
Not stated
1,000 in free version. 6,000 in premium version.
Automated scans
Yes
Yes — site integrity only
Yes
Yes
No
Yes
Scans full site including admin files
Yes
No — scans public facing files only
Yes
Yes
Yes
Yes
Can scans impact website performance?
No
No
No
Yes
Yes
Yes
Frequency of malware definition updates
Daily
Daily
Daily
Every 30 days (free version) Daily (pro version)
Not stated
Not stated
Malware removal
No (Jetpack Scan can remove malware for only $8 a month)
Only in premium version.
Only in premium version.
Basic removal through deletion and re-instating files only.
Additional charge of $99 per removal on all plans.
No
Any limitations in the free version?
No — free version is fully featured.
Yes. Only general advice on removing malware is provided.
Yes. Information is not provided on where any malware found is located.
Yes. Malware definitions only updated every 30 days.
Yes. Malware scanning only available on premium plans.
Yes. Your site is only checked against a limited number of definitions.
Price
Free with no limitations.
Limited free version. Premium plans start at $199/year.
Limited free version. Premium plans start at $69/year.
Limited free version. Premium plans start at $99/year.
Malware scanning is available on premium plans that start at $69.99/year.
Limited free version. Premium plans start at $55/year.
What’s the best WordPress malware removal plugin?
The best WordPress malware removal plugin will depend on several factors, including your experience with WordPress and if you need other security features in addition to malware scanning.
But it’s clear from the comparison table above that Jetpack Protect is the best malware removal plugin for WordPress. Jetpack Protect is free and offers advanced malware scanning that doesn’t slow down your site. It’s simple to set up and works automatically to scan your website for malware against a comprehensive database that’s constantly updated by Automattic’s WordPress security experts.
And since it’s made by the people behind WordPress.com, it seamlessly integrates into your site. Jetpack Protect also works perfectly alongside the security features included in the Jetpack plugin and Jetpack’s other security packages, including Jetpack Security and Jetpack Scan.
Factors to consider when choosing the best malware removal plugin
How much does it cost?
It’s important to consider how much a WordPress malware plugin costs and if it provides enough value for its price. Some free malware plugins, including Jetpack Protect, offer robust malware protection at no cost. Jetpack Protect checks for malware against an extensive database that’s larger than many of those used by some paid plugins.
Was it built for WordPress, specifically?
Some WordPress malware scanning plugins, such as Sucuri, use malware scanning technology that works on all websites, which means it hasn’t been developed specifically with the needs of WordPress in mind.
However, Jetpack Protect is an excellent malware scanning plugin built by Automattic — the team behind WordPress.com and WooCommerce. This means Jetpack Protect was built specifically for WordPress and that its malware database is updated by WordPress security experts as soon as new information becomes available.
Does it provide any additional security features?
It’s important to consider if the WordPress malware plugin includes any additional security features, such as a firewall or anti-spam protection. And if it does, how robust are the features? You may find that using a dedicated malware scanner, such as Jetpack Protect, provides the highest level of malware protection for free, and works seamlessly with other security tools, including Akismet Anti-Spam, Jetpack, and Jetpack Security.
Is it easy to use?
You should consider how easy the WordPress malware scanning plugin is to use. Some plugins, such as Jetpack Protect, are designed to be simple to use and can be set up with just one click. Then, it automatically scans your site for malware each day.
You should also think about how easy it is to interpret the malware scan results. For example, some plugins will only tell you that you have malware, not where it is or how to remove it. But others, including Jetpack Protect, will give you recommended fixes to banish the malware from your site.
Can it scan your entire WordPress site?
Some WordPress malware scanners can only check the public-facing pages of your website for malware. This means that they cannot check your entire site for malware.
Site-level malware scanners, such as Jetpack Protect, offer greater protection as they can scan your entire WordPress installation, including plugins, themes, and media files. But, if this detailed scanning happens on your server, it can temporarily slow down your website, so it’s important to check where the scan takes place.
Some WordPress malware plugins like Jetpack Protect can offer site-level scanning without impacting performance by using external servers to conduct the scan.
How robust is its malware database?
A malware scanner is only as good as its malware database. Some plugins use a relatively small database or only update it every 30 days, which means they may not be able to identify the latest malware. Other plugins have a much more extensive database, which is updated daily.
Jetpack Protect utilizes the same database as the industry-leading WPScan, which is trusted by some of the globe’s largest brands to keep their site secure. Its database is updated by a dedicated team of WordPress security experts as soon as new malware or vulnerabilities are discovered. This means that Jetpack Protect can detect the newest malware and give you clear recommendations on how to deal with any infections.
Frequently asked questions about WordPress malware removal
What is malware on WordPress?
Malware is short for “malicious software” and it’s a general term for harmful software. Once malware is installed on your WordPress site, hackers can use it to damage it, take it offline, steal data, or gain access without consent.
It’s essential to ensure you regularly scan your site for malware using a free WordPress malware scanner plugin like Jetpack Protect.
How do I know if I have malware on my WordPress site?
If your site becomes infected with malware, you’ll often notice that it starts behaving strangely. Some signs of malware infection include:
A decrease in speed or performance
A security warning when visitors try to access your site
Changes to your site content or new, malicious links
What makes a good WordPress malware removal plugin?
A good malware removal plugin should be easy to use and scan for malware daily without you having to do anything. It should have an extensive malware database that’s updated as soon as a new piece of malware or security vulnerability is discovered. The plugin should also scan your site in a way that doesn’t impact your speed, and be able to scan the entirety of your site, including themes, plugins, and media files.
A good WordPress malware removal plugin should then give you clear information about the location of any malware it finds, along with easy-to-follow guidance about how to remove it. Jetpack Protect is one of the best malware plugins for WordPress as it offers all of these features for free.
How much does a malware scanning plugin cost on WordPress?
WordPress malware scanners can be either paid or free, but the top plugin in our review, Jetpack Protect, is free. It was developed by Automattic, the team behind WordPress.com, and is perfect for WordPress site owners who want to have the most robust and reliable malware protection available, including automatic scanning and recommended fixes.
Is it easy to set up a malware scanning plugin on WordPress?
This depends on the plugin. Some require you to make several changes to your website and to manually interpret scan results. But the top plugin in our review, Jetpack Protect, can be set up in just one click and doesn’t need any complicated configurations. Jetpack Protect also clearly tells you if it’s found malware and gives you recommended fixes, so you can get your site back to normal.
Building a strong following of readers and customers is hard work. And getting eyes on your content can feel like rubbing two sticks together.
You know there are people out there who are interested in what you’re building — but how to find them? That’s why we’ve created Blaze. Advertise your posts and pages across millions of sites in the WordPress.com and Tumblr ad network. All it takes is a few clicks and $5 per day.
Blaze has incredible reach: more than 13.5 billion impressions per month from millions of active daily visitors is the spark you need to get noticed. It’s like lighter fluid for your best content.
More than 13.5 billion impressions per month from millions of active daily visitors in your neighborhood and across the world
How Blaze works
Once you have Jetpack installed, then head to wordpress.com/advertising and select your website — you’ll see a list of recent posts and pages you can promote.
Alternatively, when viewing the post or page list in your WordPress.com dashboard, click the ellipses (three dots) next to any individual post or page to bring up a new menu, then click “Promote with Blaze.”
If you’re having trouble, make sure your language is set to English and Jetpack’s JSON API module is enabled. This module is enabled by default, but if you’ve manually disabled it, you can refer to these instructions to activate it.
Now you’ll be in the Blaze Campaign Wizard.
Design your ad. Our wizard automatically formats your content into a beautiful ad, but you can adjust it however you like.
Select your audience. Show off your ad to people in certain areas, or people who are reading about topics like movies or sports. You’ll see an estimate of how many people you’ll reach.
Set your dates and budget. Run an ad for 6 months or just a few days — it’s up to you.
Publish your ad. Get some of the lowest ad prices while protecting your brand with a system backed by Verity and Grapeshot. Rest easy that your ads will only show up where you’d like them to.
See your reach. Once your ad is running, you can check how it’s doing in the “Campaigns” tab of the advertising page where you started your campaign. Quickly see how many impressions and clicks you got from your new fans.
Our campaigns are billed weekly based on how many times your ad is shown, so you’ll only ever pay for what you signed up for.
Currently, Blaze is only available in English. We’re working on rolling it out for additional languages. As always, you can find even more details about this tool on our support page.
With Jetpack 11.7, we’ve made further enhancements to the Form block, along with several other improvements and bug fixes for a better Jetpack experience.
Send your leads directly to Salesforce
If you’re a Salesforce user, you can now send form submissions directly to Salesforce by choosing the “Salesforce Lead†form in the variation picker.
Export your form responses to Googe Sheets
As well as enhancements to the Form block, there is now an option to export your form responses to Google Sheets.
To export your form responses to Google Sheets:
In WP-Admin, click on “Feedbackâ€
On the Feedback page, you should see a single “Export” button. Click it to open the Export modal.
From the Export modal, choose “Export†under Google Sheets. (If you haven’t connected Google Sheets already, you will be prompted to do so)
Also included in this release
In the Subscription Block’s settings, you can now choose to include your social followers in the count toward your subscriber total.
This release also includes other minor bug fixes and improvements — check the changelog for more.
A big thank you to everyone who contributed to this release:
Adnan Haque, Adrian Moldovan, Artur Piszek, Biser Perchinkov, Bogdan Ungureanu, Brad Jorsch, Brandon Kraft, Chris Jean, Christian Gastrell, Corey McKrill, Damián Suárez, Dan Roundhill, Daniel Post, Dean Sas, Derek Smart, Douglas Henri, Dylan Munson, Eru Penkman, Gabriel Demichelis, Gergely Márk Juhász, Grant Kinney, Igor Zinovyev, Ivan Ottinger, James Kenneth Guidaven, Jason Moon, Jasper Kang, Jeremy Herve, John Webb, Karen Attfield, Kev, Konstantin Obenland, Kuba Birecki, Luiz Kowalski, Maciej Grabowski, Mat Clayton, Matt Wiebe, Miguel Xavier Penha Neto, Mikael Korpela, Nate Weller, Nauris Pūķis, Osk, Paul Bunkham, Peter Petrov, Renato Augusto Gama dos Santos, Robert Sreberski, Samiff, Sergey Mitroshin, Siobhan Bamber, Steve D, Tim Broddin, Vedanshu Jain, Yaroslav Kukharuk, bindlegirl, dkmyta, dlind1, jboland88, jcheringer, nunyvega, thingalon, valterlorran
If you want to grow your site or business, the ability to review analytics and stats is pretty important. With the right tools, you can learn how many people visit your site, what pages are most popular, where traffic comes from, and other metrics that can help you optimize site performance and create more targeted content for your audience.
WordPress connects with multiple plugins and tools that generate statistics about your website. However, services like Google Analytics are complicated and provide extra data that you don’t always need.
Jetpack Stats, on the other hand, generates simple data, graphs, and charts about visitors and traffic, making it the go-to plugin to help you understand the basics.
Does WordPress have a built-in analytics dashboard?
Two out of every five sites on the internet use WordPress, making it the most popular website creation platform. But the tool doesn’t come with any in-built analytics and stats, meaning you can’t automatically view data about visitors and traffic.
One way to analyze information about your WordPress website is to use Google Analytics, which is free. But this service is complicated for small business owners and other people who have just created their first site. That’s because the tool has advanced features like custom dimensions and event tracking. These provide little value to those who just want to understand essential aspects of how their site is performing.
Installing and downloading Google Analytics for WordPress is also complicated. Most people use a third-party plugin or manually add JavaScript code to their site. Jetpack solves these problems by seamlessly connecting Google Analytics with WordPress (more on that later.)
What is the easiest and fastest way to view WordPress analytics and stats?
Using Jetpack Stats is a simple and quick way to view information about your WordPress website. Unlike Google Analytics, you won’t need to use something outside the WordPress ecosystem for this service. You download and install this tool just like any other plugin. All you need is a free account on WordPress.com and the latest version of WordPress. It’s that simple!
Automattic, the company behind WordPress.com, created Jetpack Stats. This feature lets you track the number of people who visit your website and what posts and pages generate the most traffic. You can also view other valuable insights about your site without trying to decipher complicated charts and graphs.
Another great thing about Jetpack Stats is its flexibility. As well as viewing simple analytics and stats about your site, with a paid upgrade to Jetpack Security or Jetpack Complete, you can connect Google Analytics to WordPress for more advanced metrics. So, when you’re ready to take things a step further, there’s nothing else you need to install.
Once you download and install the Jetpack plugin, you can start analyzing information about your WordPress site on your desktop computer or mobile device.
Why do you need to learn how to view WordPress site analytics?
There are various reasons you need to use an analytics service like Jetpack Stats. As a site owner, you can learn what content is most popular with visitors. Then you can use this information to plan future content or make informed decisions about your endeavor. If you’re a hobbyist, it’s always fun to know how many people are reading your website and where those individuals come from. If you run a business, understanding real-world stats can guide you towards growth and profitability.
Here are some of the things you will discover about your website when you use a service like Jetpack Stats:
How many visitors view a particular page or post over time
How long someone watches a video on your website
How many likes and comments your website receives
The search terms people use to find your WordPress site
How many digital files individuals download from your pages
What countries and regions visitors come from
How many times readers click on external links in your content
Which websites, blogs, and search engines link to your posts
Jetpack Stats lets you better understand your website visitors. You can also make statistics reports available to other WordPress users.
How to add site analytics to your WordPress dashboard
The easiest way to add analytics and statistics to your WordPress dashboard is with the Jetpack plugin, which gives you access to Jetpack Stats. You can download and install it with a few clicks. Before you do, make sure that:
You’ve downloaded the latest version of WordPress.
You’ve signed up for a WordPress.com account.
Your WordPress site is publicly accessible. That means visitors don’t need to enter a password to use your website.
A step-by-step guide to adding site analytics for WordPress
Follow these steps to learn how to view WordPress site analytics with the Jetpack plugin:
1. Install the Jetpack plugin
Install the Jetpack plugin from the WordPress admin dashboard (WP Admin). This is where you create and manage content on your website and choose different themes, so you should already be familiar with it.
Once you’ve logged in to WP Admin, follow these simple steps:
Click on Plugins, then click Add New.
Search for “Jetpack” in the search bar. The latest version of Jetpack will pop up.
Click on Install Now.
Depending on your internet connection, the Jetpack plugin will take a few seconds to install.
2. Activate Jetpack
After downloading Jetpack, follow these steps:
Click on Activate.
Wait for Jetpack to activate.
Click on Set up Jetpack.
3. Connect your website to WordPress.com
Jetpack will now prompt you to connect your website to WordPress.com. You need to carry out this step to use Jetpack’s incredible features.
By connecting your site with WordPress.com through Jetpack, you’ll benefit from enhanced website security and performance. That’s because Jetpack syncs your site with the WordPress.com cloud.
Click on Approve to connect your website with WordPress.com.
Wait for Jetpack to finish setting up.
You can always check your website has connected to WordPress.com by heading to Jetpack → Dashboard → Connections.
4. Choose a Jetpack plan
Jetpack has different plans depending on your specific needs. Jetpack Stats is included by default for free, and you can access its benefits as soon as you have the plugin installed. However, if you want to use Jetpack to connect to Google Analytics, you’ll need a paid plan. Paid plans also come with additional security, performance, and growth tools that you may want to take advantage of. If you’re interested in one of these, follow the instructions below. Otherwise, skip to Step 6.
Now, you’ll need to enter the WP-Admin credentials for your WordPress website. Jetpack doesn’t store this information and only uses it to install its plugin on your site securely.
Remember to add the WP-Admin credentials for the user account you want to connect to Jetpack, not the details of any other accounts you might have.
Complete the checkout process by entering your payment information.
5. Enable recommended features
After choosing and paying for a plan, Jetpack will prompt you to enable recommended features that will benefit you. You can select the ones you like or manage them later.
6. Complete the installation process
At this point, you should have successfully installed Jetpack.
Click Return to WP Admin to head to your website’s dashboard.
Turn on Jetpack Stats by going to Jetpack, clicking on Settings, and then clicking on the Traffic tab. Scroll down this page and then click on Activate Site Stats.
7. View stats in your dashboard
Navigate to your WordPress Dashboard, then go to Jetpack → Dashboard.
Here, you’ll see an in-depth view of how much traffic your website receives.
For even more stats, click on the View detailed stats button on the traffic screen.
Here, you’ll see information about referrers, clicks, subscriptions, top posts and pages, and search engine terms.
Click on the View more stats on WordPress.com button on the traffic screen.
This will take you to more information like unique views and views by country.
Now you know how to view WordPress site analytics!
Check out this troubleshooting guide if you have trouble installing or connecting the Jetpack plugin or using Jetpack with WordPress.
Final word about how to view WordPress site analytics
WordPress doesn’t come with built-in statistics, so you’ll need to find your own preferred tool to generate insights about page views, visitors, and traffic sources. Follow the steps above to learn how to view WordPress site analytics with the Jetpack plugin — the easiest and fastest way to analyze information about your site.
Frequently asked questions
What is the best analytics plugin for WordPress?
Jetpack Stats is the easiest and quickest analytics plugin to use for WordPress. You install it in a few simple steps and can start viewing incredible insights about your website right away. Google Analytics is another popular service, but it’s challenging to navigate for beginners. Learning how to view WordPress site analytics is easy with Jetpack Stats.
Is Jetpack Stats free to use?
Jetpack Stats comes in a free version that provides essential website statistics. However, Jetpack has additional premium tools that can help you improve performance, secure your site, and grow your stats.
Do I need Google Analytics to use Jetpack Stats?
No, Google Analytics is a separate service from Jetpack Stats. However, you can use the Jetpack plugin (with a paid plan) to quickly connect Google Analytics to your WordPress dashboard if you need more advanced data.Â
Can I access Jetpack Stats on my mobile device?
Yes! The Jetpack mobile app lets you view analytics about your WordPress website on your smartphone or mobile device. You can also create, design, and manage your site and receive notifications about visitors, subscribers, and comments. You can download this app from Google Play and the App Store.
How do I turn Jetpack Stats on?
After downloading and installing the Jetpack plugin, you can turn Jetpack Stats on by going to Jetpack, clicking on Settings, and then clicking on the Traffic tab. Scroll down this page and then click on Activate Site Stats. For more information, check out our Jetpack Stats documentation.
How can I view WooCommerce analytics?
Jetpack Stats does include information specifically for WooCommerce stores, like order data and trends. If you want more advanced, ecommerce-specific data, you can use the built-in analytics tools included with WooCommerce.
To access these, go to Analytics in your WordPress dashboard. There, you’ll find reports that cover things like revenue, orders, coupons, taxes, and more.
Video is one of the most valuable assets in a website owner’s toolkit. Adding videos to your site can help build visitor confidence, improve conversion rates, and make your site more attractive to search engines.
In this article, you’ll learn how to add videos to your WordPress site by embedding them from offsite sources like YouTube, Vimeo, TikTok, Instagram, and Facebook, and by uploading them directly to your site using WordPress blocks.
Let’s start by looking at some key reasons why you should include video on your site.
What are the advantages of including videos on my site?
Successful websites are optimized for both human and nonhuman (search bot) visitors. The goal is for your site to serve both audiences, via well-organized, accessible, and helpful content. Video can be useful here in many ways.
How videos can help your visitors
Humans use information to make decisions, like “Should I buy this product?†and “Is this a good organization for me to support?†So giving them the information that they need to feel comfortable moving ahead with a purchase or sign-up leads to increased conversions.
A video showing your offer or mission in action lets people better imagine the potential impact to their own life. “Meet the Owners†and “Meet the Team†videos build a human connection with the people behind your brand. How-to and educational videos position you as a trustworthy expert and authority within your category.
Videos, when paired with written content, also give site owners the chance to appeal to a variety of learning styles and cognitive needs. With more options to digest your content, you’ll make an impact on a wider audience and expand your reach.
How videos can help your search results
Adding video content can open up a new avenue for people to find your site. It gives your content another chance to attract visitors via video search results. And if you host your video on a platform like YouTube, you may also attract attention to your videos from YouTube’s existing audience.
Beyond attracting eyes to the videos themselves, search engines may be more likely to rank your existing pages when you add video content. Videos tend to improve the amount of time visitors spend on a page — a signal to Google that people are enjoying the content they found. And if Google believes visitors are having a valuable experience, they’ll be more likely to move the page higher up the rankings.
You can easily embed videos from a wide variety of sources on your WordPress site. Let’s see how.
Embed a YouTube video by pasting a URL
If you paste your YouTube video URL into a paragraph block on its own line, WordPress automatically creates a YouTube Video block, which you can then customize using the Block Toolbar.
Copy the URL for your video from the address bar on the YouTube page, or click the Share button for the video and copy the link from the popup window. Use the Start at checkbox to choose a custom starting point if you’d like. This option will update the link, so make sure you copy the URL AFTER setting the start time.
Embed a YouTube video using the YouTube block
Click the + icon or type /y to launch the block search window with YouTube as the first option. Choose the YouTube block, enter the video URL, and click Embed.
Or, if you paste a YouTube link into a Video block, WordPress will automatically convert it into a YouTube block.
This is the quickest way to embed a Facebook video in WordPress. If you paste your Facebook video URL into a paragraph block on its own line, WordPress automatically creates an Embed block, which you can customize using the Block Toolbar.
Get the URL for the video by clicking on the timestamp for the post on Facebook. It’s located next to the Post Visibility icon, which shows you whether the video is public — you’ll see the globe icon — and available for sharing. The post and the person or page’s timeline must be set to public for the embed to work.
You will then be on the video page with a direct URL like this one.
Embed a Facebook video using the Facebook block
Click the + icon or type /fa to launch the block search window with Facebook as the first option. Choose the Facebook block type, enter the URL, and click Embed.
Embed a Facebook Live video
Click on the video’s Share link in Facebook, then choose Embed.
Among the customization options is a checkbox to include the full post and a field to select a specific start time. Make those choices before clicking the Copy Code button, as your selections will update the code.
Click the Advanced settings link to customize your video player using the Embedded Video Player Configurator. You can use this tool for both Facebook videos and Facebook Live videos.
Paste in your Facebook Live video URL, choose your configuration options, click Get Code, and copy the HTML snippet. Use the iFrame code for easier implementation, as the JavaScript SDK method requires you to add custom code to your WordPress theme files.
For additional customization of items, including autoplay, lazy load, and captions, you can manually customize the embed code using the settings described on the Meta for Developers page for the Embedded Video & Live Video Player.
Once you’ve copied the iFrame code, paste it into a Custom HTML block. Click the Preview link to see the embedded video before publishing the page.
Embed an Instagram video by pasting a URL
This is the quickest way to embed an Instagram video in WordPress. If you paste your Instagram video/reel URL into a paragraph block on its own line, WordPress automatically creates an Embed block, which you can customize using the Block toolbar.
In Instagram, copy the URL for your video by clicking the three-dot menu icon on the top right of the window and choosing Copy link. The link will automatically be copied to your clipboard.
Embed an Instagram video using the Instagram block
Click the + icon or type /ins to launch the block search window with Instagram as the first option. Choose the Instagram block type, enter the video URL, and click Embed.
Embed an Instagram video with Instagram’s embed code
In Instagram, click the three-dot menu icon on the top right of the window and choose Embed. A window will open with the embed code and a button for “Copy Embed Code.†A checkbox will give you the option to “Include caption.†If you use that option, make sure to check it before copying, as your selection will update the code.
Once you’ve copied the Instagram embed code, paste it into a Custom HTML block. Click the Preview link to see the embedded video before publishing the page.
Embed a TikTok video by pasting a URL
This is the quickest way to embed a TikTok video in WordPress. If you paste your TikTok video URL into a paragraph block on its own line, WordPress automatically creates a TikTok block, which you can customize using the Block toolbar.
To get the TikTok video URL, go to the TikTokpage for the video and click Copy Link.
Embed a TikTok video using the TikTok block
Click the + icon, or type /tik to launch the Block Library search window with TikTok as the first option. Choose the TikTok block type, enter the URL, and click Embed.
Embed a Vimeo video by pasting a URL
This is the quickest way to embed a Vimeo video in WordPress. If you paste your Vimeo video URL into a paragraph block on its own line, WordPress automatically creates a Vimeo block, which you can customize using the Block toolbar.
Copy the URL for your video from the address bar on the Vimeo page, or click the Share icon on the page and copy the link from the popup window. Use the Start video at checkbox to choose a custom starting point for the video. This option will update the link, so make sure to copy it after setting the start time.
Embed a Vimeo video using the Vimeo block
Click the + icon, or type /vim to launch the block search window with Vimeo as the first option. Choose the Vimeo block type, enter the video URL, and click Embed.
If you paste a Vimeo link into a Video block, WordPress will automatically convert it into a Vimeo block.
The best video hosting and embedding solution for WordPress
Jetpack VideoPress is video hosting built for WordPress. With Jetpack VideoPress, when you add a video to a page or post, it’s automatically uploaded to the WordPress.com cloud and is manageable via the Media Library. The video is converted to streaming video and hosted on WordPress.com servers, leveraging a global content delivery network (CDN) for a fast user experience.
Jetpack VideoPress is responsive and has advanced customization options to match your site’s branding (it can even adapt automatically to match the color scheme of video content). Plus, it offers an ad-free experience for viewers, picture-in-picture video capabilities, and more.
Embed a Jetpack VideoPress video by dragging and dropping
Once you’ve either installed Jetpack and purchased a plan that includes Jetpack VideoPress, or installed the dedicated Jetpack VideoPress plugin, you can simply drag a video file from your desktop into a Paragraph block. Then, WordPress will automatically create a VideoPress block, which you can customize using the Block toolbar.
Click on the three-dot menu and choose “More Settings†to access a wide variety of player and video settings. Learn more about the multiple setting options in the article Add a Video Using the Block Editor.
When you click on a video in your Media Library, in addition to the standard Title, Description, and Caption fields, you can also manage the video file compression level and its sharing, download, and privacy settings.
Embed a Jetpack VideoPress video using the VideoPress block
Click the + icon, or type /videop to launch the block search window with VideoPressas the first option. Choose the VideoPress block type, enter the video URL, and click Embed.
If you want to use the Video block instead, but have your videos hosted on Jetpack VideoPress — instead of on your site or a platform like YouTube — you can simply paste the VideoPress link into the Video Block, and it will not automatically convert it to the VideoPress block.
The VideoPress and Video blocks have different options available through their More Settings panels. Get more info on the Video Block options from the WordPress.org support page, and on the VideoPress Block options from this Jetpack article.
How to upload a video to WordPress
Uploading a video to WordPress is as simple as dragging and dropping a video file into a paragraph block in the Block Editor. WordPress generates a Video block and automatically adds your video to the Media Library.
The potential issue with uploading your video instead of embedding it is that many standard web hosting servers are not optimized for streaming, leading to slow load times and video buffering. They may have file size upload limits, preventing you from uploading video files over 250MB or 500MB. You can also incur extra costs for resource overages.
With Jetpack VideoPress, you can upload a video directly to the WordPress.com cloud via your site admin and avoid file upload or site size limitations imposed by your web host. Read about the benefits of using Jetpack VideoPress below. Get more information on how to upload videos, including video file specification recommendations, on the Jetpack support page for uploading your videos.
Frequently asked questions about embedding videos in WordPress
What is the easiest way to embed a video on WordPress?
The easiest way to embed a video on WordPress is to paste the URL of the video into a paragraph block on its own line. WordPress will auto-convert the link into the appropriate block type, and you can customize it from there.
The next easiest method is to use a Video block, either the standard Video block or a dedicated block like the YouTube, Vimeo, or TikTok blocks. This approach adds the step of launching the selection window and selecting a block type.
Between the WordPress blocks and the embed codes provided by the video platforms, no additional plugins are needed to embed a video. The main reason to use a plugin is when you want advanced capabilities like greater control over the player, the elimination of ads, the ability to control post-roll recommendations, and custom viewing permissions. In this case, the best option is Jetpack VideoPress.
What if my embedded video URL is not working?
There are several potential causes for a video embed to fail. The first thing to check is the video or post’s privacy settings. The page or channel you’re trying to share the video from may be set to private or have that specific video set to only display on specific sites.
In these cases, you’ll need to link to the video instead of embedding it. If it’s your video that you’re trying to embed, adjust the channel and video privacy settings to make it shareable.
Other potential causes include WordPress security plugins or issues with a browser extension. For example, the DuckDuckGo privacy extension blocks Facebook videos and other video embeds that track viewer/visitor data.
What about linking to the video instead of embedding it in WordPress?
There are times when you may want to link to a video instead of embedding it. Some videos can’t be embedded on your site due to privacy and sharing settings. If you want your viewers to see them, you need to link to those videos. Set the links to open in a new tab so that after they watch a video and close the tab, they’ll still have your site open.
What’s the difference between embedding and uploading videos to WordPress?
Embedding
When you embed a video on your site, the source site handles the storage and streaming, saving the site owner disk space and bandwidth. Large video and social sites have servers and networks built for speed, so videos start fast and play without buffering.
The downsides to embedding include losing control over branding, plus the insertion of ads and related videos that can distract your viewers and even take them off your site.
Uploading
When you upload a video to WordPress, you have greater control over the player’s look and controls, with no co-branding.
The downside to uploading your videos includes potential issues with slower video load times and streaming speeds, plus hosting limits on maximum file size and overall storage that can get costly when exceeded.
You can get around these issues by using Jetpack VideoPress.
What is the best solution for uploading videos to WordPress?
It keeps the focus on your content. The VideoPress player has no co-branding, no distracting ads, and no offsite links to take the visitor away. The player is customizable to match your brand and site colors and features an “adaptive seekbar” option that adjusts its display to match the colors of your video.
It’s designed and built specifically for WordPress. Jetpack VideoPress is fully integrated within your WordPress admin, making it easy to implement and use.
It offers high-quality (HD) video playback in 4k resolution up to 60FPS. Visitors can use the player’s Quality Selector to choose the format they want to watch, from 480p through 4k.
Great performance speeds mean fast-loading videos. Jetpack VideoPress subscriptions include high-speed streaming with adaptive bitrates and a global CDN.
It includes 1TB of video hosting in the WordPress.com cloud and file uploads up to 5GB. Take advantage of WordPress.com’s reliable infrastructure while avoiding potential issues and extra fees due to upload, storage and bandwidth limits.
Additional features include:
A picture-in-picture button that opens the video in its own window for convenient viewing
Options for visitors to increase or decrease their playback speed
Tools that allow admins to pause and resume video uploads when needed
Privacy options to restrict views to visitors of your site
The option to make your videos available for download
Video stats via Jetpack, accessible through your WordPress dashboard
The ability to add subtitles, captions, and chapters to a video
Where can I learn more about Jetpack VideoPress?
VideoPress is part of the Jetpack suite. It’s included with the Jetpack Complete plan, or you can get the Jetpack VideoPress plan separately. Install the plugin to test out the free version, which gives you video hosting for one video up to 1GB in size.