پیاده‌سازی JSON-LD در Next.js – داده‌های ساخت‌یافته برای SEO و موتورهای هوشمند

JSON-LD قالبی برای نمایش داده‌های ساخت‌یافته است که به موتورهای جستجو و هوش مصنوعی کمک می‌کند ساختار صفحه را بهتر درک کنند. این مقاله نحوهٔ افزودن JSON-LD به صفحات Next.js، جلوگیری از آسیب‌پذیری XSS، و تایپ‌گذاری با TypeScript را بررسی می‌کند.

JSON-LDSEOSchema.orgXSS Sanitization

~2 دقیقه مطالعه · آخرین به‌روزرسانی ۶ آبان ۱۴۰۴

مقدمه


JSON-LD یک قالب دادهٔ ساخت‌یافته است که توسط موتورهای جستجو مانند Google برای درک بهتر محتوای صفحه استفاده می‌شود. این قالب می‌تواند اطلاعاتی دربارهٔ محصول، رویداد، شخص، کتاب، فیلم و موارد دیگر ارائه دهد.


افزودن JSON-LD به صفحات Next.js


توصیه می‌شود داده‌های JSON-LD را به‌صورت یک تگ <script type="application/ld+json"> در کامپوننت‌های layout.tsx یا page.tsx قرار دهید.

مثال:

export default async function Page({ params }) {
  const { id } = await params
  const product = await getProduct(id)

  const jsonLd = {
    '@context': 'https://schema.org',
    '@type': 'Product',
    name: product.name,
    image: product.image,
    description: product.description,
  }

  return (
    <section>
      <script
        type="application/ld+json"
        dangerouslySetInnerHTML={{
          __html: JSON.stringify(jsonLd).replace(/</g, '\\u003c'),
        }}
      />
      {/* سایر محتوای صفحه */}
    </section>
  )
}

جلوگیری از آسیب‌پذیری XSS


تابع JSON.stringify داده‌ها را sanitize نمی‌کند. برای جلوگیری از تزریق کد مخرب، کاراکتر < را با \u003c جایگزین کنید یا از کتابخانه‌هایی مانند serialize-javascript استفاده کنید.


تایپ‌گذاری JSON-LD با TypeScript


برای تایپ‌گذاری دقیق داده‌های JSON-LD می‌توان از پکیج schema-dts استفاده کرد:

import { Product, WithContext } from 'schema-dts'

const jsonLd: WithContext<Product> = {
  '@context': 'https://schema.org',
  '@type': 'Product',
  name: 'Next.js Sticker',
  image: 'https://nextjs.org/imgs/sticker.png',
  description: 'Dynamic at the speed of static.',
}

اعتبارسنجی داده‌های ساخت‌یافته


برای تست و اعتبارسنجی JSON-LD می‌توانید از ابزارهای زیر استفاده کنید:


جمع‌بندی


استفاده از JSON-LD در Next.js باعث بهبود SEO و درک بهتر ساختار صفحه توسط موتورهای جستجو می‌شود. با رعایت نکات امنیتی و استفاده از تایپ‌گذاری TypeScript، می‌توان داده‌های ساخت‌یافته‌ای امن و دقیق تولید کرد.


نوشته و پژوهش‌شده توسط دکتر شاهین صیامی

مقالات مرتبط

مسیریابی پیشرفته و هوک‌های عملکرد در Next.js — راهنمای توسعه‌دهنده برای App Router

Next.js مجموعه‌ای غنی از هوک‌های کلاینت و ابزارهای کش و ناوبری را در اختیار توسعه‌دهندگان قرار می‌دهد. از خواندن پارامترهای مسیر تا گزارش Web Vitals و مدیریت کش، این مقاله مهم‌ترین ابزارهای App Router را با مثال‌های کاربردی معرفی می‌کند.

ادامه

مدیریت احراز هویت و کش در Next.js — راهنمای توسعه‌دهنده برای امنیت و عملکرد پویا

Next.js با معرفی قابلیت‌های آزمایشی جدید، امکان کنترل دقیق‌تر دسترسی و کش داده‌ها را فراهم کرده است. تابع unauthorized برای مدیریت خطای 401 و هدایت کاربران به صفحه ورود، unstable_cache برای کش هوشمند عملیات سنگین، updateTag برای بازسازی آنی داده‌ها، و useLinkStatus برای نمایش وضعیت ناوبری استفاده می‌شوند. این مقاله نحوه استفاده از این ابزارها را با مثال‌های کاربردی و نکات مهم بررسی می‌کند.

ادامه

redirect و refresh در Next.js — ریدایرکت‌های هوشمند و تازه‌سازی مسیر در Server Actions

تابع redirect در Next.js برای هدایت کاربر به مسیر جدید استفاده می‌شود و بسته به نوع استفاده، پاسخ HTTP با وضعیت 307 یا 303 ارسال می‌کند. این تابع در Server Components، Client Components، Route Handlers و Server Actions قابل استفاده است. تابع refresh نیز برای تازه‌سازی مسیر کلاینت از درون Server Action استفاده می‌شود. این مقاله نحوه استفاده از هر دو تابع را با مثال‌های کاربردی و نکات مهم توضیح می‌دهد.

ادامه

Next.js با معرفی NextRequest و NextResponse، APIهای Request و Response مرورگر را گسترش داده و ابزارهای قدرتمندی برای مدیریت کوکی‌ها، هدرها، ریدایرکت‌ها، بازنویسی مسیرها و پاسخ‌های JSON فراهم کرده است. این مقاله نحوه استفاده از این ابزارها را با مثال‌های کاربردی و نکات امنیتی توضیح می‌دهد.

Next.js با معرفی NextRequest و NextResponse، APIهای Request و Response مرورگر را گسترش داده و ابزارهای قدرتمندی برای مدیریت کوکی‌ها، هدرها، ریدایرکت‌ها، بازنویسی مسیرها و پاسخ‌های JSON فراهم کرده است. این مقاله نحوه استفاده از این ابزارها را با مثال‌های کاربردی و نکات امنیتی توضیح می‌دهد.

ادامه

headers، ImageResponse، notFound و permanentRedirect در Next.js — مدیریت درخواست‌ها، تولید تصویر، خطا و ریدایرکت

Next.js ابزارهای قدرتمندی برای مدیریت درخواست‌ها و پاسخ‌ها در کامپوننت‌های سروری فراهم کرده است. تابع headers برای خواندن هدرهای HTTP ورودی، ImageResponse برای تولید تصاویر داینامیک، notFound برای نمایش صفحه خطای 404، و permanentRedirect برای ریدایرکت دائمی کاربران استفاده می‌شوند. این مقاله نحوه استفاده از هر یک را با مثال‌های کاربردی توضیح می‌دهد.

ادامه

راهنمای کامل استفاده از metadata و generateMetadata در Next.js

در نسخه‌های مدرن Next.js، مدیریت metadata صفحات بسیار قدرتمندتر و ساده‌تر شده است. metadata به‌صورت خودکار در تگ <head> صفحات تزریق می‌شود و نقش مهمی در SEO، اشتراک‌گذاری اجتماعی و تجربه کاربری دارد. این مقاله دو روش اصلی تعریف metadata را بررسی می‌کند: استفاده از آبجکت ثابت metadata و تابع داینامیک generateMetadata.

ادامه