WordPress Internal Link and Permalink Not Working

WordPress Links Not Working
  • Save

While working on a WordPress client, the client blog was migrated from Bluehost to SiteGround web hosting.

After the migration Blog homepage was working fine, but the internal pages were not working. Instead of showing any error, it was giving a blank link.

I searched into the WordPress support forum, and many users are facing this problem. The problem usually occurs in Two cases:

  1. WordPress blog migration
  2. After upgrading WordPress

[Solution] WordPress Inner Pages links Not working:

In my case, this issue came after migration, but such issue can come at any point on a WordPress blog. First, let me share the solution that worked for me, and I will also share some of the alternate solutions to the inner pages link not working in WordPress problem. 

The solution is pretty simple and I have one of these two solutions that should work for you as well. If not, just let me know more about your issue in the comment section below:

Flush cache and Create + Delete a new page:

If you are using any cache plugin, you should empty the cache. A good idea is to re-install the cache plugin. Do remember, you need to uninstall the plugin properly, and simply disabling the plugin will not help.

In my client case, it was WP super cache plugin, and emptying the cache worked.

Go to Settings > Super cache and empty the cache. Once done,  create a new page from your WordPress admin page.   Publish the page and verify if its loading or not loading. In most of the cases, it loads else you need to check with your hosting and with your .htaccess file.

If the new page load successfully, go back to edit pages and delete that page.

.htaccess error:

Another issue that usually creates issues with the internal link showing a 404 error or not working at all is due to an improper or non-existence of WordPress .htaccess file.

Simply log in to your server FTP, and look for the .htacess file at the root of your WordPress installation. Make sure hidden files are shown. Now check the content of the .htaccess file.

Here is the default content for WordPress .htaccess file:

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

Check your blog now and check a few internal links. If everything works fine. ( Buy me a Pizza ) . 🙂

This workaround worked for me and I hope it will be helpful for others who get into a similar problem.

Was this helpful?

Thanks for your feedback!
  • Save
Authored By
A Blogger, Author and a speaker! Harsh Agrawal is recognized as a leader in digital marketing and FinTech space. Fountainhead of ShoutMeLoud, and a Speaker at ASW, Hero Mindmine, Inorbit, IBM, India blockchain summit. Also, an award-winning blogger.

15 thoughts on “WordPress Internal Link and Permalink Not Working”

  1. Samuel Oyegoke

    Hello Harsh. Pls help me out

    I recently changed site permalink from /%year%/%monthnum%/%postname%.html to /%postname%.html and all old links were giving 404 errors which i believe wordpress was supposed to redirect to new link

    Things have done..

    Check .htsss file to check if re write code is added, and of course it is.

    contacted inmotion to check and fix, but unfortunately, they couldnt, so i was forced to change it back

    Pls how were you able to change yours successfully and have those old link structure redirected to new link ?


  2. Ritesh Warke

    Thanks man, I am having this problem since whole night, have 4-5 calls with godaddy support and they just provided half solution, now at 8 am I found this post and everything working fine for me.
    Just Thanks..

  3. Vinit Patil

    Hello Harsh,
    I would like to add a new point to this posts

    The problem may be solved by using .htaccess code you have given
    But sometimes especially if someone is using VPS or a DigitalOcean Droplet than there are chances that apache mod_rewrite may not be enabled.

    Therefore to solve this problem you require to have SSH access to your Server.
    To solve the problem Connect to your server with SSH and run the following command :-
    a2enmod rewrite

    This will enable mod_rewrite on your apache server..

    Vinit Patil

  4. Ankit sethi

    Thanks, harsh, your approach to this problem leads me to find a right solution.

    I find one more solution to this problem. Just update permalink structure and save changes by
    Settings > Permalink. Hope it works for others.

  5. Nick Hou

    After WP manually updating to 4.7.1, the site got 404 error, thanks htaccess code solved the problem, I owe you a pizza

  6. Rajesh

    I tried the 2 approaches, but neither had solved. My inernal pages links were still showning 404 error. I deleted the cache plugin and renamed the plugin folder aswell. I copied the default .hta content. But the issue is still there.

    1. Moumita

      If you are using yoast seo then there you can generate a redirect. A code will be provided to you which you have to add on top of .htaccess content. the internal links will surely work

  7. Dan Patino

    Thanks so much! The ‘.htaccess’ code solved the problem. Let me know where I can send you the pizza 😉

    1. Harsh Agrawal

      Glad that it helped and hold on to that Pizza till the time I visit your city. 🙂

  8. Andrew

    Thank you so much dude. I was struggling with this problem all morning and getting so frustrated. This instantly fixed the issue.

  9. Udegbunam Chukwudi

    Seems everybody is running to Hostgator. Makes me smile knowing that I made a smart decision to sign up with them right from day 1. Way to go Gator. 😉

  10. Stefan

    Great post Harsh since I’m sure more people will have this problem. One of my sites recently went totally blank after I updated WordPress to the latest version. My solution where a bit simply when finally solving it. Just inactivating all the plugins by changing name on the folder and then simply change it back again.

  11. Atul

    I didn’t get the solution Harsh.. just creating a blank page and uploading it, how everything worked fine? but really its very useful.

  12. Ajith Edassery

    Another plugin that screwed up my happiness during my move to hostgator last week was the site map generator…

  13. Surender Sharma

    Harsh it is the great tip because it occurs on every wordpress blog migration.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top