JavaScript SEO چیست؟ راهنمای سئو سایتهای JavaScript
JavaScript نقش مهمی در ساخت وبسایتهای مدرن دارد، اما نحوه اجرای JavaScript میتواند روی Crawl، Render و Index شدن محتوا تأثیر بگذارد. در این مقاله با JavaScript SEO، نحوه پردازش صفحات توسط گوگل، مشکلات رایج و روشهای بهینهسازی سایتهای JavaScript آشنا میشوید.
فهرست مطالب
- JavaScript SEO چیست؟
- چرا JavaScript میتواند روی SEO تأثیر بگذارد؟
- Google چگونه صفحات JavaScript را پردازش میکند؟
- Crawl، Render و Index در سایتهای JavaScript
- Crawl
- Render
- Index
- CSR چیست و چه تأثیری بر سئو دارد؟
- SSR چیست و چرا برای SEO اهمیت دارد؟
- SSG چیست؟
- آیا CSR برای سئو بد است؟
- اهمیت HTML اولیه در JavaScript SEO
- لینکهای داخلی در سایتهای JavaScript
- مشکل لینکهای ساختهشده با JavaScript
- Meta Title در سایتهای JavaScript
- Meta Description و JavaScript SEO
- Canonical در سایتهای JavaScript
- Robots.txt و سایتهای JavaScript
- JavaScript و Lazy Loading
- Pagination در سایتهای JavaScript
- Infinite Scroll و JavaScript SEO
- API و JavaScript SEO
- 404 و Routing در برنامههای JavaScript
- Single Page Application و سئو
- Structured Data در سایتهای JavaScript
- SSR، CSR یا SSG؛ کدام برای SEO بهتر است؟
- Hydration چیست؟
- چگونه JavaScript SEO یک سایت را بررسی کنیم؟
- استفاده از Google Search Console برای سایتهای JavaScript
- JavaScript SEO و Core Web Vitals
- اشتباهات رایج در JavaScript SEO
- چکلیست JavaScript SEO
- آیا برای سایت JavaScript باید حتماً از SSR استفاده کرد؟
- جمعبندی
- سوالات متداول
- JavaScript SEO چیست؟
- آیا سایت JavaScript میتواند در گوگل رتبه بگیرد؟
- CSR برای SEO مناسب است؟
- SSR بهتر است یا CSR؟
- آیا JavaScript میتواند باعث ایندکس نشدن محتوا شود؟
- آیا استفاده از Schema در سایت JavaScript ضروری است؟
- منابع
JavaScript یکی از مهمترین فناوریهای توسعه وب مدرن است و تقریباً در بسیاری از وبسایتها برای ایجاد تعامل، تغییر محتوای صفحه، دریافت اطلاعات از APIها و ساخت رابطهای کاربری پویا استفاده میشود. با این حال، استفاده گسترده از JavaScript میتواند چالشهایی برای موتورهای جستجو ایجاد کند؛ بهخصوص زمانی که محتوای اصلی صفحه فقط پس از اجرای JavaScript در اختیار کاربر قرار میگیرد.
به مجموعه اقداماتی که برای اطمینان از قابل خزش، قابل رندر و قابل ایندکس بودن صفحات مبتنی بر JavaScript انجام میشود، معمولاً JavaScript SEO گفته میشود. در این مقاله بررسی میکنیم موتورهای جستجو چگونه صفحات JavaScript را پردازش میکنند و هنگام طراحی و توسعه چنین سایتهایی چه نکاتی باید رعایت شود.
JavaScript SEO چیست؟
JavaScript SEO به مجموعه روشها و تکنیکهایی گفته میشود که با هدف بهینهسازی صفحات وب مبتنی بر JavaScript برای موتورهای جستجو انجام میشوند.
در یک سایت سنتی، سرور معمولاً HTML کامل صفحه را تولید و برای مرورگر ارسال میکند. اما در بسیاری از سایتهای مدرن، بخش قابل توجهی از HTML یا محتوای صفحه توسط JavaScript در مرورگر ایجاد میشود.
این تفاوت باعث میشود فرآیند سئو سایتهای JavaScript نیازمند توجه بیشتری به سه مرحله اصلی یعنی Crawling، Rendering و Indexing باشد.
چرا JavaScript میتواند روی SEO تأثیر بگذارد؟
موتورهای جستجو باید بتوانند محتوای صفحه را پیدا کنند، آن را پردازش کنند و در صورت مناسب بودن در ایندکس خود قرار دهند.
اگر اطلاعات مهم صفحه فقط بعد از اجرای JavaScript تولید شود و موتور جستجو نتواند این کد یا منابع موردنیاز آن را بهدرستی پردازش کند، ممکن است بخشی از محتوای صفحه در زمان پردازش موتور جستجو قابل مشاهده نباشد.
بنابراین مشکل اصلی JavaScript در سئو، استفاده از JavaScript نیست؛ بلکه نحوه پیادهسازی و وابستگی محتوای مهم صفحه به اجرای JavaScript است.
Google چگونه صفحات JavaScript را پردازش میکند؟
گوگل برای پردازش یک صفحه JavaScript معمولاً چند مرحله را پشت سر میگذارد. در یک نگاه ساده میتوان این فرآیند را به شکل زیر در نظر گرفت:
- خزش URL و دریافت منابع صفحه
- پردازش و تحلیل HTML
- رندر کردن صفحه در صورت نیاز
- پردازش محتوای تولیدشده
- ایندکس کردن اطلاعات قابل استفاده
بنابراین باید بین چیزی که در HTML اولیه وجود دارد و چیزی که پس از اجرای JavaScript ایجاد میشود تفاوت قائل شد.
Crawl، Render و Index در سایتهای JavaScript
Crawl
در مرحله Crawl، خزنده موتور جستجو URLها و منابع قابل دسترسی را درخواست میکند. اگر URL صفحه یا منابع موردنیاز آن قابل دسترسی نباشند، مشکلاتی در مراحل بعدی ایجاد میشود.
Render
در مرحله Rendering، موتور جستجو صفحه را پردازش میکند تا بتواند نتیجه اجرای JavaScript و محتوای ایجادشده توسط آن را بهتر درک کند.
Index
پس از پردازش صفحه، موتور جستجو اطلاعات مناسب را برای استفاده در نتایج جستجو وارد سیستمهای ایندکس خود میکند.
در نتیجه، صرفاً قابل خزش بودن فایل JavaScript به معنی ایندکس شدن محتوای تولیدشده توسط آن نیست. کل زنجیره باید به شکل صحیح کار کند.
CSR چیست و چه تأثیری بر سئو دارد؟
Client-Side Rendering یا CSR روشی است که در آن مرورگر بخش قابل توجهی از رابط و محتوای صفحه را با استفاده از JavaScript ایجاد میکند.
در این معماری ممکن است HTML اولیه بسیار ساده باشد و سپس JavaScript اطلاعات را از API دریافت کرده و محتوای صفحه را ایجاد کند.
CSR لزوماً برای SEO بد نیست؛ اما اگر پیادهسازی آن باعث شود محتوای مهم، لینکها، عنوان صفحه یا اطلاعات قابل ایندکس فقط پس از اجرای صحیح JavaScript در دسترس قرار گیرند، احتمال ایجاد مشکلات سئو افزایش پیدا میکند.
SSR چیست و چرا برای SEO اهمیت دارد؟
Server-Side Rendering یا SSR به این معنی است که سرور HTML موردنیاز صفحه را تولید کرده و قبل از ارسال به مرورگر در اختیار کاربر قرار میدهد.
در سایتهایی که محتوای اصلی باید سریع و قابل پیشبینی در HTML اولیه وجود داشته باشد، SSR میتواند معماری مناسبی باشد.
یکی از مزایای مهم SSR این است که موتور جستجو و مرورگر میتوانند محتوای اصلی را بدون وابستگی کامل به اجرای JavaScript دریافت کنند.
SSG چیست؟
Static Site Generation یا SSG روشی است که در آن صفحات در زمان Build تولید میشوند و HTML آماده آنها روی سرور یا CDN قرار میگیرد.
برای وبسایتهایی که محتوای آنها دائماً در لحظه تغییر نمیکند، SSG میتواند گزینه مناسبی باشد و در کنار JavaScript امکانات تعاملی موردنیاز را نیز فراهم کند.
آیا CSR برای سئو بد است؟
خیر. این تصور که تمام سایتهای CSR از نظر سئو مشکل دارند، صحیح نیست.
مسئله اصلی این است که آیا موتور جستجو میتواند URL، محتوای اصلی، لینکهای داخلی، عنوان صفحه، اطلاعات متا و سایر عناصر مهم را بهدرستی کشف و پردازش کند یا خیر.
یک سایت CSR میتواند از نظر سئو عملکرد مناسبی داشته باشد، مشروط بر اینکه معماری و پیادهسازی آن بهگونهای باشد که محتوای مهم و مسیرهای دسترسی برای موتورهای جستجو قابل پردازش باشند.
اهمیت HTML اولیه در JavaScript SEO
یکی از مهمترین موارد در بررسی یک سایت JavaScript، توجه به HTML اولیهای است که سرور ارسال میکند.
اگر صفحهای که برای کاربر ارسال میشود تقریباً هیچ محتوای قابل استفادهای نداشته باشد و همه اطلاعات بعداً توسط JavaScript ایجاد شوند، وابستگی صفحه به Rendering بیشتر میشود.
برای صفحات مهم مانند صفحات محصول، خدمات، مقالات و دستهبندیها بهتر است محتوای اصلی تا حد امکان در خروجی HTML قابل دسترسی باشد.
لینکهای داخلی در سایتهای JavaScript
لینکها یکی از بخشهای بسیار مهم سئو هستند. در سایتهای JavaScript باید اطمینان حاصل شود که لینکهای داخلی به شکل استاندارد HTML ایجاد شدهاند.
استفاده از عناصر <a> همراه با ویژگی href برای لینکهای قابل خزیدن اهمیت زیادی دارد.
برای مثال:
<a href="/web-design/">
طراحی سایت
</a>
صرفاً قرار دادن یک رویداد JavaScript روی یک عنصر غیرلینکی و انتظار برای کشف URL توسط موتور جستجو، روش مناسبی برای ساختار لینکهای داخلی نیست.
مشکل لینکهای ساختهشده با JavaScript
یکی از خطاهای رایج در برنامههای JavaScript این است که توسعهدهنده برای Navigation بهجای لینک HTML استاندارد از عناصر دیگری مانند div یا button استفاده میکند.
برای عملیات تعاملی، Button مناسب است؛ اما برای انتقال کاربر به یک URL، استفاده از لینک استاندارد HTML انتخاب بهتری است.
Meta Title در سایتهای JavaScript
عنوان صفحه یکی از مهمترین اطلاعات برای درک موضوع یک URL است.
در برنامههای JavaScript باید اطمینان حاصل شود که هر URL مهم عنوان مناسب و مشخصی دارد و این عنوان بهدرستی در فرآیند Rendering نیز قابل مشاهده است.
بهتر است عنوان صفحات مهم فقط به یک عنوان عمومی مانند «Website» یا نام برند محدود نشود.
Meta Description و JavaScript SEO
توضیحات متا نیز باید متناسب با محتوای هر صفحه تولید شود. در سایتهای Dynamic، باید از ایجاد یک Meta Description یکسان برای تعداد زیادی URL جلوگیری کرد.
همچنین اگر اطلاعات متا با JavaScript ایجاد میشوند، باید بررسی شود که نسخه رندرشده صفحه اطلاعات موردنظر را در اختیار موتور جستجو قرار میدهد.
Canonical در سایتهای JavaScript
Canonical URL به موتورهای جستجو کمک میکند URL اصلی یک محتوا را بهتر تشخیص دهد.
در سایتهای JavaScript که URLهای متعدد، پارامترها یا صفحات Dynamic دارند، پیادهسازی صحیح Canonical اهمیت بیشتری پیدا میکند.
اگر Canonical توسط JavaScript تغییر میکند، باید بررسی شود که نتیجه نهایی Rendering با URL موردنظر سایت سازگار باشد.
Robots.txt و سایتهای JavaScript
موتورهای جستجو برای پردازش صحیح یک صفحه ممکن است به فایلهای JavaScript، CSS و سایر منابع نیاز داشته باشند.
بنابراین نباید منابع ضروری برای Rendering صفحه را بدون دلیل در robots.txt مسدود کرد.
بررسی robots.txt باید در کنار بررسی منابع صفحه انجام شود تا مشخص شود خزنده به فایلهای موردنیاز دسترسی دارد.
JavaScript و Lazy Loading
Lazy Loading برای کاهش مصرف منابع و بهبود عملکرد سایت کاربرد زیادی دارد، اما اجرای نادرست آن میتواند روی کشف محتوا تأثیر بگذارد.
اگر محتوای مهم صفحه فقط پس از تعامل کاربر یا یک رویداد خاص ایجاد شود، باید بررسی شود که موتور جستجو نیز بتواند آن محتوا را به شکل قابل اعتماد پردازش کند.
برای تصاویر نیز بهتر است از روشهای استاندارد HTML و ویژگیهای مناسب استفاده شود و اطلاعات ضروری فقط به JavaScript وابسته نباشد.
Pagination در سایتهای JavaScript
سایتهای فروشگاهی، وبلاگها و سایتهای محتوایی معمولاً تعداد زیادی صفحه دارند. اگر Pagination با JavaScript پیادهسازی شده باشد، باید URLهای صفحات مختلف قابل کشف و دسترسی باشند.
ایجاد مسیرهای واقعی مانند:
/blog/page/2//products/page/2/
میتواند ساختار URL مشخصتری ایجاد کند؛ البته ساختار دقیق باید متناسب با معماری سایت انتخاب شود.
Infinite Scroll و JavaScript SEO
Infinite Scroll تجربه کاربری مناسبی برای برخی سایتها ایجاد میکند، اما اگر تنها روش دسترسی به محتوای بیشتر باشد، میتواند برای Crawl و دسترسی به URLهای عمیقتر مشکل ایجاد کند.
یکی از راهکارهای مناسب این است که در کنار تجربه Infinite Scroll، URLهای مستقل و قابل دسترسی برای بخشهای مختلف محتوا نیز وجود داشته باشند.
API و JavaScript SEO
بسیاری از سایتهای مدرن اطلاعات خود را از API دریافت میکنند. در این شرایط باید بررسی شود که اطلاعات اصلی صفحه صرفاً به یک درخواست API وابسته نباشد که در زمان Rendering با خطا مواجه شود.
خطای API، محدودیت دسترسی، Authentication اشتباه، Timeout یا وابستگی به شرایط خاص مرورگر میتواند باعث شود محتوای موردنظر در نسخه رندرشده وجود نداشته باشد.
404 و Routing در برنامههای JavaScript
SPAها معمولاً از Client-Side Routing استفاده میکنند. در این معماری باید اطمینان حاصل شود که URLهای واقعی سایت بهدرستی روی سرور مدیریت میشوند.
اگر کاربر مستقیماً یک URL داخلی را باز کند، سرور باید بتواند درخواست را به شکل صحیح مدیریت کند. همچنین صفحات واقعاً حذفشده باید وضعیت HTTP مناسب مانند 404 را بازگردانند و نباید تمام URLها صرفاً به صفحه اصلی هدایت شوند.
Single Page Application و سئو
Single Page Application یا SPA یکی از رایجترین معماریهای JavaScript است. در SPA معمولاً پس از بارگذاری اولیه، بخش زیادی از Navigation و تغییر محتوا در سمت کاربر انجام میشود.
SPA لزوماً ضد SEO نیست؛ اما برای سایتهایی که صفحات زیادی با URLهای مستقل دارند، باید معماری Routing، Rendering و تولید HTML با دقت طراحی شود.
Structured Data در سایتهای JavaScript
دادههای ساختاریافته میتوانند برای توصیف اطلاعاتی مانند Article، Product، Organization و سایر انواع پشتیبانیشده استفاده شوند.
در سایتهای JavaScript باید مطمئن شد Structured Data صحیح است، با محتوای قابل مشاهده صفحه مطابقت دارد و در نتیجه نهایی صفحه به شکل معتبر ارائه میشود.
استفاده از Schema بهصورت خودکار رتبه سایت را افزایش نمیدهد و وجود Structured Data نیز تضمینکننده نمایش Rich Result نیست.
SSR، CSR یا SSG؛ کدام برای SEO بهتر است؟
| روش | نحوه تولید محتوا | ملاحظات SEO |
|---|---|---|
| CSR | تولید بخش زیادی از محتوا در مرورگر | نیازمند توجه بیشتر به Rendering و دسترسی محتوا |
| SSR | تولید HTML در سرور | مناسب برای ارائه HTML اولیه کامل |
| SSG | تولید صفحات در زمان Build | مناسب برای بسیاری از سایتهای محتوایی و صفحات نسبتاً ثابت |
هیچکدام از این معماریها بهصورت مطلق برای همه پروژهها بهترین نیستند. انتخاب معماری باید بر اساس نوع پروژه، حجم محتوا، میزان Dynamic بودن اطلاعات، تجربه کاربری، عملکرد و نیازهای SEO انجام شود.
Hydration چیست؟
در بسیاری از فریمورکهای مدرن، سرور ابتدا HTML را تولید میکند و سپس JavaScript در مرورگر روی همان HTML فعال میشود. این فرآیند معمولاً Hydration نامیده میشود.
Hydration به توسعهدهنده اجازه میدهد بخشی از مزایای SSR را با قابلیتهای تعاملی JavaScript ترکیب کند.
با این حال، خطاهای Hydration میتوانند باعث تفاوت بین HTML اولیه و وضعیت نهایی صفحه شوند؛ بنابراین در پروژههای بزرگ باید این موارد نیز آزمایش شوند.
چگونه JavaScript SEO یک سایت را بررسی کنیم؟
برای بررسی یک سایت JavaScript بهتر است فقط صفحهای که در مرورگر مشاهده میشود بررسی نشود. باید نسخه HTML اولیه و نسخه رندرشده نیز با یکدیگر مقایسه شوند.
- بررسی URLهای مهم سایت
- بررسی HTML اولیه
- بررسی نسخه رندرشده صفحه
- بررسی Title و Meta Description
- بررسی Canonical
- بررسی لینکهای داخلی
- بررسی وضعیت HTTP صفحات
- بررسی robots.txt
- بررسی Sitemap
- بررسی Structured Data
- بررسی خطاهای JavaScript
- بررسی عملکرد و Core Web Vitals
استفاده از Google Search Console برای سایتهای JavaScript
Google Search Console یکی از ابزارهای مهم برای بررسی وضعیت URLهای یک سایت در جستجوی گوگل است.
در سایتهای JavaScript میتوان از ابزارهای موجود برای بررسی وضعیت ایندکس، URLها، مشکلات Crawl و دادههای مرتبط با عملکرد جستجو استفاده کرد.
بررسی URLهای مهم و مقایسه آنچه در صفحه مشاهده میشود با آنچه موتور جستجو میتواند پردازش کند، میتواند به پیدا کردن مشکلات JavaScript SEO کمک کند.
JavaScript SEO و Core Web Vitals
اجرای JavaScript سنگین میتواند روی عملکرد صفحه تأثیر بگذارد. فایلهای بزرگ، اجرای طولانی JavaScript و عملیات پردازشی سنگین میتوانند تجربه کاربر را تحت تأثیر قرار دهند.
به همین دلیل در پروژههای JavaScript باید علاوه بر Crawlability و Indexability، عملکرد سایت نیز بررسی شود.
بهینهسازی Bundleها، حذف JavaScript غیرضروری، Code Splitting، Lazy Loading مناسب و کاهش عملیات سنگین سمت کلاینت از جمله اقداماتی هستند که میتوانند به بهبود عملکرد کمک کنند.
اشتباهات رایج در JavaScript SEO
- قرار دادن محتوای اصلی فقط در JavaScript بدون بررسی Rendering
- استفاده از لینکهای غیر استاندارد برای Navigation
- مسدود کردن منابع ضروری در robots.txt
- ایجاد URLهای متعدد بدون Canonical مناسب
- استفاده از URLهای Hash برای صفحات مهم
- نداشتن URL مستقل برای صفحات مهم
- تولید Title یکسان برای صفحات مختلف
- وابستگی کامل محتوا به درخواستهای API
- عدم مدیریت صحیح صفحات 404
- استفاده نادرست از Infinite Scroll
- قرار دادن Structured Data نامرتبط یا نادرست
- استفاده بیش از حد از JavaScript بدون توجه به Performance
چکلیست JavaScript SEO
- URLهای مهم قابل Crawl هستند.
- محتوای اصلی صفحات قابل Render است.
- صفحات مهم URL مستقل دارند.
- لینکهای داخلی با HTML استاندارد ایجاد شدهاند.
- Title هر صفحه منحصربهفرد و مرتبط است.
- Meta Description در صورت نیاز به شکل مناسب تولید میشود.
- Canonicalها صحیح هستند.
- منابع ضروری JavaScript و CSS مسدود نشدهاند.
- صفحات 404 وضعیت HTTP صحیح دارند.
- Sitemap شامل URLهای معتبر و اصلی است.
- Structured Data با محتوای صفحه مطابقت دارد.
- JavaScriptهای غیرضروری تا حد امکان کاهش یافتهاند.
- عملکرد و Core Web Vitals بررسی شدهاند.
آیا برای سایت JavaScript باید حتماً از SSR استفاده کرد؟
خیر. SSR تنها یکی از روشهای مناسب برای ارائه HTML قابل پردازش است و الزام عمومی برای همه سایتهای JavaScript محسوب نمیشود.
اگر یک سایت CSR بهدرستی طراحی شده باشد و موتورهای جستجو بتوانند URLها، محتوا، لینکها و سایر اطلاعات مهم را پردازش کنند، میتواند از نظر SEO عملکرد مناسبی داشته باشد.
با این حال، برای سایتهای محتوایی، فروشگاهی و پروژههایی که تعداد زیادی صفحه مهم برای جستجو دارند، استفاده از SSR یا SSG میتواند در بسیاری از معماریها فرآیند ارائه محتوای قابل پردازش را سادهتر کند.
جمعبندی
JavaScript SEO بهینهسازی سایتهایی است که بخشی از محتوا یا رفتار آنها با JavaScript کنترل میشود. مهمترین مسئله در این سایتها این نیست که آیا از JavaScript استفاده شده است یا خیر؛ بلکه باید بررسی کرد موتور جستجو میتواند URLها را پیدا کند، منابع لازم را دریافت کند، صفحه را Render کند و محتوای اصلی را درک و ایندکس کند یا خیر.
استفاده صحیح از HTML، لینکهای استاندارد، URLهای قابل دسترسی، مدیریت مناسب Metadata، Canonical، Sitemap، Structured Data و صفحات خطا، در کنار معماری مناسب مانند CSR، SSR یا SSG میتواند مشکلات رایج JavaScript SEO را کاهش دهد.
در نهایت، یک سایت JavaScript موفق از نظر سئو سایتی نیست که صرفاً در مرورگر بهدرستی کار کند؛ بلکه باید برای موتورهای جستجو نیز قابل کشف، قابل پردازش و قابل درک باشد.
سوالات متداول
JavaScript SEO چیست؟
JavaScript SEO مجموعه اقداماتی برای اطمینان از قابل خزش، قابل رندر و قابل ایندکس بودن صفحات مبتنی بر JavaScript است.
آیا سایت JavaScript میتواند در گوگل رتبه بگیرد؟
بله. استفاده از JavaScript مانع رتبه گرفتن سایت در گوگل نیست؛ مسئله اصلی نحوه پیادهسازی و دسترسی موتور جستجو به محتوای مهم صفحات است.
CSR برای SEO مناسب است؟
CSR میتواند برای SEO مناسب باشد، به شرطی که URLها، محتوا، لینکها و سایر عناصر مهم صفحه بهدرستی برای موتورهای جستجو قابل پردازش باشند.
SSR بهتر است یا CSR؟
هیچ پاسخ یکسانی برای همه پروژهها وجود ندارد. انتخاب میان CSR، SSR و SSG باید بر اساس نوع پروژه، نیازهای فنی، تجربه کاربری، عملکرد و الزامات SEO انجام شود.
آیا JavaScript میتواند باعث ایندکس نشدن محتوا شود؟
در صورت پیادهسازی نامناسب، بله. برای مثال اگر محتوای مهم فقط از طریق JavaScript ایجاد شود و در زمان پردازش موتور جستجو قابل دسترسی یا پردازش نباشد، ممکن است مشکلاتی در درک یا ایندکس محتوا ایجاد شود.
آیا استفاده از Schema در سایت JavaScript ضروری است؟
Schema برای همه صفحات ضروری نیست، اما در صورت وجود نوع محتوای مناسب، استفاده صحیح از دادههای ساختاریافته میتواند به موتورهای جستجو در درک بهتر اطلاعات صفحه کمک کند.
منابع
- Google Search Central — JavaScript SEO Basics
- Google Search Central — JavaScript SEO Advanced
- Google Search Central — SEO for Developers
- Google Search Central — Search Essentials
- MDN Web Docs — JavaScript