میثم سلیمی
میثم سلیمی
خواندن ۶ دقیقه·۶ ماه پیش

استخراج دیتای لایت‌هاوس (Google Lighthouse) به صورت انبوه

سلام من میثمم 😊

اگه متخصص سئو هستید، احتمالا شما هم گاهی از اینکه دونه دونه لینک هارو بردارید ببرید توی ابزارها و وضعیت پرفورمنس‌شون رو چک کنید خسته می‌شید.توی این مقاله می‌خوام در مورد این صحبت کنم که چطور دیتای پرفورمنس صفحات سایت رو به صورت انبوه از Lighthouse استخراج کنیم و بتونیم تحلیل‌های دقیق‌تر و جذاب‌تری از وضعیت شاخص‌های Lighthouse در صفحات سایت داشته باشیم.

چرا این کار لازمه؟

  • تحلیل کلی وضعیت پرفورمنس صفحات سایت
  • ارائه به تیم محصول و فنی جهت بهبود وضعیت
  • مقایسه وضعیت پرفورمنس صفحات سایت با رقبا

همین اول لازمه بگم ما این کار رو با کمک Node JS و پکیج lighthouse-batch که توسط Mike Stead نوشته شده انجام می‌دیم، پس credit این کار می‌رسه به این داداشمون و ازش ممنونیم.

خب دیگه مقدمه چینی بسه.

تو مرحله اول نیازه که ما Node JS رو روی سیستم عامل نصب کنیم.اینجا ما مراحل رو روی سیستم عامل ویندوز پیش می‌بریم.

دانلود و نصب Node JS:

https://nodejs.org/en/download/package-manager

برای اطمینان از اینکه Node JS به درستی روی سیستم شما نصب شده باشه وارد Windows PowerShell بشید و دستور node -v رو وارد کنید. اگه ورژن رو به شما نشون داد یعنی با موفقیت نصب شده:

Node JS
Node JS


حالا وقتشه که پکیج lighthouse-batch رو نصب کنیم.برای این کار دوباره توی محیط Windows PowerShell دستور زیر رو وارد کنید:

npm install lighthouse-batch -g

برای اینکه مطمئن بشید lighthouse-batch به درستی نصب شده باشه دستور زیر رو توی خط فرمان اجرا کنید:

npm list -g | findstr lighthouse-batch

بعدش می‌بینید چه npm ای روی سیستم شما نصب شده و اگه lighthouse-batch رو دیدید پس همه چی اوکیه:

Lighthouse-batch
Lighthouse-batch


حالا بیاید لیست صفحاتی که می‌خوایم گزارششون رو داشته باشیم رو درست کنیم.

صفحاتی که می‌خواید گزارش Lighthouse اون‌ها رو داشته باشید رو داخل یک فایل notepad قرار بدید و اسم فایل رو urls بذارید:

url list
url list


بعد از اینکه فایل notepad رو ایجاد کردید اون رو توی مسیر زیر کپی کنید:

C:\Users\m.salimi\report\lighthouse\

نکته:قاعدتا به جای قسمت m.salimi اسم اکانت خودتون باید باشه.

خب یه مروری داشته باشیم؛ تا اینجا ما Node JS و پکیج lighthouse-batch رو نصب کردیم و اومدیم لیست URLهای سایتمون که می‌خوایم گزارش پرفورمنس اون‌ها رو داشته باشیم رو داخل یه فایل notepad وارد کردیم و اون فایل رو توی مسیری که گفتم قرار دادیم.

بریم واسه ادامه کار:

دوباره Windows PowerShell رو باز کنید و دستور زیر رو در اون اجرا کنید (توجه کنید که به جای m.salimi یوزرنیم خودتون رو بذارید):

lighthouse-batch -f C:\Users\m.salimi\report\lighthouse\urls.txt

کاری که با این دستور انجام می‌دیم اینه که پکیج lighthouse-batch رو فراخوانی می‌کنیم و می‌گیم برو این فایلی که مشخص کردم رو پیدا کن و وضعیت شاخص‌های پرفورمنس URLهای داخلش رو بررسی کن و بهمون گزارش بده.اونم شروع می‌کنه دونه دونه URLهای داخل فایل رو بررسی می‌کنه:

Windows PowerShell
Windows PowerShell

نکته1: هرچقدر تعداد URLها بیشتر باشه مدت زمان بیشتری برای پردازش و دریافت گزارش نیازه.معمولا برای هر URL زمانی بین 15 تا 20 ثانیه نیازه.

نکته2: بسته به تعداد URLها ، فضایی که از سیستم شما اشغال می‌شه هم متفاوت خواهد بود پس باید به اینم توجه کنید که سیستم شما به اندازه کافی فضا برای ذخیره گزارش‌ها داشته باشه.

در نهایت وقتی پروسه تکمیل شد برای هر URL یک فایل JSON خواهید داشت. این فایل‌ها در مسیری که قبلا گفتیم ذخیره میشن:

C:\Users\m.salimi\report\lighthouse\

آیا لازمه بازم بگم که به جای m.salimi یوزرنیم خودتون میاد؟ :دی

بعد از این پروسه، وقتی به این مسیر برید باید با یه همچین لیستی مواجه بشید:

JSON Files
JSON Files


حالا ما گزارش Lighthouse تمامی URLهایی که می‌خواستیم رو با فرمت JSON داریم، وقتشه که این گزارش‌هارو ببریم روی گوگل شیت و خیلی شیک و منظم ازشون بهره برداری کنیم.

قبلش بیاید مطمئن شیم که فایل‌هایی که گرفتیم درست کار میکنن؛ واسه این کار یکی از فایل‌های JSON رو توی لینک زیر آپلود کنید:

https://googlechrome.github.io/lighthouse/viewer

بعدش باید با همچین صحنه‌ای مواجه بشید و دیتای مربوط به اون فایل (در واقع اون صفحه) رو ببینید:

Lighthouse
Lighthouse


خب حالا که مطمئن شدیم داریم مسیر رو درست می‌ریم بیاید ادامه بدیم.

از اینجا به بعد به این موارد نیاز داریم:

  • دسترسی به یک هاست برای آپلود گزارش‌ها
  • گوگل شیت :))

تمامی فایل های JSON که دریافت کردید رو به یک فایل فشرده (zip) تبدیل کنید و داخل یک ساب دامنه یا ساب فولدر آپلود کنید.(مهم نیست کجا آپلود می‌کنید ما فقط می‌خوایم اون فایل های JSON که گرفتیم رو بیاریم توی فضای وب تا هر کدوم از این فایل‌ها از طریق یک URL مشخص قابل دسترسی باشن، اما اگه این گزارش رو برای یه شرکت تهیه می‌کنید بهتره که از تیم فنی بخواید براتون توی سرور خود اون شرکت آپلود کنه)

بعد از اینکه فایل zip رو روی هاست آپلود کردید از حالت فشرده خارج کنید.مثلا من برای تست توی هاست یکی از سایت‌های شخصی خودم آپلود کردم و اگه به مسیر زیر برید می‌تونید کاملا متوجه بشید داستان چیه:

https://prymie.com/sites

پس کاری که انجام شده اینه که ما فایل‌های JSON رو آوردیم توی فضای وب و الان هرکدوم یه URL دارن و از طریق وب قابل دسترس هستن.

حالا وقتشه بریم روی فضای گوگل شیت و دیتای استخراج شده رو ببینیم.

روی لینک زیر کلیک کنید و از داکیومنتی که می‌بینید یه کپی بگیرید و توی اکانت خودتون داشته باشید:

https://docs.google.com/spreadsheets/d/1BmkzIhROSD_7nY08iffmchfP3Alick7aYf9KE95BVgE/edit?usp=sharing

بعد از اینکه کپی گرفتید فقط کافیه URL فایل هایی که آپلود کردید رو با مثال‌هایی که داخل ستون B هستند جایگزین کنید.وقتی این کارو کنید دیتای ستون C و همچنین اعداد و ارقام مربوط به شاخص‌ها در ستون‌های D-E-F-G-H-I تغییر می‌کنن و گزارش شما آماده میشه.

(وقتی از sheet کپی بگیرید همه مقادیر ERROR نشون میدن چون لینکی توی شیت نیست ولی وقتی لینک هارو به درستی و طبق توضیحات وارد کنید ارورها رفع میشن و با همچین چیزی مواجه می‌شید):

Lighthouse data in googlesheet
Lighthouse data in googlesheet


به به!

حالا شما گزارش Lighthouse صفحات وبسایت رو به صورت انبوه به دست آوردید و می‌تونید تحلیل‌های دقیق و جالبی روشون انجام بدید.

مثلا می‌تونید به این شیت ستون‌های دیگه‌ای مثل دسته بندی اضافه کنید (مثلا فلان URL محصول هستش یا دسته بندی) بعد این شیت رو به Looker Studio متصل کنید و دیتا رو خوشگل‌تر کنید.

نکته تکمیلی: اگه تعداد URLهای شما از تعداد URLهای موجود در شیتی که کپی کردید بیشتر بود فقط کافیه ستون های D-E-F-G-H-I به مقدار مورد نیاز بگیرید و پایین بکشید تا فرمول روی بقیه URLهایی که وارد کردید هم اعمال بشه.

سوال احتمالی: خب ما گزارش‌هارو آوردیم روی فضای وب آپلود کردیم حالا باید بریم دونه دونه URLهاشون رو برداریم توی شیت جایگزین کنیم؟

جواب: نیازی نیست دستی این کارو بکنید. می‌تونید توی اکسل با استفاده از فرمول concatenate این کار رو انجام بدید و URLهارو به صورت یکجا کپی و توی شیت paste کنید.

مثلا توی مثالی که من زدم گفتم فایل‌هارو توی آدرس https://prymie.com/sites آپلود کردم درسته؟ پس خیلی راحت با فرمول concatenate توی اکسل این آدرس رو به اول اسم فایل‌هام اضافه می‌کنم و حالا همه URLهارو یکجا دارم:

Excel
Excel


تمام.اگه تا اینجا اومدید دمتون گرم، امیدوارم مفید بوده باشه.

احتمالا باید روش‌های دیگه‌ای هم برای این کار وجود داشته باشه.اگه شما می‌دونید بگید که یاد بگیریم.

node jsسئولایت هاوسlighthouseseo
علاقه مند به سئو و دنیای کسب کار آنلاین
شاید از این پست‌ها خوشتان بیاید