An error occured while updating a plug-in

I tried to update my plug-ins and one or more of the plug-ins gave me an error that looks like this:
An error occurred while updating <plug-in name>: Could not create directory. <full-real-path-of-folder>.

Then I went the plug-in page and it says those plug-ins have been deactivated because they are not found.

Then I tried to reinstall those plug-ins, but that gave me an error.

Then I tried to upload the plug-ins using an FTP client, but I got  a “550 Access denied” error.

I logged into my Godaddy Windows shared hosting account.  When I tried to access those folders, I got another “Access denied” error.

To fix it, I went to the parent directory “wp-content/plugins” and reset its permissions.  I unchecked “inherit”, then checked “read”, “write” and “Reset all children to inherit” then clicked OK and waited for the operation to complete.  I looked in the plugins folder and found the problem folders were no longer there, but I could reinstall them successfully.

I wish I could remember where I heard how to fix this, because I would like to credit where it’s due.

On a another blog I maintain, I thought I could prevent the install error by resetting the folder permissions before updating.  Nope, didn’t work. The plugin folder did not have “inherit” checked, but did have “read” and “write” checked.  I checked “Reset all children to inherit” and click OK as before.  So I tried again, but this time click “inherit” for the “plugins” folder and checked the “Reset all children…” box, and it worked that time.

So it looks like if the “inherit” box is checked, you need to uncheck it and vice-versa.  Just as long as read and write permissions are getting set for the child folders.

The same plug-ins that gave error when updating on the first blog gave me an error on this blog.  Some plug-ins updated fine.  So I don’t know if the problem is with the server, the plug-ins, or a combination of both.

Anyone else having this problem on a Godaddy Windows server?

Domain changed!

So I changed the domain to WPressureCooker.com.

I thought I’d share how I did it to show how to do it so you don’t have to worry about folks trying to get to your site through the old domain and getting a 404/”file not found” message.

The first thing I did was some research to find the best way to do this.

Quick disclaimer: This may not be the best way for your site.  But this worked for me.  Be sure to back up your database and files before proceeding.

I followed the Yoast.com site’s advice and created a robots.txt file, but ended there because I was not moving any files and he was giving instructions for an Apache server where I was using a Windows server hosting plan.

In my Godaddy hosting account, I set the new domain (wpressurecooker.com) to point to the same folder wordpressurecooker.com is pointing to, and waited for the status to go from Pending to Setup.

Logged in my site’s admin and went to the General settings.  There I changed the Blog URL and Site URL to the new domain name.

I installed the plugin, Domain-Change by Soz which creates the 301 Redirect for you that automatically redirects folks from your old domain to the new.  So if someone comes to your site by a link that goes to a specific article, the page comes up under the new domain.  Even my shortened Pretty Links worked.

I deleted the robots.txt file from my site.

Next came the stat tracking.  I use Google Analytics.  I was hoping that the 301 redirect will take care of most of the problems, but just in case, I made a change to my Google Analytics account and the Google Analytics for WordPress by Joost de Valk settings.  There is the possibility I did this wrong, but in Google Analytics for wordpressurecooker.com I set it to track “multiple top level domains”.  I noticed the code (that you would paste in if you didn’t use the plugin) changed where _gaq.push([‘_setDomainName’, ‘none’]); so in the plugin settings, I set Domain Tracking (which sets _setDomainName) to “none”.

I also have WordPressurecooker.com registered under Google’s Webmaster Tools.  That required me to verify the wpressurecooker.com domain, then for wordpressurecooker.com, I clicked “Change of address” under “Site configuration” I set the New URL for wordpressurecooker.com to wpressurecooker.com.  In the settings for wpressurecooker.com I set the sitemap URL.

It took me a lot longer to type this all out than to make the changes, so I think you will find it pretty easy.

So did I miss anything?

Godaddy SSL Adventure

Failure is a great teacher.

I have a client that will need a secure certificate to they can accept credit cards.  (If a client does not already have a merchant’s account, I usually suggest starting with Paypal or Google Checkout.)  So I bought the low-end, one-domain certificate and assigned it to a shared hosting account at Godaddy.

I had no idea that for over 72 hours, I would be locked out of the hosting control panel.  Thankfully I still had FTP access.  But I lost the WordPress schema from one of my databases (good thing I had a backup).  The A records for domains not registered by Godaddy had to be changed.  Most of my file permissions were changed to read-only which is a problem for WordPress sites.

And to top it off, the secure certificate is not going to work the way I wanted it to with the domain for which I bought it.  This part was my fault for failing to do more research before buying.

Still, I would have liked to have some warning first that the server would be upgraded to accommodate the SSL certificate.

Lesson learned: if a client needs an SSL certificate, I will set up a separate web hosting account under Godaddy.

Is “site” a reserved word?

I have 2 WordPress installs on the same domain and server. Custom (pretty) permalinks worked on one, but not the other. Domain names have been changed to protect the innocent. 

I have:
http://www.mysite.com/site
which is in development. And
http://www.mysite.com/wordpress
which has been around for a while.

Both have the custom permalink setting of /%category%/%postname%/

/site gives me a 404 error.
/wordpress works fine.

Their .htaccess files are identical except that /wordpress’s says "wordpress" where /site’s says "site".

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /site/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /site/index.php [L]
</IfModule>

# END WordPress

The server is a Deluxe Linux server on Godaddy.

I followed the standard method of waiting after setting up the permalinks on a Godaddy server. I waited for days and /site still did not work.

/wordpress did not have the custom permalinks on yet.  It started working immediately after switching. (I think there may have been an existing empty .htaccess file.)

So, same versions of WordPress, same Linux server, similar setup, no weird plugins, same .htaccess file, same database with different prefixes for the tables.

I have tried reinstalling /site using the built-in updater.  I even tried deleting the database tables and uploading a fresh install of WordPress.

Then I had the idea to rename the "site" folder thinking maybe "site" was a reserved word or something.  So I went into the General settings, changed the paths to http://www.mysite.com/web, saved changes, and used FTP to change the folder name from "site" to "web".

It worked.

Even the .htaccess file was automatically changed.

Just to be sure, I changed "web" back to "site" and the permalinks stopped working until I changed it back to "web".

Does anyone have any insight?  Is this a WordPress, Apache, or a Godaddy thing?

XML Sitemap Generator Plugin for WordPress error

I hate SEO.

Hate it.

Hate it to death.

But it’s a necessary evil so I have to deal.

So I am very happy when I can find plugins that will do a lot of  the work for me.

One such plugin is the popular All In One SEO.

Another is the XML Sitemap Generator Plugin for WordPress which does just as the name implies: it generates an XML sitemap for your WordPress site. An XML sitemap helps search engines crawl through your site more thoroughly. The plugin can be configured to notify various search engines of changes to your site so they will queue up your site to get crawled again to find and index the new content.  You can also add the XML sitemap URL to your Google Webmaster Tools account.

After installing the plugin I kept getting an error when I tried to manually create a sitemap:

There was a problem writing your sitemap file. Make sure the file exists and is writable.

Note: I’m running WordPress on a Deluxe Windows Hosting account at Godaddy.com

I checked to make sure the folders and files had writable permissions and they did.

Then I noticed the setting on the plugin config page called “Location of your map file”.  I wondered if the plugin was having trouble finding the proper location to write the file.

The location setting was on “Automatic” so I switched it to “Custom location” and entered the relative path where I thought the file should be.  No good.

The “Custom location” also takes an absolute path.  Using an absolute path might come back to bite me later should the server change, but I wanted to make sure this worked.  So I wrote a quick PHP script to find the absolute path of my site root (where the sitemap XML should be located):

<?php
echo realpath(“index.php”);
?>

Realpath is a PHP function that retrieves the absolute path of the specified file.

I uploaded the PHP file to the root folder of my blog and ran it on the site.  I then copied and pasted the path into the Custom Path setting.

And it didn’t work.

I gave up for the day.  I came back today to try to fix the problem and found there was an update for that plugin that was available (3.1.6 as of this writing).  I updated the plugin, and it worked!

I’m not 100% it was the update that fixed it, but it’s working now.

Just to be sure, I switched it back to the “Automatic Detection” setting.  It failed.  Switching it back to Custom worked fine.