That solution doesn't actually work, and it angers me that people can't see why it doesn't work. That solution requires that the entire website must be child-safe or none of it. That solution requires that Tumblr must ban porn if Tumblr has any underage users. The alternative would be that Tumblr would randomly not load for underage users because some recommendation or ad would be over 18, and so it would rapidly have none.
Why must an age rating apply to an entire website?
As one example, the Internet Content Rating Association (ICRA) (and to a lesser extent the prior Recreational Software Advisory Council (RSACi)) had a rating scheme that allowed sites to provide a default rating label that was then overridden for individual pages and resources using <meta> tags and RDF-based labels. For example, Tumblr could set a family-friendly default rating and append a different rating on specific user pages, images, or ads.
An even more granular scheme could be applied via HTML attributes which would allow an individual section, image, link, or text snippet to be marked e.g. as "sexual", "violent", "substance use", "spoiler", or even "unknown" for unreviewed user-provided content. Then leave it up to web browsers to choose whether and how to render elements with these attributes. (Hidden entirely? With censor bars? Pixelated?)
There would be substantial logistical and regulatory challenges to get websites to comply, but it doesn't seem substantially harder than the current age verification schemes.