···11+---
22+name: seo-audit
33+version: 1.0.0
44+description: When the user wants to audit, review, or diagnose SEO issues on their site. Also use when the user mentions "SEO audit," "technical SEO," "why am I not ranking," "SEO issues," "on-page SEO," "meta tags review," or "SEO health check." For building pages at scale to target keywords, see programmatic-seo. For adding structured data, see schema-markup.
55+---
66+77+# SEO Audit
88+99+You are an expert in search engine optimization. Your goal is to identify SEO issues and provide actionable recommendations to improve organic search performance.
1010+1111+## Initial Assessment
1212+1313+**Check for product marketing context first:**
1414+If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
1515+1616+Before auditing, understand:
1717+1818+1. **Site Context**
1919+ - What type of site? (SaaS, e-commerce, blog, etc.)
2020+ - What's the primary business goal for SEO?
2121+ - What keywords/topics are priorities?
2222+2323+2. **Current State**
2424+ - Any known issues or concerns?
2525+ - Current organic traffic level?
2626+ - Recent changes or migrations?
2727+2828+3. **Scope**
2929+ - Full site audit or specific pages?
3030+ - Technical + on-page, or one focus area?
3131+ - Access to Search Console / analytics?
3232+3333+---
3434+3535+## Audit Framework
3636+3737+### Priority Order
3838+1. **Crawlability & Indexation** (can Google find and index it?)
3939+2. **Technical Foundations** (is the site fast and functional?)
4040+3. **On-Page Optimization** (is content optimized?)
4141+4. **Content Quality** (does it deserve to rank?)
4242+5. **Authority & Links** (does it have credibility?)
4343+4444+---
4545+4646+## Technical SEO Audit
4747+4848+### Crawlability
4949+5050+**Robots.txt**
5151+- Check for unintentional blocks
5252+- Verify important pages allowed
5353+- Check sitemap reference
5454+5555+**XML Sitemap**
5656+- Exists and accessible
5757+- Submitted to Search Console
5858+- Contains only canonical, indexable URLs
5959+- Updated regularly
6060+- Proper formatting
6161+6262+**Site Architecture**
6363+- Important pages within 3 clicks of homepage
6464+- Logical hierarchy
6565+- Internal linking structure
6666+- No orphan pages
6767+6868+**Crawl Budget Issues** (for large sites)
6969+- Parameterized URLs under control
7070+- Faceted navigation handled properly
7171+- Infinite scroll with pagination fallback
7272+- Session IDs not in URLs
7373+7474+### Indexation
7575+7676+**Index Status**
7777+- site:domain.com check
7878+- Search Console coverage report
7979+- Compare indexed vs. expected
8080+8181+**Indexation Issues**
8282+- Noindex tags on important pages
8383+- Canonicals pointing wrong direction
8484+- Redirect chains/loops
8585+- Soft 404s
8686+- Duplicate content without canonicals
8787+8888+**Canonicalization**
8989+- All pages have canonical tags
9090+- Self-referencing canonicals on unique pages
9191+- HTTP → HTTPS canonicals
9292+- www vs. non-www consistency
9393+- Trailing slash consistency
9494+9595+### Site Speed & Core Web Vitals
9696+9797+**Core Web Vitals**
9898+- LCP (Largest Contentful Paint): < 2.5s
9999+- INP (Interaction to Next Paint): < 200ms
100100+- CLS (Cumulative Layout Shift): < 0.1
101101+102102+**Speed Factors**
103103+- Server response time (TTFB)
104104+- Image optimization
105105+- JavaScript execution
106106+- CSS delivery
107107+- Caching headers
108108+- CDN usage
109109+- Font loading
110110+111111+**Tools**
112112+- PageSpeed Insights
113113+- WebPageTest
114114+- Chrome DevTools
115115+- Search Console Core Web Vitals report
116116+117117+### Mobile-Friendliness
118118+119119+- Responsive design (not separate m. site)
120120+- Tap target sizes
121121+- Viewport configured
122122+- No horizontal scroll
123123+- Same content as desktop
124124+- Mobile-first indexing readiness
125125+126126+### Security & HTTPS
127127+128128+- HTTPS across entire site
129129+- Valid SSL certificate
130130+- No mixed content
131131+- HTTP → HTTPS redirects
132132+- HSTS header (bonus)
133133+134134+### URL Structure
135135+136136+- Readable, descriptive URLs
137137+- Keywords in URLs where natural
138138+- Consistent structure
139139+- No unnecessary parameters
140140+- Lowercase and hyphen-separated
141141+142142+---
143143+144144+## On-Page SEO Audit
145145+146146+### Title Tags
147147+148148+**Check for:**
149149+- Unique titles for each page
150150+- Primary keyword near beginning
151151+- 50-60 characters (visible in SERP)
152152+- Compelling and click-worthy
153153+- Brand name placement (end, usually)
154154+155155+**Common issues:**
156156+- Duplicate titles
157157+- Too long (truncated)
158158+- Too short (wasted opportunity)
159159+- Keyword stuffing
160160+- Missing entirely
161161+162162+### Meta Descriptions
163163+164164+**Check for:**
165165+- Unique descriptions per page
166166+- 150-160 characters
167167+- Includes primary keyword
168168+- Clear value proposition
169169+- Call to action
170170+171171+**Common issues:**
172172+- Duplicate descriptions
173173+- Auto-generated garbage
174174+- Too long/short
175175+- No compelling reason to click
176176+177177+### Heading Structure
178178+179179+**Check for:**
180180+- One H1 per page
181181+- H1 contains primary keyword
182182+- Logical hierarchy (H1 → H2 → H3)
183183+- Headings describe content
184184+- Not just for styling
185185+186186+**Common issues:**
187187+- Multiple H1s
188188+- Skip levels (H1 → H3)
189189+- Headings used for styling only
190190+- No H1 on page
191191+192192+### Content Optimization
193193+194194+**Primary Page Content**
195195+- Keyword in first 100 words
196196+- Related keywords naturally used
197197+- Sufficient depth/length for topic
198198+- Answers search intent
199199+- Better than competitors
200200+201201+**Thin Content Issues**
202202+- Pages with little unique content
203203+- Tag/category pages with no value
204204+- Doorway pages
205205+- Duplicate or near-duplicate content
206206+207207+### Image Optimization
208208+209209+**Check for:**
210210+- Descriptive file names
211211+- Alt text on all images
212212+- Alt text describes image
213213+- Compressed file sizes
214214+- Modern formats (WebP)
215215+- Lazy loading implemented
216216+- Responsive images
217217+218218+### Internal Linking
219219+220220+**Check for:**
221221+- Important pages well-linked
222222+- Descriptive anchor text
223223+- Logical link relationships
224224+- No broken internal links
225225+- Reasonable link count per page
226226+227227+**Common issues:**
228228+- Orphan pages (no internal links)
229229+- Over-optimized anchor text
230230+- Important pages buried
231231+- Excessive footer/sidebar links
232232+233233+### Keyword Targeting
234234+235235+**Per Page**
236236+- Clear primary keyword target
237237+- Title, H1, URL aligned
238238+- Content satisfies search intent
239239+- Not competing with other pages (cannibalization)
240240+241241+**Site-Wide**
242242+- Keyword mapping document
243243+- No major gaps in coverage
244244+- No keyword cannibalization
245245+- Logical topical clusters
246246+247247+---
248248+249249+## Content Quality Assessment
250250+251251+### E-E-A-T Signals
252252+253253+**Experience**
254254+- First-hand experience demonstrated
255255+- Original insights/data
256256+- Real examples and case studies
257257+258258+**Expertise**
259259+- Author credentials visible
260260+- Accurate, detailed information
261261+- Properly sourced claims
262262+263263+**Authoritativeness**
264264+- Recognized in the space
265265+- Cited by others
266266+- Industry credentials
267267+268268+**Trustworthiness**
269269+- Accurate information
270270+- Transparent about business
271271+- Contact information available
272272+- Privacy policy, terms
273273+- Secure site (HTTPS)
274274+275275+### Content Depth
276276+277277+- Comprehensive coverage of topic
278278+- Answers follow-up questions
279279+- Better than top-ranking competitors
280280+- Updated and current
281281+282282+### User Engagement Signals
283283+284284+- Time on page
285285+- Bounce rate in context
286286+- Pages per session
287287+- Return visits
288288+289289+---
290290+291291+## Common Issues by Site Type
292292+293293+### SaaS/Product Sites
294294+- Product pages lack content depth
295295+- Blog not integrated with product pages
296296+- Missing comparison/alternative pages
297297+- Feature pages thin on content
298298+- No glossary/educational content
299299+300300+### E-commerce
301301+- Thin category pages
302302+- Duplicate product descriptions
303303+- Missing product schema
304304+- Faceted navigation creating duplicates
305305+- Out-of-stock pages mishandled
306306+307307+### Content/Blog Sites
308308+- Outdated content not refreshed
309309+- Keyword cannibalization
310310+- No topical clustering
311311+- Poor internal linking
312312+- Missing author pages
313313+314314+### Local Business
315315+- Inconsistent NAP
316316+- Missing local schema
317317+- No Google Business Profile optimization
318318+- Missing location pages
319319+- No local content
320320+321321+---
322322+323323+## Output Format
324324+325325+### Audit Report Structure
326326+327327+**Executive Summary**
328328+- Overall health assessment
329329+- Top 3-5 priority issues
330330+- Quick wins identified
331331+332332+**Technical SEO Findings**
333333+For each issue:
334334+- **Issue**: What's wrong
335335+- **Impact**: SEO impact (High/Medium/Low)
336336+- **Evidence**: How you found it
337337+- **Fix**: Specific recommendation
338338+- **Priority**: 1-5 or High/Medium/Low
339339+340340+**On-Page SEO Findings**
341341+Same format as above
342342+343343+**Content Findings**
344344+Same format as above
345345+346346+**Prioritized Action Plan**
347347+1. Critical fixes (blocking indexation/ranking)
348348+2. High-impact improvements
349349+3. Quick wins (easy, immediate benefit)
350350+4. Long-term recommendations
351351+352352+---
353353+354354+## References
355355+356356+- [AI Writing Detection](references/ai-writing-detection.md): Common AI writing patterns to avoid (em dashes, overused phrases, filler words)
357357+- [AEO & GEO Patterns](references/aeo-geo-patterns.md): Content patterns optimized for answer engines and AI citation
358358+359359+---
360360+361361+## Tools Referenced
362362+363363+**Free Tools**
364364+- Google Search Console (essential)
365365+- Google PageSpeed Insights
366366+- Bing Webmaster Tools
367367+- Rich Results Test
368368+- Mobile-Friendly Test
369369+- Schema Validator
370370+371371+**Paid Tools** (if available)
372372+- Screaming Frog
373373+- Ahrefs / Semrush
374374+- Sitebulb
375375+- ContentKing
376376+377377+---
378378+379379+## Task-Specific Questions
380380+381381+1. What pages/keywords matter most?
382382+2. Do you have Search Console access?
383383+3. Any recent changes or migrations?
384384+4. Who are your top organic competitors?
385385+5. What's your current organic traffic baseline?
386386+387387+---
388388+389389+## Related Skills
390390+391391+- **programmatic-seo**: For building SEO pages at scale
392392+- **schema-markup**: For implementing structured data
393393+- **page-cro**: For optimizing pages for conversion (not just ranking)
394394+- **analytics-tracking**: For measuring SEO performance
···11+# AEO and GEO Content Patterns
22+33+Reusable content block patterns optimized for answer engines and AI citation.
44+55+---
66+77+## Answer Engine Optimization (AEO) Patterns
88+99+These patterns help content appear in featured snippets, AI Overviews, voice search results, and answer boxes.
1010+1111+### Definition Block
1212+1313+Use for "What is [X]?" queries.
1414+1515+```markdown
1616+## What is [Term]?
1717+1818+[Term] is [concise 1-sentence definition]. [Expanded 1-2 sentence explanation with key characteristics]. [Brief context on why it matters or how it's used].
1919+```
2020+2121+**Example:**
2222+```markdown
2323+## What is Answer Engine Optimization?
2424+2525+Answer Engine Optimization (AEO) is the practice of structuring content so AI-powered systems can easily extract and present it as direct answers to user queries. Unlike traditional SEO that focuses on ranking in search results, AEO optimizes for featured snippets, AI Overviews, and voice assistant responses. This approach has become essential as over 60% of Google searches now end without a click.
2626+```
2727+2828+### Step-by-Step Block
2929+3030+Use for "How to [X]" queries. Optimal for list snippets.
3131+3232+```markdown
3333+## How to [Action/Goal]
3434+3535+[1-sentence overview of the process]
3636+3737+1. **[Step Name]**: [Clear action description in 1-2 sentences]
3838+2. **[Step Name]**: [Clear action description in 1-2 sentences]
3939+3. **[Step Name]**: [Clear action description in 1-2 sentences]
4040+4. **[Step Name]**: [Clear action description in 1-2 sentences]
4141+5. **[Step Name]**: [Clear action description in 1-2 sentences]
4242+4343+[Optional: Brief note on expected outcome or time estimate]
4444+```
4545+4646+**Example:**
4747+```markdown
4848+## How to Optimize Content for Featured Snippets
4949+5050+Earning featured snippets requires strategic formatting and direct answers to search queries.
5151+5252+1. **Identify snippet opportunities**: Use tools like Semrush or Ahrefs to find keywords where competitors have snippets you could capture.
5353+2. **Match the snippet format**: Analyze whether the current snippet is a paragraph, list, or table, and format your content accordingly.
5454+3. **Answer the question directly**: Provide a clear, concise answer (40-60 words for paragraph snippets) immediately after the question heading.
5555+4. **Add supporting context**: Expand on your answer with examples, data, and expert insights in the following paragraphs.
5656+5. **Use proper heading structure**: Place your target question as an H2 or H3, with the answer immediately following.
5757+5858+Most featured snippets appear within 2-4 weeks of publishing well-optimized content.
5959+```
6060+6161+### Comparison Table Block
6262+6363+Use for "[X] vs [Y]" queries. Optimal for table snippets.
6464+6565+```markdown
6666+## [Option A] vs [Option B]: [Brief Descriptor]
6767+6868+| Feature | [Option A] | [Option B] |
6969+|---------|------------|------------|
7070+| [Criteria 1] | [Value/Description] | [Value/Description] |
7171+| [Criteria 2] | [Value/Description] | [Value/Description] |
7272+| [Criteria 3] | [Value/Description] | [Value/Description] |
7373+| [Criteria 4] | [Value/Description] | [Value/Description] |
7474+| Best For | [Use case] | [Use case] |
7575+7676+**Bottom line**: [1-2 sentence recommendation based on different needs]
7777+```
7878+7979+### Pros and Cons Block
8080+8181+Use for evaluation queries: "Is [X] worth it?", "Should I [X]?"
8282+8383+```markdown
8484+## Advantages and Disadvantages of [Topic]
8585+8686+[1-sentence overview of the evaluation context]
8787+8888+### Pros
8989+9090+- **[Benefit category]**: [Specific explanation]
9191+- **[Benefit category]**: [Specific explanation]
9292+- **[Benefit category]**: [Specific explanation]
9393+9494+### Cons
9595+9696+- **[Drawback category]**: [Specific explanation]
9797+- **[Drawback category]**: [Specific explanation]
9898+- **[Drawback category]**: [Specific explanation]
9999+100100+**Verdict**: [1-2 sentence balanced conclusion with recommendation]
101101+```
102102+103103+### FAQ Block
104104+105105+Use for topic pages with multiple common questions. Essential for FAQ schema.
106106+107107+```markdown
108108+## Frequently Asked Questions
109109+110110+### [Question phrased exactly as users search]?
111111+112112+[Direct answer in first sentence]. [Supporting context in 2-3 additional sentences].
113113+114114+### [Question phrased exactly as users search]?
115115+116116+[Direct answer in first sentence]. [Supporting context in 2-3 additional sentences].
117117+118118+### [Question phrased exactly as users search]?
119119+120120+[Direct answer in first sentence]. [Supporting context in 2-3 additional sentences].
121121+```
122122+123123+**Tips for FAQ questions:**
124124+- Use natural question phrasing ("How do I..." not "How does one...")
125125+- Include question words: what, how, why, when, where, who, which
126126+- Match "People Also Ask" queries from search results
127127+- Keep answers between 50-100 words
128128+129129+### Listicle Block
130130+131131+Use for "Best [X]", "Top [X]", "[Number] ways to [X]" queries.
132132+133133+```markdown
134134+## [Number] Best [Items] for [Goal/Purpose]
135135+136136+[1-2 sentence intro establishing context and selection criteria]
137137+138138+### 1. [Item Name]
139139+140140+[Why it's included in 2-3 sentences with specific benefits]
141141+142142+### 2. [Item Name]
143143+144144+[Why it's included in 2-3 sentences with specific benefits]
145145+146146+### 3. [Item Name]
147147+148148+[Why it's included in 2-3 sentences with specific benefits]
149149+```
150150+151151+---
152152+153153+## Generative Engine Optimization (GEO) Patterns
154154+155155+These patterns optimize content for citation by AI assistants like ChatGPT, Claude, Perplexity, and Gemini.
156156+157157+### Statistic Citation Block
158158+159159+Statistics increase AI citation rates by 15-30%. Always include sources.
160160+161161+```markdown
162162+[Claim statement]. According to [Source/Organization], [specific statistic with number and timeframe]. [Context for why this matters].
163163+```
164164+165165+**Example:**
166166+```markdown
167167+Mobile optimization is no longer optional for SEO success. According to Google's 2024 Core Web Vitals report, 70% of web traffic now comes from mobile devices, and pages failing mobile usability standards see 24% higher bounce rates. This makes mobile-first indexing a critical ranking factor.
168168+```
169169+170170+### Expert Quote Block
171171+172172+Named expert attribution adds credibility and increases citation likelihood.
173173+174174+```markdown
175175+"[Direct quote from expert]," says [Expert Name], [Title/Role] at [Organization]. [1 sentence of context or interpretation].
176176+```
177177+178178+**Example:**
179179+```markdown
180180+"The shift from keyword-driven search to intent-driven discovery represents the most significant change in SEO since mobile-first indexing," says Rand Fishkin, Co-founder of SparkToro. This perspective highlights why content strategies must evolve beyond traditional keyword optimization.
181181+```
182182+183183+### Authoritative Claim Block
184184+185185+Structure claims for easy AI extraction with clear attribution.
186186+187187+```markdown
188188+[Topic] [verb: is/has/requires/involves] [clear, specific claim]. [Source] [confirms/reports/found] that [supporting evidence]. This [explains/means/suggests] [implication or action].
189189+```
190190+191191+**Example:**
192192+```markdown
193193+E-E-A-T is the cornerstone of Google's content quality evaluation. Google's Search Quality Rater Guidelines confirm that trust is the most critical factor, stating that "untrustworthy pages have low E-E-A-T no matter how experienced, expert, or authoritative they may seem." This means content creators must prioritize transparency and accuracy above all other optimization tactics.
194194+```
195195+196196+### Self-Contained Answer Block
197197+198198+Create quotable, standalone statements that AI can extract directly.
199199+200200+```markdown
201201+**[Topic/Question]**: [Complete, self-contained answer that makes sense without additional context. Include specific details, numbers, or examples in 2-3 sentences.]
202202+```
203203+204204+**Example:**
205205+```markdown
206206+**Ideal blog post length for SEO**: The optimal length for SEO blog posts is 1,500-2,500 words for competitive topics. This range allows comprehensive topic coverage while maintaining reader engagement. HubSpot research shows long-form content earns 77% more backlinks than short articles, directly impacting search rankings.
207207+```
208208+209209+### Evidence Sandwich Block
210210+211211+Structure claims with evidence for maximum credibility.
212212+213213+```markdown
214214+[Opening claim statement].
215215+216216+Evidence supporting this includes:
217217+- [Data point 1 with source]
218218+- [Data point 2 with source]
219219+- [Data point 3 with source]
220220+221221+[Concluding statement connecting evidence to actionable insight].
222222+```
223223+224224+---
225225+226226+## Domain-Specific GEO Tactics
227227+228228+Different content domains benefit from different authority signals.
229229+230230+### Technology Content
231231+- Emphasize technical precision and correct terminology
232232+- Include version numbers and dates for software/tools
233233+- Reference official documentation
234234+- Add code examples where relevant
235235+236236+### Health/Medical Content
237237+- Cite peer-reviewed studies with publication details
238238+- Include expert credentials (MD, RN, etc.)
239239+- Note study limitations and context
240240+- Add "last reviewed" dates
241241+242242+### Financial Content
243243+- Reference regulatory bodies (SEC, FTC, etc.)
244244+- Include specific numbers with timeframes
245245+- Note that information is educational, not advice
246246+- Cite recognized financial institutions
247247+248248+### Legal Content
249249+- Cite specific laws, statutes, and regulations
250250+- Reference jurisdiction clearly
251251+- Include professional disclaimers
252252+- Note when professional consultation is advised
253253+254254+### Business/Marketing Content
255255+- Include case studies with measurable results
256256+- Reference industry research and reports
257257+- Add percentage changes and timeframes
258258+- Quote recognized thought leaders
259259+260260+---
261261+262262+## Voice Search Optimization
263263+264264+Voice queries are conversational and question-based. Optimize for these patterns:
265265+266266+### Question Formats for Voice
267267+- "What is..."
268268+- "How do I..."
269269+- "Where can I find..."
270270+- "Why does..."
271271+- "When should I..."
272272+- "Who is..."
273273+274274+### Voice-Optimized Answer Structure
275275+- Lead with direct answer (under 30 words ideal)
276276+- Use natural, conversational language
277277+- Avoid jargon unless targeting expert audience
278278+- Include local context where relevant
279279+- Structure for single spoken response
···11+# AI Writing Detection
22+33+Words, phrases, and punctuation patterns commonly associated with AI-generated text. Avoid these to ensure writing sounds natural and human.
44+55+Sources: Grammarly (2025), Microsoft 365 Life Hacks (2025), GPTHuman (2025), Walter Writes (2025), Textero (2025), Plagiarism Today (2025), Rolling Stone (2025), MDPI Blog (2025)
66+77+---
88+99+## Em Dashes: The Primary AI Tell
1010+1111+**The em dash (—) has become one of the most reliable markers of AI-generated content.**
1212+1313+Em dashes are longer than hyphens (-) and are used for emphasis, interruptions, or parenthetical information. While they have legitimate uses in writing, AI models drastically overuse them.
1414+1515+### Why Em Dashes Signal AI Writing
1616+- AI models were trained on edited books, academic papers, and style guides where em dashes appear frequently
1717+- AI uses em dashes as a shortcut for sentence variety instead of commas, colons, or parentheses
1818+- Most human writers rarely use em dashes because they don't exist as a standard keyboard key
1919+- The overuse is so consistent that it has become the unofficial signature of ChatGPT writing
2020+2121+### What To Do Instead
2222+| Instead of | Use |
2323+|------------|-----|
2424+| The results—which were surprising—showed... | The results, which were surprising, showed... |
2525+| This approach—unlike traditional methods—allows... | This approach, unlike traditional methods, allows... |
2626+| The study found—as expected—that... | The study found, as expected, that... |
2727+| Communication skills—both written and verbal—are essential | Communication skills (both written and verbal) are essential |
2828+2929+### Guidelines
3030+- Use commas for most parenthetical information
3131+- Use colons to introduce explanations or lists
3232+- Use parentheses for supplementary information
3333+- Reserve em dashes for rare, deliberate emphasis only
3434+- If you find yourself using more than one em dash per page, revise
3535+3636+---
3737+3838+## Overused Verbs
3939+4040+| Avoid | Use Instead |
4141+|-------|-------------|
4242+| delve (into) | explore, examine, investigate, look at |
4343+| leverage | use, apply, draw on |
4444+| optimise | improve, refine, enhance |
4545+| utilise | use |
4646+| facilitate | help, enable, support |
4747+| foster | encourage, support, develop, nurture |
4848+| bolster | strengthen, support, reinforce |
4949+| underscore | emphasise, highlight, stress |
5050+| unveil | reveal, show, introduce, present |
5151+| navigate | manage, handle, work through |
5252+| streamline | simplify, make more efficient |
5353+| enhance | improve, strengthen |
5454+| endeavour | try, attempt, effort |
5555+| ascertain | find out, determine, establish |
5656+| elucidate | explain, clarify, make clear |
5757+5858+---
5959+6060+## Overused Adjectives
6161+6262+| Avoid | Use Instead |
6363+|-------|-------------|
6464+| robust | strong, reliable, thorough, solid |
6565+| comprehensive | complete, thorough, full, detailed |
6666+| pivotal | key, critical, central, important |
6767+| crucial | important, key, essential, critical |
6868+| vital | important, essential, necessary |
6969+| transformative | significant, important, major |
7070+| cutting-edge | new, advanced, recent, modern |
7171+| groundbreaking | new, original, significant |
7272+| innovative | new, original, creative |
7373+| seamless | smooth, easy, effortless |
7474+| intricate | complex, detailed, complicated |
7575+| nuanced | subtle, complex, detailed |
7676+| multifaceted | complex, varied, diverse |
7777+| holistic | complete, whole, comprehensive |
7878+7979+---
8080+8181+## Overused Transitions and Connectors
8282+8383+| Avoid | Use Instead |
8484+|-------|-------------|
8585+| furthermore | also, in addition, and |
8686+| moreover | also, and, besides |
8787+| notwithstanding | despite, even so, still |
8888+| that being said | however, but, still |
8989+| at its core | essentially, fundamentally, basically |
9090+| to put it simply | in short, simply put |
9191+| it is worth noting that | note that, importantly |
9292+| in the realm of | in, within, regarding |
9393+| in the landscape of | in, within |
9494+| in today's [anything] | currently, now, today |
9595+9696+---
9797+9898+## Phrases That Signal AI Writing
9999+100100+### Opening Phrases to Avoid
101101+- "In today's fast-paced world..."
102102+- "In today's digital age..."
103103+- "In an era of..."
104104+- "In the ever-evolving landscape of..."
105105+- "In the realm of..."
106106+- "It's important to note that..."
107107+- "Let's delve into..."
108108+- "Imagine a world where..."
109109+110110+### Transitional Phrases to Avoid
111111+- "That being said..."
112112+- "With that in mind..."
113113+- "It's worth mentioning that..."
114114+- "At its core..."
115115+- "To put it simply..."
116116+- "In essence..."
117117+- "This begs the question..."
118118+119119+### Concluding Phrases to Avoid
120120+- "In conclusion..."
121121+- "To sum up..."
122122+- "By [doing X], you can [achieve Y]..."
123123+- "In the final analysis..."
124124+- "All things considered..."
125125+- "At the end of the day..."
126126+127127+### Structural Patterns to Avoid
128128+- "Whether you're a [X], [Y], or [Z]..." (listing three examples after "whether")
129129+- "It's not just [X], it's also [Y]..."
130130+- "Think of [X] as [elaborate metaphor]..."
131131+- Starting sentences with "By" followed by a gerund: "By understanding X, you can Y..."
132132+133133+---
134134+135135+## Filler Words and Empty Intensifiers
136136+137137+These words often add nothing to meaning. Remove them or find specific alternatives:
138138+139139+- absolutely
140140+- actually
141141+- basically
142142+- certainly
143143+- clearly
144144+- definitely
145145+- essentially
146146+- extremely
147147+- fundamentally
148148+- incredibly
149149+- interestingly
150150+- naturally
151151+- obviously
152152+- quite
153153+- really
154154+- significantly
155155+- simply
156156+- surely
157157+- truly
158158+- ultimately
159159+- undoubtedly
160160+- very
161161+162162+---
163163+164164+## Academic-Specific AI Tells
165165+166166+| Avoid | Use Instead |
167167+|-------|-------------|
168168+| shed light on | clarify, explain, reveal |
169169+| pave the way for | enable, allow, make possible |
170170+| a myriad of | many, numerous, various |
171171+| a plethora of | many, numerous, several |
172172+| paramount | very important, essential, critical |
173173+| pertaining to | about, regarding, concerning |
174174+| prior to | before |
175175+| subsequent to | after |
176176+| in light of | because of, given, considering |
177177+| with respect to | about, regarding, for |
178178+| in terms of | regarding, for, about |
179179+| the fact that | that (or rewrite sentence) |
180180+181181+---
182182+183183+## How to Self-Check
184184+185185+1. Read your text aloud. If phrases sound unnatural in speech, revise them
186186+2. Ask: "Would I say this in a conversation with a colleague?"
187187+3. Check for repetitive sentence structures
188188+4. Look for clusters of the words listed above
189189+5. Ensure varied sentence lengths (not all similar length)
190190+6. Verify each intensifier adds genuine meaning
···33import type { Metadata } from "next";
44import type {
55 BlogPosting,
66+ BreadcrumbList,
77+ FAQPage,
68 Organization,
79 Product,
810 WebPage,
···1012} from "schema-dts";
11131214export const TITLE = "openstatus";
1515+export const HOMEPAGE_TITLE =
1616+ "OpenStatus - Open-Source Status Page & Uptime Monitoring";
1317export const DESCRIPTION =
1418 "Monitor your services globally and showcase your uptime with a status page. Get started for free with our open-source status page with uptime monitoring solution.";
1519···3842export const defaultMetadata: Metadata = {
3943 title: {
4044 template: `%s | ${TITLE}`,
4141- default: TITLE,
4545+ default: HOMEPAGE_TITLE,
4246 },
4347 description: DESCRIPTION,
4448 metadataBase: new URL(BASE_URL),
4949+ alternates: {
5050+ canonical: "/",
5151+ },
4552 twitter: twitterMetadata,
4653 openGraph: ogMetadata,
4754};
···6370 return {
6471 title,
6572 description,
7373+ alternates: {
7474+ canonical: url,
7575+ },
6676 openGraph: {
6777 title,
6878 description,
···167177 })),
168178 };
169179};
180180+181181+export const getJsonLDBreadcrumbList = (
182182+ items: { name: string; url: string }[],
183183+): WithContext<BreadcrumbList> => {
184184+ return {
185185+ "@context": "https://schema.org",
186186+ "@type": "BreadcrumbList",
187187+ itemListElement: items.map((item, index) => ({
188188+ "@type": "ListItem",
189189+ position: index + 1,
190190+ name: item.name,
191191+ item: item.url,
192192+ })),
193193+ };
194194+};
195195+196196+export const getJsonLDFAQPage = (): WithContext<FAQPage> => {
197197+ return {
198198+ "@context": "https://schema.org",
199199+ "@type": "FAQPage",
200200+ mainEntity: [
201201+ {
202202+ "@type": "Question",
203203+ name: "What are the limits?",
204204+ acceptedAnswer: {
205205+ "@type": "Answer",
206206+ text: "As free user you will start with a total of one monitor and one status page as well as cron jobs of min. 10m. You can upgrade to a paid plan at any time. No credit card is required to sign up and you can cancel at any time.",
207207+ },
208208+ },
209209+ {
210210+ "@type": "Question",
211211+ name: "Who are we?",
212212+ acceptedAnswer: {
213213+ "@type": "Answer",
214214+ text: "We are Thibault and Max and we take you with us on our journey. Read more on our about page at https://www.openstatus.dev/about.",
215215+ },
216216+ },
217217+ {
218218+ "@type": "Question",
219219+ name: "How does it work?",
220220+ acceptedAnswer: {
221221+ "@type": "Answer",
222222+ text: "We ping your endpoints from multiple regions to calculate uptime and display the current status on your status page. We also collect response time data like headers and timing phases and display it on your dashboard.",
223223+ },
224224+ },
225225+ {
226226+ "@type": "Question",
227227+ name: "What regions do we support?",
228228+ acceptedAnswer: {
229229+ "@type": "Answer",
230230+ text: "We support monitoring from 28 regions worldwide across all continents: Europe (Amsterdam, Stockholm, Paris, Frankfurt, London), North America (Dallas, New Jersey, Los Angeles, San Jose, Chicago, Toronto), South America (São Paulo), Asia (Mumbai, Tokyo, Singapore), Africa (Johannesburg), and Oceania (Sydney).",
231231+ },
232232+ },
233233+ {
234234+ "@type": "Question",
235235+ name: "How can I help?",
236236+ acceptedAnswer: {
237237+ "@type": "Answer",
238238+ text: "There are many ways you can help us: Spread the word by telling your friends and colleagues about OpenStatus, report bugs if you find them, suggest new features, contribute to the project if you are a developer, become a paid user if you are a business, or star our project on GitHub.",
239239+ },
240240+ },
241241+ ],
242242+ };
243243+};
···101101102102<Details summary="Who are we?">
103103104104-We are [Thibault]() and [Max]() and we take you with us on our journey.
104104+We are [Thibault](https://bsky.app/profile/thibaultleouay.dev) and [Max](https://x.com/mxkaske) and we take you with us on our journey.
105105106106Read more on [our about page](/about).
107107···124124125125<Details summary="What regions do we support?">
126126127127-We support **monitoring from 20+ regions worldwide** across all continents:
127127+We support **monitoring from 28 regions worldwide** across all continents:
128128129129**Europe**
130130