Phone icon for calling web design Call Today:

  • (519) 204-6201 (CA)
  • (612) 594-4495 (cell)

Concerto Designs Minneapolis Joomla Web Design medallion logo

Alan Smith

Alan Smith

For many years, I have been using Easy Profile, a component that extends Joomla's user management by adding custom fields, front-editing, configuring ACL for search/viewing and so forth.

One missing feature is a notification email sent automatically whenever a user updates one of their fields on the front-end.

There is a solution posted on the Easy Profile support forum, but the information is scattered across several posts and is not entirely consistent.

Basically the documented steps are:

  1. install a blank JSN plugin called 'skeleton'
  2. replace the code in the skeleton.php file with a function and parameters (see download link belkow that contains everything).

Be sure to replace the dummy email addresses. You can add more emails to the array - just observe the syntax (enclosed in single quotes, separated by comma outside quote).

The plugin will send a bare bones email with the updated field.

I am working on a version that will show all the fields including the updated field.

You can download the plugin with the code here:

skeleton.zip

Just install it via the Joomla installer. This has not been tested in Joomla 4.

Saturday, 23 November 2019 17:20

Search Engine Optimization (SEO) Explained

Understanding SEO: Overview

SEO (Search Engine Optimization) refers to a broad spectrum of practices that are designed to enhance the searchability of your site and to improve site page ranking for different search engine queries. Successful SEO requires a strong understanding of how search engines robots (aka bots) index and evaluate your web design and content, how they determine its relevance, and how different platforms and technologies can help - or hinder - your site's visibility.

Types of Campaigns:
Organic SEO


Organic SEO techniques are specifically designed to leverage your content, website structural elements, and graphics for maximum ranking advantage. A well-executed SEO strategy will improve the volume and quality of traffic to the website through focused “organic” search results. Because organic search results are generated in the main body of the search engine page results, they have higher credibility and click rates than sponsored search listings (PPC). Organic SEO programs not only earn superior page ranking for organizations but also result in sharper targeting of audience demographics and market niches.

PPC (pay per click)

With a PPC account, a site competes for space along the top and side of the search engine’s pages among the sponsored listings. Google uses a formula based on keyword relevancy to a search to determine which ads will appear on the top of the site as opposed to the side. Your ad can appear many times without you ever paying anything for the listing. Aside from any initial set up and maintenance fees, you only pay when someone clicks on your ad into your site. This cost is referred to as the cost per click or CPC.

A CPC is assigned to the specific key words you choose to target. CPC’s are bids entered by you and your competitors when you create a PPC account. Major corporations and e-commerce sites use PPC to increase visibility quickly.

In competitive areas, a PPC campaign can easily cost hundreds of dollars per month and more.

Best Practices: Content

According to Google's SEO Guide, you do not need a major overhaul:

"Search engine optimization (SEO) is often about making small modifications to parts of your website. When viewed individually, these changes might seem like incremental improvements, but when combined with other optimizations, they could have a noticeable impact on your site's user experience and performance in organic search results. "

This is true - sort of - as long as you have sufficient content, i.e. ample amounts of well-written, authentic content, ESPECIALLY on the home page.

If you do not have enough content, then you may in fact have to rethink your website design and User Interface (UI). Some site owners resist the idea of content since they prefer website designs with minimal content and beautiful graphics. That's fine, however there are two factors that make that approach a poor choice:

  1. Most searches are performed on mobile devices
  2. Most mobile searches are specifically for information, i.e. for relevant content.

Someone who needs to find information on a smartphone or tablet will not care a whit about the flaming smokestacks and pop-up galleries.

How Much Content Works Best for SEO?

Google is rather coy about exactly how much content will help achieve good page ranking (they state that word count in not used to assesss ranking), HOWEVER, real-world experiences and recent studies confirm that more copy produces better search position. One study by ahrefs found that websites who rank #1 in various searches average 1,000 related keywords. That's a huge amount, and probably overkill for smaller businesses and non-profits.

In my experience with clients in a wide range of industries and services (healthcare, heavy manufacturing, rental properties, flooring, ethanol advocates, auto repair, non-profits of every type - and of course web development), I find that aiming for about 600-900 words on the home page works really well AND can be integrated into an eye-catching and pleasing design.

Thursday, 31 October 2019 00:27

Halloween Dream

For many years, we relied on a wonderful Joomla plugin, SWK2 Tabs Pro, by Styleware that displayed K2 Extra Fields in tabs. This is a huge advantage over the default display which just stacks the Extra Fields in a verical layout. If you have a lot of Extra Fields and/or they have a lot of content (Images, maps, or other media), then the page becomes long and hard to navigate, especially for mobile devices.

Unfortunately, this plugin has not been updated for quite a long time and no longer works in the latest versions of Joomla and K2. There is, nonetheless, a handy alternative for Joomla sites that use the Bootstrap platform in their template. Joomla was the first CMS to integrate Bootstrap into both the front- and back-end views. Joomla 3's default template, Protostar, is built on Bootstrap, and there are many template developers who take advantage of Bootstrap's robust and thoroughly tested library of responsive components, including tabs.

Converting content to tabs using Bootstrap simply requires adding classes and attributes to the html of the tab headers (the names that users click on to open a tab) and their corresponding content.

Sunday, 13 October 2019 13:30

WordPress vs the Rest of the World

I have had the opportunity to meet and connect with many excellent developers over the years. My personal approach is to keep an open mind - after all, being part of a community should involve sharing knowledge, right? Since I have worked with many CMS platforms (Joomla, WordPress, Drupal, CMS Made Simple, ModX, Magento, etc.), I am always curious to learn how these platforms continue to evolve (or not - some CMS platforms have withered on the vine due to lack of ongoing  development and support).

All these platforms share certain features:

  • They are coded in PHP (the world's most popular web application language), CSS, and javascript for a dynamic presentation layer.
  • They are powered by relational databases that typically run on MySQL or some other SQL flavor.
  • They have a secure administrator portal, also know as the backend view, which allows site owners to make various kinds of edits and revisions to content, images, product listings, deisgn, etc.
Saturday, 12 October 2019 16:15

New Location, New Services

Since moving to Canada, we have maintained our web design and development support for our US clients as well as expanding our Canadian client base. In addition, we have been called into a number of WordPress projects and in the process we have deepened our WordPress toolkit! If you are looking for help with your WordPress site, please contact us. We can help with mobile optimization, design updates/revisions, plugin management and custom plugin development.

If you are looking for a new website and are contemplating using WordPress, we recommend checking out our blog entry on the perennial "WordPress vs..." debate. WordPress may be a good choice, but until you have a strategic sense of how you want your website functions to grow over time, you may risk boxing your organization in.

Saturday, 04 February 2017 13:32

February 2017

Already more than a month into 2017 and there are lots of new and ongoing projects to share.

Ongoing projects include circadian.com and circadianlight.com (see galleries below), developed for Circadian Inc. based in the Boston, MA area. Circadian first contacted me with a serious security issue on their Joomla 2.5  site. After running a secuirty audit and restoring codebase integrity, I then upgraded their site to Joom;a 3.6 and developed a Bootstrap 3 template to replace their outdated commercial template that was not optimized for mobile. I also developed landing pages for a Google Ads campaign along with Marketo forms (integrated with Salesforce) and a custom Marketo form template.

The next project was a design/development of a brand new site, circadianlight.com. In collaboration with other designers and content strategists, I developed the home page as a 'web app' style layout with a single column and full width horizontal sections. I also implemented lightbox popups for video and various contact forms.

Working with Joomla 3.6.5 and K2 2.7.1, I have run inrto a persistent error after importing older content from Joomla articles. When trying to access one of the K2 itmes, a JSON syntax error message appears and forces the user back to the main panel.

The solution is easy to implement as long as you have access to PhpMyAdmin in Cpanel (or some other Mysql database control panel GUI).

Looking at the 'metadata' column in K2_items table, I saw that the imported articles had a value of:

{"robots":"","author":"","rights":"","xreference":""}

While K2 items created 'natively' had a value of:

robots
=author=

Solution: in the SQL panel of PhpMyAdmin, run the following:

SELECT * FROM `prefix_k2_items` SET `metadata` = 'robots=author=' WHERE `metadata` = '{"robots":"","author":"","rights":"","xreference":""}'
Note: BE SURE TO REPLACE 'prefix' with the actual prefix used in your database.

 

Wednesday, 07 September 2016 03:28

Como 2016

Sunday, 17 July 2016 15:13

Grand Marais 2016

Page 1 of 5