From dbd9ec9ccf15fe316f0bf4e7d7c7499829495c45 Mon Sep 17 00:00:00 2001
From: Anthony Ettinger
Date: Mon, 19 Oct 2026 12:19:53 +0000
Subject: [PATCH] sh1pt.com: move bottom-of-page ads above the fold, none
against the footer
The home page, blog index and blog post each ended with an AdUnit that sat
directly above the site footer. Each was the page's only ad, so it moves to
the top of the content (after the hero, under the blog heading, under the
post title) instead of being deleted.
Co-Authored-By: Claude Opus 5.5
---
sites/sh1pt.com/app/blog/[slug]/page.tsx | 3 ++-
sites/sh1pt.com/app/blog/page.tsx | 3 ++-
sites/sh1pt.com/app/page.tsx | 12 ++++++------
3 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/sites/sh1pt.com/app/blog/[slug]/page.tsx b/sites/sh1pt.com/app/blog/[slug]/page.tsx
index 35e55d9b..f38965df 100644
--- a/sites/sh1pt.com/app/blog/[slug]/page.tsx
+++ b/sites/sh1pt.com/app/blog/[slug]/page.tsx
@@ -53,6 +53,8 @@ export default async function BlogPostPage({
{post.tags.length > 0 && ` · ${post.tags.join(', ')}`}
+
+
{post.image_url && (
// eslint-disable-next-line @next/next/no-img-element
)}
-
);
}
diff --git a/sites/sh1pt.com/app/blog/page.tsx b/sites/sh1pt.com/app/blog/page.tsx
index 6804fc5a..e77c64a9 100644
--- a/sites/sh1pt.com/app/blog/page.tsx
+++ b/sites/sh1pt.com/app/blog/page.tsx
@@ -25,6 +25,8 @@ export default async function BlogIndexPage() {
+
+
{posts.length === 0 ? (
No posts yet. Check back soon.
) : (
@@ -86,7 +88,6 @@ export default async function BlogIndexPage() {
))}
)}
-
);
}
diff --git a/sites/sh1pt.com/app/page.tsx b/sites/sh1pt.com/app/page.tsx
index dd70601f..52d9dc96 100644
--- a/sites/sh1pt.com/app/page.tsx
+++ b/sites/sh1pt.com/app/page.tsx
@@ -33,6 +33,12 @@ sh1pt run logs -f`}
+
+
The problem
@@ -170,12 +176,6 @@ sh1pt iterate # observe metrics → agent proposes fixes → ship, on loop`}
-
-
);
}