Speeding up WordPress

My! This is slow.  More will follow!

Benchmarks

Using Google Page Insights,

Page Speed at Time 1

I have two speed benchmarks.

Mobile: 67

Desktop: 85

Page Speed benchmarks from a small WP site

My main page (that is not responsive) using a WP theme written by myself has comparative figures of 91 and 96.

Page Speed  benchmarks from a large Drupal Site (university)

Mobile: 52 & Desktop: 65

Page Speed benchmarks from another university site (CMS unknown)

Mobile: & Desktop: 72 & 74

Tests

Remove unneeded plugins and themes; changed themes

Marginal improvement

Mobile: 68

Desktop: 85

Found a theme with following speeds

Mobile: 79

Desktop: 86

Blog too big? Tidy up and make eBooks?

Blog too big to manage? Does WordPress have plugins to help?

I have almost a thousand posts on this blog and I would dearly love to tidy them up; but this is a horribly big job.  Posts for one year alone come to about 500 printed pages and there is almost a decade of writing on here.

My search for  eBook plugins  for Word press begins

MPL plugin for WordPress

I have just now downloaded and activate my first eBook plugin: MPL.

Over the coming days I will test it and then try others too.

What I hope to do to tidy my blog

Goal 1:  Dead posts

When I spot a post that I really do not want to keep, I would like to delete it.

The post might be important to other people though.  Before I delete it, I will check on the Google statistics on Google Analytics, the analytics through Jetpack, and if it is an old post, the statistics on the original wordpress.com blog that I had and that redirects here.

How do I know if someone links to it?  And does it matter, if the link delivers no traffic?  It would be good to find out though.

My statistics will include

  1. The number of posts considered for deleting
  2. The number retained anyway
  3. Why I retained them

Goal 2: Interesting posts that might maintain a sense of my interests changing over the years

A post may be pretty much dead but it might be a market of my interests over the year.  Nostalgic perhaps, but I would like to complete those.

Maybe, I should simply make one of my eBooks – The first decade.

Indeed, this is the value of writing. I will do this first to give myself an overview of the blog.

Can I download a list of all 1000 posts, with their dates, tags and comments and look for a pattern?

Can I find out their current traffic too?

Task 1:  Get overall statistics for my blog

?? What is missing here?

WordPress to Drupal : First steps

 

I plan to use Drupal to re-organize this large blog: flowingmotion.jojordan.org.  This post lists the beginning steps.  Each step is quite large and if you are completely new to web development, you will need to look up and complete each step as a mini-project.

  1. Make a development environment on my laptop.  Set up WAMP.
  2. Set up Drush so that I download Drupal and its modules more easily.
  3. Set up a clean database in WAMP / PHPMyAdmin.
  4. Download the latest version of Drupal 7 and unpack it into folder in c:/wamp/www/myblog
  5. Go to my browser and install Drupal: “localhost/myblog”
  6. Use the command line to use Drush : “cd c:/wamp/www/myblog”
  7. Use Drush to download and enable the modules for “pretty url”
    1. drush dl token pathauto
    2. drush en -y token pathauto
  8. Chose a theme and use Drush to download/upload it.  I used Stanford’s Open Framework and downloaded it manually to /myblog/sites/all/themes.
  9. Logged in, set the time to UK and set up the date format.
  10. Under Appearance, set the Open Framework to the default
  11. Use Drush to install the modules needed for WordPress_Migrate (see above for the commands): migrate ctools features  media media_youtube migrate_extras
  12.  As of today’s date though this will change, do not download WordPress_migrate with drush. Go to its webpage and install the latest development version
  13. Go to Add Content and select Migrate. Look for the Worpress link
  14. Follow the instructions – all of the them!
  15. I  tried to retained my WordPress urls but that did not work and the aliases are borked too.  As it was not straightforward finding this workflow, I will leave this for now and worry about sorting my comment.

These are the basic steps for importing WordPress content into Drupal. It is not perfect but as this is a one off import, it is satisfactory.

WordPress to Drupal

Here begins my migration from WordPress to Drupal.

Why move from WordPress to Drupal?

I don’t advise anyone to move from WordPress to Drupal unless they have a strong reason.  WordPress is friendly and you will be functional and confident in few months.

Drupal is overly complicated, bloated and very badly documented.

So why move to Drupal?

Drupal is designed for complicated sites.  The Views facility, that is, it’s query function is very powerful.

This blog, Flowingmotion.jojordan.org has grown very big.  I don’t even remember everything i have written.   And I would like to find out.  I would like to delete what is no longer of any use. I would like to organize what is still valuable. And I would like to rewrite what could benefit from rewriting.]

The benefits of migrating from WordPress to Drupal

I intend to download the content of this WordPress blog onto a development site on my laptop and reorganize its content.

I will use a Drupal module to do a rough-and-ready migration.   Then I will start allocating posts to “Books”.   That is, I will set up a “Book” and cross-reference them to existing posts.  Once I have done that, I will be able to make a plan for each Book or collection.

I have also chosen a simple base them to think ahead to a “responsive” theme. I want people to be able to read my “Books” on their mobiles. When I rewrite the posts, I will take the smaller screen estate into account and chunk and structure the posts so that people can follow a complicated idea more easily.

How to set up a new website – Step 3 – Set up your hosting and WordPress shell

Situation:  I want to make the outline of my website at my hosters

  • I’ve registered and paid for my domain name
  • The registrar has alerted me by email that it is ready for use
  • I have pointed my domain’s name servers to my hosting service and set the name servers on the hosting side (this time I did nothing because the hosting service were also the registrar and they did everything.)
  • While I was waiting, I registered a Google Apps account for email.

Step 3 Fireworks by Jason O'Halloran via FlickrTask:  To register for Google Apps

Now I want to tell the hosting service to host my site.  I will also confirm that I will be using Google Apps for email.  And I will set up a WordPress shell which I will use as the scaffolding for my website.

Steps:

#1 Log in to the hosting service

  • Find it via Google!
  • Find the login link – never obvious
  • Recall the email address and password used for login and ‘access to the cpanel’.
  • Look for “Manage domains’
  • Select the new domain
  • Make sure that the check boxes for [both http//www.domainname.com and http://domainname.com] and Google mail are ticked.
  • Have a good look at everything else [without touching].
  • Choose full hosting [this may be different for other hosters].
  • Double check by going back to Manage Domains. Does it seem that the hosters know they are hosting the domain?

#2 Now load up the WP shell

The reason for loading up WP now is that when you are asked to load it up, you are reminded to have no files in the ‘domain space’.  So I want WordPress in place before the link up to Google.  Maybe, one day I will experiment with doing it the other way.

  1. Go to one click install and choose WordPress
    1. Chose CUSTOM install despite your sense that you want a SIMPLE install.
    2. Choose your domain
    3. Enter your username and email as requested.   The WordPress shell will contact you via your email and you can complete WordPress stuff later.
  2. You can try typing http://yourdomainname.com in a browser and seeing if it comes up.  If it doesn’t, that could be because the name hasn’t propgated around the internet yet (meaning your internet service provider cannot convert a bland request of get http://yourdomainname.com into action because there is insufficient common knowledge to pass you along from service to service to your website.)

Progress you have made to launching your site

  • You know have a domain name registered and pointing at a hosting service
  • You have told the hosting service to host this domain name (to make space on their servers)
  • You’ve told it to recognize your name with or without www
  • You’ve told it to will be using Google Apps for email
  • You’ve loaded up a (CUSTOM) install of WordPress and your hoster has done the few additional tasks such as make your database and install the WP software.  You can fix up your WordPress later.

Next – fetch code from Google

And upload it to your website so Google is authorized to run your email

How to set up a new website – Step 1 – Get a domain name

Step 1 Fireworks by Jason O'Halloran via FlickrSituation:  I want to set up a new website

  • I’ve already mocked up what I want on a local (WAMP) server on my PC (not necessary to complete this step but I have done).
  • I’ve thought up a domain name which I am happy with.
  • I’ve already checked on Domainr, or a similar service, that my name has not been taken (is available.)

Task:  To buy a domain name

And have its nameservers pointing  at my hosting service, i.e. so customers who ask the internet for my domain name are set to the computer where my website will sit (be served).

Steps to get a new domain up-and-running

#1  Registrar

First, I must choose a registrar where I buy the domain name and renew it annually.  A registrar is a telephone directory or index for internet.  There are many and they cleverly cross-reference each other.   The best know is GoDaddy.com.

To make my choice

  1. Does the Registrar cover the address that I want?  A Registrar covers a  limited range of TLD or top level domains.  For example, a registrar in the US may not cover .co.uk addresses.
  2. How easy is it to point the Name Servers that will be listed with my domain name to the computers that will be hosting my website?  Have I got clear instructions from both ends – the registrar service and the hosting service (or Posterous or WordPress.com – the place where my website will physically sit)?
  3. If I have more than one registrar on my shortlist, is there any difference in their prices and reputation?
  4. Do I want to use my hosting service as my registrar or is it better to have ‘two suppliers’?
  1. My hosting service might give me a discount on the domain name (a few pounds or dollars) but now they have more power over me (they have my site and my domain name under their administrative control).
  2. I may have to buy my domain name elsewhere if they don’t offer my preferred TLD (top level domain – like .co.uk).
  3. If I buy (and renew) my domain name with a separate registrar to limit the power of your hosting service over me but then I must remember to  my domain name on time and to pointing the name servers listed at the registrar to the IP address of the hosters where my  website physically sits.
    1. I must enter the data of the registrar at your hoster and your hoster at the Registrar!
    2. Adminstratively, I must have two sets of commercial transactions that I must diarize 1-2 years ahead and coordinate.

#2 Buy your domain name

Now I have chosen my name and my registrar, I must buy my domain name.  I chose to buy a domain name through my hosters.  That means I don’t have an additional task of pointing the name servers to them.   If you choose to split the hosting and the registration, you will need other instructions.

  1. Get the right credit card (business or personal)
  2. Go to the online home of the Registrar (and probably set up an account.  I used my hosting service and I already had an account.)
  3. Find the right page and click whatever button to buy a domain name.
  4. The registrar tests whether the name is available. (If they don’t, clear out fast!).
  5. When they have confirmed the name is available (a few seconds), they ask for credit card details and an email address.
  6. They also suggest that I list my address at their office rather than display my full address on the internet.  I don’t know the pros and cons but I chose to list their address because I am tired of spam.
  7. When money has changed hands, they promise me an email and tell me to patient.  It takes a day or two for the network of domain name servers to gossip among themselves that my domain name isnow taken and that anyone who asks for it should visit my hosters.
  8. Finally, a job is not finished ‘until the money is in the bank.’  Print two copies of their email and put one in the expenses file for the accountant and one in the file holding all the details about this website.

#3 Test the domain name

Type in the new domain name to the browser bar (not Google – the browser bar) and see if it comes up.

This one worked quickly but don’t panic for up to three days.

PS The name does not show up in Google and should not show up in Google. Their search spiders don’t know the site is there and we don’t want to be found yet.  There is nothing to see.

Step 7: Consolidating my online strategy – Redirecting my WordPress.com blog to self-hosting

The time has come to redirect my WordPress.com blog

Pink eyes detour by Senor Codo via FlickrFinally, the time has come to redirect my two year old blog with its 740 posts from http://flowingmotion.wordpress.com to http://flowingmotion.jojordan.org.

To remind you of where I am

  • The original blog is on http://flowingmotion.wordpress.com
  • An exact replica (with some theme updates) is on http://flowingmotion.jojordan.org

When I imported a copy of the original (see earlier steps), I made sure that I adjusted the permalinks first so the post urls are exactly the same, except for the name of the domain (wordpress.com and jojordan.org).

Why do I want to redirect my WordPress.com blog?

The problem I need to solve now is this.  If someone linked to me on their blog post,, say 18 months ago, a reader would follow their link to the original blog but the last post there would be as of a few days ago.  The blog would look deserted and because it has no updates, it will slowly lose page-rank, or google-favour.

I can’t ask everyone who has ever linked to me to update their links.  That’s not feasible.  So how can I bring those visitors to my new blog and keep my standing with Google too?

How does the redirect from my WordPress.com blog work?

What I can do is to set up a permanent redirect – a 301 for geeks – from http://flowingmotion. wordpress.com to http://flowingmotion.jojordan.org.  Then when someone follows an old link, they will be taken through the magic paths of the internet to the WordPress computers, and their computer will redirect the reader to Dreamhost, who will serve up the version of the post on their computers.

The reader will barely notice the redirect.  They have what they want and they are on an active alive blog where they can interact with humans and leave comments (which link back to their work).

I, of course, can update my posts when necessary, provided I leave the  title intact.

How do I redirect my WordPress.com blog to a self-hosted version?

To accomplish this feat, I go through three steps.

Redirect my new blog temporarily to WordPress.com

On my new blog at Dreamhost, I log in to Dreamhost (not my blog), go t0 Manage Domains, and choose the line for my blog which happens to be a sub-domain in this case (http://flowingmotion.jojordan.org).

Now I am going to pick Full Hosting and remove it.  Scary, huh?  I am not going to delete it in the far right column.  I am going to remove the hosting in the middle column.  This will keep the copy on the Dreamhost intact and I will recover it shortly.

Now I am going to chose the DNS for the same record and go to the next window.  In the middle, there is provision for a Customized domain.  In there I see an A – that is for IP addresses.  I don’t need that.  But in the dropdown menu is CNAME  – I choose that.

Then under Value I insert the url for my old blog, which in my case was  http://flowingmotion.wordpress.com.  [Note well there is a fullstop (period) there.  Make sure you put it in.]

Update

Redirect my old blog to Dreamhost

Now I head off to the  WordPress computers and login as usual to my old blog http://flowingmotion.wordpress.com.  Under Dashboard, at the bottom of the left hand column, I choose domains, and add the domain name for my new blog which is http://flowingmotion.jojordan.org.

Worpress checks that is has access and that by definition I own the new blog.  That’s why I had to open it up temporarily.

When it sees everything is OK, it tells me to whip out my credit card and page $9.97 and reminds me that I must pay them every year to keep the redirect going.  So put this date in my diary!

(At some point, I set my new blog as the primary blog.  It is self-evident when you see it.)

Reclaim my new blog

Now I head back to the Dreamhost computers, log in to the “panel”  (not to my blog), choose My Domains, find the line with my blog (in my case a sub-domain http://flowingmotion.wordpress).  I chose DNS and go and delete the value for the CNAME, which you recall was http://flowingmotion.wordpress.com.  Update.

I go back to My Domains and chose my blog again and this time stay on that page, go to the middle column and select full hosting.  A new window comes up.  I check the settings and choose full hosting.

Done!

Now when I put http://flowingmotion.jojordan.org  in my browser, I should bring up my blog.  When I put my old http://flowingmotion.wordpress.com in the browser, it should send me at the speed of internet over to Dreamhost and show my blog in the browser.

Blunder

Of course, it didn’t go quite this easy for me.  My redirect got in perpetual loop and the advice from Dreamhost, unfortunately, was “Wait. These things take time.”   Fortunately, young Nick Cochiarella from Olney nudged me 12 hours later to tell me Dreamhost were wrong and I got back in touch with them to check my settings.

This is what happened.  Two steps back, before the One Click Install, when I set up the subdomain I had chosen the wrong combination of make http://wwww go to http://.  There are three choices and I left it on the default.

When I One Click Installed, my wordpress on Dreamhost was set up as http://www.flowingmotion.wordpress.com.  When I redirected from WordPress.com, it was to http://flowingmotion.jojordan.org because that was the only choice we have.

Once I had corrected the address of my new blog by logging onto the blog (not Dreamhost panel) and taking out the www in the address registered under Dashboard/Settings/General, everything worked fine.

I also went back to the Dreamhost panel, Manage Domains, the line with my blog and DNS, and fixed up the redirects there to send any traffic looking for http://www.flowingmotion.jojordan.org to http://flowingmotion.jojordan.org.

I’m still a bit confused by it all.  The point is to remember you have an address registered within your new WordPress blog.  You may not think of it as you are staring at an unfamiliar Dreamhost panel