𝗪𝗵𝗮𝘁 𝗜 𝗟𝗲𝗮𝗿𝗻𝗲𝗱 𝗔𝘂𝗱𝗶𝘁𝗶𝗻𝗴 𝗝𝗦𝗢𝗡-𝗟𝗗 𝗗𝗮𝘁𝗮 𝗶𝗻 𝗖𝗜

JSON-LD கட்டமைக்கப்பட்ட தரவு (structured data) உங்கள் தளத்தில் கண்ணுக்குத் தெரியாத எந்தப் பாதிப்பையும் ஏற்படுத்தாமல் மறைந்துவிடக்கூடும். உங்கள் build வெற்றிகரமாக முடியும். உங்கள் deploy நிறைவடையும். உங்கள் பக்கங்கள் உலாவியில் (browser) சரியாகத் தெரியும்.

ஆனால், உங்கள் rich results-களைத் தீர்மானிக்க Googlebot script tags-களைப் படிக்கிறது. தரவு விடுபட்டிருந்தாலோ அல்லது சிதைந்திருந்தாலோ, Search Console சில வாரங்களுக்குப் பிறகு அதைச் சுட்டிக்காட்டும் வரை நீங்கள் அறிய முடியாது.

எனது CI pipeline-இல் post-deploy audit படிநிலையைச் சேர்த்துள்ளேன். இது 60 வினாடிகளுக்கும் குறைவான நேரத்தில் இத்தகைய பிழைகளைக் கண்டறிகிறது.

இது எவ்வாறு செயல்படுகிறது:

நான் Astro மூலம் உருவாக்கப்பட்ட மற்றும் Cloudflare Pages மூலம் deploy செய்யப்பட்ட மூன்று static தளங்களை இயக்குகிறேன். இந்தத் தளங்கள் SoftwareApplication, VideoGame மற்றும் ItemList போன்ற schema-க்களைப் பயன்படுத்துகின்றன. இவை static தளங்கள் என்பதால், ஒரு template மாற்றத்தினால் ஆயிரக்கணக்கான பக்கங்களிலிருந்து schema விடுபடலாம், ஆனால் அது build error-ஐத் தூண்டாது.

தணிக்கை ஸ்கிரிப்ட் (audit script) இதைச் செய்கிறது:

• நேரலை (live) முகப்புப் பக்கம் மற்றும் மாதிரி விவரப் பக்கங்களைப் பெறுகிறது. • உண்மையான URL-களைக் கண்டறிய நேரலை sitemap-ஐப் படிக்கிறது. • regex பயன்படுத்தி அனைத்து JSON-LD தொகுதிகளையும் (blocks) பிரித்தெடுக்கிறது. • உட்பொதிக்கப்பட்ட (nested) உருப்படிகளைக் கண்டறிய @graph unwrapping-ஐச் சரிபார்க்கிறது. • கண்டறியப்பட்ட @type மதிப்புகளை நான் எதிர்பார்த்த பட்டியலுடன் ஒப்பிடுகிறது.

நான் இதை build artifacts-களுக்குப் பதிலாக நேரலையில் deploy செய்யப்பட்ட பக்கங்களுக்கு எதிராக இயக்குகிறேன். இது CDN caching அல்லது edge delivery தொடர்பான சிக்கல்களைக் கண்டறிய உதவுகிறது.

முதல் முறை இயக்கியபோது ஸ்கிரிப்ட் மூன்று சிக்கல்களைக் கண்டறிந்தது:

  • ossfind.com: குறிப்பிட்ட பக்கங்களில் ItemList விடுபட்டுள்ளது. இது ஒரு தெளிவற்ற யோசனையை ஒரு உறுதியான பணியாக மாற்றியது.
  • findindiegame.com: WebSite @id-இல் தவறான http:// protocol இருந்தது. இது ஒரு copy-paste பிழை; மனிதர்களுக்கு இது சரியாகத் தெரிந்தாலும், Google-க்கு இது முரண்பாடாக இருந்தது.
  • aiappdex.com: SoftwareApplication schema-வில் மனிதர்கள் எளிதில் வாசிக்கக்கூடிய பெயர்களுக்குப் பதிலாக நேரடி database IDs பயன்படுத்தப்பட்டன.

இவை உண்மையான பிழைகள் (bugs). இவை build logs அல்லது உலாவியில் சரிபார்த்தபோது தெரியவில்லை.

நான் CI படிநிலையை non-fatal என்று அமைத்துள்ளேன். தணிக்கையில் ஏதேனும் சிக்கல் கண்டறியப்பட்டால், deployment தொடர்ந்து நிறைவடையும், ஆனால் பிழை logs-இல் தோன்றும். இந்தச் சரிபார்ப்பு pipeline-ஐத் தடுக்கும் வகையில் மாற்றுவதற்கு முன், நிஜ உலகச் செயல்பாடுகளைக் கவனிக்க இது எனக்கு அனுமதிக்கிறது.

இது ஒரு smoke test மட்டுமே, முழுமையான validation suite அல்ல. இது ஒவ்வொரு தளத்திற்கும் இரண்டு மாதிரிகளைச் சரிபார்க்கிறது. இது அனைத்து edge case-களையும் கண்டறியாது, ஆனால் பெரிய தவறுகள் ஒரு மாதம் production-இல் நிலைத்திருப்பதை விட, அவற்றை முன்கூட்டியே கண்டறிய உதவுகிறது.

Source: https://dev.to/morinaga/what-i-learned-wiring-json-ld-structured-data-audits-into-a-post-deploy-ci-step-5jc