Blog, CMS, Web, Wordpress

Enterprise Website Consolidation: What I Did, and Why You Should

When you are a responsible party concerning your companies’ websites, many challenges come up along the way. And one of the toughest challenges I have faced in my career supporting enterprise architecture was working with business partners to make an enterprise decision over an easy one.

The Problem: Over the course of weeks, my discovery revealed 25 separate websites across 5 different content management systems (CMS), hosted in 10 different servers and locations. Websites in the same CMS platforms were on different versions of the same CMS as well as infrastructure patching schedules. There was no form of source control nor any consistent configuration around the administration services. These complexities not only led to continual issues that had to be managed daily but in turn tied up development resources from focusing on other work. The conclusion was clear that over time the management of the web CMS systems and IT resources would continue to bloat cost and time to delivery on new projects.

What seems like the right idea: As these problems continue to come up, I recall this being presented in ideas and exploration, “Let’s just put more people on all of these to get them updated. The issue with the easy decision, however, is that the one-time fixes only prolong the root problems. You may have very sharp employees that are more than capable of knocking out these odds and ends jobs, but as any other updates begin to repeat themselves, the cycle repeats itself once more.

The Enterprise Solution: After all research had been done, the answer was clear: consolidating websites down into the same CMS would reduce the ongoing people support issues while improving the time to delivery on projects. The CMS itself needed to be a platform that allowed for scalability and ease of configuration. Finally, automation was going to be key in how it would assist in accomplishing operations and tasks that reduced unneeded internal labor.

The Results? 80% overall savings: After a 2 1/2-year transformation, 25 external websites were consolidated into WordPress via WP Engine. WP Engine was our manage services platform of choice, providing enterprise capabilities for all sites with a single pane of glass CMS management experience. Comparing against the 3-year cost-to-date prior spend of 1.5 million dollars we were able to move all sites and cover hosting in a single platform and cover it all 20% the cost. We not only realized cost savings to give dollars saved back to the business but was able to reallocate 2.5 FTEs worth of employees’ time onto other transformative efforts.

In addition, not only did we improve our hosting and patching automations, but we also enabled development pipelines from source control to have a controlled deployment strategy that went across multiple environments. This empowered a level of Quality Assurance testing and site monitoring we had yet to achieve.

Customer feedback: Our website editors and stakeholders were beyond thrilled to have only one editing experience to learn and use day to day. Our support teams were also happy, and our overall calls and reported issues were reduced!

Enterprise principles that supported my decision:

  • Consolidating competing CMS technologies allows for the management of a single platform
  • Leveraging a managed services platform allows a hands-off approach from development resources with ongoing maintenance; maintenance becomes core to the platform and is more easily managed
  • Developing your code within a source control platform allows for version management and prepares you to start considering your deployment strategies

Enterprise ROI savings can be realized by:

  • Retiring dedicated or hosting infrastructure
  • Reducing editor licenses in separate CMS systems
  • Removing extra 3rd party dependencies specific to an unneeded system
  • Removing unneeded external resources and/or support services costs to assist with troubleshooting
  • Leveraging your existing resources to be focused on new development and no longer in maintain mode

Regardless of your end decision on a specific product set to support your development team skillsets, one of the keys to drive repeatable enterprise development is to align decisions around simplifying management and driving automation of patching and version upgrades. CMS companies that thrive in licensing will nickel and dime you to bits on progress that you’ll never achieve with always fighting against yourself within their own products. If you’re not able to click less than 5-7 clicks to deliver a fully automated blank site to use, then reconsider your options. Make it a goal to center your platform decisions around their ability to leverage automation in how you can reduce unneeded activities. Automation will empower your staff to focus on new development.

HTML, JavaScript, Troubleshooting, Web, Wordpress

SOLVED: Contact form 7 Submission Won’t Send, Stuck on Spinning Wheel

In a recent update on WordPress CMS and my existing plugins I noticed that form submissions started slowing a bit on entries. In checking this I found that the form would attempt to submit but would stay in a spinning stage and never validate or submit it.

So, here’s what I did to update for a fix.

1) Head to the plugin editor, update the link below:

2) Look for the section:

if ( ! defined( 'WPCF7_LOAD_JS' ) ) {
	define( 'WPCF7_LOAD_JS', true );

3) Update this to:

if ( ! defined( 'WPCF7_LOAD_JS' ) ) {
	define( 'WPCF7_LOAD_JS', false );

4) Clear cache and try your form again. a good way to see if the spinning wheel issue goes away is if your required fields respond.


  • The form will no longer send with ajax since you have disabled the javascript.
  • If you update the plugin in any way and have the problem again you will need to reapply this change.

You can keep up with the ongoing reference to this issue on Contact Form 7’s website.

10/30/20 Update – Should you want to get out of having to update the plugin directly, you can set a constant in your wp-config.php file to set it and forget it. Link below! 

HTML, JavaScript, Web, Wordpress

Need A Quick CSS Override On Just One Page Via JavaScript?

Found this to work really well for a WordPress custom theme where the only option I had was to drop an override via a header/footer plugin option:

var ref= window.location.pathname;
var search="/youruniquepagelink/";
if (ref.indexOf(search) > -1) {
let myElements = document.querySelectorAll(".your-class");
for (let i = 0; i < myElements.length; i++) {
	myElements[i].style.display = "none";

Project Management in a Rapidly Evolving IT Landscape

With companies evolving their platforms and services every day we know that technology is constantly changing. New efforts are constantly bubbling up to transform old processes and operations must continue to work smoothly. And if you are lucky enough to be in a place where an implemented solution is doing well, chances are it is time to start looking for the end of life or next release coming around the corner!

I can readily admit that at times I feel rushed and challenged to find the right time to insert myself into a project, and I am seemingly always trying to regroup, get organized, and hit the ground running (or slamming on the brakes in red flag situations).  Regardless of the stage at which you find your projects, be aware of insights and strategies you need to employ to establish the appropriate roles in fast and competitive environments.

How do we keep up?

If you are in a fast-moving environment you will need to be able to assess and understand quickly just how good or not so good a specific project is going.

Here are some potential problems you can use to assess how far a project has come:

  • Initial high-level strategy conversations for potential transformational work without an Executive and Project Sponsor
  • Working of business relationships / partnerships without a Solution Delivery Leader and Product Owner
  • Kicking off schedules and coordinating resource & task plans without a Project Manager
  • Business requirements and process steps not reviewed or optimized from a Business Analyst
  • Attempting to drive towards integrations without defined data flows from a Data Analyst
  • Initial architectural designs or defined solution capabilities without guidance or approval from an Architect
  • Development and configuration activities for a solution without an Engineer

Based on which activity that has not occurred helps you to identify when a project is off. If one or more of these are true then it would be time to pause and to begin to seek the right people to understand what really needs to happen next.

(The Unicorn Exception -> if you are in a situation in which you are performing multiple roles you are a unicorn for a standard project! Personally I love unicorns (I feel like one myself) but I know often it will stress out standard IT structures. What I would tell you is that even though you can wear multiple hats it does not mean you can abandon either the quality of work or the time to invest in each role.)

Tips for hitting the ground running in IT projects:

First, please work with the proper people to clarify and to understand the importance of your role in a project. Without the education and the understanding to help people temper their desire to push forward without the right help, people will not realize the cost of rework or of having to acquire an additional solution down the road.

Next, understand the current progress of a project. In order to understand how much rework or backing up may be required, you first need to get a good perspective on where the project is.

Finally, understand your role and the deliverables you need to provide. It is important to know what you need to do and when you need to do it so you can plan within the project schedule for a successful delivery. Above all, allowing enough time for the task is crucial so that teams know what to expect from a reasonable schedule.

Tips on questions you can ask to hone in on current status:

– Has the project been approved? (money available to spend?)

– Has the working team been identified (Solution Delivery Manager, Product Owner, Project Manager, Business Analyst, Data Analyst, Architect & Engineers)?

– Have requirements been established?

– Has the process been understood and optimized (leaned) out?

– Are there completed artefacts for a defined target architecture or potential proposed solution?

Chances are once you get this understanding you will know approximately where a project is in the current process and where you need to contribute appropriately. Do not wait for someone to approach you first for help; be proactive instead of reactive!

Know what to do? Let’s get to work: Once you understand the current state of a project, don’t hesitate to insert yourself into the resource plan and project timeline. Allow ample time to ensure your role is not lost due to something being rushed or dependent on a date. Chances are your business partners will be flexible to shift your dates if you have done a good job at establishing the importance of your role and its prominent place in the project timeline.

Finally, perform the work and deliver your artefacts and recommendations specific to your role. If this is accomplished, it either will validate that the proposed solution accommodates the process and requirements with provided capabilities or that the parts completed thus far need another round of rework. Either way, these are both very positive outcomes compared to the alternative:  just marching on and hoping for the best— with mixed results.

Done? Time to Retro: Once you’ve completed a certain milestone it is very important to educate your departments and teams about what should be done differently in the future. Without this education and course correction, you may find yourself suffering the same issues over and over again. Learn and grow from the retro!

Update (10/15/2019) -> This write-up is now featured in CIO Applications!



Looking Back! ETSU Computer Science Edition

Background for this post: I was recently working through some summer cleanup in the garage and unearthed what I had discovered as my binder box. As I began to take one last pass through these papers before a final recycling place it gave me pause to reflect and to share to those who have seen things change over time.

It seems like it is now so long ago that had just found the passion in computer science and began my journey during my tenure at ETSU. Looking back on it now I can definitely say I am thankful for all of the highs and lows I experienced: showing excellence in some areas, showing vulnerabilities in others and growing to learn, and above all the experience to collaborate and begin to understand what would eventually come daily teamwork. I can also way with great certainty that I am THRILLED in how far we have came in automation since my graduating class was sent forth: half of our work could have been in a run book, and our virtuals could have been speedy in the cloud! 🙂

Though a lot of the concepts may be refreshed or different my overall discipline to consume and learn new things has still held to this day. I definitely want to thank all of my instructors, collegiate colleagues and alum that helped me to push through to the end! I am most definitely better for it and will never forget all my memories (and sometimes late night studies) that brought me to where I am today.

Enjoy the collage! #memories

and of course, farewell to my days of binders and handwritten pages that became my foundation for the corporate universe! #ETSU #GoBucs #Binders

I think the only thing that was harmful in this experience was to unearth how time has flown by and that my age is definitely a few versions past the original release! 🙂