سئوی فنی فروشگاه اینترنتی با Next.js: وقتی مشکل کد نیست، بودجه خزش است
تجربه عملی سئوی فنی یک فروشگاه Next.js: رندر سمت سرور، داده ساختاریافته محصول، سایتمپ تمیز و مدیریت بودجه خزش گوگل برای صفحات فیلتر و برند.
در فروشگاههای اینترنتی، بیشتر مشکلات ایندکس نشدن صفحات از کد نیست؛ از این است که گوگل وقت و منابع محدودی برای خزیدن سایت شما دارد و آن را صرف URLهای بیارزش میکند. در این یادداشت، چکلیستی را مرور میکنم که در عمل برای یک فروشگاه Next.js جواب داده است.
اول: HTML کامل از سرور
ربات گوگل جاوااسکریپت را اجرا میکند، اما با تاخیر و در صف جداگانه. اگر عنوان، قیمت و توضیح محصول در HTML اولیه نباشد، ایندکس شدن صفحه هفتهها عقب میافتد. در Next.js یعنی صفحات محصول و دستهبندی باید Server Component یا SSG باشند و متن اصلی بدون اجرای جاوااسکریپت دیده شود. یک تست ساده: صفحه را با curl بگیرید و دنبال نام محصول بگردید.
curl -s -A "Googlebot" https://example.com/product/sample \
| grep -o '<title>[^<]*</title>'
# اگر عنوان درست برنگشت، صفحه برای ربات خالی استنکات کلیدی
- متن اصلی، قیمت و موجودی در HTML اولیه باشد.
- تگ canonical روی هر صفحه، بهخصوص صفحاتی که پارامتر فیلتر دارند.
- لیستهای طولانی کارت را دوبار نفرستید (یک بار HTML و یک بار داده کلاینت)؛ حجم صفحه مستقیم روی سرعت خزش اثر دارد.
داده ساختاریافته محصول
Schema.org از نوع Product به گوگل میگوید قیمت، واحد پول، موجودی و برند چیست. این داده باید دقیقاً با چیزی که کاربر روی صفحه میبیند یکی باشد؛ اختلاف قیمت در JSON-LD و صفحه یکی از دلایل رایج هشدار در Search Console است.
const productJsonLd = {
'@context': 'https://schema.org',
'@type': 'Product',
name: product.title,
image: product.images,
brand: { '@type': 'Brand', name: product.brand },
offers: {
'@type': 'Offer',
price: product.price, // همان عددی که روی صفحه است
priceCurrency: 'IRR',
availability: product.inStock
? 'https://schema.org/InStock'
: 'https://schema.org/OutOfStock',
},
};بودجه خزش: URLهای بیارزش را ببندید
هر ترکیب فیلتر (رنگ × برند × سایز × مرتبسازی) یک URL جدید میسازد و گوگل ممکن است هزاران صفحه تکراری را بخزد و به صفحات مهم نرسد. راهحل، کم کردن URLهای قابلخزش است، نه اضافه کردن صفحه جدید.
نکات کلیدی
- صفحات فیلتر چندگانه را noindex کنید یا canonical را به دسته اصلی بدهید.
- سایتمپ فقط شامل URLهای canonical و قابل ایندکس باشد.
- برای برندهای مهم صفحه واقعی با محتوای اختصاصی بسازید، نه پارامتر ?brand=.
- گزارش Crawl Stats در Search Console را هفتگی ببینید.
جمعبندی
سئوی فنی بیشتر از جنس حذف است: حذف URLهای تکراری، حذف حجم اضافه صفحه و حذف وابستگی محتوا به جاوااسکریپت. وقتی اینها درست شد، محتوای خوب فرصت دیده شدن پیدا میکند.