WordPress SEO, CMS Configurations
WordPress can be used as a content management system (CMS) allowing you to add and edit all of your website pages without any technical knowledge. It can also be used to create sites that fully adhere to current search engine optimization (SEO) techniques. It was originally created as a Blogging tool, but later added general page editing capabilities and is now one of the premier open source content management systems.
Page Contents
- Set A WordPress Static Page As Your Home Page
- SEO, Usability WordPress Plugins
- Ensure SEO Friendly Urls – Permalinks
- Image SEO Optimization
- Compress All Page Content to Speed Page Load Times
- Optimize Ping Services List
- Edit .htaccess File
Set A WordPress Static Page As Your Home Page
One of the first steps in using WordPress as a CMS is to make a static page your website home page. Here is what you need to do:
- Create a static page that you will use as your home page. To add a new static page, login to WordPress then click the menu tabs Pages > Add New. Once you are on a new page you can edit all page properties and page content.
- Save and publish the static page you just created.
- Click the menu items Settings > Reading
- In the ‘Front page displays’ section for Front page select the page you just created as the homepage for the site.
- Click the Save Changes button.
SEO, Usability WordPress Plugins
The following free WordPress plugins are a minimum configuration for a highly SEO optimized WordPress installation.
Headspace2
This plugin handles all of the SEO page attributes you’ll need SEO and contains a kitchen sink worth of other tools:
http://wordpress.org/extend/plugins/headspace2/
You need it.
If you are creating a custom theme then the following header and footer code is required for this plugin to work:
you must use the wp_head() WordPress function in your tag to make this work. Here is a proper call to this function:
<?php wp_head(); ?>
you'll also need the title php call as shown here:
<title><?php wp_title(''); ?></title>
Note the apostrophes in the parentheses.
at the very end of your footer.php page you have to have the code:
<?php wp_footer(); ?>
This is the Page Modules tab of the Headspace configuration. Make sure these modules are enabled as shown in this screenshot.
404 Notifier
This plugin sends you an email every time a 404 error happens on your website or Blog. It is important to correct these 404 issues in your .htaccess file or by placing missing files back into your website. Removing all 404 errors makes for more effective search engine indexing and better search engine exposure.
http://alexking.org/projects/wordpress
Google XML Sitemaps
This plugin creates the essential Google sitemap.xml and pings the search engines once it is updated.
http://www.arnebrachhold.de/redir/sitemap-home/
For optimal website exposure you should add all of the most important ping sites.
Redirection
Redirection is a WordPress plugin to manage 301 redirections, keep track of 404 errors, and generally tidy up any loose ends your site may have. This is particularly useful if you are migrating pages from an old website, or are changing the directory of your WordPress installation.
http://urbangiraffe.com/plugins/redirection/
Robots Meta
By Joost de Valk (http://www.yoast.com) this plugin (and the correct settings) will ensure you don’t have duplicate data all over your website.
http://yoast.com/update-to-robots-meta-plugin/
Make sure to check these settings, the others are up to you:
This site’s search results pages
The login and register pages (see note in the plugin)
All admin pages
See plogin notes on author archives, date-based archives, category archives and tag archives
Configurable Tag Cloud
Allows you to configure text sizes, colors, order, randomization. A great aesthetic touch.
http://wordpress.org/extend/plugins/configurable-tag-cloud-widget/
WP-Print
Displays a printable version of your Blog post or page. You can create your own CSS file to render the page as desired.
http://lesterchan.net/portfolio/programming/php/
Tiny MCE Advanced Editor
Takes the TinyMCE default WordPress editor to the next level. You need this. It has configurable toolbars and extra tools that allow you to do a lot more than the basic default editor.
http://wordpress.org/extend/plugins/tinymce-advanced/
WP Super Cache
Very fast caching plugin for WordPress. Generates WordPress static html files from your original dynamic files. After a html file is generated your webserver will serve that file instead of processing the comparatively heavier and more expensive WordPress PHP scripts.
http://wordpress.org/extend/plugins/wp-super-cache/
ENSURE SEO FRIENDLY URLS – PERMALINKS
One of the reasons we use WordPress is to have an SEO friendly site out of the gate. In order to make sure WordPress is configured correctly do the following:
- log into the WordPress admin
- click the Settings > Permalinks menu option
- Under Common Settings select Post Name. This will automatically add a string like this to the textbox below it
/%postname%/
This will result in URL’s like this:
http://www.mysite.com/how-to-configure-permalinks/wordpress-options
Here is more information on the subject of custom permalinks:
http://codex.wordpress.org/Using_Permalinks
Before adding any WordPress content test the default About static page by clicking the menu options Pages > Edit then click the About page title. Run the mouse over the Preview button to see the URL for the page. If the URL is something like http://www.mydomain.com/id=123 then you have to change the settings as described above.
Image SEO Optimization
You always want to make your images as descriptive as possible. This is what you should do every time you upload an image:
- Name the image according to what it is about, ideally using your targeted keywords.
- Complete the Title field. You should add descriptive and keyword oriented text to it since it becomes the image alt tag which is important for SEO.
Compress All Page Content to Speed Page Load Times
When PHP delivers a page it first processes the PHP code then places all page content into a buffer just before delivery to the browser. You can zip this content up before delivery and speed up page load time dramatically. This is import ant to SEO since if the search engine spider (bot) has to wait too long it will leave before your content is placed into their database.
More description of this process can be found on this page:
http://www.webcodingtech.com/php/gzip-compression.php
Put this code at the very top of your header file, above all content other content:
<?php
// function to zip every page before sending. See the 2 footer files for the call to this function.
// from <a href="http://www.webcodingtech.com/php/gzip-compression.php">http://www.webcodingtech.com/php/gzip-compression.php</a>
function print_gzipped_page() {
global $HTTP_ACCEPT_ENCODING;
if( headers_sent() ){
$encoding = false;
}elseif( strpos($HTTP_ACCEPT_ENCODING, 'x-gzip') !== false ){
$encoding = 'x-gzip';
}elseif( strpos($HTTP_ACCEPT_ENCODING,'gzip') !== false ){
$encoding = 'gzip';
}else{
$encoding = false;
}
if( $encoding ){
$contents = ob_get_contents();
ob_end_clean();
header('Content-Encoding: '.$encoding);
print("x1fx8bx08x00x00x00x00x00");
$size = strlen($contents);
$contents = gzcompress($contents, 9);
$contents = substr($contents, 0, $size);
print($contents);
exit();
}else{
ob_end_flush();
exit();
}
}
// call to set up the content zipping
ob_start();
ob_implicit_flush(0);
// Then do everything you want to do on the page
?>
Put this code at the bottom of your footer file, below all other content:
<?php
// Call this function to output everything as gzipped content.
print_gzipped_page();
?>
Optimize Ping Services List
When you create new static page content or blog posts you want WordPress to notify the search engines of your new content. This is done using a plugin and WordPress’ built-in pinging capability.
To use this you need to let WordPress know what sites to ping when the new content is added. The most current list can of sites to ping be grabbed at:
http://www.instant-info-online.com/wordpress-compressed-all-inclusive-ping-list.html, and you should get the latest list due to sites and services terminating periodically.
At the time of this writing this was the list of sites:
http://rpc.pingomatic.com
http://www.blogpeople.net/servlet/weblogUpdates
http://ping.myblog.jp
http://ping.bloggers.jp/rpc/
http://bblog.com/ping.php
Copy and paste these sites into your ping list for optimal dispersion of your posts and pages. You can get there through the menu items:
Settings > Writing > Update Services
Do the same in the Settings > MBP Ping Optimizer, URI’s to Ping box.
Also on this page set the Enable Pinging checkbox to unchecked until you have content that you want to send to the search engines.
Edit .htaccess File
The .htaccess file in the root folder of your website is a sophisticated tool allowing you fine control over how Linux servers process pages on your website. Note that this is a fairly technical subject and should be done by an individual that feels comfortable writing scripts and programming. Back up the .htaccess file before you do any editing as incorrect settings can take your website down.
Start by making it writable. This can be done using your FTP client. Set its permissions to 644. More info on this can be found here:
http://codex.wordpress.org/Changing_File_Permissions#.htaccess_permissions
If the .htaccess file can’t be written by wordpress then you must edit it yourself after you change the Permalinks setting. After each Permalinks setting change there is a note at the bottom of the page with the correct text to add to the .htaccess file.
An .htaccess file can reside in every folder of your website. The one in your root folder controls the entire site – unless it is overridden by the file in a sub-folder that controls that sub-folder and all of it’s sub-folders.
The 3 configurations below accomplish the following:
start domain redirects – this section redirects from an old page to a new page using an SEO friendly redirect You’ll need one instance for each page you want to redirect.
redirect domain.com to www.domain.com – this ensures that your website is addressed uniformly and is an indicator for the search engines to lump all references to the website to use the www reference. This ensures you’ll get SEO credit for all backlinks instead of diluting these backlinks across different addresses.
disable directory browsing – corrects a WordPress bug that allows people to browse various directories on your server.
=========================================
# start domain redirects
Redirect 301 /domain/old-page.php http://www.domain.com/new-page/
# redirect domain.com to www.domain.com
# RewriteCond %{HTTP_HOST} ^domain.com [NC]
# RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]
# disable directory browsing
Options All -Indexes
=========================================
Note that when adding these items to your .htaccess file you need to change domain to your own domain and they should all be added after this line in the file:
# END WordPress
If you don’t do this then your changes will be overwritten by WordPress.
If you have problems configuring the .htaccess file (it is not a simple subject) then refer to this resource:
http://www.javascriptkit.com/howto/htaccess.shtml
WordPress Security Measures
The .htaccess edits mentioned above stop people from browsing your WordPress directories so that is a start.
Next, you’ll want to get WP Padlock Pro. This product only allows access to your WordPress blog from your own IP address thus filtering out most of the possibilities used by unscrupulous hackers.
Lastly we recommend that you review and implement the hardening WordPress security guidelines from the WordPress organization themselves, and these WordPress security tips and hacks.