一键导入
repl-seo-optimizer
Review and fix SEO issues in your Replit app's code before launch (meta tags, Open Graph, sitemap, structured data, SPA fixes)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Review and fix SEO issues in your Replit app's code before launch (meta tags, Open Graph, sitemap, structured data, SPA fixes)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Design static ad creatives for social media and display advertising campaigns.
Source and evaluate candidates with job analysis, search strategies, specific candidate profiles, and outreach templates.
Draft emails, manage calendar scheduling, prepare meeting agendas, and organize productivity
Create brand identity kits with color palettes, typography, logo concepts, and brand guidelines.
Perform competitive market analysis with feature comparisons, positioning, and strategic recommendations.
Create social media posts, newsletters, and marketing content calibrated to your voice and platform.
| name | repl-seo-optimizer |
| description | Review and fix SEO issues in your Replit app's code before launch (meta tags, Open Graph, sitemap, structured data, SPA fixes) |
Review a Replit-built website or web app and implement SEO improvements directly in the code before launch.
This is a hands-on skill. Don't just list recommendations — read the code, identify what's missing, and implement the fixes directly.
Read the project structure to identify:
index.html, public/index.html, etc.<head> content — meta tags, title, Open Graph tagsTitle & Meta Description:
<title> (50-60 chars) with primary keyword near the start<meta name="description"> (150-160 chars) with a clear value propositiondocument.title or react-helmet / react-helmet-async)Heading Structure:
<h1> per page/route containing the primary keywordSemantic HTML:
<div> wrappers with <header>, <main>, <nav>, <footer>, <article>, <section> where appropriate<a> for navigation links, not click-handler divs<button> for actions, <a> for navigationAdd to <head> on every page (or the SPA shell):
<meta property="og:title" content="Page Title">
<meta property="og:description" content="Page description">
<meta property="og:image" content="https://yourdomain.com/og-image.png">
<meta property="og:url" content="https://yourdomain.com/page">
<meta property="og:type" content="website">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Page Title">
<meta name="twitter:description" content="Page description">
<meta name="twitter:image" content="https://yourdomain.com/og-image.png">
For SPAs, these must be set server-side or via pre-rendering for crawlers to see them.
Image Optimization:
<img> tags need alt attributes (descriptive, not "image1")width and height attributes to prevent CLSloading="lazy" on below-the-fold imagesLink Quality:
rel="noopener noreferrer" and consider target="_blank"Performance (SEO-impacting):
font-display: swap in @font-face rules<script defer> or dynamic imports<head>robots.txt — create at project root / public directory:
User-agent: *
Allow: /
Sitemap: https://yourdomain.com/sitemap.xml
sitemap.xml — create listing all public pages:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://yourdomain.com/</loc>
<changefreq>weekly</changefreq>
<priority>1.0</priority>
</url>
<!-- Add all public routes -->
</urlset>
For dynamic sites, generate the sitemap from your routes programmatically.
Canonical URLs:
<link rel="canonical" href="https://yourdomain.com/current-page"> to each pageSingle-page apps (React, Vue, etc.) have unique SEO challenges:
Problem: Crawlers may not execute JavaScript, so they see an empty <div id="root">.
Solutions (in order of preference):
react-snap, prerender-spa-plugin)SPA Routing:
/#/about), switch to browser history routing (/about) — search engines ignore hash fragmentsAdd JSON-LD schema markup in a <script type="application/ld+json"> block. Choose based on site type:
| Site Type | Schema |
|---|---|
| Business / SaaS | Organization, WebSite, WebApplication |
| Blog / Content | Article, BlogPosting, BreadcrumbList |
| Product / Store | Product, Offer, AggregateRating |
| Portfolio | Person, CreativeWork |
| Local business | LocalBusiness, PostalAddress |
Example for a SaaS landing page:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebApplication",
"name": "App Name",
"description": "What the app does",
"url": "https://yourdomain.com",
"applicationCategory": "Category",
"operatingSystem": "Web"
}
</script>
Run through before deploying:
<title> and <meta name="description"><h1> per page with relevant keywordalt text and dimensions<main>, <nav>, <header>, <footer>)robots.txt exists and allows crawlingsitemap.xml exists and lists all public pagesfont-display: swaploading="lazy"Always present key findings and recommendations as a plaintext summary in chat, even when also generating files. The user should be able to understand the results without opening any files.