SEO Page Explorer Launched

Late last night, the SEO Page Explorer launched. This is an SEO tool specifically designed to give you on-page SEO details. It compiles data from the Lynx browser, number of links on the page going to an external domain, number of links going to an external domain, number of hidden links, HTTP header details and more. All in one place. The tools is simple, and effective. I built it to combine all the things that you look at first, when starting SEO on a site. Using a tool like this, will significantly reduce the amount of time spent to find meta tags, or the HTTP status. Its all right there for you. Super simple, very easy. check it out: http://www.seopageexplorer.com/

0-Sized Chunk Causes Chrome Pages to Partially Load

This week I learned of a crazy bug in apache.

The Symptoms:

The bug was noticed when a group of pages started to half load in chrome (all other browsers seem unaffected). When a user views the source of the page, they’ll see the entire source, as if nothing was wrong. We also noticed the pages disappearing from Google’s index. Upon further investigation, I found that visitors with an empty cache will get the entire page, as if nothing is wrong. Then on their next page view, or upon refresh, will only get part of the page rendered.

The Problem and Solution:

The problem was identified by using Fiddler (http://www.fiddler2.com/fiddler2/). For those unfamiliar with Fiddler, its a debugging web proxy that helps you view and debug HTTP traffic. You can view headers sent, recieved, post data sent, and tons more. I noticed that when viewing the pages that half loaded in Chrome, I would get an error mentioning ‘0-sized Chunk’. This only happened on pages that were loading incorrectly, all other pages were unaffected. I originally assumed the problem was with wordpress, as every page on each of the domains suffering from this problem were attempting to load wordpress. After further investigation, I ruled wordpress out.

The problem ended up being Apache. In each of the cases, the Virtual Host in the apache config file for the domain in question was using RewriteRules wtih Passthrough ( the [PT] flag). The PT flag in this case (and every case I’ve ever seen with PT) is a hack to allow post processing. In my case use an alias for a rewrite rule. Heres an example of what I was doing. Keep in mind, this is a valid configuration, and is one of the more common uses of PT:

Alias /public-wordpress-directory /another-directory-somewhere-else/
RewriteCond %{REQUEST_FILENAME}  ^/public-wordpress-directory/
RewriteRule .   /private-wordpress-directory/ [PT,L]

This basically allows you to run wordpress (or any file) in one directory publically, but keep it in a different place. In my case, I was using 1 set of wordpress code, with lots of domains/sites. So I aliased the directory, so each site would have its own DocRoot, as any site would, but would also run wordpress out of a specific directory. Without passthrough, wordpress won’t run, because .htaccess files won’t run outside your document root. So when a request comes in to a post inside the /public-wordpress-directory/ it will get sent to a different folder, and run the index.php (the directory index) which is what fires up wordpress like normal.

The solution, seems too simple for a problem so crazy. Here is the solution:

Alias /public-wordpress-directory /another-directory-somewhere-else/
RewriteCond %{REQUEST_FILENAME}  ^/public-wordpress-directory/
RewriteRule .   /private-wordpress-directory/index.php [PT,L]

That’s right, just index.php was added. For whatever reason (on fedora apache 2.2.1-ish?) sending passthrough to a directory, instead of a file makes Apache send a 0-sized chunk. Changing this to a file, index.php, which it would pick anyway (I have directoryIndex set to index.php) solves the problem.

If you didnt follow all that, just realize that sometimes insanely complex problems have insanely simple, yet illogical solutions. Hopefully this saves someone hours of debugging.

txtFeeder a great way to save money in a tough economy!

Looking for ways to save money? One easy way is to drop that expensive data plan that your wireless provider is charging! txtFeeder.com allows you to read the web via text messages, instead of paying $30/month and up. Its easy, and FREE! Just create an account, and you can read the news, movie reviews, your favorite blog, or whatever you want! One cool new feature is that the service allows you to save notes that you can read online, or on your phone! Theres no reason not to give it a shot!

Sidebar Generator Version 1.1

Ok, So I’ve finally got back to this plugin. I know its been a while, and I’ve got a lot of requests for support for multiple sidebars on one page. Version 1.1 now handles that for you! There is a catch though, after this upgrade, you will need to go and re-associate your pages with your sidebars, as the settings will not carry over. So please, back up your database, and take note of what pages/posts use what sidebar.

Currious about this plugin? See the original post here  Sidebar Generator Plugin or download the Sidebar Generator Plugin

Donations of any size are welcome (see the donate link), along with any comments (see below), or suggestions (see the contact page).

Sidebar Generator Plugin

Now you can create as many sidebars as you need for any page you want. That’s right, page specific sidebars. You can easily seperate your site into sections, or make every single page have page specific content on it. This does not override your current sidebar(s). This only adds sidebars, so if there is a sidebar selected for the page, it will display the generated sidebar instead of your typical sidebar.

Features (Current version: 1.0.1):

  • Generate unlimited sidebars
  • pick a sidebar on a per-page basis
  • unique CSS classes for each sidebar for customizable looks
  • AJAX admin

To install:

  1. download the Sidebar Generator Plugin
  2. unzip and upload into your /wp-content/plugins/ folder.
  3. activate the plugin
  4. update your sidebar.php file (or any file that calls a sidebar) and replace dynamic_sidebar() with generated_dynamic_sidebar()

Screenshots:

Menu Bar

Menu Bar

Admin Screen

Admin Screen

Example:

  • This website is an example. Notice that there are different widgets on each page. The sidebars are completely seperate. Any widget can be added to any sidebar. In this example (for ease of navigation) I’ve included the page widget on every sidebar, to differentiate them, I’ve given them different titles. I also put different text widgets, search widgets and calendar widgets on them. There is no limit to the number of sidebars you can create. If you want to customize the look (by colors, background images, or anything else) a class is given to each sidebar which is labeled in the admin.

Tested on WordPress versions:

  • 2.8.0
  • 2.8.1
  • 2.8.2
  • 2.8.3
  • 2.8.4
  • 2.8.5

Read the web via text messages, don't pay data charges! Join FREE! txtFeeder.com


Apple iTunes Apple iTunes Apple iTunes iTunes: All Your Music, All In One Place