Skip to content

Commit db295ea

Browse files
authored
feat: Add comprehensive technical SEO audit checklist for 2025
- Introduced a new blog post detailing a complete technical SEO audit checklist, covering Core Web Vitals, crawlability, indexing, structured data, and more. - Included actionable fixes for each identified issue to enhance site performance and SEO. feat: Create programmatic SEO guide for generating traffic - Added a new article explaining how programmatic SEO can create thousands of targeted pages from structured data, capturing long-tail search traffic. - Discussed the anatomy of a programmatic SEO system and provided a practical roadmap for implementation. feat: Compare OpenAI and Anthropic LLMs for business applications - Published a comparative analysis of OpenAI's GPT-4 and Anthropic's Claude, focusing on capabilities, costs, and use cases. - Provided recommendations for specific applications based on model strengths. feat: Analyze Astro as the best framework for marketing sites - Released a detailed comparison of Astro against other frameworks like Next.js and Gatsby, emphasizing performance, developer experience, and SEO capabilities. - Highlighted Astro's unique features such as zero-JS default and islands architecture. fix: Implement code copy button functionality - Added a new script to enable copy functionality for code blocks in blog posts. - Styled copy buttons for better visibility and user interaction. style: Enhance global styles for code copy buttons - Updated global CSS to style the new copy buttons, ensuring they are visually appealing and user-friendly. - Improved button positioning and hover effects for better UX.
1 parent 538b788 commit db295ea

13 files changed

Lines changed: 266 additions & 26 deletions

astro.config.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import tailwindcss from "@tailwindcss/vite";
66
import AstroPWA from "@vite-pwa/astro";
77
import { defineConfig } from "astro/config";
88
import rehypeMermaid from "rehype-mermaid";
9+
import rehypeCopyCodeButton from "./src/lib/rehypeCopyCodeButton";
910

1011
type HastNode = {
1112
type?: string;
@@ -49,6 +50,17 @@ export default defineConfig({
4950
type: "shiki",
5051
excludeLangs: ["math", "mermaid"],
5152
},
53+
rehypePlugins: [
54+
[
55+
rehypeMermaid,
56+
{
57+
strategy: "inline-svg",
58+
dark: true,
59+
},
60+
],
61+
rehypeMermaidAriaLabel,
62+
rehypeCopyCodeButton,
63+
],
5264
},
5365
vite: {
5466
plugins: [tailwindcss()],
@@ -65,6 +77,7 @@ export default defineConfig({
6577
},
6678
],
6779
rehypeMermaidAriaLabel,
80+
rehypeCopyCodeButton,
6881
],
6982
}),
7083
partytown({

src/content/blog/ab-testing-best-practices-improve-conversions.md renamed to src/content/blog/ab-testing-best-practices-improve-conversions.mdx

File renamed without changes.

src/content/blog/building-custom-chatgpt-interfaces-for-business.md renamed to src/content/blog/building-custom-chatgpt-interfaces-for-business.mdx

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -42,20 +42,28 @@ The custom assistant knows your order system, understands your product catalog,
4242

4343
A production-ready custom chatbot has several components:
4444

45-
```
46-
User Interface (Web/Mobile/Slack)
47-
48-
API Gateway
49-
50-
Orchestration Layer
51-
↓ ↓
52-
Knowledge External
53-
Base Systems
54-
(RAG) (CRM, DB)
55-
↓ ↓
56-
LLM Processing
57-
58-
Response Generation
45+
```mermaid
46+
flowchart TD
47+
subgraph app[Application Layer]
48+
ui[💬 User Interface<br/>Web, Mobile, Slack]
49+
api[🛡️ API Gateway<br/>Auth, rate limits, routing]
50+
orchestration[🧠 Orchestration Layer<br/>Context + tool decisioning]
51+
end
52+
53+
subgraph data[Data + Tool Access Layer]
54+
rag[📚 Knowledge Base Retrieval<br/>RAG over docs and support content]
55+
external[🔌 External Business Systems<br/>CRM, databases, billing, inventory]
56+
end
57+
58+
llm[🤖 LLM Processing Engine<br/>Reasoning + function/tool calling]
59+
response[✅ Response Generation<br/>Grounded answer and next action]
60+
61+
ui --> api --> orchestration
62+
orchestration --> rag
63+
orchestration --> external
64+
rag --> llm
65+
external --> llm
66+
llm --> response
5967
```
6068

6169
Let's break down each piece.

src/content/blog/building-mvp-4-weeks-technical-guide.md renamed to src/content/blog/building-mvp-4-weeks-technical-guide.mdx

File renamed without changes.

src/content/blog/complete-technical-seo-audit-checklist-2025.md renamed to src/content/blog/complete-technical-seo-audit-checklist-2025.mdx

File renamed without changes.

src/content/blog/how-programmatic-seo-generates-10x-traffic.md renamed to src/content/blog/how-programmatic-seo-generates-10x-traffic.mdx

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -57,18 +57,21 @@ Each page builds domain authority. More indexed pages (if quality) = stronger ov
5757

5858
A successful system has these components:
5959

60-
```
61-
Structured Data Source
62-
63-
Template System
64-
65-
Content Generation
66-
67-
Quality Assurance
68-
69-
Internal Linking
70-
71-
Publication & Indexing
60+
```mermaid
61+
flowchart TD
62+
subgraph creation[Content Creation Pipeline]
63+
data[🗂️ Structured Data Source<br/>Databases, APIs, taxonomies]
64+
templates[🧩 Template System<br/>Reusable SEO page patterns]
65+
generation[✍️ Content Generation<br/>Data-driven + AI-assisted copy]
66+
end
67+
68+
subgraph quality[Quality + Distribution Pipeline]
69+
qa[✅ Quality Assurance<br/>Uniqueness, schema, link validation]
70+
links[🔗 Internal Linking System<br/>Parent, sibling, breadcrumb paths]
71+
publish[🚀 Publication & Indexing<br/>Sitemaps, crawl checks, monitoring]
72+
end
73+
74+
data --> templates --> generation --> qa --> links --> publish
7275
```
7376

7477
Let's break each down.

src/content/blog/openai-vs-anthropic-which-llm-for-business.md renamed to src/content/blog/openai-vs-anthropic-which-llm-for-business.mdx

File renamed without changes.

src/content/blog/why-astro-best-framework-marketing-sites.md renamed to src/content/blog/why-astro-best-framework-marketing-sites.mdx

File renamed without changes.

src/layouts/BaseLayout.astro

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ const currentPath = Astro.url.pathname;
106106
{shouldLoadAnalytics && <AnalyticsConsent />}
107107

108108
<script>
109+
import "../scripts/code-copy.ts";
109110
import "../scripts/homepage.ts";
110111
</script>
111112
</body>

src/layouts/ServiceLayout.astro

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -436,6 +436,7 @@ const structuredData = {
436436
{shouldLoadAnalytics && <AnalyticsConsent />}
437437

438438
<script>
439+
import "../scripts/code-copy.ts";
439440
import "../scripts/homepage.ts";
440441
</script>
441442
</body>

0 commit comments

Comments
 (0)