[ð ] ããã°çµ±èšã§ãããã®ã«ãŠã³ããæžãã
âš GPT-5.5ã®èŠçŽ ã
Cloudflare Workerã®èšªåéèšã«ã¯ã©ãŠãã¯ããŒã©ãŒãèãheadlessã¢ã¯ã»ã¹ãæ··ããåé¡ãæžãããããASN/çµç¹ãã£ã«ã¿ãŒãšvisible engagementä¿¡å·ã远å ãã誀ã£ãŠãããã¯ããISP ASNãå€ããèšé²ã
çµ±èšã®æ°åããŸãå€ã ã£ãã
å ¬éããã°çµ±èšããŒãžãä»ããããšãå°ãªããšãããŒã«ã«äœæ¥ãproductionã«ãŠã³ã¿ãŒãæ±ãåé¡ã¯æ¢ãŸã£ããã§ãå¥ã®åé¡ãèŠããã
人ãèªãã ãšã¯æãã«ãããªãºã ã®ãªã¯ãšã¹ãããã£ãã
ããŒãžãéããŠããè€æ°ã®pathããªããããã©ãŠã¶ã®ãããªUser-Agentãä»ããŠãããã§ãèªè
ãããŒãžã«æ»åšããŠããæãã§ã¯ãªããå
¬ééçããã°ãªã®ã§ã¯ããŒã©ãŒãæ¥ãã®ã¯åœç¶ã ãåé¡ã¯ããã®ã¯ããŒã©ãŒã/trackãŸã§å©ããšãå
¬éé²èЧæ°ãšèšªåæ°ãäžç·ã«èšããããšã ã£ãã
æåã«èšªåè ã«ãŠã³ã¿ãŒãä»ãããšãããããããšéè€èšªåã¯ããçšåºŠé²ãã ãšæžãããå®éçšã§ã¯ããã®ãããçšåºŠãã®åºæºãå°ãäžããå¿ èŠããã£ãã
User-Agentã ãã§ã¯è¶³ããªãã£ã
æ¢åWorkerã«ã¯åºæ¬çãªãããå€å®ããã£ãã
bot user-agent
Cloudflare verified bot
Cloudflare bot score
dedupe window
é²éªšãªãããã¯ããã§ããçšåºŠåŒã£ãããã
ãã ããã¹ãŠã®ã¯ããŒã©ãŒãUser-Agentã«botãšæžãããã§ã¯ãªããæ®éã®Chromeã®ããã«èŠãããªã¯ãšã¹ãããããUser-Agentã ãã§ã¯ã人ãªã®ãèãèªååãã©ãŠã¶ãªã®ãèŠåãã«ããã
Cloudflareã®request.cfã«ã¯ASNãšASN organizationããããã ãã/trackãåãããšãã«ãããèŠãããã«ããã
TRACK_BLOCKED_ASNS
TRACK_BLOCKED_AS_ORGS
ç°å¢å€æ°ã§å®å šã«äžæžãããã®ã§ã¯ãªããWorkerå ã®åºæ¬å€ã«ç°å¢å€æ°ã®å€ã远å ããæ¹åŒã«ãããæããã«ãããã¯ãã¹ã軞ã¯ã³ãŒãã«æ®ããéçšäžã«èŠã€ããå€ã¯ç°å¢å€æ°ã§è¶³ããããã«ããããã ã
çµç¹åã¯å®å šäžèŽã ãã§ã¯åŒ±ãã£ãã
Huawei Cloud
Huawei-Cloud-HK
Huawei Cloud Singapore POP
Huawei Clouds Singapore
ãã®ããã«è¡šèšãå°ããã€å€ãããããã§çµç¹åæ¯èŒã¯exact matchãšcontained stringã®äž¡æ¹ãèš±ããã1ã€ã®åºæ¬å€ã§è€æ°ã®å€çš®ãæŸãããã ã
3ç§ã®visible engagementãå ¥ãã
ASNãã£ã«ã¿ãŒã ãã ãšãããã¯ãŒã¯äžå¿ã®èŠåã«ãªããããã
æ£åžžãªèªè ãISPãäŒç€Ÿãããã¯ãŒã¯ã®åŸãã«ããããšããããéã«ã¯ããŒã©ãŒãæ®éã«èŠãããããã¯ãŒã¯ããæ¥ãããšããããã ããã¯ã©ã€ã¢ã³ãåŽã®ä¿¡å·ãèŠãå¿ èŠããã£ãã
ä»åãã¯ã©ã€ã¢ã³ãã¯ããŒãžãå®éã«èŠããŠããç¶æ
ã§äžå®æéãéããŠããã ã/trackãéãã
track_delay_seconds = 3
3ç§ã¯é·ããªããèªãã€ããã®äººã«ã¯ã»ãšãã©æ°ã«ãªããªããã§ãéããŠããéãããªã¯ãšã¹ããããã¯ã°ã©ãŠã³ãã¿ãã§DOMã ãæŸããããªåãã¯æžãããã
ã¯ã©ã€ã¢ã³ãã¯/track payloadã«ãããã®å€ãéãã
engagementMs
visibilityState
documentHidden
viewportWidth
viewportHeight
Workerã¯ãã®å€ãåæ€èšŒããã
ã¯ã©ã€ã¢ã³ãJSãåŸ
ã£ããããšãã£ãŠãã®ãŸãŸä¿¡ããªãããµãŒããŒåŽã§engagementMsãåºæºããçããã°client_visible_too_shortã§ç¡èŠãããviewportã0ãäžæ£ãªãclient_viewport_invalidã§ç¡èŠããã
visibleä¿¡å·ã¯ä»»æã§ã¯ãªãã£ã
æåã®å®è£ ã¯å°ãç·©ãã£ãã
visibilityStateãšdocumentHiddenãããã°ç¢ºèªãããªããã°éãå¯èœæ§ããã£ããããã ãšæ°ããã¯ã©ã€ã¢ã³ãã¯å³ãããªããããã£ãŒã«ããæããŠçŽæ¥/trackãå©ããªã¯ãšã¹ãã¯æ®ãã
ããã§Workeræ¡ä»¶ãããã«åºããã
visibilityState === "visible"
documentHidden === false
ãã®2ã€ãæ£ç¢ºã«åããªããã°client_signal_missingãšããŠç¡èŠããã
ããã§éèŠãªã®ã¯ãhiddenãšmissingãåã系統ãšããŠæ±ã£ãããšã ã/trackã¯å
¬éé²èЧæ°ãå¢ããendpointã ããã®endpointã«æ¥ããªã¯ãšã¹ãã¯ãæ£åžžãªããŒãžããæ£åžžãªã¯ã©ã€ã¢ã³ããéã£ããã®ã«èŠããã¹ãã ãä¿¡å·ããªããªãéãçç±ã¯ãªãã
çµæãšããŠã/analyticsã®èªã¿åãã¯éãããŸãŸã ãã/trackã¯ããªãå³ãããªã£ãã
çµ±èšãèªã
-> å
¬éå¯èœ
é²èЧæ°ãå¢ãã
-> production origin
-> visible engagement
-> æ£åžžviewport
-> bot/ASN/orgãã£ã«ã¿ãŒéé
ãããã¯å€ã¯èŠçŽãç¶ããå¿ èŠããã
ä»åããäžã€åŠãã ã®ã¯ããããã¯ãªã¹ãã¯åºããã°ãããã®ã§ã¯ãªããšããããšã ã
ã¯ã©ãŠãã¯ããŒã©ãŒãæãŸããããšããŠãæ£åžžãªISP ASNãŸã§åºæ¬ãããã¯å€ã«å ¥ãããšãå®èªè ã®èšé²ãèœã¡ããã ãã誀ã£ãŠå ¥ã£ãå€ãåºæ¬ãããã¯ASNããå€ããã
ãã£ã«ã¿ãŒã¯åŒ·ãã»ã©ããèŠããããçµ±èšã§ã¯false positiveã«ãã³ã¹ããããã
ããããæ°ãããšæ°åãèšããã
人ããããã¯ãããšå®èªè
ãæ¶ãã
ã©ã¡ããåé¡ã ã
ä»åã®åºæºã¯ããæŽçããã
æãããªã¯ã©ãŠã/ã¯ããŒã©ãŒè»žã¯Workerã§æ¢ããã
ã¯ã©ã€ã¢ã³ãvisibleä¿¡å·ã¯å¿
é ã«ããã
ISPã®ããã«äººã®trafficã«ãªãåŸã軞ã¯åºæ¬ãããã¯å€ã«å
¥ããªãã
çãããå€ã¯ignored_reasonã§æ®ããŠåŸããç£æ»ããã
analytics_eventsã«ã¯ç¡èŠããããªã¯ãšã¹ããæå°æ
å ±ãšignored_reasonãæ®ããããããªããšãããšã§æ°åããªãæžã£ãã®ããäœãæ¢ããããã®ãèŠçŽããªãã
æ°åã¯ããèŠãããããç°¡åã«æ°ããŠã¯ãããªã
蚪åè ã«ãŠã³ã¿ãŒã¯åŠãªãã©ã³ã¹ã®äžã«ããã
åæ ãé ããããšå£ããŠèŠãããã ãã蚪åè ã«ãŠã³ã¿ãŒäœæ¥ã§ã¯GA baselineã®äžã«D1å¢åãããè¶³ãæ§é ãäœã£ãã
ã§ãç°¡åã«æ°ãããããšããããäžç·ã«æ°ããã
ä»åã®äœæ¥ã¯ããã®ãã©ã³ã¹ãå°ãæ éãªåŽãžå¯ãããã®ã ãæ£åžžãªèªè ã¯ä»ã§ã3ç§åŸã«æ°ããããããã ãå³åº§ã«éãéããèªååãhidden documentãäžæ£viewportãæ¢ç¥ã®ã¯ã©ãŠãã¯ããŒã©ãŒè»žã¯å ¥ãã«ãããªãã
å ¬éçµ±èšã¯æ£ç¢ºãªäŒèšåž³ç°¿ã§ã¯ãªãã
ããã§ããå°ãªããšãã人ãèªãã çè·¡ãã«è¿ãããã¹ãã ãæ°åã倧ããããšãç®çã§ã¯ãªããä¿¡ããããæ°åã ããæ¬¡ã®å€æãã§ããã
確èªããããš
äœæ¥äžã«ç¢ºèªããã®ã¯ããã ã
node --check cloudflare/ga-stats-worker.js
node --check assets/js/custom/visitor-stats.js
git diff --check
bundle exec jekyll build
Cloudflare Worker deploy
GitHub Pages deploy
Worker smokeãèŠãã
/analytics?range=today
-> trackDelaySeconds: 3
/track without visibilityState
-> ignored, client_signal_missing
/track with visibilityState="hidden"
-> ignored, client_signal_missing
/track with documentHidden=true
-> ignored, client_signal_missing
ãããã€æžã¿ã®ããŒã HTMLã«ãdata-track-delay-seconds="3"ãå
¥ã£ãŠããããšã確èªããã
掟æãªä¿®æ£ã§ã¯ãªãã
ã§ãå ¬éæ°åã眮ããªããããããé²åŸ¡ãå¿ èŠã«ãªããé²èЧæ°ã¯ç®ã«èŠããæ©èœã ãããªãããã ãééã£ãŠæ°ãããšä¿¡é Œãããå£ãããä»åã¯ã«ãŠã³ã¿ãŒã倧ããããã®ã§ã¯ãªããã ãŸããã«ããããäœæ¥ã ã£ãã
ã³ã¡ã³ããã