OpenRealty Duplicate Content and 404 URL Tip

Posted on September 30, 2009
Filed Under Open Realty Tips, Real Estate Websites | Leave a Comment

How to avoid a mishap in your design by forgetting a pair of simple steps.

First I’d like to say that these are NOT Errors in OpenRealty and they are not bugs. So its important to keep that in mind. These tips are really about how to avoid it happening in the event you don’t pay special attention to a few key features.

After working on an MLS project in the SOCAL market (Southern California) for a guy many many months ago we were pleased at how well the Joomla / OpenRealty site came together in terms of presentation and ease of user interaction with the clean interface.  After many months however there was this persistent issue of duplicate content and literally thousands of 404’s. These things can present a nasty little problem with your efforts to actually rank well for “Long Tail” terms with those listings. What was happening and how could we fix it?

First lets deal with the 404s in your OpenRealty site.

The 404’s are sometimes a reality of MLS empowered sites for good logical reason. Listings that get populated by MLS data tend to change with frequency and unless the market is completely dead, properties do in fact sell. When they sell they get either removed from the project website or they get marked as sold. Now, depending on the MLS rules, some will not allow you to show properties that do not have the status of active or pending. This would then automatically rule out the option of leaving the listing and showing it as simply “Sold”.  In our case this was true and we can only show what SOCAL allows to be shown so we had to deal with the absence of listings that were indexed and then no longer available.

The way to handle isn’t really that complex because OpenRealty makes it possible in the way the site can be structured.  It involves the creation of a 404 page in your OpenRealty content editor that you simply title and provide a nice SEF URL name to, lets say we simply call it notfound.html which if your sef settings are set to “Search Engine Friendly” should net you page-notfound.html.  Keep this in mind because you can do this for all your error pages as you will see how this comes together in a moment.

Next you will want to edit your htaccess file that comes with OpenRealty to include the following;

ErrorDocument 400 /page-badrequest.html
ErrorDocument 401 /page-authorization-required.html
ErrorDocument 403 /page-forbidden.html
ErrorDocument 404 /page-notfound.html
ErrorDocument 500 /page-servererror.html

Again, keep in mind that the names of those files are actually OpenRealty pages. This serves you well by structuring the the site with a few important feature requirements. First, it makes your error pages consistent with your design, and second it allows you to add custom content relevant to some action that the user / visitor can take.

The next step follows a nifty little feature that OpenRealty has and that is custom main.html templates which you can rename followed by the page ID.  It works like this;  IF your 404 page is page ID 7 then you create a duplicate copy of your main.html and rename it page7_main.htm then in the header area of the new page you want to put in the meta tags for the no follow no index like so;

<meta http-equiv="cache-control" content="no-cache" />
<meta name="robots" content="noindex,follow" />
<meta name="googlebot" content="noarchive" />

When a bot encounters the 404 page, it is told to not index, not follow and to not archive. So if you end up at say http://www.openrealty-website.com/this-cool-page-is-missing.html for instance the URL should remain even though the 404 page is actually displayed.

Now we deal with a potential issue of duplicate content.

We noticed that in some OpenRealty themes on the market, the link for adding listings to your favorites, in either the search results or the listing details has a URL is NOT set to rel=”nofollow”.  This is however NOT an issue if you remember to use the correct {check_member} tags OpenRealty demonstrates by default. Now the fact that this escaped my attention for so long annoys me greatly because I normally check every link to verify how its being used and what it actually leads to before calling a project done.  Taking for granted that I was using an OpenRealty tag like {link_add_favorites} without the much needed {check_member} just embarrassed me. It didn’t register that I should examine those links because they were for internal features not pages or content per se.  But I was wrong in letting it escape my attention because this tag for adding listings to favorites does little more than set the feature for your bookmarking and simply reloads the same page.  See why it was a problem? I’ll show you by example with the report generated by our SEO tools, what you will see is ;

Pages with duplicate meta descriptions,Pages with duplicate content
This Orange County Residential property is located in San Clemente California 2205 Via Iris and is l,

http://www.thedomain.com/realestate/index.php?action=addtofavorites&listingID=96280796

| http://www.thedomain.com/realestate/listing-san-clemente-california-2205-via-iris-96280796.html

Both the URL to the listing and the URL to the “index.php?action=addtofavorites” is showing duplicate content and duplicate meta data. This fix is exceptionally easy however. OpenRealty provides an alternative tag that can be used where I could correct this which is {link_add_favorites_url} and its use would look something like;

<a href="{link_add_favorites_url}" title="Add To Favorites" rel="nofollow">Add To Favorites</a>

It quite literally should look like this but not in our situation. I’ll explain in the special note below.

{check_member}
{link_add_favorites}
{/check_member}


Important Note About This Post
Because of the {check_member} tags google should not even be able to see the add to favorites but we setup a provision in this particular site for google to bypass the registration process in part because we have the site set to allow for three searches prior to requiring you to register. We allow google to get right past that. But how? A small moded addon and the use of sessions to control the functionality. In your situation you are NOT likely to encounter this unless you leave your option open as we did.

OpenRealty Project Snippets

Posted on September 30, 2009
Filed Under Code Snippets, Open Realty, Open Realty Tips | 2 Comments

Have you heard the saying “you are so ugly, you have to hang a pork chop around your neck to get the dog to play with you”.  Well, I don’t know that I’m ugly and I’m pretty sure I don’t want the dog to play with me but I do have the pork chop necklace and in this case it represents all the years of code snippets development for WordPress and OpenRealty.  Hanging the pork chop around the neck in my case is motivated by link bait, plain and simple.  I spent hours upon hours cleaning up the development of dozens of code elements in my OpenRealty demo in the past week as a result of our efforts for WP Realty 2.0 and I’ve decided to publish this inventory of code snippets as a contribution to OpenRealty users.

As you may have noticed I’ve published a handful that have had recent uses in projects but I’ll extend this a great deal by publishing all of my code snippets. Also, for those that follow the blog, before someone concludes that I’m no longer pursuing OpenRealty in lieu of WP Realty, know this.  I’ve always wanted to contribute and take part in advancing OpenRealty but I’m not cool enough to be a member of the “OpenRealty Good ole boys club” So, I’ll simply say that my motive isn’t abandonment, its contribution to OpenRealty users. Oh yeah, and link bait is a second motive.  So if you blog, link back to the posts, I’ll extend the favor of doing the same and I’ve added the DO FOLLOW snippet to my existing theme for comments. Link bait is important and so is contribution to the OpenRealty users abroad.

My blog sucks, the design stinks, the typography is retarded and no one can find any of the files I distribute or share including the 32 (+1 potential) Plugins and Addons we publish. So after this work week is done I’ll be applying my theme in its raw format which will be a design in process. It will change as I add features and design changes. This could be dangerous some say in search engine rankings because the changes could overtly affect the way data is navigated to. This is true to some point. The URL’s wont change but the structure most certainly will. After applying the new design, the publishing of all those code snippets begins. Enjoy!

Recovering OpenRealty Admin Access

Posted on September 29, 2009
Filed Under Code Snippets, Open Realty, Open Realty Tips | 6 Comments

Recovering or Creating The OpenRealty Password When All Else Fails.

OpenRealty like many applications has a built in feature for recovering your password in the event that you forget it. Recovering your OpenRealty password is little more than just typing in your email address and clicking submit. Naturally this all works fine and dandy if you still have access to the required email account you used in the OpenRealty configuration for your admin account. But what happens when you don’t have access to the email account and you simply can’t log into OpenRealty? Here is a case in point.

Many months ago, I built a 5 pack theme set for an OpenRealty client of mine and after he had spent a great deal of time on his demonstration install he had no real reason to log in now that it was completed so after months passed by, the password slipped his mind. Making matters worse the email account used during the configuration wasn’t accessible either. My initial thought was to use phpMyAdmin and simply paste in the encrypted password for “password” and be done with it. Go figure there was no such thing as phpMyAdmin on his hosting account. It happens, not often but it happens. This guy really didn’t want to lose the sample data and other things necessary for his demos. Here is what I did.

I created the php file, uploaded to the root of his OpenRealty install via FTP and navigated to the script to generate the account. That was it. Here is the script! It will create an account “ADMINISTRATOR” with the password of “password” each of which is case sensitive. Once created, be sure to make modifications to your account prior to continuing and then DELETE the file to save yourself from headaches down the road later.

But you might ask, why bother with creating a new account when we could simply reset the account to password? Well the very small script at the very bottom of this post will do just that. Upload and access it the same way you would if you were creating the new account.

This one resets the existing admin account password to “password”.

[snippet missing]

This one generates a new account.

<?php
/*
@ Copyright: (c)2008 - 2009 Jared Ritchey Design, All Rights Reserved.
@ Author URL: http://www.jaredritchey.com
@ Author Email: jared@jaredritchey.com
@ Usage: Used to create an admin account in OpenRealty
@ License: GNU/GPL
*/
//////////////////////////////////////////////////////////////////////////////////////////
// THIS SCRIPT WILL CREATE the account with ADMINISTRATOR / password
//////////////////////////////////////////////////////////////////////////////////////////
require_once('include/common.php');
require_once('include/misc.inc.php');
global $config;
$tablepref=$config["lang_table_prefix"];
$link = mysql_connect($db_server, $db_user, $db_password) or die("Could not connect : " . mysql_error());
mysql_select_db($db_database) or die("Could not select database");

// This password is "password"
//5f4dcc3b5aa765d61d8327deb882cf99
$sql= "INSERT INTO " . $config['table_prefix'] . "userdb VALUES
				('1000',
				'ADMINISTRATOR',
				'admin@yourdomain.com',
				'Jared',
				'Ritchey',
				'',
				'5f4dcc3b5aa765d61d8327deb882cf99',
				'yes',
				'yes',
				'yes',
				'yes',
				'yes',
				'2009-09-26',
				'yes',
				'yes',
				'2009-09-26 8:20:49',
				1,
				'yes',
				'yes',
				'yes',
				'no',
				'yes',
				-1,
				'yes',
				'yes',
				'yes',
				'yes',
				'yes',
				'yes',
				'yes'
				)";
		mysql_query($sql);
die("Your admin account was added - be sure to make modifications to your account prior to continuing and DELETE this file.");
?>

OpenRealty Weekly Tips

Posted on June 18, 2009
Filed Under Open Realty Tips | 4 Comments

I’ve added a new category today to my blog where I’m going to write a tip of the week for OpenRealty users which will began as a jumping off point for a different type of documentation I have in the works. I like OpenRealty, always have and likely always will. While OpenRealty is a pretty good product used by thousands and thousands of website owners, agents, brokers and the like, I think many end users generally follow a pretty basic approach when publishing using the product. What I’ve been doing over the years is making OpenRealty behave differently and in unique ways without the need for core modifications, hacks, addons, or by needing complex php code to make it dance like we want.

In my previous post I dropped in a quick tip about adding HTML Markup to the details fields in some instances when creating or editing listings features. Although this is very mundane and rather basic, its none the less a rather easy to implement tip that can have substantial display and presentation benefits when rendering content. I’ve been adding HTML markup to agent details fields for some time now and by simply including links, markup and even some header tags, we can dress up the agent details page with very little effort. These are the types of things I’m going to present to you in my weekly articles under this new category. I have my brand spanking new theme done and ready to apply which was designed to enhance my posts in the future with better, cleaner, and easier to read content. Now that I’ve updated my SlideShow Pro license, dropped in my newest extensible options panel and will be including live examples of all of my 22 FREE add-ons and plug-ins, this will be a nice feature where I can give support and tips for the products I develop with.


TEMP CODE: GDHXCDX17249629