The smart search should return published pages only by default. What is your search index setup and search code in the front end app? This does not sound right and looks like there is something wrong, maybe some DB inconsistency.
This SQL query returns published pages only:
SELECT * FROM [View_CMS_Tree_Joined] WHERE ([DocumentCanBePublished] = 1 AND ([DocumentPublishFrom] IS NULL OR [DocumentPublishFrom] <= GETDATE()) AND ([DocumentPublishTo] IS NULL OR [DocumentPublishTo] >= GETDATE()))
If it returns also the "archived" pages, then there is something wrong with the page data and you should review them as well as the workflow setup.