Ahosting Logo
  • Hosting
    • WordPress Hosting
      Fast, secure hosting for WordPress sites
    • Web Hosting
      Reliable, affordable hosting for sites
    • FFMpeg Hosting
      Fast hosting for FFmpeg projects
    • Reseller Hosting
      Start hosting biz with white-label plans
    • VPS Hosting
      Scalable VPS with full control & power
    • Dedicated Server
      High-power servers for max security
    • WooCommerce Hosting
      Fast hosting for WooCommerce shops
  • Domain
    • Register a Domain
      Secure your domain name in minutes
    • Domain Transfer
      Move domains to Ahosting with ease
    • Premium SSL Certificate
      Enterprise SSL to build customer trust
  • Support
    • Submit A Ticket
      Expert 24/7 help from our support team
    • Abuse Report
      Report abuse to keep network safe
    • Knowledge Base
      Quick answers via step-by-step guides
  • Company
    • Blog
      Expert articles to power your online growth
    • About Us
      Learn about our mission, values & team
    • Contact Us
      Contact sales for plans, pricing & advice
    • Datacenter
      Secure, high tech datacenter for hosting
    • Sitemap
      Find info fast with our clear site map
My Account
Ahosting Logo
  • Hosting+
    • Web Hosting
    • WordPress Hosting
    • FFMpeg Hosting
    • Reseller Hosting
    • VPS Hosting
    • Dedicated Server
    • WooCommerce Hosting
  • Domain+
    • Register a Domain
    • Domain Transfer
    • Premium SSL Certificate
  • Support+
    • Knowledge Base
    • Abuse Report
    • Submit A Ticket
  • Company+
    • About Us
    • Contact Us
    • Blog
    • Sitemap
    • Datacenter
  • Legal+
    • Terms of Service
    • Acceptable Use Policy
    • Service Legal Agreement
    • Resource Abuse Policy
My Account

AHosting Blog Home

Five Best Practices For Concrete5 Development

Concrete5 Best Practices

Matt Chrust

Director of Business Development, AHosting Matt has led business development at AHosting since the company’s founding in 2002. He writes about WordPress hosting infrastructure, server performance, and the evolving requirements of WordPress sites at scale.

Last Updated

October 20, 2025
Home » Concrete5 » Five Best Practices For Concrete5 Development

Concrete5 differs from many other content management systems on the web in that it lacks both a template engine and a theme compiler. Instead, all the core components of a site’s layouts are handled behind the scenes – meaning designers have an unprecedented degree of freedom when it comes to customizing how their site looks. As an added bonus, it also makes Concrete5 a fairly simple platform to learn from a development perspective – meaning a fledgling developer can get to work creating their own theme that much faster.

Now, just because Concrete5 theme development is a little simpler, doesn’t mean it’s going to be a cakewalk. There are still certain details you’ll need to understand – and certain procedures you’ll need to follow – in order to find success. Keep these best practices in mind, and you’ll be designing like a pro in no time at all.

Make Sure Your Template Has The Necessary Elements

Unless you plan to code your entire theme yourself from start to finish, it’s generally easier to start things off with a template. There are plenty of free templatesavailable all over the web, so it shouldn’t be too difficult to find one that you like. Just keep in mind that, in order for it to work with Concrete5, it needs the following features(this is true even if you’re creating your own template):

  • Flexibility – the template needs to be able to work with Concrete5’s blocks (see below).
  • An unordered list for the navigation menu, with images rather than plain text.
  • The css file that’s included with the template must be named “main.css.” You can do this yourself.
  • A “default.php” page type – most free themes will have a file named “index.html” which you’ll need to rename.”
  • A “view.php” page type.

Know Your Blocks

As you likely know, Concrete5’s smallest piece of content – and the unit by which virtually the entire system is arranged – is called a Block. This can be just about anything – plain text, an image, a video, an audio file; a Block is whatever content you want to create. When designing a theme, there are a few details to keep in mind regarding Blocks:

  • There are a number of Core Blocks in Concrete5 – but if none of those blocks suit your needs, you shouldn’t be afraid to customize them – or even create your own.
  • One of the first things you should probably do is create a custom template for your Blocks, to allow for easier customization.
  • You can limit the number of blocks a certain area will accept in order to prevent certain areas of your page from being overloaded with content.
  • If you hard-code a Block into a theme, then it won’t be editable – so only do this sparingly (for example, if you’re selling your theme and want to include some sort of watermark on it). For static elements, it’s usually better to use Global Blocks.
  • Of all your Blocks, Page List is your best friend. Familiarize yourself with it.

Set Up A Development Environment For Testing

Once you’ve figured out what template you’re going to use, your next step will be to set up a development environment on your computer. You’ll be using this for both construction and testing of your theme – I’d advise against testing it on a live website. Concrete5’s documentation section has a few awesome recommendations as to what development platform you should use. While you’re at it, you should also follow their recommendation and install firebug.

Use And Reuse – And Keep It Simple

One thing virtually every veteran developer will tell you is that whenever you’re looking to implement functionality that exists outside of the basics, you shouldn’t immediately default to coding it yourself. Particularly if you’re incorporating HTML into your theme, you’re going to want to do a bit of research and see if someone’s already created a module, addon, or code that does what you want to do. I’m not saying you should never code something yourself – only that you shouldn’t do more work than you absolutely need to.

Stay Away From jquery

One fairly common mistake a lot of novices make is to include jquery in their theme. Since Concrete5 already includes the jquery and jquery ui libraries, importing them through your theme will break the editor. It can also make a page completely unreadable – requiring you to go into the database to repair it. So, basically…don’t use jquery when you’re designing your theme. You have been warned.
This is by no means a comprehensive list – as such, we’ll likely be revisiting this topic at a later date. For now, however, this should be enough to get you started. Happy coding, and we’ll be sure to keep an eye out for your theme on the Marketplace!

«Troubleshooting Some Of The Most Common Issues With Drupal
What’s The Difference Between Reseller And Shared Hosting?»

Categories

  • CMS
  • Concrete5
  • Drupal
  • FFmpeg / Video Hosting
  • Joomla
  • MODX
  • News Releases
  • Security
  • SEO
  • Uncategorized
  • Video Content
  • Web Hosting News
  • WooCommerce
  • WordPress

Lets Connect!

  • X
  • Facebook
  • LinkedIn
  • Instagram
  • YouTube
Ahosting Logo

Hosting

  • WordPress Hosting
  • Web Hosting
  • FFMpeg Hosting
  • WooCommerce Hosting
  • Reseller Hosting
  • VPS Hosting
  • Dedicated Server

Domain

  • Register a Domain
  • Domain Transfer
  • Premium SSL Certificate

Support

  • Knowledge Base
  • Abuse Report
  • Submit A Ticket

Company

  • About Us
  • Datacenter
  • Contact Us
  • Blog
  • Sitemap

Legal

  • Privacy Policy
  • Terms of Service
  • Acceptable Use Policy
  • Service Legal Agreement
  • Resource Abuse Policy
  • Hosting +
    • WordPress Hosting
    • Web Hosting
    • FFMpeg Hosting
    • Woocommerce Hosting
    • Reseller Hosting
    • VPS Hosting
    • Dedicated Server
  • Domain +
    • Register a Domain
    • Domain Transfer
    • Premium SSL Certificate
  • Support +
    • Knowledge Base
    • Abuse Report
    • Submit A Ticket
  • Company +
    • About Us
    • Datacenter
    • Contact Us
    • Blog
    • Sitemap
  • Legal +
    • Privacy Policy
    • Terms of Service
    • Acceptable Use Policy
    • Service Legal Agreement
    • Resource Abuse Policy

Copyright © All Rights Reserved

Facebook X/Twitter Instagram LinkedIn YouTube