Web applications have unique characteristics that require suitable software engineering practices in the development process. In this way, software architectures and pattern-based approaches are suitable design techniques for modeling purposes. But if we want to build sets of similar systems, we need to represent the common and variable aspects of such systems under an architectural point of view. Therefore, representing and managing those variable issues is a goal to achieve when designing similar software applications. In this work we will try to deal with the variability problem from a pattern point of view as well as applying this to web software products.