Cook the bacon in a large skillet over medium heat until crisp, about 8-10 minutes. Transfer to paper towels to drain, then crumble when cool.
Wash and thoroughly dry the romaine lettuce, then chop into bite-sized pieces. Dice the tomatoes and thinly slice the red onion if using.
In a small bowl, whisk together the mayonnaise and lemon juice until smooth. Season with salt and freshly ground black pepper to taste.
In a large bowl, combine the lettuce, tomatoes, croutons, and red onion (if using). Add any optional ingredients like avocado or eggs if desired.
Drizzle about half of the dressing over the salad and toss gently to coat. Add more dressing as needed.
Sprinkle the crumbled bacon over the top of the salad, reserving a small amount for garnish if desired.
Serve immediately while the bacon is still crisp and the lettuce is fresh and crunchy.