Making Your WordPress Blog Run Faster Using WP Super Cache

Today I was wondering how I could make my blog run faster. After searching Google I came across an interesting plugin called WP Super Cache. I decided to download it, install it, and benchmark it to see what kind of impact it would have on actual performance. Through several of my work projects I know that merely loading PHP can have a rather substantial performance on performance (relatively speaking of course). Before installing WP Super Cache, I benchmarked the length of time it took to load 1) My blog homepage and 2) An article I chose at random. These benchmarks represent the time it took for apache to process the php page being requested (not the total download time of the page or part thereof). I downloaded each page five times and took the average.
- Homepage: 0.952s, 0.765s, 1.017s, 1.127s, 1.083s -> Average: 0.9888s
- Single Article: 0.799s, 0.901s, 0.851s, 0.848s, 0.821s -> Average: 0.844s
After installing WP Super Cache the numbers changed to:
- Homepage: 0.804s, 0.733s, 0.791s, 0.778s, 0.738s -> Average: 0.7688s
- Single Article: 0.678s, 0.547s, 0.704s, 0.678s, 0.666s -> Average: 0.6456s
I then installed activated compression (+ cache) and ran stats on just the homepage. This time, page downloading time was factored into the equation in order to see benefits of the compression.
- Homepage: 0.562s, 0.793s, 0.628s, 0.729s, 0.626s -> Average: 0.6676s
Conclusion: Using WP Super Cache decreased the server processing time by about 22%. Enabling compression reduced the total time to download the main page (just html of primary site) by another 13%.
I would have suspected that the difference in processing time would be greater considering that apache just has to retrieve a static HTML page rather than dynamically processing a PHP page. However, I would also suspect the differences to be more significant with a web server under considerable load (which mine is not).
How To Get Indexed By Google In 48 Hours
When I was first creating this blog, I starting wondering how long it took to get indexed by Google. I’ve created many websites, but have never worked on the SEO (Search Engine Optimization) end. I started reading other blogs and came across numerous posts of people who had pages up for months that had still not been indexed by Google. I also found several other blog sites (example) that claimed to have the magical answers of Google indexing. So I wondered, how quick could I get my new site indexed by Google. From my research, it seemed that anything under a week should be considered good. I, however, was determined to beat that. This is what I did:
- I signed up for my hosting account on a Saturday night
- On Sunday I installed WordPress and wrote a few articles for the site (I do consider the content in these articles “decent”)
- After I had created by articles/categories/tags I went to XML-Sitemaps.comand generated, you guessed it, an XML Sitemap. I then submitted this map to Google Webmaster Tools
- I signed up for Google Adsense and placed two ads on the site
- I submitted my site to Google’s Add URL page
- I downloaded and installed the Google XML Sitemaps Generator plugin for Wordpress which can be found here. I told the plugin to include all sitemap content, created the robots.txt file, and set change frequency to “Daily” for all items in the list.
- I downloaded and installed the All in One SEO Pack WordPress Plugin
- I added Google Analytics so I could monitor how much traffic I was getting
On Tueday, Google Analytics showed that on Monday I had received some traffic from Google Searches - all in less than 48 hours. I searched for my site on Google and, voila, there it was!
Unethical MS Exchange “Journaling”
A friend and business associate of mine called me up today with an interesting problem. He does contract work for a company in Oregon who recently had to let their system administrator go. The reason he was let go had more to do with the state of the economy than job performance. In order words he was not fired (although after this, he probably should have been), but he was let go for financial reasons. Now, fast forward several months later until May, 2008. This friend of mine was browsing their active directory and happened to find a domain user called “Archive Archive.” The account looks innocent enough, as if there is even a legitimate purpose for it. Their old SA, however, had been silently forwarding all corporate email to it. As it turns out, he found out that he was going to be canned about a week or two before it happened and changed the setting to forward all corporate mail to his personal mail account so he could still read it after he was let go.
How was he doing this? He was using the journaling feature of Exchange 6.5 which allows you to archive all mail sent and received by a specific data store to one users mailbox (in this case, user “Archive”). He then setup a rule to forward mail received by Archive to his two personal email accounts. The screenshot to the left was taken from this website which goes into more depth about the feature:
Exchange 2003 ‘Journaling’ – A quick tutorial
This left me wondering what a company could do to better protect itself. After he left they forced all domain users to change their passwords. However, he still would have had full access to the network (via Terminal Services). After logging in, he just would have been prompted to change the password to his illegitimate account. I suppose it could be argued that someone should have scanned the AD listing and questioned what the “Archive” account was for. Let’s say that instead of using “Archive” he had used a permutation of the presidents name, for example “Dave Smith” instead of “David Smith”. I know personally, I’d probably see that quickly, wonder why two accounts were setup for him, and then continue scanning. This company uses a software package that legitimately requires some users to need two account to avoid some poorly designed licensing pitfalls.
Standardizing Outlook Signatures Company Wide
Today I got an email from someone in our accounting department. The woman had totally butchered
her signature. She had a handwriting font, multiple colors, multiple font sizes…you get the picture. That lead me to wonder, how can we standardize all employee signatures company-wide. I looked in the server side rules on Exchange 2007 and found there was no provision that allowed you to do this. There are some commercial products, such as this one, but I didn’t find anything for free. Next, I started looking for scripts we could add to our usual login scripts that would set a specific signature of our choosing. I found a few scripts online and a few tutorials and started working away at it. I can’t seem to find the website where I got most of my tips to link back to it. In any event, this is what we are now using and it seems to work very well:
On Error Resume Next
Set objSysInfo = CreateObject(”ADSystemInfo”)
strUser = objSysInfo.UserName
Set objUser = GetObject(”LDAP://” & strUser)strName = objUser.FullName
strTitle = objUser.Title
strDepartment = objUser.Department
strCompany = objUser.Company
strPhone = objUser.telephoneNumber
strFax = objUser.faxNumber
strMail = objUser.Mail
strWeb = “www.ourwebsite.com”Set objWord = CreateObject(”Word.Application”)
Set objDoc = objWord.Documents.Add()
Set objSelection = objWord.SelectionSet objEmailOptions = objWord.EmailOptions
Set objSignatureObject = objEmailOptions.EmailSignatureSet objSignatureEntries = objSignatureObject.EmailSignatureEntries
objSelection.Font.Name = “Calibri”
objSelection.Font.Size = 8.5
objSelection.Font.Color = RGB(128,128,128)objSelection.TypeText strName & “ | ” & strTitle
objSelection.TypeText “ | Email ”
objSelection.Font.Underline = 1
objSelection.TypeText strMail
objSelection.Font.Underline = 0
objSelection.TypeText “ | Phone ” & strPhone & “ | Fax ” & strFax & “ | ” & strWeb
objSelection.TypeParagraph()
objSelection.Font.Color = RGB(79,129,189)
objSelection.TypeText UCase(strCompany) & “. Our Slogan.”
‘objSelection.TypeText “| Address City, State ZIP | “”Slogan 2″”"Set objSelection = objDoc.Range()
objSignatureEntries.Add “Default Signature”, objSelection
objSignatureObject.NewMessageSignature = “Default Signature”
objSignatureObject.ReplyMessageSignature = “Default Signature”objDoc.Saved = True
objWord.Quit
This script pulls user information our of our active directory store to use for the signature. To use this, you’ll need to save it as a .vbs file. Just double clicking it should render results. It won’t delete any existing signatures you have, just create a new one and make it your default.


