Ten things you should do when using Concrete5 CMS

Posted in February 2012 by under concrete5

Concrete5 CMS does a lot right. These ten tips will help you ensure your site is even better.

Use pretty URLs

Whether you think pretty URLs help with SEO or not, most people seem to like them and it is easy enough to turn pretty URLs on in Concrete5 CMS in the control panel.

"To enable Pretty URLs, login to your concrete5 instance as the Admin user, and goto Dashboard > Sitewide Settings. There's an option on the right of that page which you can turn on. You may also have to create a .htaccess file on your sever for this to work right, the Dashboard will provide the details for that file."

Something to be aware of is that navigation links wont use the pretty URLs by default, so you will need to force this in the configuration file config/site.php by adding the line

define('URL_REWRITING_ALL', true);

Redirect www URLs to non-www URLs

Having the same content on two URLs can cause problems with duplicate content.

Most people agree you should redirect www pages to non www pages ( or vice versa ). This requires you to add the following ( please change example.com to the domain of your site ) to your .htaccess file

# Rewrite www to non-www
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.example.com [NC]
RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]

Make sure your 404 page sends a 404 status

The 404 page in Concrete5 CMS returns status "200 OK", which means search engines will index these as pages, and as the content is always the same, you may get penalised for duplicate content.

To make the 404 page send a status "404 Not Found" copy the file concrete/single_pages/page_not_found.php to single_pages/page_not_found.php.

Edit single_pages/page_not_found.php and add

<?php header("HTTP/1.0 404 Not Found") ?>

after the line that reads

<?php defined('C5_EXECUTE') or die("Access Denied."); ?>

Connect your site to market place

By creating and account with Concrete5 Community you can connect your site to the marketplace.

This allows you to seemlessly add themes and addons from your dashboard. It really opens up Concrete5 CMS to meet its full potential.

Change the order that the page name and site name appear in the page title

The order in which site name and page name appears in the title tag may effect SEO. In Concrete5 CMS the site name appears first, then the page name.

If you want it to be the other way around you need to copy the file concrete/config/base.php to config/base.php and edit config/base.php.

Find the lines that appear as

if (!defined("PAGE_TITLE_FORMAT")) {

        define('PAGE_TITLE_FORMAT', '%1$s :: %2$s');

and switch the %1$s and %2$s around.

Stop the site name being the h1 tag of every page

Like the title tag, the h1 tag is important to your SEO efforts and each page should have exactly one h1 tag. Many themes in Concrete5 CMS put the site name in h1 tags. You will have to change this in the PHP files in your theme that contain the header content.

These are usually path/to/theme/elements/header.php and path/to/theme/elements/full_header.php but it depends on the theme.

Remove login link from footer

There is little benefit in advertising on your site that it is possible to log in by having a login link on the footer. You can remove the link by editing path/to/theme/elements/footer.php

Stop your login page appearing in search results

It may be a good idea to prevent search engines indexing your login page. To do this add

Disallow: /login

To the robots.txt file in the document root directory.

Schedule jobs

Your site should have a sitemap.xml file. Concrete5 CMS will create one for you and keep it updated even as your site changes.

You may also want to automate tidying up file, processing emails and running jobs required by additional addons. You can find instructions on how to set this up in the dashboard under "System and Maintentance".

Add analytics

Whilst you can see how many visits your site has had in the statistics pane, you cannot get any meaningful analysis of you site without using some form of analytics. There are many solutions out there, probably the most well known being Google Analytics.

Once you have set up your account you will be given some tracking code to put into each page on your site. Concrete5 CMS makes this easy to do and you can just paste the code into the "Tracking Code" field on the "Sitewide Settings" page of the dashboard.