For dynamic content, pages might be stored in database, so that is not a big task, what you can do is to enable the full text search in database for more flexibale search operation, please read the following article about full text search:
You can write stored procedure that search within your column in your database where page's content are stored. In application level, you can have search page where you can put any control e.g. Repeater or List to bind the search result. There are many tutorial available on net and you can google it easily.
Since this is basic coding task, I can only give you idea and don't want to give the exact code.
If you done SEO for your site save that meta data to your own table in database when user search keyword in search control you search that meta data (use %like% in query)and take the corresponding page name show those result in hyperlink which link user need user can click it.
Note: If you don`t have database connection then place all metadata and corresponding page link when search load xml to data table and use LINQ to search keyword show result as mentioned above