notbugAs an Amazon Associate I earn from qualifying purchases.
Want a good read? Try FreeBSD Mastery: Jails (IT Mastery Book 15)
Want a good monitor light? See my photos
All times are UTC
Ukraine
The recently imposed "must be logged in" restriction is a response to increased bot traffic on the site. This affects search, commits, and vuxml pages.
Search engines are not blocked. Try using "site:www.freshports.org" and your search terms.
Commit processing was halted at UTC 18:33 on 2026-08-05 for pkgbasify of jails and updating the host from 15.0 to 15.1 - same with jails. - that upgrade was completed by 18:53 - the website has caught up with the 6 commits it missed in that time.
After the ports freeze to fix some stuff, the freeze is over. I have some work to do before FreshPorts can start processing commits again before it can start processing again. I've created an issue for that.
How big is it

It was a few days ago that I was thinking about search engines crawling through this website. I began to wonder just how many web pages there are here. To calculate this total, it's not just a simple matter of counting files on disk. Most of the web pages are created from entries in the database. One recent evening, I started to design a formula to find out how many web pages there are. Roughly. This will not be 100% accurate, but it will be close.

Pages on disk

First, let's count the number of pages on disk:

$ ls *.php | wc -l
69
Number of categories

There is a page for each category:

# select count(*) from categories;
 count
-------
   120
(1 row)
Number of ports

There are ports, and there are deleted ports. I'll show both:

# select count(*) from ports_all where status = 'A';
 count
-------
 34967

# select count(*) from ports_all where status = 'D';
 count
-------
 25490
(1 row)
Number of files in the ports tree

There is a page for each file in the ports tree:

[dan@ngaio:/usr/ports] $ find . | wc -l
177617
[dan@ngaio:/usr/ports] $
Count last performed at Fri, 07 Aug 2026 03:01:11 GMT
Number of commits

There is a page for each commit:

# select count(*) from commit_log;
 count
-------
755841
(1 row)
Number of ports for each commit

For each commit, you can view the files modified by that commit for a particular port:

# select count(*) from commit_log_ports;
 count
-------
1661806
(1 row)
How many days?

For each day, there is a page showing the commits for that day. How many days do we have?

# select count(distinct commit_date) from commit_log;
 count
-------
  9552
(1 row)
How many users?

Each user has a page:

# select count(*) from users;
 count
-------
 15979
(1 row)
How many watch lists?

For each watch list, there is a page:

# select count(*) from watch_list;
 count
-------
 16450
(1 row)
Estimated total

That gives a grand total of 2,697,891 pages. On my last count, that's about 0.033481% of the web pages on Google1

Notes

  • These statistics are updated daily.
  • 1The number of Google pages used in this calculation is 8,058,044,651.
How much diskspace?

The total space used by the FreshPorts database is:

# select pg_database_size('freshports.org');
 pg_database_size
------------------
61,477,279,423
(1 row)

That's bytes...

This value might be easier to parse: 57 GB