In summary, how do you work with clients?
More detailed information is available elsewhere on this page, but my overall approach is:
- As soon as I have a complete description, in writing, of what you want in your website, I can build it.
- My preferred form of communication is email.
- I charge by the half-hour, and always round down.
- Invoices are sent at the end of the month, and are due upon receipt.
- For any sizable project, prior to my getting started, I need a deposit of 50 percent of the minimum estimated cost of the project. Once a client has made a few payments, no further deposits are needed.
- Because of my years of experience, I'm able to complete tasks faster than most developers.
- Clients and I work together, resulting in smooth and steady progress, clear and responsive communication, and successful projects.
Why shouldn't we instead use a cheaper overseas web developer?
As with most professional services, you get what you pay for. Specifically:
- Cheap foreign developers will try to lure you with their low prices, but often ending up costing more in the long-run when much of their shoddy work needs to be fixed or replaced by them or someone else.
- Communication can be a unending issue, particularly since English is not their primary language.
- Their response times are typically much longer due to the time zone difference.
- They oftentimes will underestimate the project schedule to get more outsourced work.
- The lower payment and the long distance relationship often lead to any foreign developer having a reduced sense of accountability, commitment, and partnership.
Why shouldn't we instead use one of those site building services?
They are fine until you want to customize the website beyond the limitations of that service, such as improving on the canned theme they provide, or adding functionality that they do not offer. Just about any substantial online business soon runs into such restrictions.
To begin creating our new website, what do you need?
To develop a new website for you, I need to know exactly what you want it to be able to do. That information forms the project specification (often referred to as the "project specs" or "design brief"). Please send me the following in an email message:
- A list of all the desired features, unless you already sent them to me using the form.
- The text for the website — or at least everything needed for the homepage — or indication that you want me to use the text on your existing website, if any.
- The images (a logo, a staff photo, product photos, etc.) and other multimedia for the website. The higher the resolution of the images, the better.
- For all the administrative users who will need to login to the website and make changes: each person's name, email address, and a chosen username. I could set the usernames if you have a preferred format. I will set the initial passwords, which can always be changed later.
- If you already have a web host, then I need the access information (username and password) for the web host (FTP) and for the database admin (typically cPanel). If you do not already have web hosting, or you want a better provider, please see my instructions.
To work on our existing website, what do you need?
- Your website address.
- Your company's exact name and address (if it is not on your website).
- Your web hosting company's name and website address.
- The access information (username and password) for the web host (FTP) and for the database admin (typically cPanel). This information likely was sent to you by your web hosting company when you signed up with them. I need this information so I can download any existing multimedia files, and then later make changes to your website.
- The access information for the account administration tool and any databases.
- The details of your shopping cart (website address, username, and password), if applicable.
What are the phases for developing a website?
- Planning: I discuss with the client what she is looking for in a new website. The client chooses a domain name (if one is not already registered), and opens a web hosting account. The client tells me the project specification, and we clarify any remaining questions and options.
- Development: I build the website. This includes creating any needed content types, user roles, and test users, as well as installing and enabling modules. If the client has requested that I design the website, then I install and possibly customize a theme. When the website is functional, I make it available to the client on a staging server, for review.
- Feedback: The client confirms that the website incorporates all of the requested functionality, or identifies any discrepancies, which I then fix. The website is then complete.
- Launch: I deploy the website to the client's server. The website is then "live" on the Internet.
- Promotion: To increase the new website's publicity, the client may at this point use a variety of online marketing techniques. This may include hiring me to write and distribute an online press release, announcing that the new website is open for business. At the very least, a link should be published on a known web page, so search engines can find a new website and index it.
Why is it best to develop a website in phases?
Years of experience have shown that large projects are best created in phases (with each phase invoiced separately):
- The success of each phase allows both parties to verify that the project is on track, and to know what is the next step.
- At each stage, both parties have tangible proof of commitment, in the form of completed work and cleared payments.
- Cash flow is improved, by spreading out payments over the entire project, which helps accounting and budgeting. Prompt payment of invoices is especially critical for small businesses such as mine. If I do not receive a payment, then I stop working on the project.
- After each phase, both parties have a chance to provide timely feedback, thus minimizing risks and maximizing both parties' engagement in the process.
- Each phase can be started when I have received payment for the prior phase and the client has decided on all of the work that she would like done in that subsequent phase.
- Estimates are more accurate, because it is easier for web developers to provide accurate quotes for smaller amounts of work.
- Overall website delivery is faster, because some parts of it can be launched while others are in development, thereby preventing a single part from stalling the remaining parts.
- There are more marketing opportunities, because each new feature can be publicized when it is launched, thereby motivating the public to visit the website again to try out the feature.
Can you create a mockup before we have you build a website?
Sorry, no. For many reasons, I do not do unpaid speculative work. Also, any designs made for a proposal tend to be created to impress the client and not the website's target audience. Producing an excellent website design is a partnership between the client and the designer.
Why is email the best way to discuss our project?
For discussing the details of your project, email — or a collaborative project management tool, such as Basecamp — is much better, for many reasons:
- The information is saved online, and serves as a valuable record of our discussion.
- Email messages can be searched and referenced at any time in the future, so we do not have to rely upon our memories of phone conversations.
- Any messages can be resent if necessary.
- Both parties can take all the time and space they want, to be exact in describing questions and answers. When you express what you want in your own words in an email message, it reduces the potential for misunderstandings.
- Project requests conveyed in a phone conversation can be (unintentionally) vague, which causes frustration and wastes valuable time. In contrast, email messages encourage us to be more specific.
- Everyone has the information they need to do their tasks, which saves time and reduces the chances of miscommunication.
- Files and website addresses can be easily sent via email.
- Email allows us to send and receive messages whenever we want, day or night. It is not intrusive nor does it interrupt what we are doing, as does a phone call. We can receive and send information at our convenience, not dictated by a ringing telephone.
- Because I spend my productive time at my computer, it is easier to read and respond to an email as soon as it is received.
- I'm more productive with no phone, as it allows me to concentrate on work, since writing code requires uninterrupted time focusing on a technical task and maintaining a train of thought.
- Contacting me via email is just as fast and reliable as would using a phone, because I'm at my computer for most of the day.
- Any project instructions will need to be provided in writing anyway — either as a project specifications document or in an email message.
Who will own our website's content and code?
You will. Down in the footer of the page, there would be a discreet link to my website. But you would own the entire website and its data. As well as all of the profits from it. I build most new websites using Drupal, which is "open source" — both the core code and any contributed modules. This means that I don't own any of the code, and it is licensed to be freely used by you. Non-Drupal third-party applications, which are typically not needed for the websites I build, are owned by their respective creators, and usually offer a license for use by anyone, without charge. You will own the text, images, and other content that you create, including anything edited by me. Copyright and ownership of the complete website are transferred to you, the client, only when full payment for the project is received.
I reserve the right to use a screenshot of the website and a positive description of the project in the portfolio section on my website.
If we need to sign up for a service, can you do that for us?
Yes, but I would need all of the required information, including the credit card details to pay for the service. Some of my clients find it easier to give me that information (which naturally I keep completely confidential), but most clients sign up for the services themselves, and then send me the login information that I need for accessing the account.
How do we get a domain name and web hosting?
I recommend that all my clients choose reliable web hosting and domain name registration service(s), which can save a lot of time and trouble. If a client insists upon using a problematic hosting service (such as Go Daddy or Network Solutions), then it will cost extra because it will take more time to set up and maintain the website. If a client-chosen hosting service is causing us many problems, then the client must open an account with a service I recommend.
After we sign up for a domain name and a web hosting account, will you track their expiration dates and remind us when to renew?
No, these are your accounts, so you are responsible for keeping them paid up. If the service companies have your current credit card information on file, your accounts will be automatically renewed. If not, then they will remind you via email. Be sure to read all email messages they send you, and make sure they are not going into your spam folder.
Can you do an analysis of our competitors?
Yes. If you send me the website addresses for all of your leading competitors, then I can research what they are doing right and wrong on the Web, and suggest ways that you can leverage this knowledge.
How do we read the database design you sent?
Each paragraph (i.e., set of contiguous lines) represents a table. The first line is the table's name.
All of the other lines are fields within that table. You can think of them as columns in an Excel worksheet. The first field is usually an ID number, which is a 10-digit number that uniquely identifies the particular record.
For each line, the possible components are:
- Field name: The name is lowercase, except for acronyms. Title case is used for labels on forms and reports.
- Data type: characters, digits, or "Yes/No".
- Data size: For example, "4 digits" can go up to 9999.
- Optional: The column can have no value, such as when a record is first created.
- Unique: Each record will have to have a unique value for this field.
- Allowed values: Specified using a computer notation known as a "regular expression", which might be puzzling at first glance, but which computers understand exactly. E.g., "x|y" means "x or y".
- Default value: The value used if the website visitor specifies no other.
- Notes: Appears next to the entry field on a form, to help the user understand the purpose of the field.
When making any changes to the design, use the exact format described above — including the use of two spaces to separate components — because the design needs to be read by a computer program.
How soon after we mail the deposit can you start working on the project?
As soon as your bank cuts and mails the check, it usually takes a few days after that to arrive at my bank, and then a few days for them to post it to the account. In the meantime, we can finalize any remaining topics.
Can we help build the website?
No, if you don't have years of experience as a web developer, then you wouldn't be able to help in the actual coding of the website. In fact, even if you did have the experience, the coordination alone would slow the project down. Rather, you would swing into action after the website launch, in working with your staff for adding content and managing the online marketing.
All client information and plans are kept strictly confidential and never disclosed to anyone. I respect your privacy, and will never sell or distribute your organization's sensitive information, such as contact information, product plans, ideas for new businesses, etc. Over the years, my clients have learned to trust me to the point where many of them provide credit card numbers (so I can order services on their behalf).
Occasionally, an organization will ask that I sign a nondisclosure agreement (NDA), typically because they think their business idea is fabulous, has never been thought of before, and could be stolen or revealed by their web developer, thus ruining the business's potential. Actually, it's not an idea that makes a business successful; it's the implementation and follow-through of a set of proven ideas and best practices. The world is full of promising ideas never actualized or tested but shown unworkable. Almost every smart businessperson is not interested in risking resources on unproven ideas. Usually such people are already too busy with their own ideas that they think are much better. This is especially true of top web developers, who already have long lists of projects they dreamed up and want to implement. The last thing they want is to make that list even longer by adding an idea in an area in which they have no interest. (I personally have hundreds of such ideas.) Also, even if the client's idea is proven viable, by then the client is already successful, and there would be no way to protect the idea since it is public (in fact, the better the marketing of the product or service, the more people know about it). What's critical to keep secret is the customer data, not the business idea. Moreover, the best web developers have reputations to protect, which they would never jeopardize by blabbing any information shared in confidence. My reputation and honor are too important to me to ever risk through indiscretion. Lastly, if you don't trust your web developer, then no contract will protect you. Only partner with professionals who have been in the field for many years (ten years or more would be best).
Can we avoid sending you our passwords?
Most of my clients simply tell me the passwords needed for changing settings in their accounts. In fact, I'm often the one setting those passwords. But if you prefer, you could set any password to a temporary value, and then later set it back to its original value, after I've finished accessing the particular account.
To send any such short and sensitive information, you could use a Gmail account (so the message never leaves the Google servers) or use the free service One Time Secret.
How will you transfer control of the source code to me?
All of the source code is located on the remote server, in your hosting account. It is unencrypted and available for you to view, if you want. But unless you are adept with PHP and Drupal, I strongly recommend that you do not make any modifications to the code, which could easily break the website (I would need to charge for the time to fix it). As for the site content, it is stored in the database, completely separate from the code, and you can modify the text using the user interface.
What web and application programming technologies do you know well?
- CMSs: Drupal, WordPress
- Database systems and tools: MySQL, SQLite, SQL, phpMyAdmin
- Desktop software languages: Perl, Java, C / C++, Unix shell scripts
- Shopping carts: CubeCart, 1ShoppingCart
- Payment systems: PayPal, Authorize.Net, iTransact
What is your Drupal experience?
I began working with Drupal in February 2008, with version 6.1. Since then, I have:
- Built 47 websites using Drupal.
- Created 27 custom Drupal modules (they are not listed on Drupal.org).
- Created numerous custom themes for Drupal-based websites, including those for my clients' websites, as well as:
- Drupal Users Group Las Vegas (DUGLV) website (installed 2011-11-23)
- DrupalCamp Las Vegas 2012 website (launched 2012-07-23)
- Served as a technical reviewer of several Drupal books:
- Drupal's Building Blocks: Quickly Building Web Sites with CCK, Views, and Panels (uncredited)
- Drupal User's Guide: Building and Administering a Successful Drupal-Powered Web Site
- A Programmer's Guide to Drupal
- Drupal 7 Media
- Responsive Theming for Drupal
- Wrote 82 articles on Drupal, many published in Drupal Watchdog magazine.
- Wrote 21 reviews of Drupal books, most published on Slashdot.
- Reported numerous bugs and other issues for various contributed modules.
- Created and shared patches for Drupal core and several contributed modules: Entity Registrations, Menu Import, Taxonomy Block, and Visitors
- Drupal.org member since 2009-07-08. Active in Drupal.org issue queues and Drupal IRC channels.
- Earned a Community Role on Drupal.org, 2015-05-01.
- Drupal Users Group Las Vegas (DUGLV) member and presenter from 2011-06-03 to 2013-09-21.
- Drupal Association member since 2011-10-26.
- Attended the 6th Annual Florida DrupalCamp, Orlando, 2014-03-08.
- My Drupal articles and book reviews are distributed in the official Planet Drupal RSS newsfeed, since 2012-07-16.
How do you keep your skills current?
Like all technical professionals, web developers must keep their skills up-to-date. I do so by staying active in the web development world — specifically:
- writing web development articles for various publications
- reading computer programming books, and writing detailed reviews, which are published on leading technical news websites
- editing programming books for publishers
- participating in technical user groups
- giving talks on web development topics
- listening to podcasts on the latest innovations and tools in the world of web design and development
What web technologies do you typically use for building websites?
I use whatever technologies are best suited for the client's needs. In most cases, they include:
- Drupal, for many reasons
- PHP is the most popular web scripting language. It generates web pages dynamically, and thereby makes possible interactive websites, eliminates redundant HTML code, and reduces the time needed for modifying a website.
- CSS is the best tool for web page styling and layout. It makes future changes easier and faster, and improves a website's visibility to search engines and its accessibility to blind visitors.
- MySQL is the most commonly used web database system. Like the above technologies, it requires no licensing fees.
How are you able to complete projects quickly?
I am able to work at a very rapid pace and finish the work faster than most developers, while maintaining quality, for several reasons:
- Decades of experience have taught me what tools to use to get the job done as efficiently as possible.
- The code I write is reliable, clean, and well structured — which makes it much easier to modify if needed.
- The websites I build use CSS for layout, which makes styling easier.
- I'm not interrupted by telephone calls, television, and other distractions.
- Because I'm in steady demand, I try to wrap up projects without delay, so I can move on to another project — oftentimes for the same business owner.
Can you show us samples of your work?
The portfolio section describes websites I have created, with screenshots and project summaries.
What web development presentations have you given?
Creating Taxonomies Programmatically in Drupal 7
Keyword Ranking with Rank Tracker
Keyword Ranking with Free Monitor for Google
Drupal 7 Essential Modules
Creating a Drupal 7 Distribution
Drush 5 Installation and Basics for Windows
Ubercart Affiliate v2 Drupal Module
Artisteer for Creating Drupal Themes
Drupal 6 Base Installation Settings
Drupal 6 Modules for Every Website
SDWTG, Hampton Inn
SDWTG, Hampton Inn
Dupal 5 Installation
SDWTG, Escondido YMCA
Joomla 1.5 Installation
SDWTG, Ramada Inn
What kind of longevity can we expect with you?
Several of my clients are "refugees" who, prior to meeting me, had bad experiences with unreliable low-budget developers (oftentimes located overseas). Some of those irresponsible developers disappeared, no longer replying to messages, without passing the client along to another developer — which is inexcusable. Fortunately, I'm the exact opposite: I have been here for my clients for over a decade, and look forward to continuing to provide the best service available, in the decades ahead.
Project Time and Cost
Even though we have limited funds, can you still work for us?
How limited is limited? I don't need to know any exact amounts, but I definitely need to know a ballpark figure for your budget, so that we don't spend time discussing a project that cannot be afforded. Please let me know. Thanks for your understanding.
Instead of paying you, can we offer a share of profits?
No. My policy is to charge a fee for my services. I do not undertake any speculative work.
Will you match the prices quoted by other developers?
No. What I do isn't a commodity. If I matched prices, I would have to cut corners, and that would take away from getting you the best results.
Can we ask you many technical questions, before having you do paid work?
No. Sadly, I have had several cases of prospects asking countless technical questions, but never resulting in any work. One prospective project manager asked me many rounds of questions, all of which I answered, and all of which required substantial research. But he never sent any work my way. Months later, he was back on the same web developer mailing list, asking the same types of questions — seeking another victim for unpaid research.
How do we pay you?
Like other web-based professionals, I do not accept cash, because it can get lost in the mail, with no recourse. The fees for my services can be paid using a bank check or wire:
- A bank wire costs a nominal fee, but it is the fastest and most secure method, especially for international money transfers. Also, it allows me to begin work on your project immediately.
- A bank check is free, but it takes a few days. Most banks offer free electronic bill payments, in which they cut and mail the check for you.
- In either case, contact me for the bank account information.
Why is PayPal not an option for paying you?
There are several reasons why PayPal is not the best choice for sending large sums of money, including these:
- We are charged a PayPal fee that costs much more than any bank check or wire.
- Consequently, either I end up not receiving the full amount for my work, or you pay more for it.
- When a bank sends a check or wire to another bank, the money is truly transferred. But with PayPal, they can retract the money at any time and without warning, even if it has been withdrawn from the destination PayPal account.
How much does it cost to get a new website?
The time that it takes to develop a new website — and thus the cost to do so — depends upon the complexity of the website, including:
- what features the website has (i.e. all the functionality it provides to visitors)
- the number of pages
- the amount of text and images
- the size of the navigation menu
- any multimedia elements
- any e-commerce capabilities (such as online products and a shopping cart)
- the ambiguity of the project, and thus the amount of time required to clarify exactly what is desired
You can get a free estimate. If you were to pay the full project cost upfront, instead of only the customary 50% deposit, then you would receive a 10% discount on my hourly rate.
Do you use a contract?
Generally, no. Feel free to put together any contract or agreement that you want. But I've never used contracts in the past, but instead rely upon a combination of a deposit (for big projects), timely payments (for smaller invoices), and getting to know the client. I begin work as soon as I have received a 50% deposit and all of the needed information, and then I complete the project, after which final payment is made. That approach has worked well for me and my clients for more than 15 years. But if you have something specific in mind, please let me know. Also, by US law, email proposals and acceptance are legally binding.
Why should we choose a freelancer like you instead of an agency?
- You will receive more immediate and personal attention.
- I can focus on your project, and not be distracted by corporate meetings, politics, etc.
- Freelancers are generally better innovators and more flexible thinkers, versus a staff member of a company accustomed to working in a prescribed manner, year after year.
- You do not have to pay the additional expenses of a commercial real estate lease, office supplies, employee benefits, and other corporate overhead.
- I can complete your project at a rapid pace — in less time than the typical bureaucratic company can. Most design agencies can take weeks, if not months, to build a website for you. Meanwhile, you are missing out on customer orders, website traffic, search engine indexing, and greater visibility on the Web from social media links to your website.
- Business owners comment that when they hire an agency, they feel as if the agency is primarily working for itself — and it sometimes turns into an adversarial relationship. But a freelancer is working primarily for you. The freelancer knows that the more successful your business, the more lucrative projects you can offer to him or her in the future.
- A good freelancer becomes loyal to your business, while agency staff are always more loyal to their own company.
- A veteran freelancer can have over a decade of experience (as do I). But agencies tend to hire junior programmers fresh out of school, because they are cheaper. Agencies are always looking to reduce their costs, often at the expense of the client.
Why must an estimated price be updated for project changes?
Website development costs can generally be charged in one of two ways: at an hourly rate for all hours spent working on the project, or an estimated price for the entire project if the client can specify exactly what she wants in a website. Any estimate will need to be updated if the client later increases or decreases the scope of work. The more extensive the changes, the more impossible it would be the stick to any earlier fixed bid, for several reasons:
- Initial estimates often limit the client to her first idea about how the website should look or how it might work. I don't want to limit either a client's options or opportunities for her to change her mind.
- To accurately estimate the total number of hours the project will require, the client would have to specify the details of all the functionality of a new website or changes to an existing one. This information needs to include text, images, links, navigation, online forums, embedded audio and video, etc. — not all of which anyone can foresee ahead of time.
- Small-business owners typically do not have the time for documenting all of this information. They find it much easier and faster to provide just enough information for the first cut of the website, and then provide general direction and specific instructions for future versions of the website.
- As the website is developed, the client typically learns of previously unexpected features that she wants to try. A fixed price upfront would miss these enhancements, and thus underestimate the capabilities of the finished website and the time involved in developing it.
- Once a website's specifications have been detailed, it can discourage the client from quickly changing course as needed. Such documentation either becomes out of date, or it must be updated with all changes, and yet probably won't be read by anyone. Even perfect documentation is not strictly a part of the delivery.
- Likewise, as a project progresses, we can encounter unforeseen technical challenges, which invariably can be overcome, but require extra work. This is especially true for projects that involve integrating multiple technologies, such as payment systems.
What rate do you charge for your work?
My billing rate depends upon the type of work, its urgency, and other factors. Contact me for more information. Developers with my skill set charge anywhere from $70 per hour to twice that.
Unlike most consultants, I do not round up to the nearest hour. Instead, I round down to the nearest half hour. This saves the client money, especially for many small tasks requested separately.
For anything but small tasks, I require 50 percent of the estimated total as a prepaid nonrefundable deposit, before I can begin work on any projects or deliverables. A deposit not only helps to protect me, but you as well, because it commits me to completing your project and not getting sidetracked by other clients. Brand new clients don't get the privilege of "work now, pay later" service; established clients do.
I bill my clients at the end of every month. Invoices are due and payable upon receipt. Tardy clients quickly become ex-clients.
If you have a critical project that you would like me to begin immediately, or you anticipate such a project in the near future, then you are encouraged to prepay for a block of time, which will guarantee that your project will be the highest on my priority list.
I am compensated purely for my time spent developing a website and computer code, and not for any products. Thus I am liable only for my productivity during the time billed, and your solicitation of my services indicates your acknowledgement of such. You will find that I am dedicated to the highest in quality service, professional results, full confidentiality, and client satisfaction. This is why clients are happy to refer me to their friends and colleagues.
Can we monitor your computer as you work, to track what you are doing?
No. I'm not an employee and won't be treated as such. Also, if the IRS were to learn of it, they could reclassify me as an employee of your company, and charge you any back taxes.
What is your policy on estimates?
If it takes less time to complete the work than I had estimated, then I charge for the lower amount (I always carefully track my time on tasks throughout the day). If it takes more time simply because I underestimated, then I only charge for the estimate, as a courtesy to my client. Naturally, if I go over budget as a result of the client changing the specifications or technical problems with a third-party service, then I would charge the actual hours. Any estimates are not to be construed as absolute commitments or fixed-price quotations. All work is billable on a time-and-materials basis. If a project is ever taking longer than expected, I keep the client updated on the hurdles that we are facing, how much more work needs to be done, and what our options are. Fortunately, this rarely happens.
Why should we choose you instead of a cheaper foreign developer?
A business owner in need of a website can be tempted to choose the lowest bidder — such as a foreign programmer or even a relative. The owner thinks she is saving money, but she invariably ends up with a website that does not work for her business, and has to be scrapped and replaced with something that does work. In the end, the owner doesn't save any money, but loses it — and also loses valuable time, which may be worse than the monetary loss.
Why is Drupal the best choice for building our website?
Among developers who have tried various tools for building major websites, Drupal has emerged as the CMS of choice, and is becoming quite popular, for many reasons:
- It is a powerful and flexible framework for creating dynamic, reliable, and scalable websites. It has built-in support for custom content types, rich editing, and content revisioning; user comments and forums; clean and search-engine friendly URLs; modular theming; tagging with keywords and taxonomy terms; image galleries; support for an unlimited number of web pages (with no coding required); user sign-up, authentication, sessions, permissions, and management; internationalization and localization; multisite (multiple websites using one codebase); and much more.
- Drupal makes it possible for me to add new features to a website quickly. Over 20,000 prebuilt modules can be used to expand the functionality of a basic Drupal installation, with less time and effort than other solutions.
- Site content and settings are saved for you in a database, which can be backed up, for greater security.
- Drupal allows website owners to add and modify the content easily, without having to understand HTML or other technologies.
- A Drupal website keeps track of ongoing activity, such as specific users logging in and out. Even the changes to page text can be logged, using revisioning.
- Drupal is optimal for building search-engine friendly websites, including standards-compliant HTML/CSS, dynamic page titles, meta tags, RDF support, Google Analytics integration, customizable and SEO-friendly URLS for each content type, and built-in taxonomy system that supports multilevel hierarchical category organization and "vocabularies" specific to content types.
- It is based upon the most commonly used and trusted web technologies available, including PHP and MySQL.
- Drupal is actively maintained, tested, and improved — including updates for any security problems discovered.
- Drupal is more secure than the only CMS more commonly used, WordPress. Drupal's dedicated security team has more than 40 experts, who will unpublish any modules with unresolved security issues. Also, Drupal's password security meets the requirements for US government agencies. In fact, the websites of the White House and US Commerce were built using Drupal.
- Drupal is built using high-quality, modular code that has been well tested, during its successful 10-year history.
- It offers high performance, with built-in caching and scalability to multiple servers.
- The Drupal software is free to download and use, and there are no license fees. So in most cases, the only cost for a new website is the design and development time.
- Drupal is free, GPL licensed, and open source. None of it is hidden from you or your staff. Consequently, you are not limited by any vendor's proprietary "black box" (which usually only the original developers can decipher). You are not locked into any relationship, and can easily move to a different Drupal vendor should you ever decide to do so. There are even agencies — staffed with Drupal experts — that can serve as backup vendors.
- Drupal has a thriving and enthusiastic community of thousands of developers, so you will always be able to find people to maintain your website.
- The number of websites worldwide running on Drupal is unknown, but estimates range from over one million to more than 7 million. These include such demanding clients as Fortune 500 companies, universities, non-profit organizations, and governments — for instance: The Economist, General Electric, the Grammys, Harvard, IKEA, the City of Los Angeles, the Louvre, MTV, NBC Olympics, NASA, Sony, Viacom, Warner Brothers, the Weather Channel, Wikipedia, and Yahoo. These and other organizations run high-traffic Drupal websites, and have made strategic business decisions to invest in it.
Will we be able to change the website's content ourselves?
Yes. I can set up your new website so that you can make updates to the text, images, videos, and other content within pages easily, anytime you like, without needing to request or pay for technical expertise. This significantly reduces the risks that your website will become obsolete in the future (which often happens when business owners try to save money by going with the lowest bidder, which typically delivers a website difficult or impossible to keep up-to-date).
Will we be able to change the website code and settings?
If a client changes a website's code or settings that control how the website works, then there is no guarantee that the website will continue to work. If such changes result in my having to fix any problems, including code cleanup, then I will charge for the time required. Also, I would need to be apprised of exactly what changes had been made. This is just one reason why I strongly recommend against clients making code changes.
Will you be able to change the website code, settings, and capabilities?
Yes. After your website is launched, I can make enhancements to it, as requested, even years later. Those modifications will be billed at my current rate. Most of my clients request that I make ongoing updates to their websites, to match their changing business needs. That allows them to focus on their business, while I maintain the value of the website.
How about improving our existing website?
Considering that your company's website is the face that it presents to the world, anything that would make it better would be well worth the time and effort. Secondly, some improvements in one's business are only temporary, while improvements to a website tend to be long-lasting, and they build upon one another. Many of my clients have been not only happy with the changes made to their legacy websites, but even more delighted when they learn that they can expand their existing websites to build an online community, take orders online, etc. Most if not all of these opportunities became known only after the clients began thinking of ways to improve their websites, and asking me what is possible.
What are the advantages of having a contact form page on our website?
Most website's have some sort of contact form page, for several reasons:
- It prevents spammers from learning your email address.
- It allows you to prevent spambots from emailing you.
- Internet users are accustomed to contact forms.
- The user information can be stored in your website's database.
- You can capture the IP address of the user, which usually tells you their city, and can be used for blocking them if needed.
What are the advantages of having a forum on our website?
The benefits of having discussion forums on your website include:
- Customers can answer one another's questions, thus reducing your support costs.
- If you or a customer answers someone's question — especially with a detailed response — this information can be referenced in the future, so you don't have to recreate it every time someone sends you the same question.
- As customers discuss your offerings, they are generating, for free, fresh content that is rich in keywords and is attractive to search engines.
- By having an online community, customers are encouraged to visit your website more often, and then they tell others about it.
- Customers will typically and freely share ideas on how you could improve your offerings, market them better, and reach new prospects.
What are the disadvantages of forums?
The primary risk is that spammers will try to litter your forums with messages promoting their own products. Fortunately, we can limit the posting and reading of forum contents by requiring visitors to log in, and we can keep out visitors unless they are approved by you or by forum moderators whom you designate. Those moderators can also police forum contents, and delete any spam that gets through.
Should we have a single password for all users?
No, it is better to have individual usernames and passwords. A single password for all users greatly increases the chances that it will be compromised. Assuming you discover the security leak, you then have to notify all of the users of the replacement password. Individual usernames and passwords offer many advantages:
- Your website is more secure, because a person generally will not give away a username and password that uniquely identify him. But people often won't hesitate to give a universal password to unauthorized outsiders.
- Any troublemaker is identifiable from his unique username. You can revoke his login privileges without affecting any other users.
- It is easier to grant different permissions to users. For instance, you may want to allow a select group of trusted users to serve as moderators.
- People prefer setting their own passwords.
Who will design our website?
Every website should have an attractive design (a.k.a., its appearance, theme, "look and feel", etc.). As a full-time web developer, I do not design websites. You have some options for getting the design of your own website:
- You may choose to have a custom design crafted by a professional designer. Some of my most successful projects involved teaming up with a freelance web designer, and collaborating as a virtual team. This allows everyone to focus on what they do best. I perform all of the backend programming, i.e., building the website and its database. The designer then styles the website by modifying a CSS file, adding images, etc. I can work with in-house designers (within your organization), provided that they know CSS. I build the basic website first, so the designer can see the page types (that need to be styled separately) and the CSS class and ID names in the HTML pages generated by Drupal. If you do not have in-house talent, let me know if you want me to refer you to an excellent web designer.
- If there is an existing website whose design you really like, I could create a similar design, which would probably cost less than choosing the above option. The design would be customized with your own company logo, up in the header of the pages, where you could optionally have a custom background image. If you choose this option, please send me the address of the website you like, and also send me your custom image(s).
- If you have a limited budget, you can choose a prebuilt Drupal theme, which I can modify with a new header image and/or your company's logo. Let me know the name of the theme you want me to use, and send me any image(s).
If we want changes made to an existing design, are you able to do that yourself without you or us having to hire a separate web designer?
Yes, I have done a lot of modifications of existing designs in the past.
Where can we find royalty-free stock images?
We may need to find stock photos for your website, e.g., as the background image for the banner area at the top of every page. Fortunately, there are many websites that offer stock photos for free or low-cost, and without any royalty restrictions:
- Freerange Stock
- Getty Images
- Liam's Pictures from Old Books
- Lorem Pixel
- Turbo Photo
Should we have flashing text, animated images, or Flash on our website?
Experienced designers and developers recommend against this. Rapidly flashing (or scrolling) text or images &mdash such as animated logos &mdash usually look awful, are considered by web designers to be quite outdated and amateurish, and are annoying to most Internet users, especially if they cannot turn off the effects. The only tasteful movement on a web page is an optional slideshow, which rotates through non-advertising images at a slow pace, or an embedded video that does not start automatically but instead is controlled by the website visitor.
Similarly, the use of Adobe Flash — especially for navigation — can make your website inaccessible to people with disabilities. Putting your website's text in images can make it invisible to search engines.
But what if we still want Flash?
I can add Flash movies to your website, but I do not create the movies. Typically, a dedicated Flash specialist is the best choice. But if you simply want to rotate through a set number of images — optionally using effects for transitioning from one image to the next — that can be done without Flash, using techniques that I know.
What about website visitors using old browsers?
The finished website will have full functionality and styling in the latest stable versions of all the major web browsers. The website will most likely work fine in each browser's previous major release, but may not look identical ("pixel perfect"). There is no guarantee as to how well the website will work in even older versions of browsers, which tend to be obsolete — especially Internet Explorer.
Is it worthwhile having a single-page website?
Yes. Even if you only have enough text and pictures for one web page, a single-page website — often referred to as a "brochure website" or "nameplate website" — is far better than nothing at all. It serves much like an enlarged business card that you can hand out to potential customers all over the world, again and again. Such a website has at least two advantages over larger ones:
- There is no need for any navigation controls.
- It is possible to gather visitor information (to put it in simple terms) more easily.
Why does our finished website look somewhat different from the sample?
If you chose a packaged theme for your site's design, its appearance when implemented may differ from any theme screenshots, due to your unique logo, unique content, and sections removed for business reasons (e.g., no newsletter sign-up form because you chose to use a pop-up instead).
Why does our website look somewhat different for different users?
There are a number of factors that determine what a website will look like for any given visitor:
- the platform (a smartphone, a tablet, a laptop, or a computer monitor)
- the screen resolution
- the browser (Google Chrome, Mozilla Firefox, Opera, Microsoft Edge, or Internet Explorer)
- the version of the browser
- any browser plug-ins, including ad blockers that hide images of certain sizes
- any zoom settings or other assistive adjustments for users with vision problems
Even though there are no guarantees as to what a website will look like to any given individual, the accepted practice in the web development industry is to strive to make a website look consistent for the latest versions of the leading browsers. Visitors who elect to use out-of-date browsers, ad blockers, or other factors, cannot expect to see the website exactly as we intended and designed it. In those cases, the website may not look identical, but it typically will still be usable.
If someone reports a problem with your website, be sure to find out all of the factors listed above and report them to me. Otherwise, we have nothing to go on for debugging any problems.
What are the names of some of the parts of a web page?
All the regions of a website are rectangular in shape. The header of a website is the rectangular region at the top, which typically contains the website logo, name, navigation menu, etc. It does not change, from page to page, nor does the footer region, which is the rectangular area at the bottom of every page.
Can we use ads on the website as a source of revenue?
Yes, Google AdSense or other ad network could be a source of revenue, especially if your website has content containing keywords related to a variety of products and services that would prompt a visitor to click on the ads.
Why would an individual want an online store?
Whether you are a parent looking for a way to spend more time with your family, an entrepreneur wanting to create another revenue stream, a corporate employee ready to take control of your own future, or a retiree trying to supplement your income, selling goods or services online could help you to achieve more work/life balance, financial freedom, and peace of mind. Of course, there are no guarantees that an online business would make money. But you can be certain that you won't make that money if you don't try.
If we want to sell products on our website, what information should we give you?
For each product to be listed in your shopping cart, you will need the:
- product name
- image, if applicable
- product options, if any, and their changes to the price
- shipping weight (for nondigital products)
- your catalog number, i.e., any product code that you use for tracking that product
- supplier's catalog number, if any, so we can reference the product from the supplier
It is best to gather all of this information in a spreadsheet, with a column for each of the items above. Also get at least one image for each product, preferably in PNG format, of the highest quality possible.
How can we accept payments from customers?
Most online businesses start with PayPal Website Payments Standard, because it is simple and cost effective for startups. When your customers check out, they are sent to the PayPal servers to make their payments securely. So you can accept major credit cards online, without having to pay for:
- the PayPal Pro monthly fee
- an SSL certificate for your website's server
- PCI compliance
After you sign up for PayPal Standard, send me the e-mail address for the account, because I will need that for setting up your website to accept payments.
Can we receive instant notification that a customer has paid online?
Yes. I can integrate any of the major payment systems with your online store so that you will be automatically notified when someone makes a purchase. That notification can take the form of an email message to you, or an update to your website's database. For instance, one client of mine sold electronic greeting cards, and they needed to be made available to the customer immediately after purchase. I used PayPal's IPN to automatically update the database to show that the chosen greeting had been paid for. Another client organized racing events and wanted to be able to collect online payments from people registering for his races. I integrated iTransact with his race registration page so the user data is saved in a file on his server, so he could download it into his spreadsheet program.
Can our online store accept credit card orders securely?
Yes. We generally have some options:
- Purchase buttons that send the visitor to a secure third-party payment server.
- A shopping cart system built into your website, with secure payment on your website (this requires an SSL certificate) or on a third-party server.
How do we protect customers' private order information?
In order to allow customers to connect to your server using a secure connection (indicated by the yellow padlock in their browser), you will need an SSL certificate installed in your web hosting account. I can help with that if your website is hosted by SiteGround.
How do we add an Authorize.Net Simple Checkout item?
- Go to the Authorize.Net merchant login page, and login.
- In the merchant interface, in the left sidebar, in the "TOOLS" section, click the "Simple Checkout" link.
- In the "Item Id" column, choose an unused value and make a note of it.
- Click the "+ Add Item" link, which takes you to the "Simple Checkout Item" page.
- Enter an "Item Name", which is limited to 31 characters.
- Enter the "Item ID" you chose earlier.
- Set the appropriate "Type".
- Enter a detailed "Description" of the product or service.
- Enter a price. No dollar sign is needed.
- Change the "Maximum Per Order" if needed.
- Click the "Save" button.
- On the next page, in the "Buy Now Button Code" section, find the value to the right of the "LinkId". It will comprise 36 characters (letters, digits, and hyphens). Make a note of it, because you will need it later, when adding the item to your website.
Can you help us optimize the website for search engines?
Yes. I have done a lot of search engine optimization (SEO) for clients, as well as for my own website.
How can we use social media to promote our business online?
As you know, countless organizations are effectively leveraging the most popular social media services. Your website can feature links to your social media pages so visitors can follow your business on Facebook, Twitter, and other services. We can even automatically add to your website a list of your most recent tweets.
Why don't you promote your own business through social media?
These online apps are quite popular among most people, and can be addictive. But for software and web developers, daily use can ruin our productivity since their technical signal-to-noise ratio is very low, and they offer very little useful information. Developers like myself can better invest their limited time in building their technical skills instead of online branding.
How can we publish a newsletter?
Business owners often decide to publish online newsletters to attract more publicity and prospects. A newsletter can be emailed to the subscribers, or it can be published on the website — perhaps in a subscribers-only area — and subscribers can be notified with a simple email. The latter approach is usually better, for several reasons:
- Each issue of the newsletter can contain as much text as you want, and as many images, regardless of their size — versus filling people's email inboxes, and having to manage the rejection messages caused by your message being too large.
- Search engine spiders can and will index your newsletter web pages, which results in far more people discovering your newsletter than you could have ever contacted via email campaigns. The search engines will not find your emailed newsletters — unless someone happens to post them, but then you have lost control of that posted content.
- Even though you may allow recipients to unsubscribe from the newsletter, many recipients will mistakenly flag your newsletter mailings as spam, which can cause all sorts of problems for your business.
After our website is launched, who maintains it?
If your organization has at least one technical staff member, then the project manager usually chooses that individual to maintain the website going forward, or at least serve as the single point of contact when sending me requests to make updates to the website. Smaller organizations usually do not have programmers on staff, and so they ask me to maintain the website. I can perform regular backups of files and databases, make requested improvements to the website, add new features, and update the website software and its modules. All of this work is billed at my regular rate. All of my current clients have me do ongoing security updates, in which I provide up to a half hour of maintenance work on their websites each month, for a low quarterly cost. Changes beyond that are simply pre-billed for the estimated time at a reasonable half hour rate. The website content (text and images added) is the responsibility of the client, but I can always help with any technical questions.
This is not the same as being responsible for keeping your website up and running. That is between you and your chosen web hosting company. I build websites, and am happy to make modifications to them. But I don't run the hosting servers.
How often should we update the website?
Some organizations make the mistake of viewing their website as a one-time project, rather than an ongoing one. Consequently, they let their websites fall into disrepair. To keep a website up to date and consistently effective, its underlying software should be updated whenever security updates are published, and its content should be refreshed as often as possible.
What statistics are available for traffic to our website?
The AWStats analytics program provides a lot of information on visitors to your website. All of the information is shown for each month in raw numbers, and most of it also as bar charts. You may get data on:
- the number of unique visitors and visits, pages viewed, hits, and bandwidth usage
- that information for the current month versus earlier months in the year
- that information for every day of the month
- that information grouped by day of the week and hours in the day
- that information grouped by country
- IP addresses of top visitors
- search engine bots/spiders
- visitors' time spent on the website, grouped into first 30 seconds, first two minutes, etc.
- file types seen by visitors
- site pages most frequently visited
- visitors' operating systems and browsers
- traffic from search engines and inbound links — this information is quite useful for organic marketing
- key phrases and keywords used by visitors to find your website using search engines — also quite valuable
- HTTP status codes, including pages not found ("404 errors"), which is critical for website diagnosis
Google Analytics has similar information, and is easy to implement and free.
Many of my clients have me analyze the traffic statistics for their websites, and send monthly reports, with recommendations. I can do the same for you.
Other Technical Topics
What service do you recommend for non-marketing email?
For personal use, Gmail is free and has many features. Switching from another service is easy. You can backup all of your e-mail to your own computer, for free, using MailStore Home.
For business use, there are two options for setting up email service so that the addresses use your own domain name (e.g., "John.Doe@example.com"):
- We could use the email servers of your web hosting company, but this has a number of disadvantages: You would have to set up your own email management using a desktop program (such as Outlook Express, which introduces security risks) installed on a local computer. If you were ever away from that computer and needed to access your business email, then you would have to log into one of the hosting company's online mail programs, but their user interfaces are awful and the spam protection is useless.
- A better option is Google's G Suite. All email is managed online; no programs need to be installed locally; the cost is quite low; and the spam protection is excellent.
What is my IP address?
Every computer on the Internet is identified by a unique IP address, a group of four numbers separated by periods. Your IP address can be found at whatismyipaddress.com
Someone is trying to register a domain name similar to ours.
As the owner of a domain name, you might be contacted by a company (usually Asian) supposedly involved in domain name registration and intellectual property rights protection, claiming that they received an application from someone trying to register your domain name, or one similar. This is the domain-name extortion scam. You can ignore such messages, because as long as your domain name is locked, no one can take it away from you. Typically the text of the scammer's message will slyly conflate the terms "domain name" and "keyword" — clever, but phony. You can flag such messages as spam, and delete them.
Will we need venture capital for the website?
My clients have found that once they have the website in place and begin marketing it, not a single one of them has ever needed outside investments.
Should we copyright our new website or trademark our name or slogan?
The moment that you wrote down your unique business name, you held the copyright on it, and the same is true for when you registered your domain name. So there is no need to copyright them. But you may want to take out a "service mark" at some point for the name, if your business takes off and you think others might try to do something very similar. An attorney could help with that.
Can we use an excerpt from one of your reviews?
I welcome select excerpts from my book and software reviews being published on the web or in print, provided that:
- The attribution includes my proper name and profession, "Michael J. Ross, web developer", with the profession linked to my website (http://www.ross.ws/). The HTML code for that is:
Michael J. Ross, <a href="http://www.ross.ws/" rel="author">web developer</a>
- I ask to be notified when any such excerpts are published online or in print.