Folders: Date and location, e.g., 2019-11-25 Patuxent Ponds Park. Folders with this date format sorted by folder name naturally sort by date.
Filenames: I prepend a YYYY-MM-DD-HH-MM-SS timestamp of date taken in the local time zone to each file originally named by my camera like IMG_3952.CR2, resulting in a filename like 2019-11-25-14-35-36_IMG_3952.CR2. Jpegs work the same way. A free app called Bulk Rename Utility makes this easy. When my camera image counter flips from 9999 to 0001, the files sorted by filename still sort by date taken.
Photo tags: I use Lightroom with keyword hierarchies set up for geography and taxonomy. The taxonomy hierarchy contains both common names and scientific names so that manually tagging one auto-tags the other. For a photo of one creature, I manually tag only a taxon as the ID and a locality name, just two tags. Then Lightroom automatically tags all higher-ranked taxa above the one I tagged, and higher-ranked geographical regions (county, state, country, continent) containing the locality I tagged. I can then search for taxa and localities/regions of any rank easily in my OS’s file explorer or with Lightroom.
I like that filenames stay stable and tags change when identifications are updated. With this method for 10000s of wildlife photos, I don’t manually name or rename any files. Any typos or changes in geographic or taxonomic tags can be fixed in all my photos with the tag at once in Lightroom. For example, I do not have to manually rename potentially hundreds of files when a genus or species changes name. I change it once in one place in Lightroom, save all photos with any changed tags (smart folder) in one action, and all my photos are automatically updated.