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:
@@ -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 ""
|
||||
|
||||
|
||||
Reference in New Issue
Block a user