Title: Many internal links are https &#8211; how do I make them http?
Last modified: August 31, 2016

---

# Many internal links are https – how do I make them http?

 *  [larryseltzer](https://wordpress.org/support/users/larryseltzer/)
 * (@larryseltzer)
 * [10 years, 4 months ago](https://wordpress.org/support/topic/many-internal-links-are-https-how-do-i-make-them-http/)
 * Immediate question: Many of the links in my site, such as links to blog entries,
   are https links. I’m trying to get the site back to all http.
 * Background: The site (willseyconnections.com) belongs to a relative I am trying
   to help. The mobile site for it is in dudamobile.com. A few months ago I migrated
   the main WordPress site to GoDaddy and, at the same time, added an SSL certificate.
   Immediately the mobile site broke.
 * Dudamobile is brain dead but we’re stuck with it for now. I’ve been able to get
   it working better to the extent that I can remove http from the WordPress site,
   but WordPress is still generating https links. What could be controlling this?
 * In the meantime we installed the Force HTTP plugin and it sort-of works.

Viewing 15 replies - 1 through 15 (of 19 total)

1 [2](https://wordpress.org/support/topic/many-internal-links-are-https-how-do-i-make-them-http/page/2/?output_format=md)
[→](https://wordpress.org/support/topic/many-internal-links-are-https-how-do-i-make-them-http/page/2/?output_format=md)

 *  [thewhiskytrials](https://wordpress.org/support/users/wptweaks/)
 * (@wptweaks)
 * [10 years, 4 months ago](https://wordpress.org/support/topic/many-internal-links-are-https-how-do-i-make-them-http/#post-7032361)
 * Hi,
 * So is the SSL still active and setup for the domain?
 * The easiest way to change all the links is to backup the database, open the sql
   file in Notepad++ or similar and then search and replace every [https://yourdomain.com](https://yourdomain.com)
   link for [http://yourdomain.com](http://yourdomain.com)
 *  [Mark Ratledge](https://wordpress.org/support/users/songdogtech/)
 * (@songdogtech)
 * [10 years, 4 months ago](https://wordpress.org/support/topic/many-internal-links-are-https-how-do-i-make-them-http/#post-7032385)
 * [@wptweaks](https://wordpress.org/support/users/wptweaks/): that’s the wrong 
   way; changing data in a text database dump will break serialized data.
 * [@larryseltzer](https://wordpress.org/support/users/larryseltzer/): try [interconnectit.com WordPress Serialized PHP Search Replace Tool](https://interconnectit.com/products/search-and-replace-for-wordpress-databases/)
   to change URLs in the database – such as images, links, etc. – from https to 
   http. Also check .htaccess and wp-config.php for directives that are forcing 
   SSL and https.
 * And then use the developer tools in [Firefox](https://developer.mozilla.org/en-US/docs/Tools)(
   or [Firebug](http://getfirebug.com/)) or [Chrome](https://developers.chrome.com/devtools/)
   or [Safari](https://developer.apple.com/safari/tools/) or [IE](http://msdn.microsoft.com/en-us/library/ie/hh673541(v=vs.85).aspx)
   to check for insecure elements.
 *  [thewhiskytrials](https://wordpress.org/support/users/wptweaks/)
 * (@wptweaks)
 * [10 years, 4 months ago](https://wordpress.org/support/topic/many-internal-links-are-https-how-do-i-make-them-http/#post-7032443)
 * [@songdogtech](https://wordpress.org/support/users/songdogtech/) Yes but thats
   prob why the site is broken anyway. They were on http, then moved to https and
   going back to http. So if they didnt follow advice here [https://codex.wordpress.org/Moving_WordPress](https://codex.wordpress.org/Moving_WordPress)
   when moving to https it would suggest the serialized data is still http so using
   a find replace should be ok?
 * On a side note that may solve your https issue. If you still have the SSL setup
   then perhaps following songdogtech’s advice and using that method to change the
   urls to https would fix the issues you are having?
 *  Thread Starter [larryseltzer](https://wordpress.org/support/users/larryseltzer/)
 * (@larryseltzer)
 * [10 years, 4 months ago](https://wordpress.org/support/topic/many-internal-links-are-https-how-do-i-make-them-http/#post-7032446)
 * Yeah, I’m sure I screwed up the migration and I’m paying for it now. If this 
   fix works I can try to do it right next time, but I still suspect dudamobile.
 * I’m in the middle of wptweaks’s brute force method. It’s going to take a while
   but I’m approving or denying each replace.
 * I’ll let you all know how it goes.
 *  [thewhiskytrials](https://wordpress.org/support/users/wptweaks/)
 * (@wptweaks)
 * [10 years, 4 months ago](https://wordpress.org/support/topic/many-internal-links-are-https-how-do-i-make-them-http/#post-7032448)
 * [@songdogtech](https://wordpress.org/support/users/songdogtech/) also if the 
   https generated links larry is talking about are from post and page content then
   changing the url in the db dump will be fine. But as you say much better to use
   something like interconnectit if doing a proper migration.
 *  Thread Starter [larryseltzer](https://wordpress.org/support/users/larryseltzer/)
 * (@larryseltzer)
 * [10 years, 4 months ago](https://wordpress.org/support/topic/many-internal-links-are-https-how-do-i-make-them-http/#post-7032453)
 * I made all the changes and successfully imported the .sql file. I flushed the
   cache. It’s about 5 minutes later and I still have all the https links I had 
   before. Is there something else I need to do? I assumed this would be fairly 
   quick
 * Is there maybe something in the file system root that could be responsible?
 *  [Mark Ratledge](https://wordpress.org/support/users/songdogtech/)
 * (@songdogtech)
 * [10 years, 4 months ago](https://wordpress.org/support/topic/many-internal-links-are-https-how-do-i-make-them-http/#post-7032454)
 * [@wptweaks](https://wordpress.org/support/users/wptweaks/), yes, URLs in post
   and page content are not serialized. But URLs in theme options, plugin options,
   etc., can be serialized.
 * It’s simply best practice not to edit text dumps; use SQL queries in Adminer 
   for non-serialized data:
 *     ```
       UPDATE wp_posts SET post_content = replace(post_content,
       'http://www.olddomain.com/', 'http://www.newdomain.com/');
       ```
   
 * But that query, when run on `wp_options, wp_postmeta`, etc. will break things
 *  [thewhiskytrials](https://wordpress.org/support/users/wptweaks/)
 * (@wptweaks)
 * [10 years, 4 months ago](https://wordpress.org/support/topic/many-internal-links-are-https-how-do-i-make-them-http/#post-7032456)
 * Is the SSL still active on your host?
 * If so its most likely that.
 *  Thread Starter [larryseltzer](https://wordpress.org/support/users/larryseltzer/)
 * (@larryseltzer)
 * [10 years, 4 months ago](https://wordpress.org/support/topic/many-internal-links-are-https-how-do-i-make-them-http/#post-7032457)
 * Why would it matter? If I’m not redirecting to HTTPS links (in .htaccess or somewhere
   else) why would WordPress do it?
 *  Thread Starter [larryseltzer](https://wordpress.org/support/users/larryseltzer/)
 * (@larryseltzer)
 * [10 years, 4 months ago](https://wordpress.org/support/topic/many-internal-links-are-https-how-do-i-make-them-http/#post-7032459)
 * I don’t want to have to revoke the certificate. This is on GoDaddy.
 *  [Mark Ratledge](https://wordpress.org/support/users/songdogtech/)
 * (@songdogtech)
 * [10 years, 4 months ago](https://wordpress.org/support/topic/many-internal-links-are-https-how-do-i-make-them-http/#post-7032460)
 * It doesn’t matter if there is still an SSL assigned to a domain and the certs
   are on the server; if they are no https calls, the cert isn’t referenced.
 * But once the links are all http in the theme and database, it’s a good idea to
   still force http in .htaccess so old Google or bookmarked https links don’t error
   out in the browser; most people won’t know that they can simply remove the `s`
   in the browser bar and reload the page.
 *  Thread Starter [larryseltzer](https://wordpress.org/support/users/larryseltzer/)
 * (@larryseltzer)
 * [10 years, 4 months ago](https://wordpress.org/support/topic/many-internal-links-are-https-how-do-i-make-them-http/#post-7032461)
 * Ahh… Good idea.
 * Would this work?
 *     ```
       RewriteCond %{HTTP:X-Forwarded-Proto} =https
       RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
       ```
   
 *  [Mark Ratledge](https://wordpress.org/support/users/songdogtech/)
 * (@songdogtech)
 * [10 years, 4 months ago](https://wordpress.org/support/topic/many-internal-links-are-https-how-do-i-make-them-http/#post-7032462)
 * the `HTTP:X-Forwarded-Proto` header should only used when your webhost is using
   a load balancer or CDN.
 * Ask the host for the correct redirect, or try a simpler redirect from https to
   http:
 *     ```
       RewriteEngine On
       RewriteCond %{HTTPS} =on
       RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [L,R=301]
       ```
   
 * And this assumes an SSL exists, too (re: the first line). I doubt this will work
   when no SSL is present.
 *  Thread Starter [larryseltzer](https://wordpress.org/support/users/larryseltzer/)
 * (@larryseltzer)
 * [10 years, 4 months ago](https://wordpress.org/support/topic/many-internal-links-are-https-how-do-i-make-them-http/#post-7032474)
 * I think maybe the database import hasn’t affected the live site. There are some
   hard links in there that I definitely changed from https to http and they’re 
   still https on the live site. I exported the database and checked it and the 
   changes are there.
 * Time to call GoDaddy…
 * But I need to ask something explicitly: When WordPress generates a link for a
   blog entry subject to a category, how does it decide if the link will be http
   or https?
 *  [Mark Ratledge](https://wordpress.org/support/users/songdogtech/)
 * (@songdogtech)
 * [10 years, 4 months ago](https://wordpress.org/support/topic/many-internal-links-are-https-how-do-i-make-them-http/#post-7032476)
 * > When WordPress generates a link for a blog entry subject to a category, how
   > does it decide if the link will be http or https?
 * By the URLs in Dashboard>>Settings>>General.
 * > There are some hard links in there that I definitely changed from https to 
   > http and they’re still https on the live site
 * In the GoDaddy Cpanel, use phpmyadmin to search for https in the database that’s
   live on the site.
 * Use the developer tools in [Firefox](https://developer.mozilla.org/en-US/docs/Tools)(
   or [Firebug](http://getfirebug.com/)) or [Chrome](https://developers.chrome.com/devtools/)
   or [Safari](https://developer.apple.com/safari/tools/) or [IE](http://msdn.microsoft.com/en-us/library/ie/hh673541(v=vs.85).aspx)
   to see the links that are still https

Viewing 15 replies - 1 through 15 (of 19 total)

1 [2](https://wordpress.org/support/topic/many-internal-links-are-https-how-do-i-make-them-http/page/2/?output_format=md)
[→](https://wordpress.org/support/topic/many-internal-links-are-https-how-do-i-make-them-http/page/2/?output_format=md)

The topic ‘Many internal links are https – how do I make them http?’ is closed to
new replies.

 * In: [Fixing WordPress](https://wordpress.org/support/forum/how-to-and-troubleshooting/)
 * 19 replies
 * 3 participants
 * Last reply from: [Mark Ratledge](https://wordpress.org/support/users/songdogtech/)
 * Last activity: [10 years, 4 months ago](https://wordpress.org/support/topic/many-internal-links-are-https-how-do-i-make-them-http/page/2/#post-7032534)
 * Status: not resolved

## Topics

### Topics with no replies

### Non-support topics

### Resolved topics

### Unresolved topics

### All topics
