The platform Brilliant Directories designed offers many features (dynamic or static) for using and manipulating SEO settings, variables, relating SEO data and more. All of this can change depending on many factors, so with all of this moving parts, it is hard to keep track on which SEO variables are used on each individual page, on each individual membership feature, on each content page, on each default or customized member profile, search result, event, photo or photo album, article and more. The system was build in a way that it offers you multiple ways of customizing each individual part of the system, giving you the freedom to make many changes and adapt the system to your needs. 


Not all SEO variables are used in specific pages, even more, some only exist on very specific places because they depend on the page type (eg: Content, data_category, account, etc...). This would create a very difficult situation if you want to start working on your SEO settings in an advanced way, even if by default many SEO variables are correctly handled.


For example, there are 3 levels of SEO you can use in regards to Members. The top most SEO level would be the SEO Templates found under the Content option in the Custom SEO Settings as shown in the image below. Here you can change the overall SEO template for all members, categories, pages and more of your site that use it. This affects the whole system.



The following SEO level is the Page SEO Settings. This will affect the SEO for that specific page and any data inside of it, be it members, features and more. This only affects anything inside that page. The Page SEO has higher priority than the SEO Template.



Lastly you have the Member SEO Settings. This will only affect that specific member. For example, how their profile page looks, what SEO settings they have working or disabled, even their custom URL (eg:http://www.mysite.com/united-states/florida/carpenters/steve-wonders could be changed to http://www.mysite.com/stevewonders etc.. The Member SEO has higher priority than the Page SEO and the SEO Template.


With this information I can also add that, by changing the profile SEO template, it will also change for old and new users. If you see it does not work correctly, I recommend clearing the cache of your site by clicking on the Update Site link on the top right corner of your admin panel.



The Cache is used to speed up website loading for all your visitors and members. Clearing this, will make it re-read all your SEO settings instead of waiting the normal time of about a day.


Last tip is that all SEO variables shold be encapsulated inside the Percent sign "%".  So this is correct %full_name%, but this is not full_name.


This is because All SEO variables on the system are handled with the %% metacharacters.


You can find more information about SEO variables with this excellent post about SEO Settings 


With this in mind, we now know how hard it is to keep track on which SEO variables are used on a specific part of the system, so we have created a small code that can be run from any widget on a site in order to show all popular SEO variables used on that part of the system and the values they are handling. This will make you development and customization better, since you would know what you can change, for example, before sending information to Facebook, Twitter, G+ and more. It will also make your life easier and lower the time needed to develop when handling dynamic pages. The list will be updated every time new SEO variables are added, so you will be up-to-date with the SEO.

   

<?php
// The code will check for many SEO variables used on a specific site. We recommend adding this code at the end of the Widget Code Box in the "Website - Main Footer Scripts" Widget
$seovarchecks = array("ABOUT" => "%about%", "ACCOUNT" => "%account%", "BLOG_FILENAME" => "%blog_filename%", "BLOG_NAME" => "%blog_name%", "BREADCRUMB" => "%breadcrumb%", "BREADCRUMBS" => "%breadcrumbs%", "CATEGORY" => "%category%", "CITY" => "%city%", "CITY_FILENAME" => "%city_filename%", "CITY_NAME" => "%city_name%", "COMPANY" => "%company%", "COMPARE" => "%compare%", "CONSULTATION" => "%consultation%", "CONTENT" => "%content%", "COUNTRY_FILENAME" => "%country_filename%", "COUNTRY_NAME" => "%country_name%", "COUNTY_FILENAME" => "%county_filename%", "COUNTY_NAME" => "%county_name%", "DATA_CATEGORY" => "%data_category%", "DATA_FILENAME" => "%data_filename%", "DATA_NAME" => "%data_name%", "DATA_POST" => "%data_post%", "DATA_TYPE" => "%data_type%", "FACEBOOK_DESC" => "%facebook_desc%", "FACEBOOK_IMAGE" => "%facebook_image%", "FACEBOOK_TITLE" => "%facebook_title%", "FIELD" => "%field%", "FILENAME" => "%filename%", "FORM_NAME" => "%form_name%", "FULL_NAME" => "%full_name%", "GETMATCHED" => "%getmatched%", "GROUP_DESC" => "%group_desc%", "GROUP_FILENAME" => "%group_filename%", "GROUP_ID" => "%group_id%", "GROUP_NAME" => "%group_name%", "H1" => "%h1%", "H2" => "%h2%", "HOME" => "%home%", "INDUSTRY" => "%industry%", "KEYWORD" => "%keyword%", "LEAD_COUNTRY" => "%lead_country%", "LEAD_ZIP" => "%lead_zip%", "LOCAL" => "%local%", "LOCATION" => "%location%", "LOGIN" => "%login%", "MARKETING" => "%marketing%", "MARKETING_TIPS" => "%marketing_tips%", "MEMBER_TYPE" => "%member_type%", "META_DESC" => "%meta_desc%", "META_KEYWORDS" => "%meta_keywords%", "NAME" => "%name%", "NEWS" => "%news%", "NEWS_PROFILE" => "%news_profile%", "NICKNAME" => "%nickname%", "PAYMENT" => "%payment%", "PHOTO_FILENAME" => "%photo_filename%", "PHOTO_GROUP_PROFILE" => "%photo_group_profile%", "PHOTO" => "%photo%", "PHOTO_PROFILE" => "%photo_profile%", "POST_CAPTION" => "%post_caption%", "POST_FILENAME" => "%post_filename%", "POST_TITLE" => "%post_title%", "PROFESSION_FILENAME" => "%profession_filename%", "PROFESSION_NAME" => "%profession_name%", "PROFESSION" => "%profession%", "PROFILE" => "%profile%", "PROFILE_SEARCH_RESULTS" => "%profile_search_results%", "PUBLISH_DATE" => "%publish_date%", "QUOTES" => "%quotes%", "REVIEW_DESCRIPTION" => "%review_description%", "REVIEW_FILENAME" => "%review_filename%", "REVIEW_TITLE" => "%review_title%", "SEARCH" => "%search%", "SECTION" => "%section%", "SEO_TEXT" => "%seo_text%", "SEO_TYPE" => "%seo_type%", "SERVICE_FILENAME" => "%service_filename%", "SERVICE_NAME" => "%service_name%", "SERVICE" => "%service%", "SERVICES" => "%services%", "STATE_FILENAME" => "%state_filename%", "STATE_NAME" => "%state_name%", "SUBSCRIPTION_FILENAME" => "%subscription_filename%", "SUBSCRIPTION_NAME" => "%subscription_name%", "TITLE" => "%title%", "TOUR" => "%tour%", "TRADE" => "%trade%", "TYPE_FILENAME" => "%type_filename%", "TYPE_NAME" => "%type_name%", "UPDATED_BY" => "%updated_by%", "URL" => "%url%", "VENDORTOUR" => "%vendortour%", "WEBSITE_NAME" => "%website_name%", "WEBSITE_URL" => "%website_url%", "ZIP_CODE" => "%zip_code%");
echo "<h1>SEO VARIABLES</h1>";
if (isset($page[template_id])) {
    echo '<br><h2>The Page Template is "'.$page[template_id].'" with a SEO Page Type of "'.$page[seo_type].'"</h2><br><br>';
}
foreach ($seovarchecks as $key => $value) {
        echo "The value for $key is: $value <br>";
}
?>

   

To use this code on all your site pages go to your Backend Dashboard -> Widget Manager and in the widget search box look for Footer Scripts. You should see in the results Website - Main Footer Scripts. Customize this widget and edit the content of it. Paste at the end of the Widget Code box the code mentioned above and save. Now go to any page on your site and you should see something like this:



This shows all SEO variables and the value they hold on a specific page. If you see for example the variable format like %breadcrumbs% like on the first line, there is no actual value assigned to it yet. The same applies if the value is completely empty. When the SEO variable is being used, you should see it similar to the SEO variables on line 5 and 6 which show Chelmsford and company as values. This mean,s you can change this values for any other on that particular page.


So with this in mind, here are the simple rules to know when a SEO variable is used or not on a certain page:


1. If the SEO variable points to the name of the variable (eg: The value for CITY is : %city% ) it is not used on that page

2. If the SEO variable points to an empty string (eg: The value for CITY is:  ) then the value is used but at that moment is empty.

3. If the SEO variable points to some string (eg: The value for CITY is: Detroit) then the value is used on that page and it is showing what string it holds.


NOTE - This answer will be enhanced later on while we keep on expanding on it and making it as easy as possible to be able to work on the SEO system on your site.