سئوی تکنیکال با Next.js؛ چکلیست عملی برای رتبه گرفتن
نویسنده: آرش لطیفی — موسس The DevArt
متادیتا، سرعت، Core Web Vitals و دادههای ساختاریافته — چیزهایی که در هر پروژه Next.js برای سئو انجام میدهم.
سئو دو نیمه دارد: محتوا و تکنیکال. محتوا را کارشناس محتوا مینویسد؛ اما اگر نیمه تکنیکال خراب باشد، بهترین مقاله دنیا هم دیده نمیشود. بارها دیدهام کسبوکارهایی که محتوای عالی تولید کردهاند ولی بهخاطر مشکلات فنی — سرعت پایین، متادیتای تکراری یا نقشه سایت ناقص — هرگز به صفحه اول گوگل نرسیدهاند. در این پست چکلیستی از کارهایی میگذارم که در هر پروژه Next.js برای سئوی تکنیکال انجام میدهم — بدون پیچیدگی اضافه، ولی با نگاهی به نتیجه تجاری.
چرا این چکلیست مهم است؟ چون سئوی تکنیکال زیرساخت اعتماد گوگل است. اگر گوگل نتواند سایت شما را سریع بخزد، بفهمد هر صفحه درباره چیست و کدام نسخه کانونیکال است، بودجه خزش را هدر میدهد و رتبه شما افت میکند. با Next.js میتوانیم این زیرساخت را از روز اول درست بنا کنیم، نه بعداً با وصله و پینه.
۱. متادیتای کامل و منحصربهفرد در هر صفحه
در Next.js App Router، تابع generateMetadata به شما اجازه میدهد برای هر صفحه عنوان، توضیحات و URL کانونیکال بسازید. سه قانون ساده که همیشه رعایت میکنم:
- هر صفحه یک عنوان یکتا با کلمه کلیدی اصلی — نه کپی بین صفحات
- توضیحات متا که واقعاً انگیزه کلیک میدهد، نه پر کردن کلمات کلیدی
- کانونیکال درست، مخصوصاً وقتی نسخههای زبانی دارید
برای سایتهای چندزبانه، alternates.languages را فراموش نکنید؛ همین تگ ساده hreflang به گوگل میگوید هر زبان برای کدام مخاطب است. مثلاً صفحه فارسی با fa-IR و انگلیسی با en-US باید متقابل به هم اشاره کنند. بدون hreflang، گوگل ممکن است نسخه اشتباه را به کاربر نشان دهد و نرخ پرش بالا برود.
نکته اجرایی: عنوان را زیر ۶۰ کاراکتر و توضیحات را ۱۴۰ تا ۱۶۰ کاراکتر نگه دارید. از متغیرهای داینامیک برای صفحات محصول یا بلاگ استفاده کنید — مثلاً «{نام محصول} | خرید آنلاین {دسته} | {برند}» — تا مقیاسپذیر بمانید. و حتماً openGraph و twitter را هم در generateMetadata پر کنید؛ اشتراکگذاری در شبکههای اجتماعی سیگنال غیرمستقیم اما مهمی برای دیده شدن است.
۲. سرعت: بزرگترین برنده سئو
گوگل با Core Web Vitals سرعت را میسنجد. سه عدد مهم که هر هفته در Search Console چک میکنم:
- LCP (بزرگترین المان محتوایی) زیر ۲.۵ ثانیه
- CLS (پرش چیدمان) زیر ۰.۱
- INP (زمان واکنش به تعامل) زیر ۲۰۰ میلیثانیه
در طراحی سایت مدرن با Next.js، اینها را با چند عادت درست میکنید:
- استفاده از
next/imageبرای همه تصاویر — سایز خودکار، lazy loading، فرمت مدرن AVIF/WebP وpriorityفقط برای تصویر هیرو - فونت با
next/font— بدون FOUT و بدون درخواست اضافه، باdisplay: optionalبرای جلوگیری از جابهجایی - کامپوننتهای کلاینت را کوچک نگه دارید؛ هر چیزی که تعامل ندارد، سرور رندر شود. هر کیلوبایت جاوااسکریپت اضافی، INP را بدتر میکند
- کش هوشمند:
fetchباrevalidateوRoute Segment Configبرای صفحات نیمهپویا
از دید بازاریابی، سرعت مستقیماً روی تبدیل اثر میگذارد. طبق دادههای گوگل، هر ۰.۱ ثانیه تأخیر در LCP میتواند نرخ تبدیل را تا ۸٪ کاهش دهد. کاربری که ۴ ثانیه منتظر بماند، قبل از دیدن پیشنهاد شما سایت را میبندد. برای همین سرعت را نه بهعنوان یک عدد فنی، بلکه بهعنوان اولین قدم قیف فروش میبینم.
برای پایش، از Lighthouse CI در هر پولریکوئست و از Vercel Analytics یا CrUX برای داده واقعی کاربران استفاده کنید. عدد آزمایشگاهی خوب است، ولی عدد میدانی (field data) است که رتبه را تعیین میکند.
۳. دادههای ساختاریافته (Schema)
داده ساختاریافته زبان مشترک شما و گوگل است. با JSON-LD به گوگل میگویید «این صفحه درباره چه چیزی است» و شانس گرفتن نتایج غنی (Rich Results) را بالا میبرید:
- کسبوکار محلی:
LocalBusinessیاProfessionalServiceبا آدرس، ساعت کاری و امتیاز - مقالات:
Articleبا تاریخ انتشار، نویسنده و تصویر اصلی - سوالات متداول:
FAQPage— شانس نمایش آکاردئونی در نتایج - مسیر راهنما:
BreadcrumbListبرای نمایش مسیر در اسنیپت
پیادهسازیاش ساده است: یک تگ اسکریپت با JSON در کامپوننت سرور. مثلاً در صفحه بلاگ، Article را با headline، image و author پر میکنم و در صفحه تماس، ProfessionalService را با address و telephone. این دادهها به گوگل کمک میکند موجودیت شما را بشناسد و در Knowledge Graph بهتر نمایش دهد.
اشتباه رایج: کپی کردن یک اسکیمای عمومی برای همه صفحات. هر صفحه باید اسکیمای مخصوص خودش را داشته باشد و مقادیرش دقیقاً با محتوای قابل مشاهده مطابقت کند؛ وگرنه گوگل آن را نادیده میگیرد.
۴. نقشه سایت و robots؛ دو فایل کوچک با اثر بزرگ
دو فایل کوچک که خیلی فرق میسازند و اغلب فراموش میشوند:
sitemap.tsدر Next.js همه URLهای مهم را با تاریخ آخرین تغییر به گوگل معرفی میکند. فقط صفحات ایندکسشدنی را بگذارید — صفحات ۴۰۴، پیشنویسها و پارامترهای فیلتر را حذف کنیدrobots.tsمیگوید چه چیزی ایندکس شود و نقشه سایت کجاست. برای محیط استیجینگ،Disallow: /بگذارید تا نسخه تستی ایندکس نشود
برای سایتهای بزرگ، سایتمپ را به چند فایل تقسیم کنید و sitemap index بسازید. و حتماً در Search Console، سایتمپ را ثبت و خطاهای Coverage را هفتهای یکبار چک کنید. یک URL که در سایتمپ هست ولی کانونیکالش به جای دیگری اشاره میکند، سیگنال متناقض میفرستد.
۵. رندرینگ، ایندکسپذیری و تجربه خزش
Next.js بین SSR، SSG و ISR تعادل عالی میدهد. برای سئو، قانون من این است: هر چیزی که باید ایندکس شود، باید در HTML اولیه باشد — نه بعد از هیدراته شدن جاوااسکریپت. پس:
- محتوای اصلی، هدینگها و لینکهای داخلی را در سرور رندر کنید
- از
loading.tsxوSuspenseبرای بهبود درک خزنده از ساختار استفاده کنید، نه برای پنهان کردن محتوا - لینکهای داخلی را با
<Link>واقعی بسازید، نهonClickرویdiv - صفحات ۴۰۴ و ریدایرکتها را با
notFound()وredirect()مدیریت کنید تا کد وضعیت درست برگردد
همچنین canonical، noindex برای صفحات کمارزش (مثل نتایج جستجوی داخلی) و hreflang را بهصورت خودکار از روی locale بسازید. این نظم باعث میشود بودجه خزش روی صفحات پولساز متمرکز بماند.
۶. طراحی سایت و سئو دو روی یک سکهاند
اینجا جایی است که نگاه فنی به بازاریابی گره میخورد. در پروژههای واقعی، سئوی تکنیکال بدون طراحی درست ناقص است. چیدمان بصری، سلسلهمراتب هدینگ و حتی جای دکمه تماس روی نرخ خزش و تبدیل اثر میگذارد. مثلاً اگر هدینگ H1 تکراری باشد یا محتوای مهم داخل تبهای بسته بماند، گوگل اهمیت آن را کمتر میفهمد.
وقتی معماری را از ابتدا سئو-محور پیش میبریم، هر بخش یک هدف دارد: هیرو پیام اصلی را در ۵ ثانیه میرساند، بخش خدمات با اسکیمای درست نشانهگذاری میشود، بلاگ بهصورت خوشههای موضوعی به هم لینک میدهد و فوتر راه دسترسی به صفحات مهم را کوتاه میکند. نتیجه؟ کاربر سریعتر قانع میشود و گوگل سریعتر میفهمد شما برای کدام کوئری باید رتبه بگیرید.
برای کسبوکارها این یعنی سئو هزینه نیست، سرمایهگذاری است. یک بار معماری درست میسازید و ماهها بدون هزینه تبلیغات، ورودی ارگانیک میگیرید — به شرطی که تکنیکال و طراحی از روز اول هماهنگ باشند.
۷. محتوای واقعی، هنوز پادشاه است
سئوی تکنیکال در را باز میکند؛ محتوا مهمان را نگه میدارد. یک بلاگ فعال که سوالهای واقعی مشتریها را جواب میدهد، قویترین ابزار رتبهگیری بلندمدت است — و با Next.js میتوانید آن را با MDX یا هر هدلس CMS مدیریت کنید.
برای هر خوشه موضوعی، یک صفحه ستون (Pillar) بسازید و مقالات فرعی را با انکر طبیعی به آن لینک دهید. عنوانها را سوالی بنویسید — دقیقاً همان چیزی که کاربر سرچ میکند — و در ابتدای هر مقاله جواب کوتاه بدهید، بعد جزئیات. این الگو هم برای کاربر خوب است و هم شانس گرفتن Featured Snippet را بالا میبرد.
۸. چکلیست نهایی قبل از انتشار
قبل از هر دیپلوی، این ۱۰ مورد را تیک میزنم:
- عنوان، توضیحات و کانونیکال یکتا
- hreflang متقابل برای فارسی/انگلیسی
- تصاویر با
next/imageوaltتوصیفی - فونت با
next/fontو بدون لود خارجی - JSON-LD معتبر (تست با Rich Results Test)
- سایتمپ و robots بدون URL زائد
- هدینگ H1 یکتا و سلسلهمراتب H2/H3 منطقی
- لینکهای داخلی توصیفی (نه «اینجا کلیک کنید»)
- Core Web Vitals سبز در PageSpeed Insights
- ۴۰۴ سفارشی و ریدایرکت ۳۰۱ برای URLهای قدیمی
جمعبندی
سئوی تکنیکال جادو نیست؛ مجموعهای از کارهای درست و قابل تکرار است که وقتی با طراحی درست همراه شود، هم رتبه میآورد و هم مشتری. اگر به فکر طراحی سایت حرفهای با Next.js هستید و میخواهید از روز اول سئو در معماری باشد — نه بعداً بهعنوان وصله — خوشحال میشوم کمک کنم. در DevArt سئو را از وایرفریم تا دیپلوی در پروژه میبافم تا سایت شما از همان هفته اول برای گوگل قابل فهم و برای کاربر قابل اعتماد باشد.
آمادهاید رتبه بگیرید؟ برای مشاوره رایگان سئو و بررسی فنی سایتتان پیام بدهید — در ۴۸ ساعت گزارش اولیه و نقشه راه را میفرستم، بدون تعهد و با پیشنهاد شفاف برای قدم بعدی.