We recently moved two self-hosted WordPress.org powered websites over to WordPress.com. One of which was our main website! We wanted to comment on why we made the migration, what was involved, and when others might consider following suit.
- It’s a super fast and highly available host. There are very few web hosts that truly fit into that category. The platform is so efficient because it essentially processes only your content.
- It’s secure, up to date, backed up, and works to prevent SPAM. Other than having a strong password on the accounts, the platform handles all of the monitoring and backups for you.
- It’s quite affordable. For example; we’re paying $13/yr for domain mapping plus $30/yr for no ads. You cannot beat those rates!
- WordPress.com treats all contributors as individuals with their own accounts having their own invited websites. This is a forward-looking concept.
- See how Automattic describes the two platforms.
Interesting differences between these two platforms
- Your main website cannot feature custom functionality, but you can still have an auxiliary site on the side.
- Your Theme choices are much more limited. However, the reasons for this limitation make it worth choosing from their subset of some 200 pre-approved Themes offered. You can decide whether to purchase a premium Theme or the ability to modify the CSS on any Theme.
- Exporting your WordPress.org posts, pages, and media using Tools → Export can be tricky!
- Any links within pages or posts that point to internal site pages, if applicable, and posts must be changed to the new URL. Posts contain the /YEAR/MONTH/ in their permalinks.
- If your media isn’t already in the Media Library, it must be put there before running the export.
- Media URLs will change to the format: http://SUBDOMAIN.files.wordpress.com/YEAR/MONTH/
- If you are mass importing media that wasn’t previously in the Media Library, the month and year in the URLs will be changed to the present time. Fix any media dates before exporting.
- Importing into WordPress.com using Tools → Import, and mapping usernames accordingly.
- You can only import the same media files by month one time, because deleting them will make the subdomain.files.wordpress.com address for them unusable in the future, and a 1 or 2 could be appended to filenames. You must get this right the first time, or else you will be moving media to a different month!
- There is a subprocess that changes the links to media within the blog, which may take hours to complete, even after the import is done.
- Launching the domain involved purchasing the Domain Mapping product for a small fee.
- You then have to change your name servers to ns1.wordpress.com, etc. If you accept email to your domain, you must add MX records within the Domain Mapping DNS area to forward email to your email hosting service, such as Google Apps or Rackspace Apps.
- You also have to add CNAME (host) records or A (address) records for any subdomains that you want to point to other hosting platforms.
When to consider using or moving to WordPress.com
Being that beAutomated is not a design shop, the design constraints of WordPress.com were not a problem for us. Even if we were a design shop, they offer CSS customization capabilities for a small fee. Second, since the beAutomated.com website doesn’t sport custom functionality directly on the pages/posts, we weren’t concerned with not being able to use any Plugins on the main site. The features of WordPress.com, mainly the feedback forms, sharing, and their Writing Helper feature were enough for our purposes.
Subdomain powered by WordPress.org
beAutomated has a labs.beautomated.com hosting account with all of our WordPress.org development sites and services, including automation jobs that tie in with our email accounts to process submissions from our new WordPress.com site. You can concurrently take advantage of WordPress.org for back office processes using a subdomain or an alternate domain name. We like the idea of putting the heavier traffic on a fast, secure, highly available platform, while the custom functionality is delegated to a subdomain.
Thank you for taking the time to read this post. Note that we really appreciate feedback about what we’ve written as well as what topics you’d like us to discuss in future posts so please do let us know.
Having worked on many web development projects over the years, I can confidently say that the way to enjoy programming is to work in “bite sized chunks” of code, code that provides a single service. This is known in the WordPress community as a Plugin!
As the scope of a project increases over time, with every project giving birth to little baby projects, developers often find themselves dealing with a spaghetti mess of code. How do you remember thousands of lines of code that produces a result, especially among dozens of projects?
Earlier on, the key to keeping code scalable was the use of objects, and object oriented programming techniques. For example, you would create classes of functions and variables and store them in appropriately named files. For example: ‘class.students.php’ or ‘class.teachers.php’.
Custom tailored WordPress Plugins can help any small business save money on operational costs and earn money with faster, more convenient order management for its customers. Plugins can be made to handle most of a business’s number crunching, time sensitive, and regular day-to-day tasks.
We built a community Plugin, Benchmark Email Lite, that creates a realtime newsletter signup form widget, and also allows administrators to send out their content as email campaigns. The Plugin has had over ten thousand downloads, representing a reasonably large market share in its category.
Monetization: is via users who install the Plugin being likely to upgrade to a paid account with the service provider Benchmark Email. The more users with subscriptions, the better the Plugin pays off over time.
Thanks to our wonderful hosting partner, Rackspace, beAutomated received free admission to this year’s Cloud Computing Expo in Santa Clara. I attended for 2 of the 4 days. While this conference is more enterprise IT focused, there were plenty of small business and software application takeaways.
Before beginning my notes, I wanted to express my delight in gaining confirmation that our niche business of building custom WordPress Plugins provides immense value to businesses and organizations of all sizes. Independent Software Vendors (ISVs) like ourselves accumulate years of knowledge that simply get lost within larger IT operations. ISVs provide affordable niche skills to clients who are concerned with turnaround speed. The value of custom core applications for businesses far exceeds anything that the cloud itself can provide, simply due to the nature of cloud software being contextual for a wide audience. Also, automation is considered essential for businesses of all sizes to control operating costs and enable superior, unique functionality that puts users in the driver’s seat. Finally, because change delivers business value, we’ll always have work in our industry!
Today’s topic is an example demonstrating the difference between requirements (marketing based) and specifications (engineering based). We have a simple example of one form field, where we’re adding a telephone number to the User Profile panel in the WordPress back end. We’ve often come across requirements like this where what appears to be a simple task becomes a bit more involved once we work on converting our client’s requirements into engineering specifications adequate for building robust software.
We typically start out with obtaining basic requirements from our prospective clients to understand the scope of their project concept. We want to ensure there is a designer involved, or somebody qualified to make design decisions when they come up. On the back end (wp-admin) we generally stick to the design conventions already there, though there may still be design implications requiring a designer’s input. Once we have all the requirements on the table and design mockups ready, we then ask questions that move us towards specifications, adequate for estimating cost and timeline for production.
In our last blog post, Built To Last, we mentioned the necessity of building into the core of WordPress and never modifying existing Plugins, themes, or core files. We wanted to expand on this topic a bit and explain more about these best practices with what we’re calling “Plugin Strategy”.
WordPress was traditionally a blogging platform and has evolved into a full featured Content Management System (CMS). It is even more than that to PHP developers. WordPress serves as a PHP framework—providing many tools and resources for developers to design their Plugins with.
Despite all that WordPress has to offer developers, many don’t necessarily take the time to learn what all the core can do. This can mean reinventing the wheel by bringing in performance costing library files that otherwise aren’t necessary, making custom User Experience (UX) elements that don’t match WordPress, or creating Plugins that are essentially islands to themselves based on how they store data and only mildly hook into WordPress.
In October 1972 the new Bay Area Rapid Transit (BART) system experienced what could have been a disastrous failure. An automated sensor that detected the train approaching the terminus station was supposed to slow the train down in preparation for the stop, however it reversed and sped up the train to 70MPH. The operator couldn’t prevent the train from running out of elevated track, resulting in the train falling onto the street below. Good thing this accident was part of a series of test runs with only a few individuals involved. Engineers fixed this and other problems in what was then a futuristic designed automated system that has since served the public well for nearly 40 years.
Not everything is built to last. Often times quality gives way to budget shortfalls or pressures to produce rapidly. Lackluster quality can in the worst case scenario lead to accidents and even death. Accidents cannot always be avoided, but they can often be prevented by planning well, providing detailed product specifications, building carefully, testing rigorously, and maintaining vigorously. With respect to websites, the areas one generally needs to protect are: image, operations, and valuable customer data. It makes sense to take as many measures as possible to prevent one’s Internet operations from ever becoming a train wreck!
At beAutomated we strive to be consultants first and programmers second because we want to ensure our development work produces maximum benefit. In serving our clients we often get requests to assist with data and site migrations, and we usually end-up educating clients about DNS—Domain Name System—on top of discussing the various types of hosting plans available to them.
Folks usually get confused about DNS whereas it’s reasonably simple for most purposes. Probably the biggest cause for this confusion has been the routine push by web hosting companies to get their customers to move their name servers along with their website files and database data. Instead, one can use their registrar’s built-in DNS hosting to simplify the process and make it faster and easier to switch hosting companies when necessary as well as to divert other services such as email to separate hosting providers. Using this configuration approach can save on costs by providing needed flexibility.
Performance is one of the major purposes behind custom software development, alongside functionality, security, interoperability, and support. Performance is of major importance not only to website visitors but to search engines such as Google.
Researchers also claim that website users are affected by speed, while speed decreases they increasingly begin to leave and try other links instead. WordPress powered websites are particularly vulnerable to performance problems due to the plethora of themes and Plugins that often get applied to these websites on top of WordPress’ already extensive core. Many of the Plugins available today do not follow best practices for performance, whether they are free, premium, or even custom.
You might be surprised to learn that every single plugin you have installed gets loaded with every single page request. If the plugin has nothing to do with the page being requested, most of its logic is usually skipped. If the plugin does filter or otherwise hook into the content of the page somewhere somehow, most of the logic within the plugin will be executed in realtime. Individual plugin logic may or may not be optimized for performance. Regardless of whether the plugin is performance optimized, every plugin will affect your website’s performance to some degree.
Outsourcing as it relates to custom WordPress plugin development refers to hiring contract developers from outside your business to fulfill the programming of your custom plugin development project, ideally including some of the engineering design planning as well. Offshoring refers to outsourcing to overseas contractors. Software development is an area of expertise that is most often outsourced and many times is offshore outsourced.
We have a little bit of experience on this topic and thought we would contribute to the discussion. We hope that we might help the WordPress webmaster audience understand some important items to consider when deciding where to obtain external resources.
Being a U.S. based contractor ourselves plus having more of a U.S. based audience, we are proud to advertise that we produce all of our work locally in the U.S.A. We distinguish ourselves from our competition, local and abroad, in certain respects.