How To: Streamline WordPress by removing Database calls
*Warning – the following instructions involve editing PHP code. Doing so incorrectly can mess up a working blog very badly. Only attempt if you are confident you know what you are doing.*
One of the powers of WordPress is that it is very customizable with thousands of themes and as many plugins. A lot of this customization is done via generic database calls that store the required information. This has two advantages, theme designers know exactly what calls to make so that a blog shows all the required information. And this allows blog admins to quickly and easily flip between themes with no configuration needs afterwards.
But the downside is that a blog makes over a dozen database calls just to bring up a single web page. Many of these are stored in the header.php and footer.php files and only shows such information like the blog name, title, and dynamic links to resources pulled up every time. By removing these database calls and hardcoding the links we can not only streamline and quicken webpage loading, we can also reduce the number of database calls a page needs.
Note that several themes will update automatically occasionally. This will remove any changes you’ve made. The best suggestion is to copy your preferred theme to a new theme directory and call it a different name, then make the new theme your active one that you’ll streamline.
Here is the Header.php file from the “life-is-simple” WordPress Theme. This is a pretty simple and generic theme so it makes a good example.
<html xmlns="http://www.w3.org/1999/xhtml" > <meta http-equiv="Content-Type" content=" ; charset=" /> <meta name="generator" content="WordPress " />
@import url( ); <link rel="shortcut icon" href="/icon.png" type="image/x-icon" /> <link rel="pingback" href="" /> <body >
I highly suggest changing one line at a time and testing it before going on to the next. This will help find any errors that popup through misplaced tags.
In the WordPress world, <?php denotes a database lookup of some sort. These are the lines that we want to try to remove as much as possible, but there are a few other locations we can clean up also.<html xmlns="http://www.w3.org/1999/xhtml" > <meta http-equiv="Content-Type" content=" ; charset=" />
can be streamlined to:
All we did was remove the database lookup by hard coding the variables that would have been found. It’s critical to note that the charset maybe different for your blog depending on the language of the blog. The exact charset you should use is beyond the scope of this post, if you want to know more about charsets, here are some good links:
WordPress Database Charset and Collation Configuration
How to Avoid Character Encoding Problems in PHP
Seeing Weird Characters On Your Blog? Here’s How To Fix Your WordPress Character Encoding (Latin1 to UTF8)
For SEO reasons, we probably want to keep the next php lookup:<meta name="generator" content="WordPress " />
But the title lookup can streamlined drastically
As the blog author we know what the page title (wp_title,) and bloginfo already are – in fact when first setting up WordPress these were likely two of the very first things entered. Just in case it’s needed, these are under General -> Settings. The page title is “Site Title,” and bloginfo is the “Tagline” field.
So we can minimize this line to:
Pacific Northwest Photoblog - Travel Photos and History from the Pacific Northwest
The next line we can remove is the favicon, this is the 16×16 pixel icon that shows in the address bar and is saved when a page is bookmarked. The actual name can change from theme to theme, but it will always be located in the theme directory under wp-content. So this line:<link rel="shortcut icon" href="/icon.png" type="image/x-icon" />
The icon may also have an .ico extension, or it can be something called favicon.png.
The next database lookup finds the pingback url. Note that this is an href= link that is looking for an html link, the database lookup simply grabs the webpage url, then appends /xmlrpc.php to it. All we do is add the link ourself.<link rel="pingback" href="" />
In the original code above, the next database lookup is a critical one. This brings up the actual “body” of the blog. This could a static page, or a list of posts, depending on what settings were chosen in the blog. Either way, skip over the following database lookup because it is hugely critical.<body >
In the header wrapper though, we have another familiar line:
This is almost exactly the title line from above, but with an href link to the home page in it.
Travel Photos and History from the Pacific Northwest
At this point the header.php file is streamlined quite significantly. Next we go to the footer.php file as there is a couple more database lookups we can hardcode here also.
Original footer.php file:
As you can quickly see there is another “bloginfo” lookup here including an HTML link, just like the title lookup had in header.php.Pacific Northwest Photoblog . <?php _e('"Life is Simple" is a simple theme for WordPress, powered by Chereshka.', 'life-is-simple'); ?>
Some people would suggest removing the link to the Theme artist if it exists, along with other “useless” information. Personally I prefer to leave it to give credit to the people who provided the theme for free, but it does take a little resources to serve up. Every line removed decreases the load time slightly and will make a big difference if a blog is getting thousands of hits at once.
But we can do one other thing – remove the year lookup as defined by this piece of code:
I wanted to add my copyright blurb here so changed the code to:Pacific Northwest Photoblog Copyright Rick Hamell 2006-2014. <?php _e('"Life is Simple" is a simple theme for WordPress, powered by Chereshka.', 'life-is-simple'); ?>
Some blogs will have an RSS feed link in this area. For posts this typically look like
And for comments the RSS Feed typically looks like this
My rss feed is http://PNWPhotoBlog.com/feed/ . But RSS Feeds can look a little different, especially if you use Feedburner. So be sure to check the exact link before editing the code.
Personally I do not care if people subscribe to my comments via RSS, but I would like more readers to subscribe to my general RSS feed. My full code now looks like this:Pacific Northwest Photoblog Copyright Rick Hamell 2006-2014. Subscribe via RSS
<?php _e('"Life is Simple" is a simple theme for WordPress, powered by Chereshka.', 'life-is-simple'); ?>
By these directions we’ve removed sixteen full database lookups! This halved the loading time of my webpage, PNWPhotoblog.com. That is quite a difference, don’t you agree?
Thanks to Joost de Valk “Yoast” for his very informative blog post “Clean up you theme” that inspired this post. If you have any comments, suggestions, questions, or want to correct my code, please leave a comment below.
How To: Remove Vista AntiVirus 2012
Vista AntiVirus 2012, also known as Windows XP Home Security 2012 is one of the viruses/malware programs running around that masquerades as an anti-virus program.
Unfortunately it’s not. It uses various browser holes to install itself and then pretty much disables the computer until the user puts their credit card number in. Once the program is “bought” it goes idle and pretends to scan for viruses, but as far as I can tell never actually finds anything.
Caution, these directions have you editing the Registry. They do not tell you how to do so, but tell you what keys to delete. Deleting the wrong keys can severely mess up your computer! If you are not comfortable doing this, take your computer to someone who is.
First Step is to go into Task Manager and kill ppn.exe
Then in your registry delete the following keys:
HKEY_USERS.DEFAULTSoftwareMicrosoftInternet ExplorerBrowserEmulation “TLDUpdates” = ‘1’
HKEY_CURRENT_USERSoftwareClasses.exeshellopencommand “(Default)” = ‘”%LocalAppData%kdn.exe” -a “%1” %*’
HKEY_CURRENT_USERSoftwareClassesexefileshellopencommand “(Default)” = ‘”%LocalAppData%kdn.exe” -a “%1” %*’
HKEY_CLASSES_ROOT.exeshellopencommand “(Default)” = ‘”%LocalAppData%kdn.exe” -a “%1” %*’
HKEY_LOCAL_MACHINESOFTWAREClientsStartMenuInternetFIREFOX.EXEshellopencommand “(Default)” = ‘”%LocalAppData%kdn.exe” -a “C:Program FilesMozilla Firefoxfirefox.exe”‘
HKEY_LOCAL_MACHINESOFTWAREClientsStartMenuInternetFIREFOX.EXEshellsafemodecommand “(Default)” = ‘”%LocalAppData%kdn.exe” -a “C:Program FilesMozilla Firefoxfirefox.exe” -safe-mode’
HKEY_LOCAL_MACHINESOFTWAREClientsStartMenuInternetIEXPLORE.EXEshellopencommand “(Default)” = ‘”%LocalAppData%kdn.exe” -a “C:Program FilesInternet Exploreriexplore.exe”‘
HKEY_LOCAL_MACHINESOFTWAREMicrosoftSecurity Center “AntiVirusOverride” = ‘1’
HKEY_LOCAL_MACHINESOFTWAREMicrosoftSecurity Center “FirewallOverride” = ‘1’
Lastly delete the following files:
Reboot your computer and everything should be gone.
Again, if you’re not comfortable editing registry files, please take the computer to someone who is.
How To: Remove Skype Spyware
These directions are for Windows 7 specifically but should work for XP and Vista also.
First, Open your task manager and delete any processes that have to do with Skype and Easybits. There should be at least three total, and they should be pretty obvious.
Go to the following directories:
C:/Program Files (x86)/ (And/or C:/ProgramFiles/ depending on your Win ver)
Delete anything named ‘EasyBits’ or ‘go’ in these directories. Tip: Go to C:/ and put everything in ‘Date’ order. Now manually search through every folder that was last edited today. (Or the day you got the spyware if known)
Uninstall Skype using Revo Uninstaller and reinstall Skype when it’s been patched and fixed.
Then in Start search ‘regedit’ and allow it when it prompts you. Now under ‘HKEY_CURRENT_USER’ find ‘Software’ and then EasyBits Go and delete it. Be careful in regedit though, delete EasyBits and quit it.
Now download ‘CCleaner‘ and run the cleaner. When the cleaner is finished, go to the Registry tab and click ‘Scan for issues’. When it’s finished scanning, click ‘Fix selected issues’. When it prompts you to create a backup of your registry, click No. When it’s finished fixing them all, scan for issues again and repeat this until no more issues show up.
Digital Protection Malware virus
There is a new major malware virus going around right now. This one is “Digital Protection” and infects computers after the user gets one of those pop-ups that says “You have a virus!”
The odd thing about this one is that it’s also taking over the Windows Updater program, so it can’t be used to download new security patches and fixes from Microsoft.
It’s also loading itself multiple times into the Windows registry. Below are step by step instructions on how to remove it. http://www.geekstogo.com/forum/Removal-instructions-Digital-Protection-t274218.html
This is a nasty removal process so if you’re not familiar with editing the Windows registry, I highly suggest you take this somewhere professional.