diff --git a/packages/docs/src/components/code-sandbox/index.tsx b/packages/docs/src/components/code-sandbox/index.tsx
index 0141e91a3ba..a19ad1c1b78 100644
--- a/packages/docs/src/components/code-sandbox/index.tsx
+++ b/packages/docs/src/components/code-sandbox/index.tsx
@@ -21,6 +21,7 @@ export default component$<{
         <div class="tabs">
           {tabs.map((tab, idx) => (
             <span
+              key={idx}
               onClick$={() => (activeTab.value = idx)}
               class={{ tab: true, active: idx == activeTab.value }}
             >
diff --git a/packages/docs/src/components/docsearch/doc-search.tsx b/packages/docs/src/components/docsearch/doc-search.tsx
index 8a6db5658d6..5d26fbff194 100644
--- a/packages/docs/src/components/docsearch/doc-search.tsx
+++ b/packages/docs/src/components/docsearch/doc-search.tsx
@@ -71,7 +71,7 @@ export const DocSearch = component$((props: DocSearchProps) => {
     snippetLength: 10,
   });
 
-  const searchButtonRef = useSignal();
+  const searchButtonRef = useSignal<Element>();
 
   return (
     <div
diff --git a/packages/docs/src/components/docsearch/search-box.tsx b/packages/docs/src/components/docsearch/search-box.tsx
index d7225ef6f32..733240d43b1 100644
--- a/packages/docs/src/components/docsearch/search-box.tsx
+++ b/packages/docs/src/components/docsearch/search-box.tsx
@@ -1,4 +1,10 @@
-import { component$, useVisibleTask$, useContext, type Signal } from '@builder.io/qwik';
+import {
+  component$,
+  useVisibleTask$,
+  useContext,
+  type Signal,
+  type PropFunction,
+} from '@builder.io/qwik';
 
 import { MAX_QUERY_SIZE } from './constants';
 import { SearchContext } from './context';
@@ -17,7 +23,7 @@ interface SearchBoxProps {
   state: DocSearchState;
   autoFocus: boolean;
   inputRef: Signal<HTMLInputElement | null>;
-  onClose$: () => void;
+  onClose$: PropFunction<() => void>;
 }
 
 export const SearchBox = component$((props: SearchBoxProps) => {
diff --git a/packages/docs/src/components/router-head/router-head.tsx b/packages/docs/src/components/router-head/router-head.tsx
index 75da68471ff..91c2a3347b4 100644
--- a/packages/docs/src/components/router-head/router-head.tsx
+++ b/packages/docs/src/components/router-head/router-head.tsx
@@ -82,16 +82,16 @@ export const RouterHead = component$(() => {
         </>
       )}
 
-      {head.meta.map((m) => (
-        <meta {...m} />
+      {head.meta.map((m, key) => (
+        <meta key={key} {...m} />
       ))}
 
-      {head.links.map((l) => (
-        <link {...l} />
+      {head.links.map((l, key) => (
+        <link key={key} {...l} />
       ))}
 
-      {head.styles.map((s) => (
-        <style {...s.props} dangerouslySetInnerHTML={s.style} />
+      {head.styles.map((s, key) => (
+        <style key={key} {...s.props} dangerouslySetInnerHTML={s.style} />
       ))}
 
       <ThemeScript />
diff --git a/packages/docs/src/components/sidebar/sidebar.tsx b/packages/docs/src/components/sidebar/sidebar.tsx
index 14e4c198c7b..62e2a451a1b 100644
--- a/packages/docs/src/components/sidebar/sidebar.tsx
+++ b/packages/docs/src/components/sidebar/sidebar.tsx
@@ -41,7 +41,7 @@ export function Items({
     <ul>
       {items &&
         items.map((item, i) => (
-          <li>
+          <li key={i}>
             {item.items ? (
               <details
                 open={allOpen || i < 1 || item.items?.some((item) => pathname === item.href)}
diff --git a/packages/docs/src/routes/docs/layout.tsx b/packages/docs/src/routes/docs/layout.tsx
index e85f274827e..013e4dbe38b 100644
--- a/packages/docs/src/routes/docs/layout.tsx
+++ b/packages/docs/src/routes/docs/layout.tsx
@@ -41,8 +41,8 @@ export default component$(() => {
         </button>
         {breadcrumbs.length > 0 ? (
           <ol>
-            {breadcrumbs.map((b) => (
-              <li>{b.text}</li>
+            {breadcrumbs.map((b, key) => (
+              <li key={key}>{b.text}</li>
             ))}
           </ol>
         ) : null}