Fix scripts for Next.js + Payload CMS workflow

- new-project.sh: Use nextjs-payload-starter template, Next.js AI rules
- convert-astro.sh: Complete rewrite to migrate Astro MDX to Payload CMS Lexical JSON
- deploy.sh: Check for next.config instead of astro.config.mjs, use MONGODB_URL
- preview.sh: Check for Next.js, default port 3002
- audit-seo.sh: Check .tsx pages in src/app, Next.js config

All scripts now properly support Next.js + Payload CMS workflow.
This commit is contained in:
2026-04-17 10:34:41 +07:00
parent 2d57380c79
commit 47e0258694
5 changed files with 282 additions and 250 deletions

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash
#===============================================================================
# audit-seo.sh - SEO Audit สำหรับ Astro + Payload CMS project
# audit-seo.sh - SEO Audit สำหรับ Next.js + Payload CMS project
#
# Usage: ./audit-seo.sh [project-path]
#
@@ -15,7 +15,7 @@
#
# Requirements:
# - node.js
# - npm (สำหรับ Astro CLI)
# - npm
# - curl
#
#===============================================================================
@@ -57,7 +57,7 @@ print_usage() {
cat << EOF
Usage: $(basename "$0") [project-path]
SEO Audit สำหรับ Astro + Payload CMS project
SEO Audit สำหรับ Next.js + Payload CMS project
Arguments:
project-path ที่อยู่ project (default: current directory)
@@ -106,23 +106,17 @@ check_project_structure() {
cd "$PROJECT_PATH"
if [ ! -f "astro.config.mjs" ]; then
log_fail "ไม่พบ astro.config.mjs"
if [ ! -f "next.config.ts" ] && [ ! -f "next.config.js" ]; then
log_fail "ไม่พบ next.config.ts หรือ next.config.js"
else
log_success "พบ astro.config.mjs"
log_success "พบ Next.js config"
fi
if [ -d "src/pages" ]; then
local page_count=$(find src/pages -name "*.astro" | wc -l)
if [ -d "src/app" ]; then
local page_count=$(find src/app -name "page.tsx" -o -name "page.ts" | wc -l)
log_success "พบ $page_count pages"
else
log_fail "ไม่พบ src/pages"
fi
if [ -d "src/layouts" ]; then
log_success "พบ layouts directory"
else
log_warning "ไม่พบ layouts directory"
log_fail "ไม่พบ src/app"
fi
if [ -d "src/components" ]; then
@@ -130,6 +124,12 @@ check_project_structure() {
else
log_warning "ไม่พบ components directory"
fi
if [ -f "payload.config.ts" ]; then
log_success "พบ Payload CMS config"
else
log_warning "ไม่พบ payload.config.ts"
fi
}
#-------------------------------------------------------------------------------
@@ -149,7 +149,7 @@ check_meta_tags() {
local pages_with_keywords=0
local total_pages=0
for page in src/pages/**/*.astro src/pages/*.astro; do
for page in src/app/**/page.tsx src/app/**/page.ts src/app/page.tsx src/app/page.ts; do
if [ -f "$page" ]; then
total_pages=$((total_pages + 1))
@@ -194,7 +194,7 @@ check_headings() {
local pages_with_h2=0
local total_pages=0
for page in src/pages/**/*.astro src/pages/*.astro; do
for page in src/app/**/page.tsx src/app/**/page.ts src/app/page.tsx src/app/page.ts; do
if [ -f "$page" ]; then
total_pages=$((total_pages + 1))
@@ -230,10 +230,10 @@ check_sitemap() {
cd "$PROJECT_PATH"
if [ -f "astro.config.mjs" ] && grep -q 'sitemap' "astro.config.mjs"; then
log_success "Astro sitemap integration ถูกตั้งค่า"
if [ -f "next.config.ts" ] && grep -q 'sitemap' "next.config.ts"; then
log_success "Sitemap integration ถูกตั้งค่า"
else
log_warning "ไม่พบ Astro sitemap integration"
log_warning "ไม่พบ sitemap integration"
fi
if [ -f "public/sitemap.xml" ]; then
@@ -279,7 +279,7 @@ check_open_graph() {
local pages_with_og=0
local total_pages=0
for page in src/pages/**/*.astro src/pages/*.astro; do
for page in src/app/**/page.tsx src/app/**/page.ts src/app/page.tsx src/app/page.ts; do
if [ -f "$page" ]; then
total_pages=$((total_pages + 1))
@@ -310,7 +310,7 @@ check_thai_language() {
cd "$PROJECT_PATH"
if grep -q 'lang="th"' "src/pages"/*.astro 2>/dev/null; then
if grep -q 'lang="th"' "src/app"/*.tsx "src/app"/*.ts 2>/dev/null; then
log_success "พบ lang='th' attribute"
else
log_warning "ไม่พบ lang='th' attribute"
@@ -345,7 +345,7 @@ check_json_ld() {
local pages_with_jsonld=0
local total_pages=0
for page in src/pages/**/*.astro src/pages/*.astro; do
for page in src/app/**/page.tsx src/app/**/page.ts src/app/page.tsx src/app/page.ts; do
if [ -f "$page" ]; then
total_pages=$((total_pages + 1))
@@ -422,7 +422,7 @@ show_summary() {
main() {
echo "=============================================="
echo " SEO Audit Tool"
echo " Astro + Payload CMS"
echo " Next.js + Payload CMS"
echo "=============================================="
echo ""