if(isset($_GET['q']) && $_GET['q'] !== '') { $clean_param = trim(addslashes(strip_tags($_GET['q']))); // First, check if $clean_param corresponds to a page slug in your DB: $page = $objDb->select("SELECT * FROM pages WHERE url_slug = '$clean_param' AND status = 'published'"); if ($page) { // Load the page content for this slug $contentFile = 'page_tpl.php'; // your page template // pass $page to template for rendering } else { // If no page found, fallback to search or 404 $blogs = $objDb->select('SELECT * FROM blog WHERE (title LIKE "%' . $clean_param . '%" OR content LIKE "%' . $clean_param . '%") AND status = "active"'); $pages = $objDb->select('SELECT P.* FROM pages P LEFT JOIN page_content C ON C.id_page = P.id WHERE (C.content LIKE "%' . $clean_param . '%" OR P.title LIKE "%' . $clean_param . '%") AND P.status = "published" AND id_parent_page != 0'); $result_cnt = count($blogs) + count($pages); $contentFile = 'search_result_tpl.php'; } } else { $contentFile = 'index_tpl.php'; // home page }