Avoid using the same word in two different places in the hierarchy. For example, you might have
outdoor keywords, which allow a smart collection to determine whether a photo should also have
nature keywords. Many keywords make sense in only one place in the hierarchy, but some keywords make sense under both
outdoor, such as
stairs. Don't do this.
Lightroom's handling of cases like this is somewhat buggy, so that if you type
stairs < indoor into the keyword box, you might actually get
stairs < outdoor.
A more common case is when you export such a photo from Lightroom and then re-import it, as happens when editing a photo in a third-party program or plugin. Often the returned photo will have its keywords messed up because Lightroom splices the returned keywords into the wrong place in the hierarchy. I've seen truly strange behavior here, such as a keyword that initially appeared in two places in the hierarchy suddenly appearing in a third because Lightroom couldn't see that the photo should have used one of the two existing keywords.
I finally got tired of having to fix incorrect keyword guesses and removed most of this sort of redundancy from the hierarchy. Now my
stairs keyword lives in
place < elements < stairs. (The second level collects architectural elements found in both indoor and outdoor locations.)
Segregate adjectives. This is really just an extension of the above point: you don't want to have
blue < jeans < denim < clothing and
blue < background < photo studio. Instead, move
blue somewhere common like
blue < colors < descriptors, and use it in conjunction with a noun keyword to describe a blue thing.
(Lightroom engineers, here's a feature request: add the ability to bind an adjective keyword to a specific noun keyword. The syntax could be
[blue, jeans], which would allow me to find all my rare pictures of people wearing
[red, jeans] without also finding the pictures of
[blue, jeans], [red, background].)
Restart Lightroom occasionally to speed keyword application. I'm not sure whether Lightroom has a problem with the depth or the width of my keyword hierarchy (or both!) but Lightroom gets progressively slower the more photos you tag in a session. By the time I've tagged about 100 photos, I can easily tell the difference from a freshly started session. After several hundred keyword changes, it might slow down to 10 seconds per keyword change or more. I've observed this get as bad as about a minute! Restarting the app fixes this.
There's a tradeoff: once Lightroom starts getting seriously slow, restarting the app may take a considerable amount of time, too, because it's really busy doing...whatever it's doing. It ends up being better to restart early and often rather than wait for it to get really bad.
It is possible to exploit this behavior profitably: If you have a smart collection or filter turned on which would remove the photo from view when you add a given keyword (e.g. "Contains Words = !blue" and you tag the photo
blue) you can sneak in several separate changes before Lightroom finally removes the photo from view. All changes made while the photo is visible get applied to the photo. I do this most often with Keyword Sets, since each Alt-Number combo is delivered separately to the app. If you hit Alt-7, Alt-2, and Alt-3 in rapid succession to apply three separate keywords, and the Alt-7 addition removes the photo from view, the Alt-2 and Alt-3 keywords still get applied if you type them quickly enough after Alt-7. The slower Lightroom is acting at the moment, the more time you have to pull this trick off.
If I knew how to characterize the cause of this failure mode, I would not narrow or flatten my keyword hierarchy to cope. The computer is there to serve me, not the other way around. My keyword hierarchy is as wide and deep as I need it to be. Therefore, I cope by restarting Lightroom occasionally.
Avoid spaces in keywords. While Lightroom appears on the surface to handle spaces in keywords, it's missing several features that would make doing this practical. The key lack is that there is no "Contains Phrase" feature in filters and smart collections to go with "Contains Words." Without it, a search for
cookie dough turns up too many photos because you also get photos of baked cookies and bags of moolah, the latter because you put
dough in as a synonym for
When you really do need a key phrase instead of a key word, add a synonym without spaces that you can use in searches. It doesn't have to be grammatically correct or even something you'd feel comfortable exporting. To extend the above example, you could add a
cookiedough or even
cdough synonym with "Include on Export" unchecked.
Hyphenated phrases count as whole words in Lightroom. While you may not be comfortable with a
cookie-dough keyword to solve the above problem, you might be okay with
dust-covered instead of
Prefer specific, technical keywords to conversational phraseology. This is again a matter of search-ability and ambiguity reduction. You might have a situation where you need to use a "Contains" or "Contains All" search instead of "Contains Words," in which case an
aluminum foil keyword is more likely to do what you want in searches than
tin foil, since "tin" is part of 3,319 words, according to the dictionary on the system I'm typing this on. You don't want a search for
tin foil to turn up a picture of a hardback book (
book < writing < object) about fencing (
foil < sword < weapon < object). :)