Broken WP images after domain move - wordpress

I have just moved a site from the domain trfinch.com to moralesfinch.com and all the images seem to be broken. I know this is a common issue, but my problem seems particuylarly complex.
After the move, I used the 'Better Search Replace' plugin to replace all absolute links in the database. I am seeing the broken img icon in all instances, wether in the Media Library or the Front end.
However, here's the interesting bit, if I inspect the image code and manually visit the URL, the images are all there. Something is stopping them pulling through to the main site.
The issue also seems to apply to background images and favicons too.
Any suggestions?

The image urls look right, it is most likely not a problem with wrong siteurl and homeurl as codenathan pointed out, but it is still a good idea to check. My instinct would say it is a problem with routing/permalinks. Try updateing the permalink structrue, or even try deactivating pretty permalinks and see if it helps.
I observed that your website forwards you to the main page (not the 404 page) when you put in the image url directly into the address bar. Do you have access to your server logs? Try locking at Apache's access.log to find out what happens to the .jpg requests.
My last guess would be a permission issue with the uploads folder, but there is no way to know without log files.
Hope it helps.

you may want to open the database and look at the table called wp_options
and look at column labelled option_name and look for the records for : -
siteurl and homeurl, and if these records still reference the old site replace them with the new site domain.

Related

Wordpress Migration issue css

I have migrated website to new domain, the problem is css not loading
if I inspect element it gives link to old domain, is there a way to update css links in wordpress?
please help
When moving a WordPress site to a new domain, you need to change the Site URL and Home URL, usually in the database or in wp-config.php, depending on how the site was originally set up. There may be other changes you need to make in the database, or by manually editing posts, like the locations of images in posts.
This page on wordpress.org is a good reference, for all the things you may need to change, and it shows a few different methods to make most of the changes, so you can choose the one you prefer:
https://codex.wordpress.org/Changing_The_Site_URL
Make sure to keep a backup of the site in case of any mistakes. If you make some changes, and most of the site is working, but a few things aren't, I would recommend making another backup, so you could restore it again without losing much work, if needed.
yes when you are adding links to your site you show use the function site_url().example/my_post in order to construct the links

Font awesome icons not showing in Wordpress after site address URL change

This may be an obvious question for those of you more advanced in coding than myself...but I created a website in WordPress but their domain is hosted elsewhere. They changed the A name and it now points to the site, but the font awesome icons are now square boxes. How can I fix this? Is there a simple way?
Many thanks for any help/guidance.
Alison
Super late, but hopefully this saves someone a lot of time. After migrating an existing Wordpress site to a new domain, I too encountered icons missing (both on the front-end and the back-end administration). After a long search and applying different methods, I found the database still listed the original/old domain within the "option" table.
Using phpMyAdmin, select the "option" table. Within "option" you will see the "site" and "home" rows. If the value has the old domains, you will need to change it to match the sites URLs (Located on the Administration dashboard under Settings > WordPress Address (URL) & Site Address (URL). To change the value, click Edit > and update the URL.
Fix the problem in less then 2 mins. Simple replacement of /font-awesome/5.13.0/css/fontawesome.min.css with /font-awesome/5.13.0/css/all.min.css and also font-awesome/5.13.0/js/fontawesome.min.js with /font-awesome/5.13.0/js/all.min.js can fix this issue. https://youtu.be/_GV_pEmLCLU
I know this is 2 years old, but I just ran into a similar problem and the answer given by Owais did not feel right to me (getting CSS from another site).
This happened to me for the exact same reason as it did for OP. I migrated my website to another host and another domain-name. After doing that I ran a rename-script for the DB (thousants of hard-coded URLs were replaced).
However, as it turns out, my theme was also using hard-coded URLs in the CSS files and in some JS files, as they were generated (upload/fusion-scripts and upload/fusion-styles). After replacing the hardcoded URLs in these files (I used visual studio, but you can use any bulk-replace tool) everything worked fine again.
Just another idea to throw in here - after transferring the site to the new server, and running this handy script to replace all references of the old url with the new one, I was still having the same issue with font awesome. The solution was to go to Settings / General and set the Endurance Cache to Off (0). Refreshed the site and all was well.
In my case, I had that problem changing the url using the constants WP_HOME WP_SITEURL at wp-config.php
When I changed through the wp-admin using the RELOCATE flag, worked
As you may know, this is the official doc about it
I had this problem so many times but this time I found the full proof solution for this issue:
Open PhpMyAdmin and then click on wp_options table.
In this, you will see a table with a name(according to your theme name) something like "theme_options_css" edit it and change the URL from old to new.
The problem might occur due to Http to Https migration also. So for that also change Http to Https manually in the same table and the problem will be resolved the moment you save your table.

Wordpress and Cloudflare: how to update (cached?) images

I have my blog (wordpress) web site hosted at bluehost.com. A few months ago I decided to enable Cloudflare (through CPanel).
It's all working well (and I am seeing better overall performance etc) BUT I have a small issue I am dealing with.
I posted this blog some 10 days ago: http://it20.info/2016/01/why-docker-containers-and-docker-oss-docker-inc/
A few days later I had to change picture #2 (of 3) to tweak it a bit. The old picture says "Unikernel" in the red rectangle and the new picture (I uploaded) says "Unikernel/vm".
Note that inside the blog post I make an external reference to the picture (in the html code):
http://www.it20.info/misc/pictures/WhyDocker-ContainersAndDockerOSS-DockerInc2.jpg
If you point STRAIGHT to the picture you will see the new version (so I know I have updated it properly).
However the blog post still shows the old picture (as if Cloudflare is caching it indefinitely).
If in the blog post I right click on the image and do a "view image" (Firefox) it points to: http://i0.wp.com/www.it20.info/misc/pictures/WhyDocker-ContainersAndDockerOSS-DockerInc2.jpg?resize=640%2C392
(which shows the OLD image).
Funny enough if I remove the "?resize=640%2C392" it shows the proper picture.
I am trying to figure out a proper procedure to 1) write a blog post that refers to pictures as external links 2) possibly update said picture via an FTP upload and 3) have Cloudflare render the updated picture.
Thanks.
The root of your problem could be that query string after the image URL:
?resize=640%2C392
In CloudFlare, go to the caching settings and check if your current caching level is standard. If yes try changing to either no query string or ignore query string.
As far as a proper proceedure for future posts where images could change, as an alternative to purging all your site files in CloudFlare, or selectively purging just the image file in question, woudl it be feasible for you to simply change the name of the updated image file, or keep the same name but upload it to a different directory? And of course update the image src in your HTML as well.
Good luck

How to hide a directory within URL call

I don't think what I want can be done, but I thought I'd try here .. maybe someone can think outside the square for me...
I have installed wordpress on my domain at /wordpress.
I will eventually move it to / when it is finished and overwrite the existing content.
My problem is that in my posts, I have to reference images directly (i.e. /wordpress/wp-content/uploads/image.png)
My problem is that when I move wordpress to root, all of those images in the posts are going to be rendered invalid.
What I want to do is try and make a request for /wp-content/uploads/image.png find /wordpress/wp-content/uploads/image.png but I can't redirect everything to /wordpress because my existing site will disappear...
I'm thinking I need to install some type of internal media manager because I just can't see how this could work
this might help u
RewriteRule ([^.]+\.(jpe?g|gif|bmp|png))$ http://www.newurl.com/$1 [R=3-1,L,NC)
u can get image name from old url and pass to new url..
Redirecting is not really a solution here, IMO it just creates additional load, you should do a database wide search and replace of all referenced URLs after you move.
I recommend using searchreplacedb2 - I've been using it for years and it works great for me-
http://interconnectit.com/products/search-and-replace-for-wordpress-databases/
Search yourdomain.com/wordpress
Replace yourdomain.com

Change URL NextGEN Gallery Plugin

We are using the NextGen Gallery plugin to generate a slideshow in a Wordpress site. I needed to change the site URL to a a different subdomain, and this seems to have broken the links. The plugin-generated javascript still passes the old URL to swfobject.embedSWF.
Does anyone know how to fix this? I already updated the Wordpress "General Settings" with the new WordPress address and Site address (which are the same), and the plugin does not seem to pick up that change. Thanks!
Found it. It's in the string-encoded ngg_options entry in the wp_options table. The specific field is "irURL".
Why they chose to capture the site URL independently, instead of reading it from the Wordpress site configuration, is beyond me.
Could it be that NextGen has hardcoded those values somewhere in its database tables?
It could be a matter of running a bunch of SQL update queries to replace any instances of http://old.domain for http://new.domain
And now I'll state the obvious, recommending you to backup the full DB before you attempt any of this.
I had the same problem (unchanged absolute CSS/JS files' paths) after domain changing although I changed every single old domain's occurrence in database (even in serialized arrays/objects in options).
I found solution on http://www.nextgen-gallery.com/galleries-opening-lightbox/ - I didn't have time to do an investigation where they store these paths or in which format. :P
For me it is extremely stupid in Wordpress that it stores absolute paths (with one and the same domain) in so many places but that's another matter. :)

Resources