diff --git a/crossbench/benchmarks/all.py b/crossbench/benchmarks/all.py
index bfc0ec2..c0f412c 100644
--- a/crossbench/benchmarks/all.py
+++ b/crossbench/benchmarks/all.py
@@ -9,7 +9,9 @@
                                              JetStream21Benchmark)
 from crossbench.benchmarks.loading.loading_benchmark import PageLoadBenchmark
 from crossbench.benchmarks.manual import ManualBenchmark
-from crossbench.benchmarks.motionmark import (MotionMark12Benchmark,
+from crossbench.benchmarks.motionmark import (MotionMark10Benchmark,
+                                              MotionMark11Benchmark,
+                                              MotionMark12Benchmark,
                                               MotionMark13Benchmark)
 from crossbench.benchmarks.speedometer import (Speedometer20Benchmark,
                                                Speedometer21Benchmark,
diff --git a/crossbench/benchmarks/base.py b/crossbench/benchmarks/base.py
index 236c5ee..e382fde 100644
--- a/crossbench/benchmarks/base.py
+++ b/crossbench/benchmarks/base.py
@@ -397,23 +397,36 @@
     parser = super().add_cli_parser(subparsers, aliases)
     # TODO: Move story-related args to dedicated PressBenchmarkStoryFilter class
     benchmark_url_group = parser.add_mutually_exclusive_group()
-    default_live_url = cls.DEFAULT_STORY_CLS.URL
-    default_local_url = cls.DEFAULT_STORY_CLS.URL_LOCAL
+    live_url = cls.DEFAULT_STORY_CLS.URL
+    local_url = cls.DEFAULT_STORY_CLS.URL_LOCAL
+    official_url = cls.DEFAULT_STORY_CLS.URL_OFFICIAL
     benchmark_url_group.add_argument(
         "--live",
+        "--live-url",
+        "--browser-ben",
         dest="custom_benchmark_url",
         const=None,
         action="store_const",
-        help=f"Use live/online benchmark url ({default_live_url}).")
+        help=(f"Use chrome live benchmark url ({live_url}) "
+              "on https://browserben.ch."))
+    benchmark_url_group.add_argument(
+        "--official",
+        "--official-url",
+        dest="custom_benchmark_url",
+        const=official_url,
+        action="store_const",
+        help=(f"Use officially hosted live/online benchmark url "
+              f"({official_url})."))
     benchmark_url_group.add_argument(
         "--local",
+        "--local-url",
         "--url",
         "--custom-benchmark-url",
         type=cli_helper.parse_httpx_url_str,
         nargs="?",
         dest="custom_benchmark_url",
-        const=default_local_url,
-        help=(f"Use custom or locally (default={default_local_url}) "
+        const=local_url,
+        help=(f"Use custom or locally (default={local_url}) "
               "hosted benchmark url."))
     cls.STORY_FILTER_CLS.add_cli_parser(parser)
     return parser
@@ -429,6 +442,7 @@
     data = super().describe()
     assert issubclass(cls.DEFAULT_STORY_CLS, PressBenchmarkStory)
     data["url"] = cls.DEFAULT_STORY_CLS.URL
+    data["url-official"] = cls.DEFAULT_STORY_CLS.URL_OFFICIAL
     data["url-local"] = cls.DEFAULT_STORY_CLS.URL_LOCAL
     return data
 
diff --git a/crossbench/benchmarks/jetstream/jetstream_2_0.py b/crossbench/benchmarks/jetstream/jetstream_2_0.py
index a224fff..f98287c 100644
--- a/crossbench/benchmarks/jetstream/jetstream_2_0.py
+++ b/crossbench/benchmarks/jetstream/jetstream_2_0.py
@@ -20,7 +20,8 @@
 class JetStream20Story(JetStream2Story):
   __doc__ = JetStream2Story.__doc__
   NAME: str = "jetstream_2.0"
-  URL: str = "https://browserbench.org/JetStream2.0/"
+  URL: str = "https://chromium-workloads.web.app/jetstream/v2.0/"
+  URL_OFFICIAL: str = "https://browserbench.org/JetStream2.0/"
 
 
 class JetStream20Benchmark(JetStream2Benchmark):
diff --git a/crossbench/benchmarks/jetstream/jetstream_2_1.py b/crossbench/benchmarks/jetstream/jetstream_2_1.py
index dd42698..bed8a0d 100644
--- a/crossbench/benchmarks/jetstream/jetstream_2_1.py
+++ b/crossbench/benchmarks/jetstream/jetstream_2_1.py
@@ -20,7 +20,8 @@
 class JetStream21Story(JetStream2Story):
   __doc__ = JetStream2Story.__doc__
   NAME: str = "jetstream_2.1"
-  URL: str = "https://browserbench.org/JetStream2.1/"
+  URL: str = "https://chromium-workloads.web.app/jetstream/v2.1/"
+  URL_OFFICIAL: str = "https://browserbench.org/JetStream2.1/"
 
 
 class JetStream21Benchmark(JetStream2Benchmark):
diff --git a/crossbench/benchmarks/motionmark/__init__.py b/crossbench/benchmarks/motionmark/__init__.py
index b8f1975..16bcede 100644
--- a/crossbench/benchmarks/motionmark/__init__.py
+++ b/crossbench/benchmarks/motionmark/__init__.py
@@ -4,12 +4,17 @@
 
 from __future__ import annotations
 
+from crossbench.benchmarks.motionmark.motionmark_1_0 import \
+    MotionMark10Benchmark
+from crossbench.benchmarks.motionmark.motionmark_1_1 import \
+    MotionMark11Benchmark
 from crossbench.benchmarks.motionmark.motionmark_1_2 import \
     MotionMark12Benchmark
 from crossbench.benchmarks.motionmark.motionmark_1_3 import \
     MotionMark13Benchmark
 
-benchmark_classes = (MotionMark12Benchmark, MotionMark13Benchmark)
+benchmark_classes = (MotionMark10Benchmark, MotionMark11Benchmark,
+                     MotionMark12Benchmark, MotionMark13Benchmark)
 
 _versions = set()
 for benchmark_cls in benchmark_classes:
diff --git a/crossbench/benchmarks/motionmark/motionmark_1.py b/crossbench/benchmarks/motionmark/motionmark_1.py
index d692f7a..1814cc3 100644
--- a/crossbench/benchmarks/motionmark/motionmark_1.py
+++ b/crossbench/benchmarks/motionmark/motionmark_1.py
@@ -62,7 +62,7 @@
 
 
 class MotionMark1Story(PressBenchmarkStory):
-  URL_LOCAL = "http://localhost:8000/"
+  URL_LOCAL: str = "http://localhost:8000/"
   ALL_STORIES = {
       "MotionMark": (
           "Multiply",
diff --git a/crossbench/benchmarks/motionmark/motionmark_1_0.py b/crossbench/benchmarks/motionmark/motionmark_1_0.py
new file mode 100644
index 0000000..e9a1b1a
--- /dev/null
+++ b/crossbench/benchmarks/motionmark/motionmark_1_0.py
@@ -0,0 +1,38 @@
+# Copyright 2024 The Chromium Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+from __future__ import annotations
+
+from typing import Tuple
+
+from crossbench.benchmarks.motionmark.motionmark_1 import (MotionMark1Benchmark,
+                                                           MotionMark1Probe,
+                                                           MotionMark1Story)
+
+
+class MotionMark10Probe(MotionMark1Probe):
+  __doc__ = MotionMark1Probe.__doc__
+  NAME = "motionmark_1.0"
+
+
+class MotionMark10Story(MotionMark1Story):
+  NAME = "motionmark_1.0"
+  URL: str = "https://chromium-workloads.web.app/motionmark/v1.0/"
+  URL_OFFICIAL: str = "https://browserbench.org/MotionMark1.0/"
+
+
+class MotionMark10Benchmark(MotionMark1Benchmark):
+  """
+  Benchmark runner for MotionMark 1.0.
+
+  See https://browserbench.org/MotionMark1.0/ for more details.
+  """
+
+  NAME = "motionmark_1.0"
+  DEFAULT_STORY_CLS = MotionMark10Story
+  PROBES = (MotionMark10Probe,)
+
+  @classmethod
+  def version(cls) -> Tuple[int, ...]:
+    return (1, 0)
diff --git a/crossbench/benchmarks/motionmark/motionmark_1_1.py b/crossbench/benchmarks/motionmark/motionmark_1_1.py
new file mode 100644
index 0000000..f997833
--- /dev/null
+++ b/crossbench/benchmarks/motionmark/motionmark_1_1.py
@@ -0,0 +1,38 @@
+# Copyright 2024 The Chromium Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+from __future__ import annotations
+
+from typing import Tuple
+
+from crossbench.benchmarks.motionmark.motionmark_1 import (MotionMark1Benchmark,
+                                                           MotionMark1Probe,
+                                                           MotionMark1Story)
+
+
+class MotionMark11Probe(MotionMark1Probe):
+  __doc__ = MotionMark1Probe.__doc__
+  NAME = "motionmark_1.1"
+
+
+class MotionMark11Story(MotionMark1Story):
+  NAME = "motionmark_1.1"
+  URL: str = "https://chromium-workloads.web.app/motionmark/v1.1/"
+  URL_OFFICIAL: str = "https://browserbench.org/MotionMark1.1/"
+
+
+class MotionMark11Benchmark(MotionMark1Benchmark):
+  """
+  Benchmark runner for MotionMark 1.1.
+
+  See https://browserbench.org/MotionMark1.1/ for more details.
+  """
+
+  NAME = "motionmark_1.1"
+  DEFAULT_STORY_CLS = MotionMark11Story
+  PROBES = (MotionMark11Probe,)
+
+  @classmethod
+  def version(cls) -> Tuple[int, ...]:
+    return (1, 1)
diff --git a/crossbench/benchmarks/motionmark/motionmark_1_2.py b/crossbench/benchmarks/motionmark/motionmark_1_2.py
index c782f5b..2623dbe 100644
--- a/crossbench/benchmarks/motionmark/motionmark_1_2.py
+++ b/crossbench/benchmarks/motionmark/motionmark_1_2.py
@@ -18,7 +18,8 @@
 
 class MotionMark12Story(MotionMark1Story):
   NAME = "motionmark_1.2"
-  URL = "https://browserbench.org/MotionMark1.2"
+  URL: str = "https://chromium-workloads.web.app/motionmark/v1.2/"
+  URL_OFFICIAL: str = "https://browserbench.org/MotionMark1.2/"
 
 
 class MotionMark12Benchmark(MotionMark1Benchmark):
diff --git a/crossbench/benchmarks/motionmark/motionmark_1_3.py b/crossbench/benchmarks/motionmark/motionmark_1_3.py
index b6d2505..9632d5f 100644
--- a/crossbench/benchmarks/motionmark/motionmark_1_3.py
+++ b/crossbench/benchmarks/motionmark/motionmark_1_3.py
@@ -18,7 +18,8 @@
 
 class MotionMark13Story(MotionMark1Story):
   NAME = "motionmark_1.3"
-  URL = "https://browserbench.org/MotionMark1.3"
+  URL: str = "https://chromium-workloads.web.app/motionmark/v1.3/"
+  URL_OFFICIAL: str = "https://browserbench.org/MotionMark1.3/"
   DEVELOPER_READY_JS: str = (
       "return !(document.querySelector('#frame-rate-detection span'));")
   READY_JS: str = (
diff --git a/crossbench/benchmarks/speedometer/speedometer_2_0.py b/crossbench/benchmarks/speedometer/speedometer_2_0.py
index 29a240c..1f29b89 100644
--- a/crossbench/benchmarks/speedometer/speedometer_2_0.py
+++ b/crossbench/benchmarks/speedometer/speedometer_2_0.py
@@ -18,7 +18,8 @@
 
 class Speedometer20Story(Speedometer2Story):
   NAME: str = "speedometer_2.0"
-  URL: str = "https://browserbench.org/Speedometer2.0"
+  URL: str = "https://chromium-workloads.web.app/speedometer/v2.0/"
+  URL_OFFICIAL: str = "https://browserbench.org/Speedometer2.0/"
 
 
 class Speedometer20Benchmark(SpeedometerBenchmark):
diff --git a/crossbench/benchmarks/speedometer/speedometer_2_1.py b/crossbench/benchmarks/speedometer/speedometer_2_1.py
index d54898d..da709a5 100644
--- a/crossbench/benchmarks/speedometer/speedometer_2_1.py
+++ b/crossbench/benchmarks/speedometer/speedometer_2_1.py
@@ -18,7 +18,8 @@
 
 class Speedometer21Story(Speedometer2Story):
   NAME: str = "speedometer_2.1"
-  URL: str = "https://browserbench.org/Speedometer2.1/"
+  URL: str = "https://chromium-workloads.web.app/speedometer/v2.1/"
+  URL_OFFICIAL: str = "https://browserbench.org/Speedometer2.1/"
 
 
 class Speedometer21Benchmark(SpeedometerBenchmark):
diff --git a/crossbench/benchmarks/speedometer/speedometer_3_0.py b/crossbench/benchmarks/speedometer/speedometer_3_0.py
index c75f8fe..502d1b9 100644
--- a/crossbench/benchmarks/speedometer/speedometer_3_0.py
+++ b/crossbench/benchmarks/speedometer/speedometer_3_0.py
@@ -223,8 +223,8 @@
 class Speedometer30Story(SpeedometerStory):
   __doc__ = SpeedometerStory.__doc__
   NAME: str = "speedometer_3.0"
-  # TODO: Update once public version is available
-  URL: str = "https://sp3-alpha-testing.netlify.app/"
+  URL: str = "https://chromium-workloads.web.app/speedometer/v3.0/"
+  URL_OFFICIAL: str = "https://browserbench.org/Speedometer3.0/"
   URL_LOCAL: str = "http://127.0.0.1:7000"
   SUBSTORIES: Tuple[str, ...] = tuple(SPEEDOMETER_3_STORY_DATA.keys())
 
diff --git a/crossbench/cli/cli.py b/crossbench/cli/cli.py
index 92da4e6..6ca4392 100644
--- a/crossbench/cli/cli.py
+++ b/crossbench/cli/cli.py
@@ -97,8 +97,10 @@
       benchmarks.Speedometer20Benchmark,
       benchmarks.JetStream21Benchmark,
       benchmarks.JetStream20Benchmark,
-      benchmarks.MotionMark12Benchmark,
       benchmarks.MotionMark13Benchmark,
+      benchmarks.MotionMark12Benchmark,
+      benchmarks.MotionMark11Benchmark,
+      benchmarks.MotionMark10Benchmark,
       benchmarks.PageLoadBenchmark,
       benchmarks.PowerBenchmark,
       benchmarks.ManualBenchmark,
diff --git a/crossbench/runner/run.py b/crossbench/runner/run.py
index c782d1a..f3e5c86 100644
--- a/crossbench/runner/run.py
+++ b/crossbench/runner/run.py
@@ -222,6 +222,7 @@
     self._cool_down(is_dry_run)
     with ChangeCWD(self._out_dir), self.exception_info(*self.info_stack):
       self._probe_context_manager.setup(self.probes, is_dry_run)
+    self._log_setup()
 
   def setup_selenium_options(self, options: ArgOptions):
     # TODO: move explicitly to session.
diff --git a/crossbench/stories/press_benchmark.py b/crossbench/stories/press_benchmark.py
index c1cdcb7..b7aa011 100644
--- a/crossbench/stories/press_benchmark.py
+++ b/crossbench/stories/press_benchmark.py
@@ -19,6 +19,7 @@
 class PressBenchmarkStory(Story, metaclass=abc.ABCMeta):
   NAME: str = ""
   URL: str = ""
+  URL_OFFICIAL: str = ""
   URL_LOCAL: str = ""
   SUBSTORIES: Tuple[str, ...] = ()
 
@@ -82,6 +83,7 @@
     assert self.SUBSTORIES, f"{cls}.SUBSTORIES is not set."
     assert self.NAME is not None, f"{cls}.NAME is not set."
     self._verify_url(self.URL, "URL")
+    self._verify_url(self.URL_OFFICIAL, "URL_OFFICIAL")
     self._verify_url(self.URL_LOCAL, "URL_LOCAL")
     assert substories, f"No substories provided for {cls}"
     self._substories = substories
