By tailoring content access, presentation, and functionality to the user's location, device, personal preferences, and needs, Web Information Systems (WISs) have become increasingly user and context-dependent. In order to realize such adaptive behavior, Web engineers are thus faced with an additional challenge: engineering the required adaptation concerns. In this article, we present, in the context of a WIS design method, an adaptation engineering process that is separated from the regular Web design process. Our approach is based on the use of two key elements: (1) aspect-oriented techniques to achieve the separation of (adaptation) concerns; and (2) the exploitation of semantic information and metadata associated with the content, for enhanced expressivity and flexibility. By combining these key elements, we demonstrate a robust, rich, consistent, and flexible way to specify adaptation in WISs.