Doig Website Technology | Precision Website Design and Development Perth

Website Design Services

Are you using website builders like Wix / Weebly / Square Space / WordPress and struggling to put the finishing touches on your website?

Are you frustratingly close to launching your website but need some expert help at a reasonable cost?

I’ve used every website builder on the market, and I know how to add the features you need to your website.


Are you hiring website designers who are hard to understand and hard to inform about your website and business requirements?

Does your website designer use jargon you don’t understand, which complicates the process of having an effective website built?

I have 10 years experience in technical support before moving to website design, and have become trained to avoid using technical jargon or lingo when communicating with clients who do not have the same technical background that I do. I have learnt to translate technical or design concepts into easily understandable concepts so that my client and I can move as fast as possible into building the website solution their business requires.

Help me help you quickly

Answer this 30 second survey to receive a free consultation.

How may I help you?

Looking for the trade secret on how to build a website quickly?

Learn how web designers build WordPress websites in the click of a button. WordPress powers 1/3 of all of the websites on the web. Learn More

Corporate WordPress Services

I build successful websites for accountants, mortgage brokers, electricians,
medical centres, doctors, lawyers, psychologists and professionals of all different kinds.

Website Design for Perth Small and Medium Businesses

By freelance website professional Steve Doig Get an EstimateContact Me

What You Need to Do

If you'd like to work with me to build a business website, here's what needs to happen
  1. Essential: If you don’t have your own domain name for your business (e.g. Telstra’s domain name is telstra.com), you’ll need to register a new domain name with a domain name registrar. My favourite registrar (and cheapest in Australia) is Crazy Domains. If you register @ Crazy Domains, and add a domain name to your cart, during checkout do not opt in for any of their optional extras – you do not need them – just keep selecting “Next”.
  2. Essential: Once you have a domain name, you’ll need website hosting. When you have website hosting for your website, you are renting space on a web server. The web server delivers your website to each website visitor’s computer when they load your website. You can get website hosting for as low as $5 / month (Panthur), but if you want your website to load as fast as possible, make sure your website hosting runs on solid state drives (SSDs). SSDs are like hard disk drives (HDDs) found in older computers, but are much faster than HDDs. I offer web
    site hosting on fast SSDs for $19.95/month
    .
  3. Once you have website hosting for your domain, you can create your own email address @ yourdomain.com. Ask me for help with this if you like.
  4. Now all you need is someone to build your website for you. If you’d like a free (& obligation-free) quote, click here.

Feel free to gather other quotes. You will not save money with a large brick and mortar web design company. They have large corporate rent, large staff salaries, and large overheads. I work from home and hire outside help only when needed.

Feel free to try a cheaper website designer. In my experience they do not offer the same quality as a mid tier freelancer, and do not value their own work highly enough to charge higher fees.

What I Offer

I offer attractive, functional websites which work to achieve your business goals. The websites I build can be edited by you, so you don’t have to pay for a web designer to make text, image or navigation menu changes.

My mission is to help small to medium businesses and organisations achieve offline real world success, by building websites that attract visitors, educate visitors about your products & services, and receive as many transactions as possible (leads, sales, donations, downloads).

I am a professional freelance website professional, offering web design, development, marketing, support, maintenance, and hosting.

  • Web Design 90%
  • Website Building 95%
  • Wordpress theme customisation 95%
  • Wordpress maintenance 90%
  • Website technical support 90%
  • 3rd party technical collaboration 88%
Steve Doig

Steve Doig

Freelance website designer

Steve Doig is a freelance website professional, working from Palmyra, Perth, Western Australia.

Frequently Asked Questions

What kind of clients do you work with?
I work with all shape and size of client, including solo and small business, sporting clubs, restaurants, consultants, and in particular I really enjoy working with artists.

What is your turn around time?
If it is urgent, we can generally finish a small website within a week. More complex websites can take up to 6 weeks or more, depending on the pace of communications when resolving configuration issues with 3rd party software modules or plugins to the main website.

Do you have an affiliate program?
I may have an affiliate program by the end of August 2016.

My Work Flow

1. Listen

The first step in a web site design project is to listen to you, to understand your recent experience of your website, or website concept, and to grasp what your business goals are.

2. Plan

The next step is to plan the new website build. This involves researching solutions, setting time frames, and also setting expectations.

3. Design

Once we have the planning in place, the next step is the design of the website. This involves designing the website visitor ‘journey’ through your website (so they get to the end of the journey and hit ‘buy’!), creating a ‘wire frame’ of your website to submit to you for approval, creating a colour palette for your website, producing a ‘responsive’ (mobile friendly) HTML template from the wire frame and colour palette, once you’re happy with the design of this template, we move onto the development phase.

4. Develop

I integrate the design to create a highly functional website.

5. Maintain

Maintaining your website means ensuring you, my client, know how to edit webpages, image galleries, adjust navigation menus, control specialised modules (often WordPress plugins like WooCommerce) within the website, and are generally happy with how your website is performing.

If you’d like to discuss how we can increase the amount of website visitors or website conversions you receive, then I can offer website optimisation services beyond the website build.

Most websites I build are made with WordPress or Joomla, and generally require updating the core software, or the software controlling extra modules quite regularly. It is generally recommended to make a backup of your website before applying a core software update, in case something goes wrong during or after the update and your website ‘breaks’ (doesn’t display properly, or displays a bare white page. I offer WordPress maintenance contracts if this is a task or worry you don’t want to deal with.

Steve created a website just the way we wanted it and also made it mobile friendly. He has worked with us along the way to make adjustments to the website as the way we wanted to take bookings has changed, and we rely on Steve for our WordPress maintenance.

Steve coordinated a technical support response to an email outage our website faced and also removed a virus on the website while our website was temporarily maintained by another party.

Steve is friendly, polite & professional, and we are happy we hired him to build and maintain our website.

The Team

Bib and Tucker Restaurant

What a wonderful experience!

Fast, high quality and professional service. Very pleased with the end result of our new websites. Thank you Steve for your friendly easy to deal with attitude, professionalism and expertise.

Angie Cleone

Founding Chairman, ForACURE Foundation

When Eamon Sullivan and I needed to get the website for our espresso bar, Louis Baxters up and running quickly, Steve Doig came to our rescue. Within hours, we had sample pages – all of which we loved. Within a few days and in time for Eamon’s appearance on MasterChef, our site was live.

This level of service generally comes at a huge cost, but Steve’s prices were excellent and his ‘nothing is a problem’ attitude made the whole process extremely smooth for us. Since going live, we have had huge success with the website and of course with Louis Baxters and the ‘aftercare’ we have received has been fabulous.

We are grateful for Steve’s professionalism, expertise and for his excellent communication skills. Eamon and I highly recommend Steve Doig to anyone wanting to get a great website up and live!

Laki Baker

Louis Baxters Cafe, Subiaco

Don't Be Shy

Drop me a line anytime, and I’ll reply as soon as possible.

Email
ptions 2557 | get | from in-call cache | 1494067 | 0 | options | alloptions 2558 | get | from in-call cache | 1064 | 0 | options | notoptions 2559 | get | from in-call cache | 1494067 | 0 | options | alloptions 2560 | get | from in-call cache | 1064 | 0 | options | notoptions 2561 | get | from in-call cache | 1494067 | 0 | options | alloptions 2562 | get | from in-call cache | 1064 | 0 | options | notoptions 2563 | get | from in-call cache | 1494067 | 0 | options | alloptions 2564 | get | from in-call cache | 1064 | 0 | options | notoptions 2565 | get | from in-call cache | 1494067 | 0 | options | alloptions 2566 | get | from in-call cache | 1064 | 0 | options | notoptions 2567 | get | from in-call cache | 1494067 | 0 | options | alloptions 2568 | get | from in-call cache | 1064 | 0 | options | notoptions 2569 | get | from in-call cache | 1494067 | 0 | options | alloptions 2570 | get | from in-call cache | 1064 | 0 | options | notoptions 2571 | get | from in-call cache | 1494067 | 0 | options | alloptions 2572 | get | from in-call cache | 1064 | 0 | options | notoptions 2573 | get | from in-call cache | 1494067 | 0 | options | alloptions 2574 | get | from in-call cache | 1064 | 0 | options | notoptions 2575 | get | from in-call cache | 1494067 | 0 | options | alloptions 2576 | get | from in-call cache | 1064 | 0 | options | notoptions 2577 | get | from in-call cache | 1494067 | 0 | options | alloptions 2578 | get | from in-call cache | 1064 | 0 | options | notoptions 2579 | get | from in-call cache | 1494067 | 0 | options | alloptions 2580 | get | from in-call cache | 1064 | 0 | options | notoptions 2581 | get | from in-call cache | 1494067 | 0 | options | alloptions 2582 | get | from in-call cache | 1064 | 0 | options | notoptions 2583 | get | from in-call cache | 1494067 | 0 | options | alloptions 2584 | get | from in-call cache | 3254 | 0 | post_meta | 293 2585 | get | from in-call cache | 3254 | 0 | post_meta | 293 2586 | get | from in-call cache | 1064 | 0 | options | notoptions 2587 | get | from in-call cache | 1064 | 0 | options | notoptions 2588 | get | from in-call cache | 1064 | 0 | options | notoptions 2589 | get | from in-call cache | 1064 | 0 | options | notoptions 2590 | get | from in-call cache | 1064 | 0 | options | notoptions 2591 | get | from in-call cache | 1064 | 0 | options | notoptions 2592 | get | from in-call cache | 1064 | 0 | options | notoptions 2593 | get | from in-call cache | 1064 | 0 | options | notoptions 2594 | get | from in-call cache | 1064 | 0 | options | notoptions 2595 | get | from in-call cache | 1064 | 0 | options | notoptions 2596 | get | from in-call cache | 1064 | 0 | options | notoptions 2597 | get | from in-call cache | 1064 | 0 | options | notoptions 2598 | get | from in-call cache | 1064 | 0 | options | notoptions 2599 | get | from in-call cache | 1064 | 0 | options | notoptions 2600 | get | from in-call cache | 1064 | 0 | options | notoptions 2601 | get | from in-call cache | 1064 | 0 | options | notoptions 2602 | get | from in-call cache | 1064 | 0 | options | notoptions 2603 | get | from in-call cache | 1064 | 0 | options | notoptions 2604 | get | from in-call cache | 1064 | 0 | options | notoptions 2605 | get | from in-call cache | 1494067 | 0 | options | alloptions 2606 | get | from in-call cache | 1064 | 0 | options | notoptions 2607 | get | from in-call cache | 1494067 | 0 | options | alloptions 2608 | get | from in-call cache | 1064 | 0 | options | notoptions 2609 | get | from in-call cache | 1494067 | 0 | options | alloptions 2610 | get | from in-call cache | 1064 | 0 | options | notoptions 2611 | get | from in-call cache | 1494067 | 0 | options | alloptions 2612 | get | from in-call cache | 451 | 0 | users | 6 2613 | get | from in-call cache | 9019 | 0 | user_meta | 6 2614 | get | from in-call cache | 1064 | 0 | options | notoptions 2615 | get | from in-call cache | 1494067 | 0 | options | alloptions 2616 | get | from in-call cache | 1064 | 0 | options | notoptions 2617 | get | from in-call cache | 1494067 | 0 | options | alloptions 2618 | get | from in-call cache | 1064 | 0 | options | notoptions 2619 | get | from in-call cache | 1494067 | 0 | options | alloptions Page Caching using disk: enhanced (SSL caching disabled) Page cache debug info: Engine: disk: enhanced Cache key: Reject reason: SSL caching disabled Creation Time: 1501016179.000s Header info: X-Powered-By: PHP/7.0.21 Content-Type: text/html; charset=UTF-8 Link: ; rel="https://api.w.org/" Link: ; rel=shortlink Db cache debug info: Engine: disk Total queries: 45 Cached queries: 3 Total query time: 0.0846 SQL info: # | Time (s) | Caching (Reject reason) | Status | Data size (b) | Query 1 | 0.0007 | enabled | not cached | 654 | SELECT blog_id FROM dwt_wp_blogs WHERE domain IN ( 'doig.website.technology' ) AND path IN ( '/' ) ORDER BY blog_id ASC LIMIT 1 2 | 0.0006 | enabled | not cached | 653 | SELECT option_value FROM dwt_wp_options WHERE option_name = 'mainwp_branding_plugin_header' LIMIT 1 3 | 0.0012 | disabled (query not cacheable) | not cached | 0 | SHOW TABLES LIKE 'dwt_wp_mainwp_stream' 4 | 0.001 | disabled (query not cacheable) | not cached | 0 | SHOW TABLES LIKE 'dwt_wp_mainwp_stream_meta' 5 | 0.0008 | disabled (query not cacheable) | not cached | 0 | SHOW TABLES LIKE 'dwt_wp_mainwp_stream_context' 6 | 0.0038 | disabled (query not cacheable) | not cached | 0 | SHOW TABLES LIKE 'dwt_wp_mainwp_stream' 7 | 0.0009 | disabled (query not cacheable) | not cached | 0 | SHOW TABLES LIKE 'dwt_wp_mainwp_stream_meta' 8 | 0.0004 | enabled | not cached | 649 | SELECT option_value FROM dwt_wp_options WHERE option_name = 'mainwp_child_fix_htaccess' LIMIT 1 9 | 0.0004 | enabled | not cached | 642 | SELECT option_value FROM dwt_wp_options WHERE option_name = 'mainwpKeywordLinks' LIMIT 1 10 | 0.0002 | enabled | not cached | 658 | SELECT option_value FROM dwt_wp_options WHERE option_name = 'mainwp_keyword_links_htaccess_set' LIMIT 1 11 | 0.001 | enabled | not cached | 37479 | SELECT dwt_wp_posts.* FROM dwt_wp_posts WHERE 1=1 AND dwt_wp_posts.ID = 293 AND dwt_wp_posts.post_type = 'page' ORDER BY dwt_wp_posts.post_date DESC 12 | 0.0009 | enabled | not cached | 6592 | SELECT post_id, meta_key, meta_value FROM dwt_wp_postmeta WHERE post_id IN (293) ORDER BY meta_id ASC 13 | 0.0005 | enabled | not cached | 37373 | SELECT * FROM dwt_wp_posts WHERE ID = 293 LIMIT 1 14 | 0.0006 | enabled | not cached | 575 | SELECT meta_id FROM dwt_wp_postmeta WHERE meta_key = '_raven_schema_load' AND post_id = 293 15 | 0.0013 | enabled | not cached | 9271 | SELECT dwt_wp_posts.* FROM dwt_wp_posts INNER JOIN dwt_wp_postmeta ON ( dwt_wp_posts.ID = dwt_wp_postmeta.post_id ) WHERE 1=1 AND ( dwt_wp_postmeta.meta_key = 'tve_group_order' ) AND dwt_wp_posts.post_type = 'tve_lead_group' AND ((dwt_wp_posts.post_status = 'publish')) GROUP BY dwt_wp_posts.ID ORDER BY dwt_wp_postmeta.meta_value+0 ASC 16 | 0.0082 | enabled | not cached | 9295 | SELECT dwt_wp_posts.* FROM dwt_wp_posts INNER JOIN dwt_wp_postmeta ON ( dwt_wp_posts.ID = dwt_wp_postmeta.post_id ) WHERE 1=1 AND dwt_wp_posts.post_parent = 4908 AND ( dwt_wp_postmeta.meta_key = 'tve_form_type' ) AND dwt_wp_posts.post_type = 'tve_form_type' AND ((dwt_wp_posts.post_status = 'publish')) GROUP BY dwt_wp_posts.ID ORDER BY dwt_wp_posts.post_date DESC 17 | 0.0006 | enabled | not cached | 576 | SELECT meta_id FROM dwt_wp_postmeta WHERE meta_key = '_raven_schema_load' AND post_id = 4909 18 | 0.0008 | enabled | not cached | 11532 | SELECT `dwt_wp_tve_leads_form_variations`.* FROM `dwt_wp_tve_leads_form_variations` WHERE 1 AND `post_parent` = 4909 AND ( `post_status` = 'publish' ) AND `parent_id` = 0 ORDER BY `dwt_wp_tve_leads_form_variations`.`key` ASC 19 | 0.0007 | enabled | not cached | 612 | SELECT id FROM `dwt_wp_tve_leads_group_options` WHERE `group` = 4908 20 | 0.0003 | enabled | not cached | 2552 | SELECT * FROM dwt_wp_tve_leads_group_options WHERE `group` = '4908' 21 | 0.0017 | disabled (query not cacheable) | not cached | 0 | SELECT display_meta, notifications FROM dwt_wp_rg_form_meta WHERE form_id=10 22 | 0.0004 | disabled (query not cacheable) | not cached | 0 | SELECT confirmations FROM dwt_wp_rg_form_meta WHERE form_id = 10 23 | 0.0241 | enabled | not cached | 1093 | SELECT instances.raw_url FROM dwt_wp_blc_instances AS instances JOIN dwt_wp_blc_links AS links ON instances.link_id = links.link_id WHERE instances.container_type = 'page' AND instances.container_id = 293 AND links.broken = 1 AND parser_type = 'link' 24 | 0.0012 | enabled | not cached | 657 | SELECT dwt_wp_comments.comment_ID FROM dwt_wp_comments WHERE ( comment_approved = '1' ) AND comment_post_ID = 293 ORDER BY dwt_wp_comments.comment_date_gmt DESC 25 | 0.0178 | enabled | not cached | 8263 | SELECT * FROM dwt_wp_posts WHERE (post_type = 'page' AND post_status = 'publish') AND post_parent = 293 ORDER BY dwt_wp_posts.post_title ASC LIMIT 0,1 26 | 0.0009 | enabled | not cached | 860 | SELECT tr.object_id FROM dwt_wp_term_relationships AS tr INNER JOIN dwt_wp_term_taxonomy AS tt ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('nav_menu') AND tt.term_id IN ('325') ORDER BY tr.object_id ASC 27 | 0.0007 | enabled | not cached | 10742 | SELECT dwt_wp_posts.* FROM dwt_wp_posts WHERE 1=1 AND dwt_wp_posts.ID IN (5352,5353,5354) AND dwt_wp_posts.post_type = 'nav_menu_item' AND ((dwt_wp_posts.post_status = 'publish')) ORDER BY dwt_wp_posts.menu_order ASC 28 | 0.0001 | enabled | cached | 860 | SELECT tr.object_id FROM dwt_wp_term_relationships AS tr INNER JOIN dwt_wp_term_taxonomy AS tt ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('nav_menu') AND tt.term_id IN ('325') ORDER BY tr.object_id ASC 29 | 0.0002 | enabled | cached | 10742 | SELECT dwt_wp_posts.* FROM dwt_wp_posts WHERE 1=1 AND dwt_wp_posts.ID IN (5352,5353,5354) AND dwt_wp_posts.post_type = 'nav_menu_item' AND ((dwt_wp_posts.post_status = 'publish')) ORDER BY dwt_wp_posts.menu_order ASC 30 | 0.0008 | enabled | not cached | 1412 | SELECT tr.object_id FROM dwt_wp_term_relationships AS tr INNER JOIN dwt_wp_term_taxonomy AS tt ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('nav_menu') AND tt.term_id IN ('8') ORDER BY tr.object_id ASC 31 | 0.0008 | enabled | not cached | 19502 | SELECT dwt_wp_posts.* FROM dwt_wp_posts WHERE 1=1 AND dwt_wp_posts.ID IN (152,262,287,4512,4513,4526,4562,4633,5123,5124,5125,5263,5349,5366) AND dwt_wp_posts.post_type = 'nav_menu_item' AND ((dwt_wp_posts.post_status = 'publish')) ORDER BY dwt_wp_posts.menu_order ASC 32 | 0.0015 | enabled | not cached | 59781 | SELECT dwt_wp_posts.* FROM dwt_wp_posts WHERE 1=1 AND dwt_wp_posts.ID IN (1087,4627,2,4556,261,4430,5231,4423,5341,86) AND dwt_wp_posts.post_type = 'page' AND ((dwt_wp_posts.post_status = 'publish')) ORDER BY dwt_wp_posts.post_date DESC 33 | 0.0025 | enabled | not cached | 11022 | SELECT post_id, meta_key, meta_value FROM dwt_wp_postmeta WHERE post_id IN (4605,4606,4926,4928) ORDER BY meta_id ASC 34 | 0.0004 | enabled | not cached | 9069 | SELECT * FROM dwt_wp_posts WHERE ID = 4605 LIMIT 1 35 | 0.0006 | enabled | not cached | 9061 | SELECT * FROM dwt_wp_posts WHERE ID = 4606 LIMIT 1 36 | 0.0004 | enabled | not cached | 9128 | SELECT * FROM dwt_wp_posts WHERE ID = 4926 LIMIT 1 37 | 0.0006 | enabled | not cached | 9102 | SELECT * FROM dwt_wp_posts WHERE ID = 4928 LIMIT 1 38 | 0.0002 | enabled | cached | 1093 | SELECT instances.raw_url FROM dwt_wp_blc_instances AS instances JOIN dwt_wp_blc_links AS links ON instances.link_id = links.link_id WHERE instances.container_type = 'page' AND instances.container_id = 293 AND links.broken = 1 AND parser_type = 'link' 39 | 0.0007 | disabled (query not cacheable) | not cached | 0 | SELECT * FROM dwt_wp_rg_form WHERE id=10 40 | 0.0009 | disabled (query not cacheable) | not cached | 0 | SELECT id FROM dwt_wp_rg_form_view WHERE form_id=10 AND date_created BETWEEN DATE_SUB(utc_timestamp(), INTERVAL 1 DAY) AND utc_timestamp() 41 | 0.0003 | disabled (query not cacheable) | not cached | 0 | UPDATE dwt_wp_rg_form_view SET count = count+1 WHERE id=1704 42 | 0.0004 | disabled (query not cacheable) | not cached | 0 | SELECT * FROM dwt_wp_rg_form WHERE id=10 AND is_trash = 0 43 | 0.0014 | enabled | not cached | 630 | SELECT option_value FROM dwt_wp_options WHERE option_name='gf_is_upgrading' 44 | 0.0005 | enabled | not cached | 1159 | SELECT tr.object_id FROM dwt_wp_term_relationships AS tr INNER JOIN dwt_wp_term_taxonomy AS tt ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('nav_menu') AND tt.term_id IN ('50') ORDER BY tr.object_id ASC 45 | 0.0012 | enabled | not cached | 15902 | SELECT dwt_wp_posts.* FROM dwt_wp_posts WHERE 1=1 AND dwt_wp_posts.ID IN (4859,4860,4930,5050,5051,5052,5265,5407,5535) AND dwt_wp_posts.post_type = 'nav_menu_item' AND ((dwt_wp_posts.post_status = 'publish')) ORDER BY dwt_wp_posts.menu_order ASC Served from: doig.website.technology @ 2017-07-26 04:56:19 by W3 Total Cache -->