What Should I do First SEO, Web Site Performance Optimization or Web Application Security?

Since last few days I have been learning SEO in detail to understand how exactly it works and how can we optimize the website to make it Search Engine Friendly. But after few chapters a question arises. What is important from the website perspective, If I am spending more time in SEO optimization I may miss the application performance and security, yet performance is one of the part of the SEO, but it will not ask for the more level of the optimization. At the same time if the application is under the malware attack it will reduce also impact the Search Engine Ranking.

To get the answer of this question, I met many of my application developer friends along with some web application development company owners and asked about how they handle the non-functional requirement of the application like SEO, performance and security. The answer was as expected, we do not take care of this at the requirement phase, at first we develop the application and then we integrate the non-functional requirement.

So it is the right way to develop any web application? Should we find/implement the way where we can accommodate the non-functional requirements with the functional requirements? The answer is “Yes” and the way we develop the application should be changed.

During the ethical hacking training I learned about the Functionality – Security – Ease of Use triangle the same logic can be applied to the functional – Nonfunctional requirement development. A development team should spend the 50% time for the Functional requirement and 50% time for the Non functional requirement implementation. This will reduce the rework and application failure ratio.

In a granular way application security should be at the base of the development, which should be supported by the application performance engineering and on the top layer SEO can be build.

This was just an idea; kindly share let me know if we can improve the non-functional testing by adding any other method in the Software Development Life Cycle.