Permalink is short for “Permanent Link” and they are the Full URLs of your website’s post and pages. By default, WordPress uses query strings like ?p=12345
. Permalinks are used to make URL’s human-readable, share content on social media and other platforms, and index your web pages on search engines like Google and Bing.
When to Refresh your Permalinks
Simple changes to your WordPress site can negatively affect your permalink structure, causing 404 errors and formatting issues. Often,custom post types can be added or removed by plugins and/or code snippets. When these types of changes take place your site will likely require resetting its permalinks to continue functioning properly.
Some other common causes for Permalink related issues are changing from http
to https
, importing post/page content as well as site migrations. In each of these instances it would be wise to refresh your permalinks after the task is completed.
Refreshing permalinks means to remove rewrite rules inside of the .htaccess
file and then recreate new rewrite rules. This process is often referred to as Flushing Permalinks and it will update your website’s URL structure. In the case the .htaccess
file has been deleted, refreshing the permalinks will create a new one.
Dealing with “Soft” 404 Errors – “Nothing Found”
A common problem that most WordPress admins will eventually face is the “Soft 404.” The exact error message will depend on your theme, but in most cases you’ll see something like “Nothing found” or “No content to display.” In most instances when you see a 404 error there is no need to panic because your websites files, pages, and images are still intact, the current permalink data just needs to be refreshed.
If the 404 error is Permalink related you should still have access to your WordPress Dashboard. If this is the case log into your WordPress dashboard and confirm that all of your websites page, post, plugins etc, are still correctly uploaded and activated and then simply refresh your permalinks. Most times this action alone will bring back your site’s design and functionality.
Sometimes when you update your website URLs, like when changing your website to use HTTPS, you might find that some of your pages are no longer loading correctly. In many cases these errors can be fixed by refreshing your website’s Permalinks. Refreshing permalinks means to remove rewrite rules and then recreate rewrite rules. This guide will demonstrate how to do that through your website dashboard and WP-CLI.
Refresh Permalinks through your Dashboard
- Login to your website’s administrator Dashboard.
- Navigate to Settings > Permalinks.
- Click Save Changes.
Refresh Permalinks with WP-CLI
If you have ssh access to your WordPress host, you an also use WP-CLI via the command line to quickly change your Permalinks.
- SSH into your server.
- Navigate to the root directory for your WordPress installation.
- Flush the existing permalinks on your website:
wp rewrite flush
- Update the permalink structure:
wp rewrite structure '/%postname%'
You can also learn more about using the WordPress Permalink settings.
SIGNUP FOR
BOLDGRID CENTRAL
200+ Design Templates + 1 Kick-ass SuperTheme
6 WordPress Plugins + 2 Essential Services
Everything you need to build and manage WordPress websites in one Central place.
Ken says:
Even WP-CLI doesn’t reset my permalinks, What is the next most brute force approach?
Jesse says:
Hi Ken-
If both of these methods have failed, I’d look for another possible cause of the issue. Caching or a CDN could cause old versions of your links to show up, or you may need to examine your .htaccess file, or possibly even your Apache or NGINX configuration.
Brad says:
Hi Ken. Would you be able to give us a specific example of what isn’t working right with your permalinks? I just want to make sure we’re all trying to troubleshoot the same thing.