fix seo and first page and 404 page

This commit is contained in:
2026-02-19 22:57:49 +03:30
parent 7b73faf32d
commit 234315ce52
13 changed files with 176 additions and 29 deletions
+47
View File
@@ -0,0 +1,47 @@
import { revalidateTag } from "next/cache";
import { NextRequest, NextResponse } from "next/server";
/**
* پاک کردن کش مقالات وردپرس.
* وقتی در وردپرس مقاله‌ای منتشر یا ویرایش شد، این آدرس را با secret فراخوانی کنید
* تا کش دانشنامه و مقاله‌ها بدون ریستارت سرور به‌روز شود.
*
* استفاده در وردپرس:
* - با پلاگین Webhook یا کد تم: بعد از save_post درخواست به این آدرس بفرست.
* - مثال: GET یا POST /api/revalidate?secret=YOUR_REVALIDATE_SECRET
* - یا هدر: x-revalidate-secret: YOUR_REVALIDATE_SECRET
*/
export async function GET(request: NextRequest) {
return handleRevalidate(request);
}
export async function POST(request: NextRequest) {
return handleRevalidate(request);
}
async function handleRevalidate(request: NextRequest) {
const secret = process.env.REVALIDATE_SECRET;
if (!secret) {
return NextResponse.json(
{ error: "REVALIDATE_SECRET تنظیم نشده است." },
{ status: 500 }
);
}
const provided =
request.nextUrl.searchParams.get("secret") ??
request.headers.get("x-revalidate-secret");
if (provided !== secret) {
return NextResponse.json({ error: "غیرمجاز" }, { status: 401 });
}
try {
revalidateTag("blog-posts");
return NextResponse.json({ revalidated: true, now: Date.now() });
} catch (err) {
return NextResponse.json(
{ error: "خطا در پاک کردن کش" },
{ status: 500 }
);
}
}