How To Rearrange Drupal Zen Theme Sidebars

Here’s how to rearrange sidebars on any Drupal v7.x website using the Zen theme 7.x.

After installing the Zen theme you will need to put some content onto a block and arrange it in admin/structure/block to appear on either sidebar left or right. In this example below I placed the Navigation Menu on the left sidebar region and the Search Box and Main Menu blocks in the Right sidebar region. By default the main content will appear in the middle:01_before

Let’s say you want to rearrange the layout so that from the left the main content will appear first, followed by the left sidebar and then the right sidebar. Here’s how to do it:

In the following examples we are editing a fixed layout, so you will edit the ‘themes/yourcustomtheme/css/layouts/fixed.css’ (Note: If you are using a responsive layout you will open the ‘themes/yourcustomtheme/css/layouts/responsive.css’).

In this image below, my theme name is ‘momex’, and I am using Notepad++ as my text editor.

02

Go to line 124, under the lines ‘Span 3 columns, starting in 2nd column from left’:

03

There are 3 elements:

  1. .two-sidebars #content selector shows attributes for the main content area.
  2. .two-sidebars .region-sidebar-first selector has attributes for the first sidebar and
  3. .two-sidebars .region-sidebar-second has attributes for the second sidebar.

Since we want the main content to appear on the left of the layout first, we switch the contents of item 1. (‘.two-sidebars #content”) and item 2. (‘.two-sidebars .region-sidebar-first’), like this. Don’t touch item 3 just yet.

04a

The result is like this:

05z

It looks awful yes, but at least we have the main content appearing on the leftmost column first, the ‘left sidebar’ appearing on the 2nd column and the third column where we want it to be.

We can now focus on the width of the left sidebar and the main content.

First we change item 1 (.two-sidebars) width from 176px to 568px, and item 2 (.two-sidebars .region-sidebar-first) from 568px to 176px:

06

Now there’s a huge gap between the first and second sidebar. This is because of the margin-widths of both the first and second sidebars.

So for item 2 (.two-sidebars .region-sidebar-first) we change margin-left from 0 to 196px and margin-right from -196px to -392px.

And for item 3. (.two-sidebars .region-sidebar-first) we change margin-left from 784 to 392px and retain margin-right at -930px.

Voila.
07

Here’s the final css for the FIXED layout code:

/* Span 3 columns, starting in 1st column from left. */
.two-sidebars #content {
 float: left;
 width: 568px;
 margin-left: 0px;
 margin-right: -196px;
 
}

/* Span 1 column, starting in 1st column from left. */
.two-sidebars .region-sidebar-first {
 float: left;
 width: 176px;
 margin-left: 196px;
 margin-right: -392px;
 background-color:#e0e0eb;
}

/* Span 1 column, starting in 5th column from left. */
.two-sidebars .region-sidebar-second {
 float: left;
 width: 176px;
 margin-left: 392px;
 margin-right: -980px;
 background-color:#cbd1d1;
}

And as a BONUS, here is final css for a RESPONSIVE layout with same results, starting on line 249 in the /themes/yourcustomtheme/css/layouts/responsive.css

/* Span 3 columns, starting in 1st column from left. */
 .two-sidebars #content {
 float: left;
 width: 60%;
 margin-left: 0%;
 margin-right: -20%;
 }

/* Span 1 column, starting in 1st column from left. */
 .two-sidebars .region-sidebar-first {
 float: left;
 width: 20%;
 margin-left: 20%;
 margin-right: -40%;
 background-color:#e0e0eb;
 }

/* Span 1 column, starting in 5th column from left. */
 .two-sidebars .region-sidebar-second {
 float: left;
 width: 20%;
 margin-left: 40%;
 margin-right: -100%;
 background-color:#cbd1d1;
 }

Notes:

  • The standard width of the fixed layout is 960px, and this value is key to figuring out the margin-widths.
  • Issuing unique background-colors to your sidebar css helps greatly in distinguishing one from the other.
  • Doing same for a responsive theme is similar if not easier because it uses percentages rather than pixels.

 

 

 

How To Set Up Reverse DNS On Linode

Once you set up a VPS on Linode you will also need to set up email by installing a Message Transfer Agent such as Sendmail or Postfix. If you do not set up Reverse DNS however, your webserver will not be able to send out email, and if you send out an email to a gmail address gmail will send your server a message like this:

050 550-5.7.1 [2600:3c03::f03c:91ff:feb0:dac3] Our system has detected that this
050 550-5.7.1 message does not meet IPv6 sending guidelines regarding PTR r ecords
050 550-5.7.1 and authentication. Please review
050 550-5.7.1 https://support.google.com/mail/?p=ipv6_authentication_error for more
050 550 5.7.1 information. b87si2979083qkb.118 – gsmtp

Checking https://support.google.com/mail/answer/81126?p=ipv6_authentication_error&rd=1#authentication will bring you this page, which explains the error as your server not having a ‘reverse dns’, or the association of a domain name with an IP address.

To fix this on Linode, login to Manager.linode.com, and click the ‘Remote Access’ tab.

  • On Public IPs, click ‘Reverse DNS’
  • Enter a hostname, and once you click Look Up this page will appear, such as on mine where I want to associate my IP addresses (both ipv4 and ipv6) to the hostname ‘majortom.kaijuhost.com’.

04

  • Click ‘YES’ to either. If you wish to add the other as well, repeat the process. Wait 24 hours for the DNS to fully spread around the ‘net.

More information here.

Fastest Way To Batch Change Authors On Drupal 7

Step 1.

import ‘batch_change_content_author’ view from here, or cut and paste the code below. Required modules are Views and Views Bulk Operations:

$view = new view();
 $view->name = 'batch_change_content_author';
 $view->description = '';
 $view->tag = 'default';
 $view->base_table = 'node';
 $view->human_name = 'Batch change content author';
 $view->core = 7;
 $view->api_version = '3.0';
 $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
 /* Display: Master */
 $handler = $view->new_display('default', 'Master', 'default');
 $handler->display->display_options['title'] = 'Batch change content author';
 $handler->display->display_options['use_more_always'] = FALSE;
 $handler->display->display_options['access']['type'] = 'perm';
 $handler->display->display_options['cache']['type'] = 'none';
 $handler->display->display_options['query']['type'] = 'views_query';
 $handler->display->display_options['exposed_form']['type'] = 'basic';
 $handler->display->display_options['pager']['type'] = 'full';
 $handler->display->display_options['pager']['options']['items_per_page'] = '50';
 $handler->display->display_options['style_plugin'] = 'table';
 /* Relationship: Content: Author */
 $handler->display->display_options['relationships']['uid']['id'] = 'uid';
 $handler->display->display_options['relationships']['uid']['table'] = 'node';
 $handler->display->display_options['relationships']['uid']['field'] = 'uid';
 /* Field: Bulk operations: Content */
 $handler->display->display_options['fields']['views_bulk_operations_1']['id'] = 'views_bulk_operations_1';
 $handler->display->display_options['fields']['views_bulk_operations_1']['table'] = 'node';
 $handler->display->display_options['fields']['views_bulk_operations_1']['field'] = 'views_bulk_operations';
 $handler->display->display_options['fields']['views_bulk_operations_1']['label'] = '';
 $handler->display->display_options['fields']['views_bulk_operations_1']['element_label_colon'] = FALSE;
 $handler->display->display_options['fields']['views_bulk_operations_1']['vbo_settings']['display_type'] = '1';
 $handler->display->display_options['fields']['views_bulk_operations_1']['vbo_settings']['enable_select_all_pages'] = 1;
 $handler->display->display_options['fields']['views_bulk_operations_1']['vbo_settings']['force_single'] = 0;
 $handler->display->display_options['fields']['views_bulk_operations_1']['vbo_settings']['entity_load_capacity'] = '10';
 $handler->display->display_options['fields']['views_bulk_operations_1']['vbo_operations'] = array(
 'action::node_assign_owner_action' => array(
 'selected' => 1,
 'postpone_processing' => 0,
 'skip_confirmation' => 0,
 'override_label' => 0,
 'label' => '',
 ),
 'action::views_bulk_operations_delete_item' => array(
 'selected' => 0,
 'postpone_processing' => 0,
 'skip_confirmation' => 0,
 'override_label' => 0,
 'label' => '',
 ),
 'action::views_bulk_operations_delete_revision' => array(
 'selected' => 0,
 'postpone_processing' => 0,
 'skip_confirmation' => 0,
 'override_label' => 0,
 'label' => '',
 ),
 'action::views_bulk_operations_script_action' => array(
 'selected' => 0,
 'postpone_processing' => 0,
 'skip_confirmation' => 0,
 'override_label' => 0,
 'label' => '',
 ),
 'action::flag_node_action' => array(
 'selected' => 0,
 'postpone_processing' => 0,
 'skip_confirmation' => 0,
 'override_label' => 0,
 'label' => '',
 ),
 'action::node_make_sticky_action' => array(
 'selected' => 0,
 'postpone_processing' => 0,
 'skip_confirmation' => 0,
 'override_label' => 0,
 'label' => '',
 ),
 'action::node_make_unsticky_action' => array(
 'selected' => 0,
 'postpone_processing' => 0,
 'skip_confirmation' => 0,
 'override_label' => 0,
 'label' => '',
 ),
 'action::views_bulk_operations_modify_action' => array(
 'selected' => 0,
 'postpone_processing' => 0,
 'skip_confirmation' => 0,
 'override_label' => 0,
 'label' => '',
 'settings' => array(
 'show_all_tokens' => 1,
 'display_values' => array(
 '_all_' => '_all_',
 ),
 ),
 ),
 'action::views_bulk_operations_argument_selector_action' => array(
 'selected' => 0,
 'skip_confirmation' => 0,
 'override_label' => 0,
 'label' => '',
 'settings' => array(
 'url' => '',
 ),
 ),
 'action::node_promote_action' => array(
 'selected' => 0,
 'postpone_processing' => 0,
 'skip_confirmation' => 0,
 'override_label' => 0,
 'label' => '',
 ),
 'action::node_publish_action' => array(
 'selected' => 0,
 'postpone_processing' => 0,
 'skip_confirmation' => 0,
 'override_label' => 0,
 'label' => '',
 ),
 'action::node_unpromote_action' => array(
 'selected' => 0,
 'postpone_processing' => 0,
 'skip_confirmation' => 0,
 'override_label' => 0,
 'label' => '',
 ),
 'rules_component::scheduler_remove_publish_date_component' => array(
 'selected' => 0,
 'postpone_processing' => 0,
 'skip_confirmation' => 0,
 'override_label' => 0,
 'label' => '',
 ),
 'rules_component::scheduler_remove_unpublish_date_component' => array(
 'selected' => 0,
 'postpone_processing' => 0,
 'skip_confirmation' => 0,
 'override_label' => 0,
 'label' => '',
 ),
 'action::node_save_action' => array(
 'selected' => 0,
 'postpone_processing' => 0,
 'skip_confirmation' => 0,
 'override_label' => 0,
 'label' => '',
 ),
 'action::system_send_email_action' => array(
 'selected' => 0,
 'postpone_processing' => 0,
 'skip_confirmation' => 0,
 'override_label' => 0,
 'label' => '',
 ),
 'rules_component::scheduler_set_publish_date_component' => array(
 'selected' => 0,
 'postpone_processing' => 0,
 'skip_confirmation' => 0,
 'override_label' => 0,
 'label' => '',
 ),
 'rules_component::scheduler_set_unpublish_date_component' => array(
 'selected' => 0,
 'postpone_processing' => 0,
 'skip_confirmation' => 0,
 'override_label' => 0,
 'label' => '',
 ),
 'action::node_unpublish_action' => array(
 'selected' => 0,
 'postpone_processing' => 0,
 'skip_confirmation' => 0,
 'override_label' => 0,
 'label' => '',
 ),
 'action::node_unpublish_by_keyword_action' => array(
 'selected' => 0,
 'postpone_processing' => 0,
 'skip_confirmation' => 0,
 'override_label' => 0,
 'label' => '',
 ),
 'action::pathauto_node_update_action' => array(
 'selected' => 0,
 'postpone_processing' => 0,
 'skip_confirmation' => 0,
 'override_label' => 0,
 'label' => '',
 ),
 );
 /* Field: Content: Title */
 $handler->display->display_options['fields']['title']['id'] = 'title';
 $handler->display->display_options['fields']['title']['table'] = 'node';
 $handler->display->display_options['fields']['title']['field'] = 'title';
 $handler->display->display_options['fields']['title']['alter']['word_boundary'] = FALSE;
 $handler->display->display_options['fields']['title']['alter']['ellipsis'] = FALSE;
 /* Field: User: Name */
 $handler->display->display_options['fields']['name']['id'] = 'name';
 $handler->display->display_options['fields']['name']['table'] = 'users';
 $handler->display->display_options['fields']['name']['field'] = 'name';
 $handler->display->display_options['fields']['name']['relationship'] = 'uid';
 $handler->display->display_options['fields']['name']['label'] = 'Current author';
 /* Sort criterion: Content: Post date */
 $handler->display->display_options['sorts']['created']['id'] = 'created';
 $handler->display->display_options['sorts']['created']['table'] = 'node';
 $handler->display->display_options['sorts']['created']['field'] = 'created';
 $handler->display->display_options['sorts']['created']['order'] = 'DESC';
 /* Filter criterion: Content: Published */
 $handler->display->display_options['filters']['status']['id'] = 'status';
 $handler->display->display_options['filters']['status']['table'] = 'node';
 $handler->display->display_options['filters']['status']['field'] = 'status';
 $handler->display->display_options['filters']['status']['value'] = 1;
 $handler->display->display_options['filters']['status']['group'] = 1;
 $handler->display->display_options['filters']['status']['expose']['operator'] = FALSE;
 /* Filter criterion: Content: Author uid */
 $handler->display->display_options['filters']['uid']['id'] = 'uid';
 $handler->display->display_options['filters']['uid']['table'] = 'node';
 $handler->display->display_options['filters']['uid']['field'] = 'uid';
 $handler->display->display_options['filters']['uid']['value'] = '';
 $handler->display->display_options['filters']['uid']['exposed'] = TRUE;
 $handler->display->display_options['filters']['uid']['expose']['operator_id'] = 'uid_op';
 $handler->display->display_options['filters']['uid']['expose']['label'] = 'Filter by author';
 $handler->display->display_options['filters']['uid']['expose']['operator'] = 'uid_op';
 $handler->display->display_options['filters']['uid']['expose']['identifier'] = 'uid';
 $handler->display->display_options['filters']['uid']['expose']['remember_roles'] = array(
 2 => '2',
 1 => 0,
 4 => 0,
 3 => 0,
 17 => 0,
 7 => 0,
 6 => 0,
 8 => 0,
 9 => 0,
 10 => 0,
 11 => 0,
 12 => 0,
 13 => 0,
 14 => 0,
 15 => 0,
 16 => 0,
 );
 /* Display: Page */
 $handler = $view->new_display('page', 'Page', 'page');
 $handler->display->display_options['path'] = 'admin/content/batch-change-author';
 $handler->display->display_options['menu']['type'] = 'normal';
 $handler->display->display_options['menu']['title'] = 'Batch change content author';
 $handler->display->display_options['menu']['name'] = 'management';
 $translatables['batch_change_content_author'] = array(
 t('Master'),
 t('Batch change content author'),
 t('more'),
 t('Apply'),
 t('Reset'),
 t('Sort by'),
 t('Asc'),
 t('Desc'),
 t('Items per page'),
 t('- All -'),
 t('Offset'),
 t('« first'),
 t('‹ previous'),
 t('next ›'),
 t('last »'),
 t('author'),
 t('- Choose an operation -'),
 t('Title'),
 t('Current author'),
 t('Filter by author'),
 t('Page'),
 );

To import a new view, go to ‘/admin/structure/views/import‘, enter any view name and paste the code above.

1

Once imported you will now have the new view.

2

Step 2.

Just visit the path indicated in the Page Settings, which would be admin/content/batch-change-author.

Step 3.

Perform the steps as needed to change the author of your content.

3z

Notes:

  • Views Bulk Operations (VBO) along with Views are required modules for above operation to work.
  • Changing authors en masse is a crucial step if you are removing users from your Drupal website. You can individually remove users via admin > People > Cancel > Delete, however that can be taxing if you are removing a lot of users.
  • Drush User Cancel (drush ucan) is a good alternative to removing users albeit one by one although it will not let you choose what will happen to orphaned nodes. By default any nodes authored by the canceled user will be changed to ‘anonymous’.

Relevant Content Is What Makes A Successful Website

 

Here’s a great example of how you can make your website relevant.

Gov.ph upped its game by uploading all the information we normally require from the government, such as ‘how to get an SSS membership’, or ‘how do I renew my driver’s license’, and so forth, into one page.

govph02

Of course you may say, well that’s what they’re supposed to be doing anyway, right? Well if so they could have just provided a link to, say, the Land Transportation Office (LTO) website for motor vehicle registration, and they’d already be ‘helping’.

But they didn’t stop there. They basically copied that information and placed it in its own section of their website so that it sits along with all other important info like how to get a passport, how to get NBI clearance, and so forth, thereby producing an ‘all in one’ go to place so you only need to go to that website whenever you need any info from the government.

govph01

As a result their website will get visits and become RELEVANT (the key word here), to people’s lives. Remember this example when making your own.

Why You Shouldn’t Allow Microsoft To Download Windows 10 Until You’re Ready

The news broke a few days ago that Microsoft, to no one’s surprise, surreptitiously downloads Windows 10 into computers running Windows 7 and 8 so as to ‘prepare’ them for the update to Windows 10.

a

I could think of three reasons why this isn’t ok:

  1. You might not have enough space – The most obvious reason is that your computer might not have enough hard disk space for the humongous Windows 10 installation files. Yes new computers these days have enormous hard disks to begin with but it’s irresponsible to make that assumption. The worst case that might happen here is that the computer will hang for lack of space leaving the user scratching his head wondering why and / or deleting more important files to make space.
  2. It Hogs Bandwidth – Anyone who’s ever downloaded gigabytes of files knows how much bandwidth it takes away from your internet connection. Those on a shared connection will suffer because everyone’s connection will slow down, but those on a metered connection – those who pay per kb. of data – will suffer the most. People argue over downloading 2gb. movie torrents will certainly not be happy knowing Windows 10 install files are up to 11gb.
  3. Trust – MS abuses trust on two levels. One, why does it assume it knows better than the user as to what they want installed on their computer? The argument that it is trying to ‘help you have a better Windows experience‘ doesn’t fly considering that it takes up valuable resources (disk space and bandwidth) without specific consent. And Second: Windows update calls the Windows 10 upgrade files as ‘updates’, such as here for Update no. 2952664, described as ‘..helps Microsoft make improvements to the current operating system in order to ease the upgrade experience to the latest version of Windows‘. Masking Windows 10 as an ‘update’ is misleading. An update is a piece of software that supposedly updates / improves / enhances what is already there. It is therefore not updating Windows 7 or 8. Rather it is preparing it to UPGRADE to Windows 10. Two very different things.

Here are some resources to counter this measure. As per ghacks,

  1. Tap on the Windows-key on the keyboard, type programs and features, and hit enter. This opens the list of software installed on the system.
  2. Switch to “view installed updates” on the left side of the window.
  3. If you are using Windows 7, locate the following updates: 3035583, 2952664, 3021917
  4. If you are using Windows 8, locate the following updates: 3035583, 2976978
  5. Right-click one update after the other and select uninstall from the context menu.
  6. Select Restart Later when the prompt appears and remove all updates first from the system.
  7. Once done, restart the computer to complete the process.

Once you are done, it is important that you block these updates from being found and installed again by Windows Update. If you don’t do this and have automatic updates enabled, they may be installed again on the system.

To block these updates, do the following:

  1. Tap on the Windows-key, type Windows Update, and hit enter.
  2. This should open the Windows Update dialog.
  3. Select “check for updates” to find new updates to install on the system. Windows should find the updates listed above again.
  4. Click on the “important update is available” link.
  5. Right-click each of the listed updates above that are listed on the page and select hide update from the context menu.
  6. This blocks the update from being installed on the system.

To see if your PC has already downloaded the files, another article from ghacks also helps. This basically asks you to look for the folder $Windows.~BT. If it does, Windows installation files have been downloaded already even if you did not explicitly accepted it.

How To Upload the Drupal Government Web Template (GWT) Via CPanel

The Government Web Hosting Service (GWHS) requires all government agencies to host their websites on their servers and use a standardized Government Web Template. While there is a helpful User’s Manual the instructions to upload are meant for Windows users which is not applicable because the only way to upload is via CPanel. This How – To aims to help solve that issue:

  1. Download the gwt-drupal-3.4.3.tar.gz file meant for Drupal sites at https://github.com/iGovPhil/gwt-drupal/releases. It will be installing two items, the Government Web Template to be placed at ‘/sites/all/themes’, and a helper module to be placed at ‘/sites/all/themes’ (the User’s Manual neglected to mention this important fact for some odd reason).
  2. Login your CPanel and click ‘File Manager’, select ‘Web Root (public_html/www)’, and click ‘Show Hidden Files (dotfiles)’.
    20150825_a
  3. Copy and extract the gwt-drupal-3.4.3.tar.gz file onto the HOME folder.
    20150825_b
  4. Go into the gwt-drupal-3.4.3 directory, and right – click the ‘sites’ folder, then click COPY. On the area where it says ‘Copy File To’, enter ‘/public_html’.
    20150825_c
  5. To check whether it copied, you should now be able to see the gwt_drupal_helper module at ‘public_html/sites/all/modules/gwt_drupal_helper’, and the gwt_drupal theme at ‘public_html/sites/all/themes/gwt_drupal’. Login your website and you should also be able to see the new GWT theme at http://yourwebsite.gov.ph/?q=admin/appearance and the new GWT module at http://yourwebsite.gov.ph/?q=admin/modules.20150825_d

    20150825_e
  6. For theming and customization instructions you may refer to the User Manual mentioned above. You may now also optionally delete the gwt-drupal-3.4.3.tar.gz file and the gwt-drupal-3.4.3 folder it created.

These instructions are for Drupal but they are likely the same for WordPress, Joomla and static files too. If you need help email me at info@kaijuhost.com.

Think Twice Before Upgrading To Windows 10 (Or Any Other OS)

Be aware this isn’t about Windows 10 per se. I’ve yet to try it and I only know of it from the few articles I’ve read. What this is rather is an attempt to make people approach the process of upgrading on a saner, more reasonable pace. I’ve used Windows (from version 1, 95, 98, ME, XP, and currently 7), two or three types of Mac OS and several Linux Distributions, so allow me to impart some hard earned wisdom.

win10 Continue reading “Think Twice Before Upgrading To Windows 10 (Or Any Other OS)”

Why Chat On Your Website Is A Bad Idea

I have had people asking to put a chat function on their website. These are the questions I ask them first:

nochatting

Do You Have Staff That Can Monitor This Chat Account The Whole Day?

Everyone knows it’s frustrating to call a service hotline no one answers. That would be the same situation here. It is impractical to place a person in charge of responding to this at all hours of the day. If you delegate it with someone who is already doing something else it will take up their time doing their main job and essentially give them an excuse for not doing that job properly. And if someone is deemed ‘not busy’ enough to be given this task, then that person isn’t probably suited to be talking to customers either.

Continue reading “Why Chat On Your Website Is A Bad Idea”

Advice For Website Owners – 9 Reasons You Need A Webmaster On Retainer

20150511_checkbox

  1. You have a website but no one is tasked to update its system.

    This is true for websites that run Content Management Systems (CMS) such as Drupal, WordPress, Joomla and the like. An update may be as minor as correcting spelling errors on the code to security updates that patch a hole hackers can use to take over the site. Fortunately these systems usually send an email to its administrator when it’s needed. You just need a webmaster to be that person on top of it.

  2. There was a big event the other day, month or year and it still isn’t on your website.

    This is one of the most common situations I encounter. Owners of neglected websites often point out articles or news items on their websites that are still being headlined many months after, or have had several events pass without any mention of it on the site. Websites are great if used like a constantly updating corporate profile. When you need to impress a client all you need to do is send them links of events or projects you’ve had on your website, so if it isn’t updated then it is not doing it’s job. Writing content is obviously not a webmaster’s job, but it certainly can be arranged for a few paragraphs and a picture to be emailed to a webmaster who can just upload it for you. For more tips, read my article “Establish A Goal Beyond ‘We Now Have A Website“.

  3. When you’ve been hacked. –

    The reason why many sites are hacked isn’t necessarily because they have data worth hacking or they are specifically targeted by hackers – it’s mostly because they ‘left the door open’ or in other words are easy to hack. It’s akin to leaving your car unlocked in a public parking lot or the door to your condominium slightly ajar. No one really planned to go in there but if they want to they can – and someone eventually will. A webmaster can make keep your site updated (see #1), and make security assessments. More importantly, he can maintain backups so if the site does get hacked he is able to put it back up immediately.

  4. People are pointing out wrong info on your website / You constantly have to correct inquiries –

    This might sound like a repeat of #2, but I think if people are pointing out that, say, product information, addresses or telephone numbers on your website are not current, then that means people are relying on your website and the investment in one is worthwhile. It is therefore prudent they get the correct info as reading wrong information can annoy potential customers.

  5. No one person on the staff is specifically tasked to maintain the content. –

    The best way for a task NOT to get done or get done badly is to not assign it to anyone specifically. That way the task gets passed around and there are plenty of people to point if it fails. If hiring permanent staff just for this task is not an option then a retainer is the perfect solution.

  6. No one knows the usernames and passwords of the website because he doesn’t work here anymore. –

    This might be deemed an extension of #5 but I am pointing it out because it is so common as to be the number one reason why many websites are abandoned. Often an employee uses his own credit card to buy a domain name or hosting, therefore listing himself as its owner by default. When the time comes for either of these to be renewed suddenly he cannot be contacted since he had already left the company. This is a situation any webmaster should point out immediately as a security risk. Domain names and hosting usernames and passwords should all be in the possession of the owner, and with permission to the webmaster. No one else outside of those two needs to be involved.

  7. There are new innovations that have come along but you are not taking advantage of them. –

    Amongst the many tech catch phrases these days, ‘Mobile – friendly’ ranks amongst the most relevant. More and more people are accessing the web exclusively via their phones or tablets so much so that Google has announced their search engine is prioritizing sites that are easily read via mobile. It is logical then that going mobile – friendly will automatically give you an edge over your competition just because your site is the first to appear in a Google search. A webmaster should be able to tell you this and consult you on what to do while on the other hand, also telling you which trends aren’t relevant.

  8. You want changes on your website but do not want to spend on a new one.

    It is easy for an uninformed website owner to assume that the entire website needs to be changed when all that was needed was a system where updates would be sent to a webmaster to periodically update the old website. I know of many instances when whole websites were unnecessarily replaced by a new one only to face the same problems – ie lack of updates, no one person in charge. A webmaster can keep your site updated and fresh negating the need to overhaul the whole thing until you really need it.

  9. You just need advice.

    How secure is my website? How can I integrate Twitter, Facebook or Instagram on our website? How can I sell online? Is it a good idea to put sound and video? Am I getting my money’s worth on hosting? How hard is it to make the site mobile – friendly? These are all valid questions a website owner would want to ask but does not necessarily want to hire a security consultant or a marketing executive for. A webmaster on call should be able to answer drawing from experience so as to give the owner some information to start with.

Full disclosure: I offer retainer services and I am printing this article obviously to gain some business, but also because I feel it is important to give advice to website owners that website maintenance is not necessarily confusing or expensive, and that by applying simple procedures such as above it is possible to get the most out of your website and make it work for you.

Websites are way past the ‘because we need to impress people’ stage and potential customers are seriously looking at yours to determine whether they want to do business with you or not. Often, just keeping it updated and relevant is enough to get their attention. Email me at info@kaijuhost.com.

3 Reasons Not To Make A Website

From experience with clients who made websites only to leave them untouched, unloved and neglected, here is a short list of reasons why you should NOT have a website made.

#1. You Think ‘Taking Care Of A Website’ is A Job For A Techie

During a group meeting with a client CEO and various department heads present, the CEO declared his excitement about the project and his plans for putting up a Facebook and Twitter account to go along with it. He then said he was already hiring programmers aka ‘techies’ to take care of it.

Since I was the consultant in the group I went ahead and explained this was not the way to do it (the rest of his staff who were FB and Twitter users and hopefully aware this was also the wrong way to do it were too shy I suppose, to open their mouths). I did so by saying that Twitter, FB and the website will basically act as the ‘mouthpiece’ of the company and therefore this job is best served by someone with communication skills. Even more so, they may occasionally deal with client complaints and out in the open at that, so communication skills plus some managerial level experience is more appropriate.

Neither of which are skills junior techies are best known for. In fact, I would venture to say techies are the last people you would want manning the company Twitter account especially if an irate customer starts posting their issues on it.

Continue reading “3 Reasons Not To Make A Website”