The problem with shortcodes

There are some really fantastic open source CMS platforms out there right now and everyone who is in the digital market place knows about them and many businesses use them to manage their online presence. WordPress, Joomla & Drupal are just three of the CMS platforms available to businesses and according to some of  the themes made by developers include things called website shortcodes & filters to add enhanced features but use of these things can cause problems.

Search Engines


The importance of organic search to a website owner is without doubt, high. Being able to find your content with a search by maybe targeting a long tail keyword and ensuring that keyword is re-enforced with heading tags, images and great content is what helps feed the belly of the SEO beast but when you start using shortcodes the SEO monster starts to get confused.

The invisible Code

By using shortcode you are effectively shrink wrapping the food of your search engine beasties. Some of these shortcodes are created with code that is unrecognisable by search engines. For an example, in a website I developed I used a code to put textual content into tab boxes but to my dismay when an SEO genius looked over the design of the site and turned off javascript being viewable those tabs totally disappeared! Not good!

Then with an SEO tool i used to check how the page was ranking in terms of tasty food for search engine spiders it suggested that there were no images on the page when at least two exist! The problem was because instead of using simple html code a shortcode was being used for the images and it couldn’t be recognised as a standard image by this tool and read the alt tag. Very bad!

This means that the search engine spiders may not be able to find that content as easily and we all know how content is king on the web.


The other problem is forgetting to think about the scalability of your business website. It is important to think about your site in a five year plan.

Your website should grow and morph into a colossus as your business also grows and increases in size adding value to your company and a valuable experience to your customers and potential guests helping increase your turnover. If you use short codes in your theme ( particularly if you buy a theme created by someone else ) then growth might become a little more tricky.

Changing your theme

If like me, after a while you decide to change your theme ( but not currently designing your own from scratch ) then you will find different developers giving their short codes different names and this my friends, is where problems begin!

More pages, more changes

When i first changed my theme it didn’t matter so much, I had maybe 20 blog posts about 10 pages and a few images on each page so you can image changing the theme and style of the website didn’t take long to undertake.

Website growing bigger, problems grow too

The second time I changed my theme I must have had around 50 pages and over 100 blog posts. As I changed my theme all the shortcodes I had used before had no meaning with the theme now installed so i had to go through each page and each post checking and adjusting every image. Totally mundane!

So although shortcodes make it easy for the novice coders of a CMS website to create interesting layouts and include special features if you buy a theme with little or no knowledge of php then changing your theme in future is going to be quite difficult.

So do I recommend you stay away from shortcode altogether?

I wouldn’t say that this is necessary but you must understand ( or be willing to learn ) some of the technology that is being used by the shortcodes so you can know whether it is going to enhance your website’s functionality or possibly damage your organic SEO and ability to improve your sites theme in future.


One option might be to set up an external css stylesheet and div tags to help you to maintain and transfer the website style easier when upgrading than using shortcodes for one particular theme. Do you have suggestions? Please comment in the box below