2018 年網站報告
2019 年 7 月 10 日
在 2019 年初,審查 martinfowler.com 的狀態似乎是個好主意。我在 2014 年 對網站進行了簡短的審查,因此現在是再次檢視它所產生的流量的好時機了。
整體流量
我將從過去幾年的整體網站流量開始

年份 | 每月瀏覽量 | 每月造訪量 | 每月訪客數 | 造訪總數 | 瀏覽總數 |
---|---|---|---|---|---|
2011 | 302,732 | 207,684 | 138,972 | 2,557,703 | 3,671,818 |
2012 | 354,282 | 226,270 | 153,204 | 2,802,101 | 4,238,904 |
2013 | 408,182 | 254,515 | 173,062 | 3,047,046 | 4,848,783 |
2014 | 491,761 | 339,570 | 222,800 | 3,984,246 | 5,855,504 |
2015 | 575,146 | 404,062 | 263,646 | 4,991,161 | 7,058,432 |
2016 | 626,873 | 453,887 | 298,182 | 5,594,010 | 7,657,711 |
2017 | 647,714 | 480,498 | 312,314 | 5,867,257 | 7,916,532 |
2018 | 713,802 | 519,731 | 334,260 | 6,256,374 | 8,457,847 |
每月數據為該年的每月中位數總計。總計數據為該年的總計。
過去幾年的流量穩步增加。
透過按年查看可以提供一個觀點,但查看每日瀏覽量也很方便。

這可以更清楚地了解流量的每日波動。它也清楚地顯示了一般模式 - 該網站的平日(人們工作時)流量明顯高於週末。流量在週末下降約一半是相當一致的。
這裡的流量還有另一個規律模式,在該圖表上較難看到,但僅顯示平日瀏覽量時會更明顯。

由於聖誕假期,在年底時會明顯下降,這會將平日流量降至週末水準。
專注於長青文章
整體流量數字是一回事,但它們是否能很好地衡量我真正關心的事項?我的目標是撰寫(並發布)對我的讀者在一段時間內有用的文章。當一篇文章獲得持續的流量時,我覺得我成功了,所以我認為繪製我有多少這樣的文章是有用的。我選擇每月 1000 個唯一頁面瀏覽量作為我的整數切斷點。

這顯示了一個更令人擔憂的趨勢。直到 2016 年左右,此類熱門文章才快速增加,當時情況已達到平穩期。這並不令人意外,因為這與我開始專注於重構書籍的時間相符。希望隨著我開始更關注網站,我可以開始看到一些我在 2016 年之前看到的增長。
當我在尋找獲得此類流量的文章時,我正在尋找已經存在一段時間的文章。大多數文章的流量會急劇下降,在最初幾天獲得大量流量,然後隨著時間推移逐漸減少。

自 2018 年以來發布的所有文章,文章年齡與中位數瀏覽次數(工作日)
請注意,即使在 y 軸上使用平方根比例,也能看到急劇的指數下降!
儘管中位數文章在發布後大約一個月內每天的瀏覽量會降至 50 次以下,但我感興趣的文章並非如此。(每工作日獲得 28 次瀏覽量的文章大致相當於每月 1000 次瀏覽量。)
因此,我提出了常青文章的個人定義。一篇至少有一年的文章,其每月平均獨立頁面瀏覽量超過 1000 次,並且至少有四個月的瀏覽量超過 1000 次。如果我將此測試應用於我網站上的文章,我將得到 170 篇合格的文章。
路徑 | 2011 | 2012 | 2013 | 2014 | 2015 | 2016 | 2017 | 2018 |
---|---|---|---|---|---|---|---|---|
/ | 20746 | 19635 | 20590 | 22456 | 25014 | 27853 | 27763 | 30201 |
/aboutMe.html | 3273 | 3280 | 3546 | 3576 | 3600 | 3370 | 3288 | 3786 |
/agile.html | 4104 | 3714 | 4156 | 4018 | 3896 | 3923 | 3847 | 4691 |
/articles.html | 1968 | 1220 | 796 | 518 | 482 | 354 | 64 | 48 |
/articles/201701-event-driven.html | 3314 | 3748 | ||||||
/articles/201708-tw-sale.html | 1911 | 339 | ||||||
/articles/201803-refactoring-2nd-ed.html | 2006 | |||||||
/articles/agile-aus-2018.html | 16243 | |||||||
/articles/agileFluency.html | 1541 | 1970 | 1441 | 1604 | 1441 | 1496 | 3522 | |
/articles/agileOffshore.html | 1748 | 1258 | 1106 | 1071 | 905 | 748 | 494 | 392 |
/articles/apple-notes-restore.html | 1161 | 1302 | 909 | 326 | 180 | |||
/articles/architect-elevator.html | 2194 | 530 | ||||||
/articles/asyncJS.html | 2324 | 1712 | 2364 | 1540 | 714 | 484 | ||
/articles/bigData/ | 198 | 1030 | 187 | 150 | 144 | 86 | 99 | |
/articles/break-monolith-into-microservices.html | 10945 | |||||||
/articles/collection-pipeline/ | 4657 | 1522 | 1605 | 1844 | 2208 | |||
/articles/consumerDrivenContracts.html | 540 | 682 | 653 | 2512 | 4286 | 4596 | 5547 | 5395 |
/articles/continuousIntegration.html | 13439 | 10974 | 11057 | 11412 | 10780 | 10604 | 10278 | 9868 |
/articles/designDead.html | 3353 | 3168 | 3356 | 3205 | 3086 | 1947 | 1949 | 1754 |
/articles/dipInTheWild.html | 1606 | 810 | 793 | 960 | 919 | 900 | ||
/articles/distributed-objects-microservices.html | 1760 | 1000 | 1026 | 856 | 825 | |||
/articles/enterprisePatterns.html | 1036 | 923 | 905 | 1247 | 1244 | 1252 | 1248 | 1402 |
/articles/enterpriseREST.html | 16391 | 2488 | 2368 | 1692 | 1549 | 1214 | ||
/articles/evodb.html | 2605 | 2338 | 2554 | 2198 | 1974 | 1800 | 2914 | 3026 |
/articles/extract-data-rich-service.html | 4350 | |||||||
/articles/feature-toggles.html | 6501 | 8466 | 12780 | |||||
/articles/injection.html | 30212 | 26616 | 29019 | 28946 | 25110 | 24720 | 23528 | 21862 |
/articles/is-tdd-dead/ | 6224 | 3080 | 2246 | 1720 | 1482 | |||
/articles/itsNotJustStandingUp.html | 4646 | 6096 | 5624 | 5966 | 5395 | 8468 | 7578 | 7514 |
/articles/languageWorkbench.html | 1162 | 858 | 636 | 600 | 548 | 470 | 376 | 346 |
/articles/lean-inception/ | 1155 | 1153 | ||||||
/articles/lmax.html | 11982 | 5920 | 5788 | 5327 | 4587 | 3684 | 3503 | 3752 |
/articles/microservice-testing/ | 14506 | 5456 | 8220 | 10759 | 9480 | |||
/articles/microservice-trade-offs.html | 3015 | 2972 | 2975 | 3164 | ||||
/articles/microservices.html | 32391 | 45709 | 48779 | 43557 | 38270 | |||
/articles/mobileImplStrategy.html | 1094 | 421 | 169 | 139 | 82 | 62 | 42 | |
/articles/mocksArentStubs.html | 9760 | 10314 | 11002 | 11554 | 12416 | 11939 | 10748 | 10919 |
/articles/modernMockingTools.html | 2160 | 262 | 244 | 204 | 134 | 98 | 88 | |
/articles/multiMobile/ | 2744 | 1216 | 370 | 178 | 113 | 68 | 39 | |
/articles/newMethodology.html | 7532 | 4480 | 4054 | 3624 | 3692 | 2818 | 2140 | 1830 |
/articles/nonDeterminism.html | 1061 | 830 | 906 | 1104 | 1112 | 1160 | 1260 | 1282 |
/articles/nosqlKeyPoints.html | 1820 | 720 | 502 | 470 | 345 | 241 | 260 | |
/articles/practical-test-pyramid.html | 11192 | |||||||
/articles/products-over-projects.html | 17666 | 3200 | ||||||
/articles/rake.html | 2648 | 2156 | 1889 | 2080 | 1866 | 1190 | 1077 | 980 |
/articles/refactoring-2nd-changes.html | 1444 | |||||||
/articles/refactoring-2nd-ed.html | 10851 | |||||||
/articles/refactoring-dependencies.html | 2605 | 542 | 543 | 521 | ||||
/articles/refactoring-pipelines.html | 2207 | 840 | 870 | 823 | ||||
/articles/refactoring-video-store-js/ | 2634 | 1142 | 814 | |||||
/articles/replaceThrowWithNotification.html | 11672 | 814 | 874 | 891 | 1047 | |||
/articles/richardsonMaturityModel.html | 2490 | 3584 | 4926 | 6854 | 9357 | 10976 | 12346 | 13037 |
/articles/rise-test-impact-analysis.html | 2338 | 606 | ||||||
/articles/serverless.html | 24514 | 19247 | 21276 | |||||
/articles/talk-about-platforms.html | 1314 | |||||||
/articles/testing-culture.html | 2298 | 803 | 584 | 412 | 421 | |||
/articles/useOfMetrics.html | 920 | 1580 | 1401 | 1338 | 964 | 772 | ||
/articles/vagrant-chef-rbenv.html | 1327 | 836 | 264 | 148 | 65 | |||
/articles/web-security-basics.html | 10800 | 5034 | 4404 | |||||
/bliki/ | 2914 | 2684 | 2855 | 2757 | 2839 | 2462 | 1958 | 1646 |
/bliki/AnemicDomainModel.html | 2754 | 3040 | 3464 | 3787 | 4194 | 4529 | 4396 | 4806 |
/bliki/AntiPattern.html | 1006 | 148 | 124 | 138 | ||||
/bliki/BlueGreenDeployment.html | 313 | 544 | 849 | 1903 | 3724 | 6300 | 7164 | 7304 |
/bliki/BoundedContext.html | 2126 | 3916 | 5106 | 6612 | 8450 | |||
/bliki/BranchByAbstraction.html | 207 | 204 | 334 | 1068 | 1174 | 1359 | 1339 | 1650 |
/bliki/BusinessReadableDSL.html | 625 | 893 | 1095 | 1254 | 1316 | 772 | 823 | 510 |
/bliki/CanaryRelease.html | 722 | 1412 | 2803 | 3806 | 5420 | |||
/bliki/CircuitBreaker.html | 2101 | 3583 | 5409 | 7581 | 8850 | |||
/bliki/CodeSmell.html | 320 | 576 | 664 | 696 | 822 | 916 | 811 | 1012 |
/bliki/CommandQuerySeparation.html | 460 | 738 | 780 | 910 | 1013 | 1073 | 1330 | 1524 |
/bliki/ContinuousDelivery.html | 893 | 1675 | 2590 | 3120 | 2953 | 2332 | ||
/bliki/ContinuousIntegrationCertification.html | 1880 | 546 | ||||||
/bliki/ContractTest.html | 1904 | |||||||
/bliki/CQRS.html | 5380 | 6878 | 6903 | 10614 | 14153 | 15796 | 19373 | 21914 |
/bliki/DataLake.html | 1215 | 1228 | 1305 | 946 | ||||
/bliki/DDD_Aggregate.html | 354 | 1014 | 1486 | 1879 | 2292 | 2924 | ||
/bliki/DeploymentPipeline.html | 645 | 1282 | 1496 | 1904 | 1582 | 1428 | ||
/bliki/DevOpsCulture.html | 1017 | 1318 | 1366 | 1408 | ||||
/bliki/DomainSpecificLanguage.html | 1267 | 1012 | 822 | 771 | 748 | 755 | 689 | 591 |
/bliki/FeatureBranch.html | 1426 | 1494 | 1636 | 2037 | 2402 | 2247 | 2360 | 2476 |
/bliki/FeatureToggle.html | 908 | 1356 | 1913 | 2930 | 3842 | 3612 | 2536 | 2047 |
/bliki/FluentInterface.html | 1706 | 1632 | 1892 | 1882 | 1886 | 1820 | 1798 | 1776 |
/bliki/GivenWhenThen.html | 809 | 1168 | 1752 | 2866 | 3424 | 4476 | ||
/bliki/ImmutableServer.html | 878 | 690 | 876 | 1256 | 1176 | 858 | ||
/bliki/index.html | 3578 | 3536 | 274 | 134 | 145 | 72 | 42 | 21 |
/bliki/IntegrationContractTest.html | 105 | 91 | 200 | 288 | 699 | 1042 | 1204 | |
/bliki/IntegrationTest.html | 2741 | |||||||
/bliki/InversionOfControl.html | 1916 | 1761 | 1873 | 1844 | 2370 | 2493 | 2008 | 1986 |
/bliki/MemoryImage.html | 5413 | 255 | 121 | 122 | 116 | 240 | 454 | 339 |
/bliki/MicroservicePremium.html | 2010 | 1398 | 1658 | 1724 | ||||
/bliki/MicroservicePrerequisites.html | 2016 | 1091 | 1217 | 1942 | 2220 | |||
/bliki/MonolithFirst.html | 2997 | 2020 | 2544 | 2948 | ||||
/bliki/NosqlDistilled.html | 1569 | |||||||
/bliki/OrmHate.html | 696 | 754 | 1042 | 1590 | 1519 | 1172 | 1264 | |
/bliki/PageObject.html | 1528 | 2244 | 3147 | 4296 | 4588 | 4100 | ||
/bliki/PolyglotPersistence.html | 5255 | 1876 | 2404 | 2616 | 3052 | 2609 | 2590 | 2311 |
/bliki/PresentationDomainDataLayering.html | 2092 | 579 | 484 | 530 | ||||
/bliki/ReportingDatabase.html | 168 | 370 | 382 | 762 | 846 | 926 | 1052 | 1026 |
/bliki/RulesEngine.html | 485 | 926 | 1182 | 1418 | 1614 | 1839 | 2096 | 1676 |
/bliki/Serverless.html | 1075 | 615 | 470 | |||||
/bliki/ShuHaRi.html | 87 | 131 | 310 | 474 | 809 | 970 | 1121 | 1158 |
/bliki/StranglerApplication.html | 263 | 299 | 464 | 669 | 1173 | 2070 | 2584 | 3321 |
/bliki/TechnicalDebt.html | 1724 | 1486 | 1667 | 1949 | 2055 | 2287 | 2037 | 1964 |
/bliki/TechnicalDebtQuadrant.html | 839 | 682 | 780 | 955 | 1356 | 1359 | 1448 | 1746 |
/bliki/TellDontAsk.html | 822 | 870 | 1139 | 1374 | 1615 | 1841 | ||
/bliki/TestCoverage.html | 761 | 704 | 929 | 1210 | 1522 | 1534 | 1688 | |
/bliki/TestDouble.html | 336 | 347 | 498 | 742 | 1102 | 1390 | 1645 | 2176 |
/bliki/TestPyramid.html | 630 | 1150 | 2285 | 3127 | 4498 | 6484 | 6784 | |
/bliki/TolerantReader.html | 86 | 54 | 49 | 1520 | 2318 | 2087 | 2053 | 1680 |
/bliki/TwoHardThings.html | 396 | 840 | 2330 | 3159 | 4330 | 4470 | 4462 | 4888 |
/bliki/UbiquitousLanguage.html | 34 | 119 | 492 | 1192 | 897 | 1135 | 1418 | 1792 |
/bliki/UnitTest.html | 1637 | 1612 | 1836 | 1978 | 2119 | |||
/bliki/ValueObject.html | 182 | 694 | 648 | 970 | 1240 | 1314 | 2156 | 2308 |
/bliki/Yagni.html | 2374 | 1790 | 2235 | 2448 | ||||
/books.html | 15956 | 8319 | ||||||
/books/ | 4276 | 4028 | 2589 | 2368 | 2434 | 2257 | 2159 | |
/books/buying.html | 1248 | 1256 | 1113 | 1114 | 948 | 930 | 934 | |
/books/continuousDelivery.html | 466 | 822 | 1188 | 1788 | 1782 | 1723 | 1543 | |
/books/dsl.html | 1364 | 1762 | 1961 | 2107 | 1884 | 1968 | 2016 | |
/books/eaa.html | 6521 | 7431 | 7666 | 7546 | 6890 | 6446 | 5960 | |
/books/nosql.html | 2792 | 2536 | 2038 | 1904 | 1130 | 892 | 778 | |
/books/refactoring.html | 1214 | 1642 | 2942 | 3302 | 3599 | 3806 | 4602 | |
/delivery.html | 1394 | 1964 | 2129 | 2466 | 2959 | 1707 | 1364 | 1282 |
/design.html | 5592 | 5424 | 6640 | 7172 | 6862 | 6962 | 7278 | 7614 |
/dsl.html | 2908 | 2230 | 2227 | 2069 | 1943 | 522 | 464 | 410 |
/eaaCatalog/ | 5715 | 5830 | 5678 | 5526 | 5184 | 5143 | 4898 | 4450 |
/eaaCatalog/activeRecord.html | 1515 | 1600 | 1678 | 1792 | 1650 | 1507 | 1378 | 1216 |
/eaaCatalog/classTableInheritance.html | 649 | 877 | 1012 | 940 | 960 | 872 | 820 | 694 |
/eaaCatalog/dataMapper.html | 2888 | 2917 | 2866 | 2532 | 2412 | 2235 | 2004 | 1608 |
/eaaCatalog/dataTransferObject.html | 1645 | 1895 | 2277 | 2537 | 2878 | 2926 | 2935 | 2906 |
/eaaCatalog/domainModel.html | 2407 | 2526 | 2508 | 2493 | 2501 | 2700 | 2625 | 2507 |
/eaaCatalog/frontController.html | 1040 | 976 | 762 | 623 | 536 | 486 | 451 | 368 |
/eaaCatalog/index.html | 2890 | 2718 | 2660 | 2798 | 2586 | 2329 | 2412 | 2030 |
/eaaCatalog/repository.html | 3768 | 4569 | 4620 | 4658 | 5216 | 5586 | 5743 | 5032 |
/eaaCatalog/serviceLayer.html | 1820 | 1772 | 1898 | 1834 | 2138 | 2138 | 2054 | 1806 |
/eaaCatalog/singleTableInheritance.html | 1057 | 1242 | 1378 | 1402 | 1342 | 1181 | 1081 | 862 |
/eaaCatalog/tableDataGateway.html | 1626 | 1390 | 1130 | 964 | 887 | 794 | 743 | 606 |
/eaaCatalog/transactionScript.html | 1282 | 1408 | 1534 | 1606 | 1524 | 1643 | 1722 | 1701 |
/eaaCatalog/twoStepView.html | 1292 | 1132 | 776 | 658 | 474 | 356 | 293 | 216 |
/eaaCatalog/unitOfWork.html | 3288 | 3926 | 4120 | 4234 | 4002 | 4222 | 3933 | 3325 |
/eaaDev/ | 810 | 780 | 625 | 751 | 1116 | 1054 | 1107 | 1092 |
/eaaDev/AuditLog.html | 456 | 649 | 550 | 580 | 327 | 255 | 750 | 1236 |
/eaaDev/DomainEvent.html | 438 | 390 | 412 | 552 | 592 | 705 | 1096 | 1152 |
/eaaDev/EventAggregator.html | 982 | 1040 | 1132 | 1012 | 1004 | 950 | 942 | 942 |
/eaaDev/EventCollaboration.html | 517 | 507 | 344 | 668 | 742 | 980 | 1154 | 1197 |
/eaaDev/EventNarrative.html | 120 | 124 | 116 | 144 | 200 | 878 | 1155 | 1151 |
/eaaDev/EventSourcing.html | 2591 | 3628 | 4046 | 5828 | 7549 | 10412 | 12928 | 16230 |
/eaaDev/ModelViewPresenter.html | 1758 | 1390 | 1156 | 867 | 706 | 514 | 458 | 336 |
/eaaDev/Notification.html | 1004 | 955 | 248 | 165 | 316 | 302 | 254 | 274 |
/eaaDev/PassiveScreen.html | 2340 | 2011 | 1765 | 1468 | 1306 | 1248 | 1520 | 1286 |
/eaaDev/PresentationModel.html | 4407 | 3760 | 3232 | 3047 | 3356 | 2215 | 2112 | 1778 |
/eaaDev/SupervisingPresenter.html | 2203 | 1770 | 1625 | 1330 | 1203 | 944 | 786 | 610 |
/eaaDev/timeNarrative.html | 680 | 653 | 652 | 762 | 1065 | 922 | 892 | 840 |
/eaaDev/uiArchs.html | 7366 | 7840 | 6709 | 7450 | 7590 | 6741 | 5758 | 4506 |
/intro.html | 3648 | 3695 | 3979 | 4044 | 3928 | 3878 | 4060 | 4496 |
/microservices/ | 10470 | 8194 | 9023 | 7518 | ||||
/nosql.html | 4123 | 6534 | 5645 | 5182 | 2019 | 1110 | 904 | |
/photos/109.html | 1107 | |||||||
/photos/112.html | 1517 | |||||||
/refactoring/ | 6585 | 7740 | 7798 | 7560 | 8308 | 7548 | 8175 | |
/refactoring/catalog/ | 832 | 1183 | 3504 | 3398 | 4102 | 4001 | 3749 | |
/refactoring/catalog/extractMethod.html | 722 | 854 | 950 | 1134 | 1174 | 1210 | 1223 | |
/refactoring/catalog/index.html | 3057 | 3359 | 761 | 591 | 409 | 318 | 302 | |
/refactoring/catalog/replaceConditionalWithPolymorphism.html | 665 | 742 | 718 | 797 | 1093 | 1187 | 1201 | |
/refactoring/catalog/replaceNestedConditionalWithGuardClauses.html | 300 | 368 | 594 | 812 | 1006 | 1532 | 1698 | |
/refactoring/catalog/replaceRecursionWithIteration.html | 501 | 616 | 836 | 1183 | 1372 | 1084 | 1059 | |
/refactoring/sources.html | 1765 | 2118 | ||||||
/tags/API design.html | 336 | 374 | 542 | 837 | 924 | 1068 | 1314 | 962 |
/tags/domain driven design.html | 143 | 170 | 473 | 1502 | 2240 | 2892 | 3373 | 3012 |
/videos.html | 3504 | 3660 | 3892 | 3540 |
每年顯示該年的每月平均不重複造訪人次,若超過 1000 則以綠色標示。
其他作者
由於過去兩年我專注於重構書籍,因此 martinfowler.com 上發布的許多文章都是由其他人撰寫。這些文章仍然花費我不少時間,我擔任開發編輯,並會花費大量時間處理這些文章。
當我準備回到網站時,一個合理的問題是,由其他人撰寫的文章與我撰寫的文章之間是否有差異。
為了探討這個問題,我收集了 2011 年至 2017 年間發布的所有文章,並將其分為由我撰寫(作為作者或其中一位作者)的文章,以及由其他人撰寫的文章。然後,我繪製了它們在 2018 年的每月平均瀏覽次數。

我將 y 軸切在每月 5000 次瀏覽次數,因此少數流量比這更高的異常值不會壓縮箱型圖,讓您無法讀取。資料仍然會提供箱型圖標記。
正如您所見,由其他人撰寫的文章平均來說比我寫得更好,由其他人撰寫的平均文章獲得 586 次瀏覽,而我則為 167 次。在此期間的文章中,我的有 26 篇平均每月瀏覽次數超過 1000 次,而其他作者則有 10 篇。當然,這裡有很多選擇偏差。我們投入大量工作來處理其他人撰寫的所有文章,而我的許多文章則較為隨意,導致我的許多文章瀏覽次數較低。但我可以由此得出結論,與其他人合作在 martinfowler.com 上發布文章,與專注於我自己的寫作相比,是值得付出的努力。
主題頁面
作為準備更新我網站導覽選單的一部分,我想看看各種主題頁面的熱門程度。

我不想過度解讀這一點,因為這是一個相當狹窄的數據點。目前有三個層級的熱門程度。重構、設計和微服務頁面位於頂層。(儘管微服務頁面似乎正在下降到第二層。)第二層是敏捷、網站簡介和關於頁面。最底層的三個是交付、DSL 和 NoSQL 頁面,後者在 2014 年大幅上漲,隨後穩步下降。
長青文章的時代
關於此網站要記住的重要事項之一是,許多熱門文章都較舊。以下是 2018 年常青頁面的發布日期。

年份 | 計數 |
---|---|
2000 | 6 |
2003 | 14 |
2004 | 3 |
2005 | 6 |
2006 | 9 |
2009 | 3 |
2010 | 3 |
2011 | 6 |
2012 | 8 |
2013 | 7 |
2014 | 15 |
2015 | 7 |
2016 | 4 |
2017 | 3 |
2018 | 9 |
這 103 頁中的 38 頁最初是在十多年前發布的。(我從此清單中刪除了導覽頁面,例如首頁。)
重大修訂
2019 年 7 月 10 日:新增常青樹的年齡
2019 年 4 月 11 日:新增主題圖表
2019 年 3 月 7 日:首次發布