diff --git a/app/views/stories/articles_search/_meta.html.erb b/app/views/stories/articles_search/_meta.html.erb
index 3ae89cec3..d77868796 100644
--- a/app/views/stories/articles_search/_meta.html.erb
+++ b/app/views/stories/articles_search/_meta.html.erb
@@ -1,4 +1,5 @@
-<% title t("views.search.meta.title") %>
+<% title t("views.search.meta.title", for: (params[:q].present? ? t("views.search.meta.for", query: params[:q]) : "")) %>
+
<%= meta_keywords_default %>
diff --git a/config/locales/views/misc/en.yml b/config/locales/views/misc/en.yml
index 9f7bc052d..842eb2793 100644
--- a/config/locales/views/misc/en.yml
+++ b/config/locales/views/misc/en.yml
@@ -85,7 +85,8 @@ en:
newest: Newest
oldest: Oldest
meta:
- title: Search Results
+ title: Search Results%{for}
+ for: " for %{query}"
description: "%{site} => Search Results"
series:
meta:
diff --git a/config/locales/views/misc/fr.yml b/config/locales/views/misc/fr.yml
index 008c26227..6614dc1bd 100644
--- a/config/locales/views/misc/fr.yml
+++ b/config/locales/views/misc/fr.yml
@@ -85,7 +85,8 @@ fr:
newest: Newest
oldest: Oldest
meta:
- title: Search Results
+ title: Search Results%{for}
+ for: " for %{query}"
description: "%{site} => Search Results"
series:
meta:
diff --git a/spec/system/search/search_title_spec.rb b/spec/system/search/search_title_spec.rb
new file mode 100644
index 000000000..67bd24732
--- /dev/null
+++ b/spec/system/search/search_title_spec.rb
@@ -0,0 +1,27 @@
+require "rails_helper"
+
+RSpec.describe "Search page title", type: :system do
+ let!(:current_user) { create(:user) }
+
+ before do
+ sign_in current_user
+ end
+
+ context "when search query param exists" do
+ it "includes the search term in title and heading" do
+ visit "/search?q=helloworld"
+
+ expect(page).to have_title("Search Results for helloworld - DEV(local)")
+ expect(page.find("h1")).to have_content("Search results for helloworld")
+ end
+ end
+
+ context "when search query param doesn't exist" do
+ it "does not include search term in title and heading" do
+ visit "/search"
+
+ expect(page).to have_title("Search Results - DEV(local)")
+ expect(page.find("h1")).to have_content("Search results")
+ end
+ end
+end